UNPKG

@grnsft/if

Version:

Impact Framework

57 lines 6.95 kB
"use strict"; 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=