validatees
Version:
✅ Validation library for ES6+ modules
117 lines (116 loc) • 4.87 kB
JavaScript
;
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);
}