From 35316cce2ca2d8eb94161ec7fe7e8f7bec7b3aa7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kat=20March=C3=A1n?= Date: Wed, 7 Jun 2017 16:27:25 -0700 Subject: 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 --- lib/install/deps.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'lib') 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) }) } -- cgit v1.2.3