Skip to content

Instantly share code, notes, and snippets.

@IharKrasnik
Created June 26, 2017 16:22
Show Gist options
  • Save IharKrasnik/a713a6a952621f02818c222d20255912 to your computer and use it in GitHub Desktop.
Save IharKrasnik/a713a6a952621f02818c222d20255912 to your computer and use it in GitHub Desktop.
var child_process = require('child_process');
var packageJson = require('./package.json');
var requiredNodeVersion = packageJson.required_node_version;
var requiredNpmVersion = packageJson.required_npm_version;
var colors = {
green: "\x1b[32m",
red: "\x1b[31m",
}
console.log('Checking if node version satisfies required version' + ' (' + requiredNodeVersion + ')');
var currentNodeVersion = process.version;
if (currentNodeVersion.substr(1, requiredNodeVersion.length) < requiredNodeVersion) {
console.error(colors.red, '\n ERROR: Installed Node version does not satisfy project\'s requred Node Version (' + currentNodeVersion + ' < v' + requiredNodeVersion + ') \n' );
process.exit(1);
} else {
console.log(colors.green, '\u2713 Node Version checked')
}
child_process.exec('npm --version', function(error, currentNpmVersion, stderr) {
currentNpmVersion = currentNpmVersion.replace('\n', '');
if (currentNpmVersion.substr(0, requiredNpmVersion.length) < requiredNpmVersion) {
console.error(colors.red, '\n ERROR: Installed NPM version does not satisfy project\'s requred NPM Version (' + currentNpmVersion + ' < v' + requiredNpmVersion + ') \n' );
process.exit(1);
} else {
console.log(colors.green, '\u2713 NPM Version checked')
}
})
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment