Exit the program when the Node.js version is incompatible with The Lounge

This commit is contained in:
Jérémie Astori 2017-11-22 15:57:13 -05:00 committed by Pavel Djundik
parent c432ee431d
commit 6013a02fc2

View File

@ -7,7 +7,7 @@ process.chdir(__dirname);
// Perform node version check before loading any other files or modules // Perform node version check before loading any other files or modules
// Doing this check as soon as possible allows us to avoid ES6 parser errors or // Doing this check as soon as possible allows us to avoid ES6 parser errors or
// other issues // other issues
// Try to display warnings nicely, but gracefully degrade if anything goes wrong // Try to display messages nicely, but gracefully degrade if anything goes wrong
var pkg = require("./package.json"); var pkg = require("./package.json");
if (!require("semver").satisfies(process.version, pkg.engines.node)) { if (!require("semver").satisfies(process.version, pkg.engines.node)) {
let colors; let colors;
@ -24,12 +24,14 @@ if (!require("semver").satisfies(process.version, pkg.engines.node)) {
log = require("./src/log"); log = require("./src/log");
} catch (e) { } catch (e) {
log = {}; log = {};
log.warn = (msg) => console.error(`[WARN] ${msg}`); // eslint-disable-line no-console log.error = (msg) => console.error(`[ERROR] ${msg}`); // eslint-disable-line no-console
} }
log.warn(`The Lounge requires Node.js ${colors.green(pkg.engines.node)} (current version: ${colors.red(process.version)})`); log.error(`The Lounge requires Node.js ${colors.green(pkg.engines.node)} (current version: ${colors.red(process.version)})`);
log.warn(colors.bold("We strongly encourage you to upgrade Node.js")); log.error(colors.bold("Please upgrade Node.js in order to use The Lounge"));
log.warn("See https://nodejs.org/en/download/package-manager/ for more details"); log.error("See https://nodejs.org/en/download/package-manager/ for more details");
process.exit(1);
} }
require("./src/command-line"); require("./src/command-line");