/opt/alt/alt-nodejs20/root/usr/lib/node_modules/npm/node_modules.bundled/@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('node:path') const npa = require('npm-package-arg') const fromPath = (node, 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 if (node.sourceReference) { return node.sourceReference.root.realpath } return node.root.realpath } if (node.resolved) { const spec = npa(node.resolved) if (spec?.type === 'file') { return dirname(spec.fetchSpec) } } return node.realpath } module.exports = fromPath
.
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
index.js
Edit
inventory.js
Edit
link.js
Edit
node.js
Edit
optional-set.js
Edit
override-resolves.js
Edit
override-set.js
Edit
packument-cache.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