| var semverCompare = require('semver-compare') |
| |
| module.exports = function pleaseUpgradeNode(pkg, opts) { |
| var opts = opts || {} |
| var requiredVersion = pkg.engines.node.replace('>=', '') |
| var currentVersion = process.version.replace('v', '') |
| if (semverCompare(currentVersion, requiredVersion) === -1) { |
| if (opts.message) { |
| console.error(opts.message(requiredVersion)) |
| } else { |
| console.error( |
| pkg.name + |
| ' requires at least version ' + |
| requiredVersion + |
| ' of Node, please upgrade' |
| ) |
| } |
| |
| if (opts.hasOwnProperty('exitCode')) { |
| process.exit(opts.exitCode) |
| } else { |
| process.exit(1) |
| } |
| } |
| } |