/
usr
/
local
/
lib
/
node_modules
/
npm
/
node_modules
/
@npmcli
/
arborist
/
lib
/
/usr/local/lib/node_modules/npm/node_modules/@npmcli/arborist/lib
mkdir
upload
Name
Size
Mode
Actions
arborist/
-
0755
rm
add-rm-pkg-deps.js
5008
0644
edit
dl
rm
audit-report.js
9619
0644
edit
dl
rm
calc-dep-flags.js
3359
0644
edit
dl
rm
can-place-dep.js
14273
0644
edit
dl
rm
case-insensitive-map.js
1239
0644
edit
dl
rm
consistent-resolve.js
1247
0644
edit
dl
rm
debug.js
1282
0644
edit
dl
rm
deepest-nesting-target.js
691
0644
edit
dl
rm
dep-valid.js
5128
0644
edit
dl
rm
diff.js
10327
0644
edit
dl
rm
edge.js
9988
0644
edit
dl
rm
from-path.js
1095
0644
edit
dl
rm
gather-dep-set.js
1286
0644
edit
dl
rm
index.js
273
0644
edit
dl
rm
inventory.js
3321
0644
edit
dl
rm
isolated-classes.js
2717
0644
edit
dl
rm
link.js
3114
0644
edit
dl
rm
node.js
49828
0644
edit
dl
rm
optional-set.js
1201
0644
edit
dl
rm
override-resolves.js
225
0644
edit
dl
rm
override-set.js
8773
0644
edit
dl
rm
packument-cache.js
2557
0644
edit
dl
rm
peer-entry-sets.js
2632
0644
edit
dl
rm
place-dep.js
20250
0644
edit
dl
rm
printable.js
5222
0644
edit
dl
rm
query-selector-all.js
30361
0644
edit
dl
rm
realpath.js
2655
0644
edit
dl
rm
relpath.js
136
0644
edit
dl
rm
reset-dep-flags.js
542
0644
edit
dl
rm
retire-path.js
501
0644
edit
dl
rm
shrinkwrap.js
37721
0644
edit
dl
rm
signal-handling.js
2245
0644
edit
dl
rm
signals.js
1381
0644
edit
dl
rm
spec-from-lock.js
874
0644
edit
dl
rm
tracker.js
2991
0644
edit
dl
rm
tree-check.js
4142
0644
edit
dl
rm
version-from-tgz.js
1488
0644
edit
dl
rm
vuln.js
5958
0644
edit
dl
rm
yarn-lock.js
10813
0644
edit
dl
rm
Edit:
/usr/local/lib/node_modules/npm/node_modules/@npmcli/arborist/lib/optional-set.js
(1201B)
// when an optional dep fails to install, we need to remove the branch of the // graph up to the first optionalDependencies, as well as any nodes that are // only required by other nodes in the set. // // This function finds the set of nodes that will need to be removed in that // case. // // Note that this is *only* going to work with trees where calcDepFlags // has been called, because we rely on the node.optional flag. const gatherDepSet = require('./gather-dep-set.js') const optionalSet = node => { // start with the node, then walk up the dependency graph until we // get to the boundaries that define the optional set. since the // node is optional, we know that all paths INTO this area of the // graph are optional, but there may be non-optional dependencies // WITHIN the area. const set = new Set([node]) for (const node of set) { for (const edge of node.edgesIn) { if (!edge.optional) { set.add(edge.from) } } } // now that we've hit the boundary, gather the rest of the nodes in // the optional section that don't have dependents outside the set. return gatherDepSet(set, edge => !set.has(edge.to)) } module.exports = optionalSet
Save
cmd:
run