aboutsummaryrefslogtreecommitdiff
path: root/deps/npm/lib/utils/unsupported.js
diff options
context:
space:
mode:
Diffstat (limited to 'deps/npm/lib/utils/unsupported.js')
-rw-r--r--deps/npm/lib/utils/unsupported.js33
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/')
+ }
+}