PATH:
lib
/
node_modules
/
npm
/
node_modules
/
@npmcli
/
arborist
/
lib
// take a path and a resolved value, and turn it into a resolution from // the given new path. This is used with converting a package.json's // relative file: path into one suitable for a lockfile, or between // lockfiles, and for converting hosted git repos to a consistent url type. const npa = require('npm-package-arg') const relpath = require('./relpath.js') const consistentResolve = (resolved, fromPath, toPath, relPaths = false) => { if (!resolved) { return null } try { const hostedOpt = { noCommittish: false } const { fetchSpec, saveSpec, type, hosted, rawSpec, raw, } = npa(resolved, fromPath) if (type === 'file' || type === 'directory') { const cleanFetchSpec = fetchSpec.replace(/#/g, '%23') if (relPaths && toPath) { return `file:${relpath(toPath, cleanFetchSpec)}` } return `file:${cleanFetchSpec}` } if (hosted) { return `git+${hosted.auth ? hosted.https(hostedOpt) : hosted.sshurl(hostedOpt)}` } if (type === 'git') { return saveSpec } if (rawSpec === '*') { return raw } return rawSpec } catch (_) { // whatever we passed in was not acceptable to npa. // leave it 100% untouched. return resolved } } module.exports = consistentResolve
[-] edge.js
[open]
[-] inventory.js
[open]
[-] debug.js
[open]
[+]
..
[-] optional-set.js
[open]
[-] printable.js
[open]
[-] link.js
[open]
[-] place-dep.js
[open]
[-] realpath.js
[open]
[-] deepest-nesting-target.js
[open]
[-] case-insensitive-map.js
[open]
[-] relpath.js
[open]
[-] signals.js
[open]
[-] calc-dep-flags.js
[open]
[-] signal-handling.js
[open]
[-] peer-entry-sets.js
[open]
[-] index.js
[open]
[-] node.js
[open]
[-] spec-from-lock.js
[open]
[-] yarn-lock.js
[open]
[-] from-path.js
[open]
[-] retire-path.js
[open]
[-] add-rm-pkg-deps.js
[open]
[-] dep-valid.js
[open]
[-] packument-cache.js
[open]
[-] consistent-resolve.js
[open]
[-] audit-report.js
[open]
[-] tracker.js
[open]
[-] vuln.js
[open]
[-] gather-dep-set.js
[open]
[-] tree-check.js
[open]
[-] reset-dep-flags.js
[open]
[-] override-set.js
[open]
[-] diff.js
[open]
[-] override-resolves.js
[open]
[-] version-from-tgz.js
[open]
[-] shrinkwrap.js
[open]
[+]
arborist
[-] can-place-dep.js
[open]
[-] query-selector-all.js
[open]