@grnsft/if
Version:
Impact Framework
57 lines • 6.95 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.parseIfCheckArgs = void 0;
const ts_command_line_args_1 = require("ts-command-line-args");
const utils_1 = require("@grnsft/if-core/utils");
const fs_1 = require("../../common/util/fs");
const helpers_1 = require("../../common/util/helpers");
const yaml_1 = require("../../common/util/yaml");
const config_1 = require("../config");
const config_2 = require("../../common/config");
const { ParseCliParamsError, CliSourceFileError, InvalidDirectoryError, MissingCliFlagsError, } = utils_1.ERRORS;
const { ARGS, HELP } = config_1.CONFIG;
const { IF_CHECK_FLAGS_MISSING } = config_1.STRINGS;
const { MANIFEST_NOT_FOUND, SOURCE_IS_NOT_YAML, DIRECTORY_NOT_FOUND } = config_2.STRINGS;
/**
* Parses `if-check` process arguments.
*/
const validateAndParseIfCheckArgs = () => {
try {
return (0, ts_command_line_args_1.parse)(ARGS, HELP);
}
catch (error) {
if (error instanceof Error) {
console.log(error.message);
(0, helpers_1.runHelpCommand)('if-check');
}
throw error;
}
};
/**
* Checks if either `manifest` or `directory` command is provided.
*/
const parseIfCheckArgs = async () => {
const { manifest, directory } = validateAndParseIfCheckArgs();
if (manifest) {
const response = (0, helpers_1.prependFullFilePath)(manifest);
const isManifestFileExists = await (0, fs_1.isFileExists)(response);
if (!isManifestFileExists) {
throw new ParseCliParamsError(MANIFEST_NOT_FOUND);
}
if ((0, yaml_1.checkIfFileIsYaml)(manifest)) {
return { manifest };
}
throw new CliSourceFileError(SOURCE_IS_NOT_YAML);
}
else if (directory) {
const isDirExists = await (0, fs_1.isDirectoryExists)(directory);
if (!isDirExists) {
throw new InvalidDirectoryError(DIRECTORY_NOT_FOUND);
}
const response = (0, helpers_1.prependFullFilePath)(directory);
return { directory: response };
}
throw new MissingCliFlagsError(IF_CHECK_FLAGS_MISSING);
};
exports.parseIfCheckArgs = parseIfCheckArgs;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJncy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9pZi1jaGVjay91dGlsL2FyZ3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsK0RBQTJDO0FBQzNDLGlEQUE2QztBQUU3Qyw2Q0FBcUU7QUFDckUsdURBQThFO0FBQzlFLGlEQUF5RDtBQUV6RCxzQ0FBMEM7QUFDMUMsZ0RBQThEO0FBSTlELE1BQU0sRUFDSixtQkFBbUIsRUFDbkIsa0JBQWtCLEVBQ2xCLHFCQUFxQixFQUNyQixvQkFBb0IsR0FDckIsR0FBRyxjQUFNLENBQUM7QUFFWCxNQUFNLEVBQUMsSUFBSSxFQUFFLElBQUksRUFBQyxHQUFHLGVBQU0sQ0FBQztBQUU1QixNQUFNLEVBQUMsc0JBQXNCLEVBQUMsR0FBRyxnQkFBTyxDQUFDO0FBQ3pDLE1BQU0sRUFBQyxrQkFBa0IsRUFBRSxrQkFBa0IsRUFBRSxtQkFBbUIsRUFBQyxHQUNqRSxnQkFBYyxDQUFDO0FBRWpCOztHQUVHO0FBQ0gsTUFBTSwyQkFBMkIsR0FBRyxHQUFHLEVBQUU7SUFDdkMsSUFBSTtRQUNGLE9BQU8sSUFBQSw0QkFBSyxFQUFjLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztLQUN2QztJQUFDLE9BQU8sS0FBSyxFQUFFO1FBQ2QsSUFBSSxLQUFLLFlBQVksS0FBSyxFQUFFO1lBQzFCLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBRTNCLElBQUEsd0JBQWMsRUFBQyxVQUFVLENBQUMsQ0FBQztTQUM1QjtRQUVELE1BQU0sS0FBSyxDQUFDO0tBQ2I7QUFDSCxDQUFDLENBQUM7QUFFRjs7R0FFRztBQUNJLE1BQU0sZ0JBQWdCLEdBQUcsS0FBSyxJQUFJLEVBQUU7SUFDekMsTUFBTSxFQUFDLFFBQVEsRUFBRSxTQUFTLEVBQUMsR0FBRywyQkFBMkIsRUFBRSxDQUFDO0lBRTVELElBQUksUUFBUSxFQUFFO1FBQ1osTUFBTSxRQUFRLEdBQUcsSUFBQSw2QkFBbUIsRUFBQyxRQUFRLENBQUMsQ0FBQztRQUMvQyxNQUFNLG9CQUFvQixHQUFHLE1BQU0sSUFBQSxpQkFBWSxFQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRTFELElBQUksQ0FBQyxvQkFBb0IsRUFBRTtZQUN6QixNQUFNLElBQUksbUJBQW1CLENBQUMsa0JBQWtCLENBQUMsQ0FBQztTQUNuRDtRQUVELElBQUksSUFBQSx3QkFBaUIsRUFBQyxRQUFRLENBQUMsRUFBRTtZQUMvQixPQUFPLEVBQUMsUUFBUSxFQUFDLENBQUM7U0FDbkI7UUFFRCxNQUFNLElBQUksa0JBQWtCLENBQUMsa0JBQWtCLENBQUMsQ0FBQztLQUNsRDtTQUFNLElBQUksU0FBUyxFQUFFO1FBQ3BCLE1BQU0sV0FBVyxHQUFHLE1BQU0sSUFBQSxzQkFBaUIsRUFBQyxTQUFTLENBQUMsQ0FBQztRQUV2RCxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ2hCLE1BQU0sSUFBSSxxQkFBcUIsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1NBQ3REO1FBRUQsTUFBTSxRQUFRLEdBQUcsSUFBQSw2QkFBbUIsRUFBQyxTQUFTLENBQUMsQ0FBQztRQUVoRCxPQUFPLEVBQUMsU0FBUyxFQUFFLFFBQVEsRUFBQyxDQUFDO0tBQzlCO0lBRUQsTUFBTSxJQUFJLG9CQUFvQixDQUFDLHNCQUFzQixDQUFDLENBQUM7QUFDekQsQ0FBQyxDQUFDO0FBN0JXLFFBQUEsZ0JBQWdCLG9CQTZCM0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge3BhcnNlfSBmcm9tICd0cy1jb21tYW5kLWxpbmUtYXJncyc7XG5pbXBvcnQge0VSUk9SU30gZnJvbSAnQGdybnNmdC9pZi1jb3JlL3V0aWxzJztcblxuaW1wb3J0IHtpc0RpcmVjdG9yeUV4aXN0cywgaXNGaWxlRXhpc3RzfSBmcm9tICcuLi8uLi9jb21tb24vdXRpbC9mcyc7XG5pbXBvcnQge3ByZXBlbmRGdWxsRmlsZVBhdGgsIHJ1bkhlbHBDb21tYW5kfSBmcm9tICcuLi8uLi9jb21tb24vdXRpbC9oZWxwZXJzJztcbmltcG9ydCB7Y2hlY2tJZkZpbGVJc1lhbWx9IGZyb20gJy4uLy4uL2NvbW1vbi91dGlsL3lhbWwnO1xuXG5pbXBvcnQge0NPTkZJRywgU1RSSU5HU30gZnJvbSAnLi4vY29uZmlnJztcbmltcG9ydCB7U1RSSU5HUyBhcyBDT01NT05fU1RSSU5HU30gZnJvbSAnLi4vLi4vY29tbW9uL2NvbmZpZyc7XG5cbmltcG9ydCB7SUZDaGVja0FyZ3N9IGZyb20gJy4uL3R5cGVzL3Byb2Nlc3MtYXJncyc7XG5cbmNvbnN0IHtcbiAgUGFyc2VDbGlQYXJhbXNFcnJvcixcbiAgQ2xpU291cmNlRmlsZUVycm9yLFxuICBJbnZhbGlkRGlyZWN0b3J5RXJyb3IsXG4gIE1pc3NpbmdDbGlGbGFnc0Vycm9yLFxufSA9IEVSUk9SUztcblxuY29uc3Qge0FSR1MsIEhFTFB9ID0gQ09ORklHO1xuXG5jb25zdCB7SUZfQ0hFQ0tfRkxBR1NfTUlTU0lOR30gPSBTVFJJTkdTO1xuY29uc3Qge01BTklGRVNUX05PVF9GT1VORCwgU09VUkNFX0lTX05PVF9ZQU1MLCBESVJFQ1RPUllfTk9UX0ZPVU5EfSA9XG4gIENPTU1PTl9TVFJJTkdTO1xuXG4vKipcbiAqIFBhcnNlcyBgaWYtY2hlY2tgIHByb2Nlc3MgYXJndW1lbnRzLlxuICovXG5jb25zdCB2YWxpZGF0ZUFuZFBhcnNlSWZDaGVja0FyZ3MgPSAoKSA9PiB7XG4gIHRyeSB7XG4gICAgcmV0dXJuIHBhcnNlPElGQ2hlY2tBcmdzPihBUkdTLCBIRUxQKTtcbiAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBFcnJvcikge1xuICAgICAgY29uc29sZS5sb2coZXJyb3IubWVzc2FnZSk7XG5cbiAgICAgIHJ1bkhlbHBDb21tYW5kKCdpZi1jaGVjaycpO1xuICAgIH1cblxuICAgIHRocm93IGVycm9yO1xuICB9XG59O1xuXG4vKipcbiAqIENoZWNrcyBpZiBlaXRoZXIgYG1hbmlmZXN0YCBvciBgZGlyZWN0b3J5YCBjb21tYW5kIGlzIHByb3ZpZGVkLlxuICovXG5leHBvcnQgY29uc3QgcGFyc2VJZkNoZWNrQXJncyA9IGFzeW5jICgpID0+IHtcbiAgY29uc3Qge21hbmlmZXN0LCBkaXJlY3Rvcnl9ID0gdmFsaWRhdGVBbmRQYXJzZUlmQ2hlY2tBcmdzKCk7XG5cbiAgaWYgKG1hbmlmZXN0KSB7XG4gICAgY29uc3QgcmVzcG9uc2UgPSBwcmVwZW5kRnVsbEZpbGVQYXRoKG1hbmlmZXN0KTtcbiAgICBjb25zdCBpc01hbmlmZXN0RmlsZUV4aXN0cyA9IGF3YWl0IGlzRmlsZUV4aXN0cyhyZXNwb25zZSk7XG5cbiAgICBpZiAoIWlzTWFuaWZlc3RGaWxlRXhpc3RzKSB7XG4gICAgICB0aHJvdyBuZXcgUGFyc2VDbGlQYXJhbXNFcnJvcihNQU5JRkVTVF9OT1RfRk9VTkQpO1xuICAgIH1cblxuICAgIGlmIChjaGVja0lmRmlsZUlzWWFtbChtYW5pZmVzdCkpIHtcbiAgICAgIHJldHVybiB7bWFuaWZlc3R9O1xuICAgIH1cblxuICAgIHRocm93IG5ldyBDbGlTb3VyY2VGaWxlRXJyb3IoU09VUkNFX0lTX05PVF9ZQU1MKTtcbiAgfSBlbHNlIGlmIChkaXJlY3RvcnkpIHtcbiAgICBjb25zdCBpc0RpckV4aXN0cyA9IGF3YWl0IGlzRGlyZWN0b3J5RXhpc3RzKGRpcmVjdG9yeSk7XG5cbiAgICBpZiAoIWlzRGlyRXhpc3RzKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZERpcmVjdG9yeUVycm9yKERJUkVDVE9SWV9OT1RfRk9VTkQpO1xuICAgIH1cblxuICAgIGNvbnN0IHJlc3BvbnNlID0gcHJlcGVuZEZ1bGxGaWxlUGF0aChkaXJlY3RvcnkpO1xuXG4gICAgcmV0dXJuIHtkaXJlY3Rvcnk6IHJlc3BvbnNlfTtcbiAgfVxuXG4gIHRocm93IG5ldyBNaXNzaW5nQ2xpRmxhZ3NFcnJvcihJRl9DSEVDS19GTEFHU19NSVNTSU5HKTtcbn07XG4iXX0=