@grnsft/if
Version:
Impact Framework
62 lines • 7.18 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.parseIfRunProcessArgs = void 0;
const ts_command_line_args_1 = require("ts-command-line-args");
const utils_1 = require("@grnsft/if-core/utils");
const yaml_1 = require("../../common/util/yaml");
const helpers_1 = require("../../common/util/helpers");
const logger_1 = require("../../common/util/logger");
const config_1 = require("../config");
const config_2 = require("../../common/config");
const { CliSourceFileError } = utils_1.ERRORS;
const { ARGS, HELP } = config_1.CONFIG;
const { NO_OUTPUT } = config_1.STRINGS;
const { SOURCE_IS_NOT_YAML, MANIFEST_IS_MISSING } = config_2.STRINGS;
/**
* Validates `if-run` process arguments.
*/
const validateAndParseProcessArgs = () => {
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-run');
}
throw error;
}
};
/**
* 1. Parses process arguments for `if-run`.
* 2. If output params are missing, warns user about it.
* 3. Otherwise checks if `manifest` param is there, then processes with checking if it's a yaml file.
* If it is, then returns object containing full path.
* 4. If params are missing or invalid, runs `--help` command.
*/
const parseIfRunProcessArgs = () => {
const { manifest, output, 'no-output': noOutput, debug, observe, regroup, compute, append, } = validateAndParseProcessArgs();
if (!output && noOutput) {
logger_1.logger.warn(NO_OUTPUT);
}
if (manifest) {
if ((0, yaml_1.checkIfFileIsYaml)(manifest)) {
return {
inputPath: (0, helpers_1.prependFullFilePath)(manifest),
outputOptions: {
...(output && { outputPath: (0, helpers_1.prependFullFilePath)(output) }),
...(noOutput && { noOutput }),
},
debug,
observe,
regroup,
compute,
...(append && { append }),
};
}
throw new CliSourceFileError(SOURCE_IS_NOT_YAML);
}
throw new CliSourceFileError(MANIFEST_IS_MISSING);
};
exports.parseIfRunProcessArgs = parseIfRunProcessArgs;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJncy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9pZi1ydW4vdXRpbC9hcmdzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLCtEQUEyQztBQUMzQyxpREFBNkM7QUFFN0MsaURBQXlEO0FBQ3pELHVEQUE4RTtBQUU5RSxxREFBZ0Q7QUFFaEQsc0NBQTBDO0FBQzFDLGdEQUE4RDtBQUk5RCxNQUFNLEVBQUMsa0JBQWtCLEVBQUMsR0FBRyxjQUFNLENBQUM7QUFFcEMsTUFBTSxFQUFDLElBQUksRUFBRSxJQUFJLEVBQUMsR0FBRyxlQUFNLENBQUM7QUFDNUIsTUFBTSxFQUFDLFNBQVMsRUFBQyxHQUFHLGdCQUFPLENBQUM7QUFDNUIsTUFBTSxFQUFDLGtCQUFrQixFQUFFLG1CQUFtQixFQUFDLEdBQUcsZ0JBQWMsQ0FBQztBQUVqRTs7R0FFRztBQUNILE1BQU0sMkJBQTJCLEdBQUcsR0FBRyxFQUFFO0lBQ3ZDLElBQUk7UUFDRixPQUFPLElBQUEsNEJBQUssRUFBWSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7S0FDckM7SUFBQyxPQUFPLEtBQUssRUFBRTtRQUNkLElBQUksS0FBSyxZQUFZLEtBQUssRUFBRTtZQUMxQixPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUUzQixJQUFBLHdCQUFjLEVBQUMsUUFBUSxDQUFDLENBQUM7U0FDMUI7UUFFRCxNQUFNLEtBQUssQ0FBQztLQUNiO0FBQ0gsQ0FBQyxDQUFDO0FBRUY7Ozs7OztHQU1HO0FBQ0ksTUFBTSxxQkFBcUIsR0FBRyxHQUF1QixFQUFFO0lBQzVELE1BQU0sRUFDSixRQUFRLEVBQ1IsTUFBTSxFQUNOLFdBQVcsRUFBRSxRQUFRLEVBQ3JCLEtBQUssRUFDTCxPQUFPLEVBQ1AsT0FBTyxFQUNQLE9BQU8sRUFDUCxNQUFNLEdBQ1AsR0FBRywyQkFBMkIsRUFBRSxDQUFDO0lBRWxDLElBQUksQ0FBQyxNQUFNLElBQUksUUFBUSxFQUFFO1FBQ3ZCLGVBQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7S0FDeEI7SUFFRCxJQUFJLFFBQVEsRUFBRTtRQUNaLElBQUksSUFBQSx3QkFBaUIsRUFBQyxRQUFRLENBQUMsRUFBRTtZQUMvQixPQUFPO2dCQUNMLFNBQVMsRUFBRSxJQUFBLDZCQUFtQixFQUFDLFFBQVEsQ0FBQztnQkFDeEMsYUFBYSxFQUFFO29CQUNiLEdBQUcsQ0FBQyxNQUFNLElBQUksRUFBQyxVQUFVLEVBQUUsSUFBQSw2QkFBbUIsRUFBQyxNQUFNLENBQUMsRUFBQyxDQUFDO29CQUN4RCxHQUFHLENBQUMsUUFBUSxJQUFJLEVBQUMsUUFBUSxFQUFDLENBQUM7aUJBQzVCO2dCQUNELEtBQUs7Z0JBQ0wsT0FBTztnQkFDUCxPQUFPO2dCQUNQLE9BQU87Z0JBQ1AsR0FBRyxDQUFDLE1BQU0sSUFBSSxFQUFDLE1BQU0sRUFBQyxDQUFDO2FBQ3hCLENBQUM7U0FDSDtRQUVELE1BQU0sSUFBSSxrQkFBa0IsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0tBQ2xEO0lBRUQsTUFBTSxJQUFJLGtCQUFrQixDQUFDLG1CQUFtQixDQUFDLENBQUM7QUFDcEQsQ0FBQyxDQUFDO0FBcENXLFFBQUEscUJBQXFCLHlCQW9DaEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge3BhcnNlfSBmcm9tICd0cy1jb21tYW5kLWxpbmUtYXJncyc7XG5pbXBvcnQge0VSUk9SU30gZnJvbSAnQGdybnNmdC9pZi1jb3JlL3V0aWxzJztcblxuaW1wb3J0IHtjaGVja0lmRmlsZUlzWWFtbH0gZnJvbSAnLi4vLi4vY29tbW9uL3V0aWwveWFtbCc7XG5pbXBvcnQge3ByZXBlbmRGdWxsRmlsZVBhdGgsIHJ1bkhlbHBDb21tYW5kfSBmcm9tICcuLi8uLi9jb21tb24vdXRpbC9oZWxwZXJzJztcblxuaW1wb3J0IHtsb2dnZXJ9IGZyb20gJy4uLy4uL2NvbW1vbi91dGlsL2xvZ2dlcic7XG5cbmltcG9ydCB7Q09ORklHLCBTVFJJTkdTfSBmcm9tICcuLi9jb25maWcnO1xuaW1wb3J0IHtTVFJJTkdTIGFzIENPTU1PTl9TVFJJTkdTfSBmcm9tICcuLi8uLi9jb21tb24vY29uZmlnJztcblxuaW1wb3J0IHtJZlJ1bkFyZ3MsIFByb2Nlc3NBcmdzT3V0cHV0c30gZnJvbSAnLi4vdHlwZXMvcHJvY2Vzcy1hcmdzJztcblxuY29uc3Qge0NsaVNvdXJjZUZpbGVFcnJvcn0gPSBFUlJPUlM7XG5cbmNvbnN0IHtBUkdTLCBIRUxQfSA9IENPTkZJRztcbmNvbnN0IHtOT19PVVRQVVR9ID0gU1RSSU5HUztcbmNvbnN0IHtTT1VSQ0VfSVNfTk9UX1lBTUwsIE1BTklGRVNUX0lTX01JU1NJTkd9ID0gQ09NTU9OX1NUUklOR1M7XG5cbi8qKlxuICogVmFsaWRhdGVzIGBpZi1ydW5gIHByb2Nlc3MgYXJndW1lbnRzLlxuICovXG5jb25zdCB2YWxpZGF0ZUFuZFBhcnNlUHJvY2Vzc0FyZ3MgPSAoKSA9PiB7XG4gIHRyeSB7XG4gICAgcmV0dXJuIHBhcnNlPElmUnVuQXJncz4oQVJHUywgSEVMUCk7XG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgaWYgKGVycm9yIGluc3RhbmNlb2YgRXJyb3IpIHtcbiAgICAgIGNvbnNvbGUubG9nKGVycm9yLm1lc3NhZ2UpO1xuXG4gICAgICBydW5IZWxwQ29tbWFuZCgnaWYtcnVuJyk7XG4gICAgfVxuXG4gICAgdGhyb3cgZXJyb3I7XG4gIH1cbn07XG5cbi8qKlxuICogMS4gUGFyc2VzIHByb2Nlc3MgYXJndW1lbnRzIGZvciBgaWYtcnVuYC5cbiAqIDIuIElmIG91dHB1dCBwYXJhbXMgYXJlIG1pc3NpbmcsIHdhcm5zIHVzZXIgYWJvdXQgaXQuXG4gKiAzLiBPdGhlcndpc2UgY2hlY2tzIGlmIGBtYW5pZmVzdGAgcGFyYW0gaXMgdGhlcmUsIHRoZW4gcHJvY2Vzc2VzIHdpdGggY2hlY2tpbmcgaWYgaXQncyBhIHlhbWwgZmlsZS5cbiAqICAgIElmIGl0IGlzLCB0aGVuIHJldHVybnMgb2JqZWN0IGNvbnRhaW5pbmcgZnVsbCBwYXRoLlxuICogNC4gSWYgcGFyYW1zIGFyZSBtaXNzaW5nIG9yIGludmFsaWQsIHJ1bnMgYC0taGVscGAgY29tbWFuZC5cbiAqL1xuZXhwb3J0IGNvbnN0IHBhcnNlSWZSdW5Qcm9jZXNzQXJncyA9ICgpOiBQcm9jZXNzQXJnc091dHB1dHMgPT4ge1xuICBjb25zdCB7XG4gICAgbWFuaWZlc3QsXG4gICAgb3V0cHV0LFxuICAgICduby1vdXRwdXQnOiBub091dHB1dCxcbiAgICBkZWJ1ZyxcbiAgICBvYnNlcnZlLFxuICAgIHJlZ3JvdXAsXG4gICAgY29tcHV0ZSxcbiAgICBhcHBlbmQsXG4gIH0gPSB2YWxpZGF0ZUFuZFBhcnNlUHJvY2Vzc0FyZ3MoKTtcblxuICBpZiAoIW91dHB1dCAmJiBub091dHB1dCkge1xuICAgIGxvZ2dlci53YXJuKE5PX09VVFBVVCk7XG4gIH1cblxuICBpZiAobWFuaWZlc3QpIHtcbiAgICBpZiAoY2hlY2tJZkZpbGVJc1lhbWwobWFuaWZlc3QpKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBpbnB1dFBhdGg6IHByZXBlbmRGdWxsRmlsZVBhdGgobWFuaWZlc3QpLFxuICAgICAgICBvdXRwdXRPcHRpb25zOiB7XG4gICAgICAgICAgLi4uKG91dHB1dCAmJiB7b3V0cHV0UGF0aDogcHJlcGVuZEZ1bGxGaWxlUGF0aChvdXRwdXQpfSksXG4gICAgICAgICAgLi4uKG5vT3V0cHV0ICYmIHtub091dHB1dH0pLFxuICAgICAgICB9LFxuICAgICAgICBkZWJ1ZyxcbiAgICAgICAgb2JzZXJ2ZSxcbiAgICAgICAgcmVncm91cCxcbiAgICAgICAgY29tcHV0ZSxcbiAgICAgICAgLi4uKGFwcGVuZCAmJiB7YXBwZW5kfSksXG4gICAgICB9O1xuICAgIH1cblxuICAgIHRocm93IG5ldyBDbGlTb3VyY2VGaWxlRXJyb3IoU09VUkNFX0lTX05PVF9ZQU1MKTtcbiAgfVxuXG4gIHRocm93IG5ldyBDbGlTb3VyY2VGaWxlRXJyb3IoTUFOSUZFU1RfSVNfTUlTU0lORyk7XG59O1xuIl19