/usr/lib/node_modules/npm/node_modules/@npmcli/arborist/lib
// file dependencies need their dependencies resolved based on the // location where the tarball was found, not the location where they // end up getting installed. directory (ie, symlink) deps also need // to be resolved based on their targets, but that's what realpath is const { dirname } = require('path') const npa = require('npm-package-arg') const fromPath = (node, spec, edge) => { if (edge && edge.overrides && edge.overrides.name === edge.name && edge.overrides.value) { // fromPath could be called with a node that has a virtual root, if that happens // we want to make sure we get the real root node when overrides are in use. this // is to allow things like overriding a dependency with a tarball file that's a // relative path from the project root return node.sourceReference ? node.sourceReference.root.realpath : node.root.realpath } return spec && spec.type === 'file' ? dirname(spec.fetchSpec) : node.realpath } module.exports = (node, edge) => fromPath(node, node.resolved && npa(node.resolved), edge)
.
Edit
..
Edit
add-rm-pkg-deps.js
Edit
arborist
Edit
audit-report.js
Edit
calc-dep-flags.js
Edit
can-place-dep.js
Edit
case-insensitive-map.js
Edit
consistent-resolve.js
Edit
debug.js
Edit
deepest-nesting-target.js
Edit
dep-valid.js
Edit
diff.js
Edit
edge.js
Edit
from-path.js
Edit
gather-dep-set.js
Edit
get-workspace-nodes.js
Edit
index.js
Edit
inventory.js
Edit
link.js
Edit
node.js
Edit
optional-set.js
Edit
override-resolves.js
Edit
override-set.js
Edit
peer-entry-sets.js
Edit
place-dep.js
Edit
printable.js
Edit
query-selector-all.js
Edit
realpath.js
Edit
relpath.js
Edit
reset-dep-flags.js
Edit
retire-path.js
Edit
shrinkwrap.js
Edit
signal-handling.js
Edit
signals.js
Edit
spec-from-lock.js
Edit
tracker.js
Edit
tree-check.js
Edit
version-from-tgz.js
Edit
vuln.js
Edit
yarn-lock.js
Edit