diff options
| author | Roger Braun <roger@rogerbraun.net> | 2016-10-26 16:46:32 +0200 |
|---|---|---|
| committer | Roger Braun <roger@rogerbraun.net> | 2016-10-26 16:46:32 +0200 |
| commit | 191c02af1ebfc7e6c53dc88d97c4e3ca23fbea8b (patch) | |
| tree | b3a132f8eba6ee92d6ec2a581f0bf33e1852010b /build/check-versions.js | |
Basic skeleton
Diffstat (limited to 'build/check-versions.js')
| -rw-r--r-- | build/check-versions.js | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/build/check-versions.js b/build/check-versions.js new file mode 100644 index 00000000..e2b6cf74 --- /dev/null +++ b/build/check-versions.js @@ -0,0 +1,45 @@ +var semver = require('semver') +var chalk = require('chalk') +var packageConfig = require('../package.json') +var exec = function (cmd) { + return require('child_process') + .execSync(cmd).toString().trim() +} + +var versionRequirements = [ + { + name: 'node', + currentVersion: semver.clean(process.version), + versionRequirement: packageConfig.engines.node + }, + { + name: 'npm', + currentVersion: exec('npm --version'), + versionRequirement: packageConfig.engines.npm + } +] + +module.exports = function () { + var warnings = [] + for (var i = 0; i < versionRequirements.length; i++) { + var mod = versionRequirements[i] + if (!semver.satisfies(mod.currentVersion, mod.versionRequirement)) { + warnings.push(mod.name + ': ' + + chalk.red(mod.currentVersion) + ' should be ' + + chalk.green(mod.versionRequirement) + ) + } + } + + if (warnings.length) { + console.log('') + console.log(chalk.yellow('To use this template, you must update following to modules:')) + console.log() + for (var i = 0; i < warnings.length; i++) { + var warning = warnings[i] + console.log(' ' + warning) + } + console.log() + process.exit(1) + } +} |
