diff options
Diffstat (limited to 'deps/npm/lib/utils/unsupported.js')
-rw-r--r-- | deps/npm/lib/utils/unsupported.js | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/deps/npm/lib/utils/unsupported.js b/deps/npm/lib/utils/unsupported.js new file mode 100644 index 0000000000..5e74e3490f --- /dev/null +++ b/deps/npm/lib/utils/unsupported.js @@ -0,0 +1,33 @@ +'use strict' +var semver = require('semver') +var supportedNode = '0.12 || >= 4' +var knownBroken = '>=0.1 <=0.7' + +var checkVersion = exports.checkVersion = function (version) { + var versionNoPrerelease = version.replace(/-.*$/, '') + return { + broken: semver.satisfies(versionNoPrerelease, knownBroken), + unsupported: !semver.satisfies(versionNoPrerelease, supportedNode) + } +} + +exports.checkForBrokenNode = function () { + var nodejs = checkVersion(process.version) + if (nodejs.broken) { + console.error('ERROR: npm is known not to run on Node.js ' + process.version) + console.error("You'll need to upgrade to a newer version in order to use this") + console.error('version of npm. You can find the latest version at https://nodejs.org/') + process.exit(1) + } +} + +exports.checkForUnsupportedNode = function () { + var nodejs = checkVersion(process.version) + if (nodejs.unsupported) { + var log = require('npmlog') + log.warn('npm', 'npm does not support Node.js ' + process.version) + log.warn('npm', 'You should probably upgrade to a newer version of node as we') + log.warn('npm', "can't make any promises that npm will work with this version.") + log.warn('npm', 'You can find the latest version at https://nodejs.org/') + } +} |