UNPKG

validatees

Version:

✅ Validation library for ES6+ modules

77 lines (76 loc) 3.67 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const child_process_1 = require("child_process"); const _1 = require("."); const checkVersion = (processExit) => { const patchMessage = `There is a new patch version of validatees, please update your validatees to the latest version.`; const minorMessage = `There is a new minor version of validatees, please update your validatees to the latest version.`; const majorMessage = `There is a new major version of validatees, please update your validatees to the latest version.`; let processExitCode = 0; try { (0, _1.logger)("Checking for new version of validatees...", "34", "Info"); const npmVersion = (0, child_process_1.execSync)("npm view validatees version").toString().trim() || "1.0.0"; const localVersionJSON = require("../../package.json"); const localVersion = (localVersionJSON === null || localVersionJSON === void 0 ? void 0 : localVersionJSON.version) || "0.0.0"; if (localVersion === "0.0.0") { throw new Error("Local version is 0.0.0"); } const split = npmVersion.split("."); const pkgSplit = localVersion.split("."); if (split[0] > pkgSplit[0] || split[1] > pkgSplit[1] || split[2] > pkgSplit[2]) { (0, _1.logger)("New version of validatees is available.", "34", "Info"); if (split[0] > pkgSplit[0]) { throw new Error(majorMessage); } else if (split[1] > pkgSplit[1]) { throw new Error(minorMessage); } else if (split[2] > pkgSplit[2]) { throw new Error(patchMessage); } throw new Error("Please update your version of validatees"); } console.info("\x1b[1m\x1b[32m%s\x1b[0m", "Info:", "Your version of validatees is up to date."); processExitCode = 0; } catch (error) { if (error.message === "Local version is 0.0.0") { console.error("\x1b[1m\x1b[31m%s\x1b[0m", "Error:", "Validatees is not installed. Please run 'npm install validatees' to install it."); processExitCode = 1; } else if (error.message === "Please update your version of validatees") { console.error("\x1b[1m\x1b[31m%s\x1b[0m", "Error:", error.message); processExitCode = 1; } else if (error.message === "Cannot find module 'child_process'" || error.message === "Cannot find module 'fs'" || error.message === "Cannot find module 'path'") { console.error("\x1b[1m\x1b[31m%s\x1b[0m", "Error:", "Please run this script with node."); processExitCode = 1; } else if (error.message === majorMessage) { console.error("\x1b[1m\x1b[31m%s\x1b[0m", "Error:", error.message); processExitCode = 1; } else if (error.message === minorMessage) { console.error("\x1b[1m\x1b[33m%s\x1b[0m", "Warning:", error.message); processExitCode = 1; } else if (error.message === patchMessage) { console.error("\x1b[1m\x1b[32m%s\x1b[0m", "Info:", error.message); processExitCode = 0; } else { console.error("\x1b[1m\x1b[31m%s\x1b[0m", "Error:", error.message); processExitCode = 1; } } if (true === processExit) { (0, _1.logger)("Done executing, exiting...", "34", "Info"); return process.exit(processExitCode); } else { (0, _1.logger)("Done executing, waiting...", "34", "Info"); } }; exports.default = checkVersion;