2014-08-05 01:32:25 -07:00
|
|
|
#!/usr/bin/env node
|
2016-10-09 15:14:02 -04:00
|
|
|
|
|
|
|
"use strict";
|
|
|
|
|
2014-08-05 01:32:25 -07:00
|
|
|
process.chdir(__dirname);
|
2016-06-16 11:13:34 +03:00
|
|
|
|
|
|
|
// Perform node version check before loading any other files or modules
|
2017-11-22 00:54:24 -05:00
|
|
|
// Doing this check as soon as possible allows us to avoid ES6 parser errors or
|
|
|
|
// other issues
|
2017-11-22 15:57:13 -05:00
|
|
|
// Try to display messages nicely, but gracefully degrade if anything goes wrong
|
2018-01-11 13:33:36 +02:00
|
|
|
const pkg = require("./package.json");
|
2018-02-20 09:28:04 +02:00
|
|
|
|
2016-06-16 11:13:34 +03:00
|
|
|
if (!require("semver").satisfies(process.version, pkg.engines.node)) {
|
2017-11-22 00:54:24 -05:00
|
|
|
let colors;
|
|
|
|
let log;
|
|
|
|
|
|
|
|
try {
|
|
|
|
colors = require("colors/safe");
|
|
|
|
} catch (e) {
|
|
|
|
colors = {};
|
|
|
|
colors.green = colors.red = colors.bold = (x) => x;
|
|
|
|
}
|
|
|
|
|
|
|
|
try {
|
|
|
|
log = require("./src/log");
|
|
|
|
} catch (e) {
|
|
|
|
log = {};
|
2017-11-22 15:57:13 -05:00
|
|
|
log.error = (msg) => console.error(`[ERROR] ${msg}`); // eslint-disable-line no-console
|
2017-11-22 00:54:24 -05:00
|
|
|
}
|
|
|
|
|
2017-11-22 15:57:13 -05:00
|
|
|
log.error(`The Lounge requires Node.js ${colors.green(pkg.engines.node)} (current version: ${colors.red(process.version)})`);
|
|
|
|
log.error(colors.bold("Please upgrade Node.js in order to use The Lounge"));
|
|
|
|
log.error("See https://nodejs.org/en/download/package-manager/ for more details");
|
|
|
|
|
|
|
|
process.exit(1);
|
2016-06-16 11:13:34 +03:00
|
|
|
}
|
|
|
|
|
2015-10-01 00:39:57 +02:00
|
|
|
require("./src/command-line");
|