UNPKG

validatees

Version:

✅ Validation library for ES6+ modules

117 lines (116 loc) 4.87 kB
#! /usr/bin/env node "use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.logger = void 0; const isFalsy_1 = __importDefault(require("../lib/types/isFalsy")); const check_version_1 = __importDefault(require("./check-version")); const help_1 = __importDefault(require("./help")); const shell_1 = __importDefault(require("./shell")); const args = process.argv.slice(2); const includes = (args, cmds) => { return cmds.some((c) => args.includes(c)); }; const includesHelp = includes(args, ["--help", "-help", "--h", "-h"]); const includesExit = includes(args, ["--exit", "-exit", "--e", "-e"]); const includesCI = includes(args, ["--ci", "-ci"]); const includesShell = includes(args, ["--shell", "-shell", "--s", "-s"]); const includesVerbose = includes(args, ["--verbose", "-verbose", "--vb", "-vb"]); const logger = (msg, color, tag) => { if (includesVerbose) { console.info(`\x1b[1m\x1b[${color}m%s\x1b[0m`, `${tag}:`, msg); } }; exports.logger = logger; if (true === includesShell && args[0] !== "--help" && args[0] !== "-help" && args[0] !== "--h" && args[0] !== "-h") { if (true === includesHelp) { console.info("\x1b[1m\x1b[32m%s\x1b[0m", "Info:", help_1.default.getHelpTextShell()); process.exit(0); } (0, exports.logger)("Starting shell mode...", "34", "Info"); (0, shell_1.default)(); } else { switch (args[0]) { case "--check": case "-c": case "--c": case "-check": { let processExit = false; if (true === includesHelp) { console.info("\x1b[1m\x1b[32m%s\x1b[0m", "Info:", help_1.default.getHelpTextCheckVersion()); process.exit(0); } else if (true === includesExit) { processExit = true; } if (true === includesCI) { processExit = true; } (0, exports.logger)("Staring check version...", "34", "Info"); (0, check_version_1.default)(processExit); break; } case "--help": case "-help": case "--h": case "-h": { if (true === includesExit) { console.info("\x1b[1m\x1b[32m%s\x1b[0m", "Info:", help_1.default.getHelpTextExit()); process.exit(0); } else if (true === includesCI) { console.info("\x1b[1m\x1b[32m%s\x1b[0m", "Info:", help_1.default.getHelpTextCI()); process.exit(0); } else if (true === includesShell) { console.info("\x1b[1m\x1b[32m%s\x1b[0m", "Info:", help_1.default.getHelpTextShell()); process.exit(0); } else if (true === includesVerbose) { console.info("\x1b[1m\x1b[32m%s\x1b[0m", "Info:", help_1.default.getHelpTextVerbose()); process.exit(0); } console.info("\x1b[1m\x1b[32m%s\x1b[0m", "Info:", help_1.default.getGlobalHelpText()); break; } case "--version": case "-version": case "--v": case "-v": { if (true === includesHelp) { console.info("\x1b[1m\x1b[32m%s\x1b[0m", "Info:", help_1.default.getHelpTextVersion()); process.exit(0); } (0, exports.logger)("Getting installed version...", "34", "Info"); const packageJson = require("../../package.json"); console.info("\x1b[1m\x1b[32m%s\x1b[0m", "Info:", `Installed version: ${packageJson.version}`); (0, exports.logger)("Done getting installed version.", "34", "Info"); break; } case "--update": case "-update": case "--u": case "-u": { if (true === includesHelp) { console.info("\x1b[1m\x1b[32m%s\x1b[0m", "Info:", help_1.default.getHelpTextUpdate()); process.exit(0); } (0, exports.logger)("Starting update...", "34", "Info"); const packageJson = require("../../package.json"); console.info("\x1b[1m\x1b[33m%s\x1b[0m", "Warning:", `'Update' command not yet implemented. Current version: ${packageJson.version}`); (0, exports.logger)("Done updating", "34", "Info"); break; } default: if ((0, isFalsy_1.default)(args[0])) { console.info("\x1b[1m\x1b[32m%s\x1b[0m", "Info:", help_1.default.getGlobalHelpText()); process.exit(0); } console.error("\x1b[1m\x1b[31m%s\x1b[0m", "Error:", `Unknown argument: ${args[0]}`); process.exit(1); } process.exit(0); }