X7ROOT File Manager
Current Path:
/opt/alt/alt-nodejs19/root/usr/lib/node_modules/npm/lib/commands
opt
/
alt
/
alt-nodejs19
/
root
/
usr
/
lib
/
node_modules
/
npm
/
lib
/
commands
/
??
..
??
access.js
(6.08 KB)
??
adduser.js
(1.32 KB)
??
audit.js
(13.86 KB)
??
bugs.js
(815 B)
??
cache.js
(7.07 KB)
??
ci.js
(3.51 KB)
??
completion.js
(8.73 KB)
??
config.js
(10.04 KB)
??
dedupe.js
(1.4 KB)
??
deprecate.js
(2.03 KB)
??
diff.js
(8.12 KB)
??
dist-tag.js
(5.45 KB)
??
docs.js
(447 B)
??
doctor.js
(11.51 KB)
??
edit.js
(2 KB)
??
exec.js
(2.54 KB)
??
explain.js
(3.55 KB)
??
explore.js
(2.3 KB)
??
find-dupes.js
(622 B)
??
fund.js
(6.51 KB)
??
get.js
(524 B)
??
help-search.js
(5.49 KB)
??
help.js
(3.54 KB)
??
hook.js
(3.77 KB)
??
init.js
(6.9 KB)
??
install-ci-test.js
(373 B)
??
install-test.js
(370 B)
??
install.js
(5.11 KB)
??
link.js
(5.15 KB)
??
ll.js
(234 B)
??
login.js
(1.32 KB)
??
logout.js
(1.3 KB)
??
ls.js
(16.73 KB)
??
org.js
(4.14 KB)
??
outdated.js
(8.76 KB)
??
owner.js
(5.91 KB)
??
pack.js
(2.37 KB)
??
ping.js
(917 B)
??
pkg.js
(3.5 KB)
??
prefix.js
(303 B)
??
profile.js
(11.19 KB)
??
prune.js
(779 B)
??
publish.js
(6.5 KB)
??
query.js
(2.9 KB)
??
rebuild.js
(2.14 KB)
??
repo.js
(1.24 KB)
??
restart.js
(310 B)
??
root.js
(258 B)
??
run-script.js
(6.81 KB)
??
search.js
(2.68 KB)
??
set.js
(572 B)
??
shrinkwrap.js
(2.64 KB)
??
star.js
(1.87 KB)
??
stars.js
(1.03 KB)
??
start.js
(300 B)
??
stop.js
(295 B)
??
team.js
(4.44 KB)
??
test.js
(295 B)
??
token.js
(6.64 KB)
??
uninstall.js
(1.51 KB)
??
unpublish.js
(4.54 KB)
??
unstar.js
(182 B)
??
update.js
(1.71 KB)
??
version.js
(3.58 KB)
??
view.js
(14.38 KB)
??
whoami.js
(474 B)
Editing: query.js
'use strict' const { resolve } = require('path') const Arborist = require('@npmcli/arborist') const BaseCommand = require('../base-command.js') 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', ] get parsedResponse () { return JSON.stringify(this.#response, null, 2) } async exec (args) { // one dir up from wherever node_modules lives const where = resolve(this.npm.dir, '..') const opts = { ...this.npm.flatOptions, path: where, forceActual: true, } const arb = new Arborist(opts) const tree = await arb.loadActual(opts) const items = await tree.querySelectorAll(args[0], this.npm.flatOptions) this.buildResponse(items) this.npm.output(this.parsedResponse) } async execWorkspaces (args) { await this.setWorkspaces() const opts = { ...this.npm.flatOptions, path: this.npm.prefix, } const arb = new Arborist(opts) const tree = await arb.loadActual(opts) for (const workspacePath of this.workspacePaths) { let items if (workspacePath === tree.root.path) { // include-workspace-root items = await tree.querySelectorAll(args[0]) } else { const [workspace] = await tree.querySelectorAll(`.workspace:path(${workspacePath})`) items = await workspace.target.querySelectorAll(args[0], this.npm.flatOptions) } this.buildResponse(items) } this.npm.output(this.parsedResponse) } // builds a normalized inventory buildResponse (items) { for (const node of items) { if (!this.#seen.has(node.target.location)) { const item = new QuerySelectorItem(node) this.#response.push(item) this.#seen.add(item.location) } } } } module.exports = Query
Upload File
Create Folder