aboutsummaryrefslogtreecommitdiff
path: root/deps/npm/lib/install/copy-tree.js
diff options
context:
space:
mode:
authorAnna Henningsen <anna@addaleax.net>2018-04-05 22:51:49 +0200
committerAnna Henningsen <anna@addaleax.net>2018-04-05 23:00:02 +0200
commite37effe4cec98688e75d770f4d0b7f68927e2b73 (patch)
treee7efa0fc8a2139f9aba4b66ea3f3613262f20cef /deps/npm/lib/install/copy-tree.js
parent026f6b787a7a23597790f1f0b076c58a68c7c38b (diff)
downloadandroid-node-v8-e37effe4cec98688e75d770f4d0b7f68927e2b73.tar.gz
android-node-v8-e37effe4cec98688e75d770f4d0b7f68927e2b73.tar.bz2
android-node-v8-e37effe4cec98688e75d770f4d0b7f68927e2b73.zip
Revert "deps: upgrade npm to 5.8.0"
This reverts commit 25a816dcda7b1db0929501acfe13f2fe5119759b. PR-URL: https://github.com/nodejs/node/pull/19837 Reviewed-By: Gus Caplan <me@gus.host>
Diffstat (limited to 'deps/npm/lib/install/copy-tree.js')
-rw-r--r--deps/npm/lib/install/copy-tree.js17
1 files changed, 9 insertions, 8 deletions
diff --git a/deps/npm/lib/install/copy-tree.js b/deps/npm/lib/install/copy-tree.js
index 2bf7064f33..a5b558cf59 100644
--- a/deps/npm/lib/install/copy-tree.js
+++ b/deps/npm/lib/install/copy-tree.js
@@ -1,26 +1,27 @@
'use strict'
var createNode = require('./node.js').create
-module.exports = function (tree) {
- return copyTree(tree, {})
+module.exports = function (tree, filter) {
+ return copyTree(tree, {}, filter)
}
-function copyTree (tree, cache) {
+function copyTree (tree, cache, filter) {
+ if (filter && !filter(tree)) { return null }
if (cache[tree.path]) { return cache[tree.path] }
var newTree = cache[tree.path] = createNode(Object.assign({}, tree))
- copyModuleList(newTree, 'children', cache)
+ copyModuleList(newTree, 'children', cache, filter)
newTree.children.forEach(function (child) {
child.parent = newTree
})
- copyModuleList(newTree, 'requires', cache)
- copyModuleList(newTree, 'requiredBy', cache)
+ copyModuleList(newTree, 'requires', cache, filter)
+ copyModuleList(newTree, 'requiredBy', cache, filter)
return newTree
}
-function copyModuleList (tree, key, cache) {
+function copyModuleList (tree, key, cache, filter) {
var newList = []
if (tree[key]) {
tree[key].forEach(function (child) {
- const copy = copyTree(child, cache)
+ const copy = copyTree(child, cache, filter)
if (copy) {
newList.push(copy)
}