diff options
author | Kat Marchán <kzm@sykosomatic.org> | 2017-05-09 14:46:02 -0700 |
---|---|---|
committer | Anna Henningsen <anna@addaleax.net> | 2017-05-23 19:39:43 +0200 |
commit | c0d858f8bb8ba5212548da2fba6a7bc02db0462b (patch) | |
tree | 99f043ec5aec3f5150a2aed0f62597234b158140 /deps/npm/lib/install/realize-shrinkwrap-specifier.js | |
parent | 994617370e8e66f3ea9488fec32fd912e7902396 (diff) | |
download | android-node-v8-c0d858f8bb8ba5212548da2fba6a7bc02db0462b.tar.gz android-node-v8-c0d858f8bb8ba5212548da2fba6a7bc02db0462b.tar.bz2 android-node-v8-c0d858f8bb8ba5212548da2fba6a7bc02db0462b.zip |
deps: upgrade npm beta to 5.0.0-beta.56
PR-URL: https://github.com/nodejs/node/pull/12936
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Diffstat (limited to 'deps/npm/lib/install/realize-shrinkwrap-specifier.js')
-rw-r--r-- | deps/npm/lib/install/realize-shrinkwrap-specifier.js | 37 |
1 files changed, 15 insertions, 22 deletions
diff --git a/deps/npm/lib/install/realize-shrinkwrap-specifier.js b/deps/npm/lib/install/realize-shrinkwrap-specifier.js index 0c491a6028..91030bfa82 100644 --- a/deps/npm/lib/install/realize-shrinkwrap-specifier.js +++ b/deps/npm/lib/install/realize-shrinkwrap-specifier.js @@ -1,25 +1,18 @@ 'use strict' -var realizePackageSpecifier = require('realize-package-specifier') -var isRegistrySpecifier = require('./is-registry-specifier.js') +var npa = require('npm-package-arg') -module.exports = function (name, sw, where, cb) { - function lookup (ver, cb) { - realizePackageSpecifier(name + '@' + ver, where, cb) - } - if (sw.resolved) { - return lookup(sw.resolved, cb) - } else if (sw.from) { - return lookup(sw.from, function (err, spec) { - if (err || isRegistrySpecifier(spec)) { - return thenUseVersion() - } else { - return cb(null, spec) - } - }) - } else { - return thenUseVersion() - } - function thenUseVersion () { - lookup(sw.version, cb) - } +module.exports = function (name, sw, where) { + try { + if (sw.version && sw.integrity) { + return npa.resolve(name, sw.version, where) + } + if (sw.resolved) { + return npa.resolve(name, sw.resolved, where) + } + if (sw.from) { + var spec = npa(sw.from, where) + if (!spec.registry) return spec + } + } catch (_) { } + return npa.resolve(name, sw.version, where) } |