a2r
Version:
A2R Framework
45 lines (44 loc) • 1.63 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const command_line_args_1 = __importDefault(require("command-line-args"));
const command_line_commands_1 = __importDefault(require("command-line-commands"));
const getVersion_1 = __importDefault(require("./getVersion"));
const commandLine_1 = require("./commandLine");
const commands_1 = require("./commands");
const run = async () => {
const helpCommand = commands_1.commandsMap.get('help');
let parsedArgs;
try {
parsedArgs = (0, command_line_commands_1.default)(Array.from(commands_1.commandsMap.keys()), process.argv.slice(2));
}
catch (error) {
if (error.name === 'INVALID_COMMAND') {
await helpCommand.run({
commandName: error.command,
options: {},
argv: [],
});
return;
}
throw error;
}
const commandName = parsedArgs.command;
const { argv } = parsedArgs;
const command = commands_1.commandsMap.get(commandName);
const commandDefinitions = (0, commandLine_1.mergeArguments)([command.args, commandLine_1.globalArguments]);
const options = (0, command_line_args_1.default)(commandDefinitions, { argv, partial: true });
const info = {
commandName,
argv,
options,
};
if (command.name !== 'update') {
await (0, getVersion_1.default)(true);
}
await command.run(info);
};
run();