![]() System : Linux absol.cf 5.4.0-198-generic #218-Ubuntu SMP Fri Sep 27 20:18:53 UTC 2024 x86_64 User : www-data ( 33) PHP Version : 7.4.33 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, Directory : /proc/self/root/usr/local/lib/node_modules/npm/lib/commands/ |
Upload File : |
const libexec = require('libnpmexec') const BaseCommand = require('../base-command.js') const getLocationMsg = require('../exec/get-workspace-location-msg.js') // it's like this: // // npm x pkg@version <-- runs the bin named "pkg" or the only bin if only 1 // // { name: 'pkg', bin: { pkg: 'pkg.js', foo: 'foo.js' }} <-- run pkg // { name: 'pkg', bin: { foo: 'foo.js' }} <-- run foo? // // npm x -p pkg@version -- foo // // npm x -p pkg@version -- foo --registry=/dev/null // // const pkg = npm.config.get('package') || getPackageFrom(args[0]) // const cmd = getCommand(pkg, args[0]) // --> npm x -c 'cmd ...args.slice(1)' // // we've resolved cmd and args, and escaped them properly, and installed the // relevant packages. // // Add the ${npx install prefix}/node_modules/.bin to PATH // // pkg = readPackageJson('./package.json') // pkg.scripts.___npx = ${the -c arg} // runScript({ pkg, event: 'npx', ... }) // process.env.npm_lifecycle_event = 'npx' class Exec extends BaseCommand { /* istanbul ignore next - see test/lib/load-all-commands.js */ static get description () { return 'Run a command from a local or remote npm package' } /* istanbul ignore next - see test/lib/load-all-commands.js */ static get params () { return [ 'package', 'call', 'workspace', 'workspaces', 'include-workspace-root', ] } /* istanbul ignore next - see test/lib/load-all-commands.js */ static get name () { return 'exec' } /* istanbul ignore next - see test/lib/load-all-commands.js */ static get usage () { return [ '-- <pkg>[@<version>] [args...]', '--package=<pkg>[@<version>] -- <cmd> [args...]', '-c \'<cmd> [args...]\'', '--package=foo -c \'<cmd> [args...]\'', ] } async exec (_args, { locationMsg, path, runPath } = {}) { if (!path) path = this.npm.localPrefix if (!runPath) runPath = process.cwd() const args = [..._args] const call = this.npm.config.get('call') const { flatOptions, localBin, log, globalBin, } = this.npm const output = (...outputArgs) => this.npm.output(...outputArgs) const scriptShell = this.npm.config.get('script-shell') || undefined const packages = this.npm.config.get('package') const yes = this.npm.config.get('yes') if (call && _args.length) throw this.usageError() return libexec({ ...flatOptions, args, call, localBin, locationMsg, log, globalBin, output, packages, path, runPath, scriptShell, yes, }) } async execWorkspaces (args, filters) { await this.setWorkspaces(filters) const color = this.npm.color for (const path of this.workspacePaths) { const locationMsg = await getLocationMsg({ color, path }) await this.exec(args, { locationMsg, path, runPath: path }) } } } module.exports = Exec