mirror of
https://github.com/titanscouting/tra-analysis.git
synced 2025-10-24 01:49:20 +00:00
push all website files
This commit is contained in:
27
website/node_modules/npm/lib/install/is-extraneous.js
generated
vendored
Normal file
27
website/node_modules/npm/lib/install/is-extraneous.js
generated
vendored
Normal file
@@ -0,0 +1,27 @@
|
||||
'use strict'
|
||||
module.exports = isExtraneous
|
||||
|
||||
function isExtraneous (tree) {
|
||||
var result = !isNotExtraneous(tree)
|
||||
return result
|
||||
}
|
||||
|
||||
function topHasNoPjson (tree) {
|
||||
var top = tree
|
||||
while (!top.isTop) top = top.parent
|
||||
return top.error
|
||||
}
|
||||
|
||||
function isNotExtraneous (tree, isCycle) {
|
||||
if (!isCycle) isCycle = {}
|
||||
if (tree.isTop || tree.userRequired) {
|
||||
return true
|
||||
} else if (isCycle[tree.path]) {
|
||||
return topHasNoPjson(tree)
|
||||
} else {
|
||||
isCycle[tree.path] = true
|
||||
return tree.requiredBy && tree.requiredBy.some(function (node) {
|
||||
return isNotExtraneous(node, Object.create(isCycle))
|
||||
})
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user