Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/npm/cli.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorKat Marchán <kzm@sykosomatic.org>2017-06-08 02:27:25 +0300
committerKat Marchán <kzm@sykosomatic.org>2017-06-08 03:40:49 +0300
commit35316cce2ca2d8eb94161ec7fe7e8f7bec7b3aa7 (patch)
treeed1ac45f043bfad37fd271cfd5a17b28075fb633 /lib
parent4100d47ea58b4966c02604f71350b5316108df6a (diff)
deps: ignore npa.resolve error from parsing peerDeps (#17005)
This emulates npm@4's behavior of simply marking the peerDep as invalid, instead of crashing. Fixes: #16981 PR-URL: https://github.com/npm/npm/pull/17005 Credit: @zkat
Diffstat (limited to 'lib')
-rw-r--r--lib/install/deps.js5
1 files changed, 4 insertions, 1 deletions
diff --git a/lib/install/deps.js b/lib/install/deps.js
index ec50b1421..e213734a6 100644
--- a/lib/install/deps.js
+++ b/lib/install/deps.js
@@ -625,7 +625,10 @@ var validatePeerDeps = exports.validatePeerDeps = function (tree, onInvalid) {
if (!tree.package.peerDependencies) return
Object.keys(tree.package.peerDependencies).forEach(function (pkgname) {
var version = tree.package.peerDependencies[pkgname]
- var match = findRequirement(tree.parent || tree, pkgname, npa.resolve(pkgname, version))
+ try {
+ var spec = npa.resolve(pkgname, version)
+ } catch (e) {}
+ var match = spec && findRequirement(tree.parent || tree, pkgname, spec)
if (!match) onInvalid(tree, pkgname, version)
})
}