mobile-cli-lib
Version:
common lib used by different CLI
23 lines (22 loc) • 1.25 kB
JavaScript
;
var os_1 = require("os");
var semver = require("semver");
var versionsCausingFailure = ["0.10.34", "4.0.0", "4.2.0", "5.0.0"];
function verifyNodeVersion(supportedVersionsRange, cliName, deprecationVersion) {
require("colors");
var nodeVer = process.version.substr(1);
if (versionsCausingFailure.indexOf(nodeVer) !== -1) {
console.error((os_1.EOL + "Node.js '" + nodeVer + "' is not supported. To be able to work with " + cliName + " CLI, install any Node.js version in the following range: " + supportedVersionsRange + "." + os_1.EOL).red.bold);
process.exit(1);
}
if (semver.satisfies(nodeVer, "~0.12.0")) {
console.warn((os_1.EOL + "Support for Node.js 0.12.x is deprecated and will be removed in the " + cliName + " " + deprecationVersion + " release. Please, upgrade to the latest Node.js LTS version." + os_1.EOL).yellow.bold);
}
else {
var checkSatisfied = semver.satisfies(nodeVer, supportedVersionsRange);
if (!checkSatisfied) {
console.log((os_1.EOL + "Support for Node.js " + nodeVer + " is not verified. This CLI might not install or run properly." + os_1.EOL).yellow.bold);
}
}
}
exports.verifyNodeVersion = verifyNodeVersion;