X7ROOT File Manager
Current Path:
/opt/alt/alt-nodejs18/root/usr/lib/node_modules/npm/lib/commands
opt
/
alt
/
alt-nodejs18
/
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: run-script.js
const { output } = require('proc-log') const pkgJson = require('@npmcli/package-json') const BaseCommand = require('../base-cmd.js') const { getError } = require('../utils/error-message.js') const { outputError } = require('../utils/output-error.js') class RunScript extends BaseCommand { static description = 'Run arbitrary package scripts' static params = [ 'workspace', 'workspaces', 'include-workspace-root', 'if-present', 'ignore-scripts', 'foreground-scripts', 'script-shell', ] static name = 'run-script' static usage = ['<command> [-- <args>]'] static workspaces = true static ignoreImplicitWorkspace = false static isShellout = true static async completion (opts, npm) { const argv = opts.conf.argv.remain if (argv.length === 2) { const { content: { scripts = {} } } = await pkgJson.normalize(npm.localPrefix) .catch(() => ({ content: {} })) if (opts.isFish) { return Object.keys(scripts).map(s => `${s}\t${scripts[s].slice(0, 30)}`) } return Object.keys(scripts) } } async exec (args) { if (args.length) { await this.#run(args, { path: this.npm.localPrefix }) } else { await this.#list(this.npm.localPrefix) } } async execWorkspaces (args) { await this.setWorkspaces() const ws = [...this.workspaces.entries()] for (const [workspace, path] of ws) { const last = path === ws.at(-1)[1] if (!args.length) { const newline = await this.#list(path, { workspace }) if (newline && !last) { output.standard('') } continue } const pkg = await pkgJson.normalize(path).then(p => p.content) try { await this.#run(args, { path, pkg, workspace }) } catch (e) { const err = getError(e, { npm: this.npm, command: null }) outputError({ ...err, error: [ ['', `Lifecycle script \`${args[0]}\` failed with error:`], ...err.error, ['workspace', pkg._id || pkg.name], ['location', path], ], }) process.exitCode = err.exitCode if (!last) { output.error('') } } } } async #run ([event, ...args], { path, pkg, workspace }) { const runScript = require('@npmcli/run-script') pkg ??= await pkgJson.normalize(path).then(p => p.content) const { scripts = {} } = pkg if (event === 'restart' && !scripts.restart) { scripts.restart = 'npm stop --if-present && npm start' } else if (event === 'env' && !scripts.env) { const { isWindowsShell } = require('../utils/is-windows.js') scripts.env = isWindowsShell ? 'SET' : 'env' } pkg.scripts = scripts if ( !Object.prototype.hasOwnProperty.call(scripts, event) && !(event === 'start' && (await runScript.isServerPackage(path))) ) { if (this.npm.config.get('if-present')) { return } const suggestions = require('../utils/did-you-mean.js')(pkg, event) const wsArg = workspace && path !== this.npm.localPrefix ? ` --workspace=${pkg._id || pkg.name}` : '' throw new Error([ `Missing script: "${event}"${suggestions}\n`, 'To see a list of scripts, run:', ` npm run${wsArg}`, ].join('\n')) } // positional args only added to the main event, not pre/post const events = [[event, args]] if (!this.npm.config.get('ignore-scripts')) { if (scripts[`pre${event}`]) { events.unshift([`pre${event}`, []]) } if (scripts[`post${event}`]) { events.push([`post${event}`, []]) } } for (const [ev, evArgs] of events) { await runScript({ path, // this || undefined is because runScript will be unhappy with the // default null value scriptShell: this.npm.config.get('script-shell') || undefined, stdio: 'inherit', pkg, event: ev, args: evArgs, }) } } async #list (path, { workspace } = {}) { const { scripts = {}, name, _id } = await pkgJson.normalize(path).then(p => p.content) const scriptEntries = Object.entries(scripts) if (this.npm.silent) { return } if (this.npm.config.get('json')) { output.buffer(workspace ? { [workspace]: scripts } : scripts) return } if (!scriptEntries.length) { return } if (this.npm.config.get('parseable')) { output.standard(scriptEntries .map((s) => (workspace ? [workspace, ...s] : s).join(':')) .join('\n') .trim()) return } // TODO this is missing things like prepare, prepublishOnly, and dependencies const cmdList = [ 'preinstall', 'install', 'postinstall', 'prepublish', 'publish', 'postpublish', 'prerestart', 'restart', 'postrestart', 'prestart', 'start', 'poststart', 'prestop', 'stop', 'poststop', 'pretest', 'test', 'posttest', 'preuninstall', 'uninstall', 'postuninstall', 'preversion', 'version', 'postversion', ] const [cmds, runScripts] = scriptEntries.reduce((acc, s) => { acc[cmdList.includes(s[0]) ? 0 : 1].push(s) return acc }, [[], []]) const { reset, bold, cyan, dim, blue } = this.npm.chalk const pkgId = `in ${cyan(_id || name)}` const title = (t) => reset(bold(t)) if (cmds.length) { output.standard(`${title('Lifecycle scripts')} included ${pkgId}:`) for (const [k, v] of cmds) { output.standard(` ${k}`) output.standard(` ${dim(v)}`) } } if (runScripts.length) { const via = `via \`${blue('npm run-script')}\`:` if (!cmds.length) { output.standard(`${title('Scripts')} available ${pkgId} ${via}`) } else { output.standard(`available ${via}`) } for (const [k, v] of runScripts) { output.standard(` ${k}`) output.standard(` ${dim(v)}`) } } // Return true to indicate that something was output for this path // that should be separated from others return true } } module.exports = RunScript
Upload File
Create Folder