summaryrefslogtreecommitdiff
path: root/deps/npm/lib/install/actions.js
diff options
context:
space:
mode:
Diffstat (limited to 'deps/npm/lib/install/actions.js')
-rw-r--r--deps/npm/lib/install/actions.js13
1 files changed, 3 insertions, 10 deletions
diff --git a/deps/npm/lib/install/actions.js b/deps/npm/lib/install/actions.js
index 9f0dcfa5dc..9608a943a5 100644
--- a/deps/npm/lib/install/actions.js
+++ b/deps/npm/lib/install/actions.js
@@ -83,10 +83,8 @@ function markAsFailed (pkg) {
if (pkg.failed) return
pkg.failed = true
pkg.requires.forEach((req) => {
- req.requiredBy = req.requiredBy.filter((reqReqBy) => {
- return reqReqBy !== pkg
- })
- if (req.requiredBy.length === 0 && !req.userRequired) {
+ var requiredBy = req.requiredBy.filter((reqReqBy) => !reqReqBy.failed)
+ if (requiredBy.length === 0 && !req.userRequired) {
markAsFailed(req)
}
})
@@ -94,12 +92,7 @@ function markAsFailed (pkg) {
function handleOptionalDepErrors (pkg, err) {
markAsFailed(pkg)
- var anyFatal = pkg.userRequired || pkg.isTop
- for (var ii = 0; ii < pkg.requiredBy.length; ++ii) {
- var parent = pkg.requiredBy[ii]
- var isFatal = failedDependency(parent, pkg)
- if (isFatal) anyFatal = true
- }
+ var anyFatal = failedDependency(pkg)
if (anyFatal) {
throw err
} else {