UNPKG

quicksilver-cli

Version:
52 lines (51 loc) 1.93 kB
"use strict"; var __importStar = (this && this.__importStar) || function (mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k]; result["default"] = mod; return result; }; Object.defineProperty(exports, "__esModule", { value: true }); const all_comands_1 = require("../commands/all-comands"); const path = __importStar(require("path")); const colors = require("colors"); async function runCommand(args) { let commandConstructor; if (args.length == 0) { commandConstructor = all_comands_1.commandMap["help"]; } for (let i = 0; i < args.length; i++) { const arg = args[i]; if (!arg.startsWith('-')) { commandConstructor = all_comands_1.getCommand(arg); if (commandConstructor != null) { args.splice(i, 1); } break; } } if (commandConstructor == null) { const commandNameOrAlias = args[0].replace(/^-{0,2}/, ""); if (all_comands_1.isCommand(commandNameOrAlias, all_comands_1.commandMap["version"])) { commandConstructor = all_comands_1.commandMap["version"]; args.splice(0, 1); } else if (all_comands_1.isCommand(commandNameOrAlias, all_comands_1.commandMap["help"])) { commandConstructor = all_comands_1.commandMap["help"]; args.splice(0, 1); } else { process.stderr.write(colors.red.bold(`Unrecognized Command: ${path.basename(process.argv[1])} ${args.join(" ")}`) + "\n"); return; } } const command = new commandConstructor(process.cwd(), args); if (command.help) { await command.printHelp(); } else { await command.handle(); } } exports.runCommand = runCommand;