node/deps/npm/lib/install/realize-shrinkwrap-specifier.js
Kat Marchán d3b1c971bc
deps: upgrade npm to 5.6.0
PR-URL: https://github.com/nodejs/node/pull/17777
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Gibson Fahnestock <gibfahn@gmail.com>
2018-01-19 11:32:08 -05:00

23 lines
621 B
JavaScript

'use strict'
var npa = require('npm-package-arg')
const isRegistry = require('../utils/is-registry.js')
module.exports = function (name, sw, where) {
try {
if (sw.version && sw.integrity) {
return npa.resolve(name, sw.version, where)
} else if (sw.from) {
const spec = npa(sw.from, where)
if (isRegistry(spec) && sw.version) {
return npa.resolve(name, sw.version, where)
} else if (!sw.resolved) {
return spec
}
}
if (sw.resolved) {
return npa.resolve(name, sw.resolved, where)
}
} catch (_) { }
return npa.resolve(name, sw.version, where)
}