X7ROOT File Manager
Current Path:
/opt/alt/alt-nodejs20/root/usr/lib/node_modules/npm/lib/commands
opt
/
alt
/
alt-nodejs20
/
root
/
usr
/
lib
/
node_modules
/
npm
/
lib
/
commands
/
ðŸ“
..
📄
access.js
(6.04 KB)
📄
adduser.js
(1.29 KB)
📄
audit.js
(3.15 KB)
📄
bugs.js
(847 B)
📄
cache.js
(7.12 KB)
📄
ci.js
(4.22 KB)
📄
completion.js
(8.9 KB)
📄
config.js
(11.18 KB)
📄
dedupe.js
(1.41 KB)
📄
deprecate.js
(2.13 KB)
📄
diff.js
(8.14 KB)
📄
dist-tag.js
(5.52 KB)
📄
docs.js
(449 B)
📄
doctor.js
(10.1 KB)
📄
edit.js
(1.76 KB)
📄
exec.js
(3.42 KB)
📄
explain.js
(3.58 KB)
📄
explore.js
(2.16 KB)
📄
find-dupes.js
(634 B)
📄
fund.js
(6.46 KB)
📄
get.js
(577 B)
📄
help-search.js
(5.52 KB)
📄
help.js
(3.66 KB)
📄
hook.js
(3.37 KB)
📄
init.js
(6.85 KB)
📄
install-ci-test.js
(373 B)
📄
install-test.js
(370 B)
📄
install.js
(5.15 KB)
📄
link.js
(5.3 KB)
📄
ll.js
(234 B)
📄
login.js
(1.29 KB)
📄
logout.js
(1.42 KB)
📄
ls.js
(16.81 KB)
📄
org.js
(4.02 KB)
📄
outdated.js
(7.7 KB)
📄
owner.js
(5.85 KB)
📄
pack.js
(2.6 KB)
📄
ping.js
(873 B)
📄
pkg.js
(3.56 KB)
📄
prefix.js
(335 B)
📄
profile.js
(10.57 KB)
📄
prune.js
(799 B)
📄
publish.js
(7.19 KB)
📄
query.js
(3.51 KB)
📄
rebuild.js
(2.19 KB)
📄
repo.js
(1.25 KB)
📄
restart.js
(310 B)
📄
root.js
(295 B)
📄
run-script.js
(6.04 KB)
📄
sbom.js
(4.51 KB)
📄
search.js
(1.83 KB)
📄
set.js
(671 B)
📄
shrinkwrap.js
(2.65 KB)
📄
star.js
(1.87 KB)
📄
stars.js
(1.03 KB)
📄
start.js
(300 B)
📄
stop.js
(295 B)
📄
team.js
(4.36 KB)
📄
test.js
(295 B)
📄
token.js
(6.02 KB)
📄
uninstall.js
(1.52 KB)
📄
unpublish.js
(5.27 KB)
📄
unstar.js
(183 B)
📄
update.js
(1.72 KB)
📄
version.js
(3.54 KB)
📄
view.js
(12.8 KB)
📄
whoami.js
(527 B)
Editing: query.js
const { resolve } = require('node:path') const BaseCommand = require('../base-cmd.js') const { log, output } = require('proc-log') class QuerySelectorItem { constructor (node) { // all enumerable properties from the target Object.assign(this, node.target.package) // append extra info this.pkgid = node.target.pkgid this.location = node.target.location this.path = node.target.path this.realpath = node.target.realpath this.resolved = node.target.resolved this.from = [] this.to = [] this.dev = node.target.dev this.inBundle = node.target.inBundle this.deduped = this.from.length > 1 this.overridden = node.overridden this.queryContext = node.queryContext for (const edge of node.target.edgesIn) { this.from.push(edge.from.location) } for (const [, edge] of node.target.edgesOut) { if (edge.to) { this.to.push(edge.to.location) } } } } class Query extends BaseCommand { #response = [] // response is the query response #seen = new Set() // paths we've seen so we can keep response deduped static description = 'Retrieve a filtered list of packages' static name = 'query' static usage = ['<selector>'] static workspaces = true static ignoreImplicitWorkspace = false static params = [ 'global', 'workspace', 'workspaces', 'include-workspace-root', 'package-lock-only', 'expect-results', ] constructor (...args) { super(...args) this.npm.config.set('json', true) } async exec (args) { const packageLock = this.npm.config.get('package-lock-only') const Arborist = require('@npmcli/arborist') const arb = new Arborist({ ...this.npm.flatOptions, // one dir up from wherever node_modules lives path: resolve(this.npm.dir, '..'), forceActual: !packageLock, }) let tree if (packageLock) { try { tree = await arb.loadVirtual() } catch (err) { log.verbose('loadVirtual', err.stack) throw this.usageError( 'A package lock or shrinkwrap file is required in package-lock-only mode' ) } } else { tree = await arb.loadActual() } await this.#queryTree(tree, args[0]) this.#output() } async execWorkspaces (args) { await this.setWorkspaces() const Arborist = require('@npmcli/arborist') const arb = new Arborist({ ...this.npm.flatOptions, path: this.npm.prefix, }) // FIXME: Workspace support in query does not work as expected so this does not // do the same package-lock-only check as this.exec(). // https://github.com/npm/cli/pull/6732#issuecomment-1708804921 const tree = await arb.loadActual() for (const path of this.workspacePaths) { const wsTree = path === tree.root.path ? tree // --includes-workspace-root : await tree.querySelectorAll(`.workspace:path(${path})`).then(r => r[0].target) await this.#queryTree(wsTree, args[0]) } this.#output() } #output () { this.checkExpected(this.#response.length) output.buffer(this.#response) } // builds a normalized inventory async #queryTree (tree, arg) { const items = await tree.querySelectorAll(arg, this.npm.flatOptions) for (const node of items) { const { location } = node.target if (!location || !this.#seen.has(location)) { const item = new QuerySelectorItem(node) this.#response.push(item) if (location) { this.#seen.add(item.location) } } } } } module.exports = Query
Upload File
Create Folder