????JFIF??x?x????'
Server IP : 79.136.114.73 / Your IP : 3.142.43.53 Web Server : Apache/2.4.7 (Ubuntu) PHP/5.5.9-1ubuntu4.29 OpenSSL/1.0.1f System : Linux b8009 3.13.0-170-generic #220-Ubuntu SMP Thu May 9 12:40:49 UTC 2019 x86_64 User : www-data ( 33) PHP Version : 5.5.9-1ubuntu4.29 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority, MySQL : ON | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /usr/local/lib/node_modules/npm/lib/ |
Upload File : |
// Base class for npm.commands[cmd] const usageUtil = require('./utils/usage.js') const ConfigDefinitions = require('./utils/config/definitions.js') const getWorkspaces = require('./workspaces/get-workspaces.js') class BaseCommand { constructor (npm) { this.wrapWidth = 80 this.npm = npm this.workspaces = null this.workspacePaths = null } get name () { return this.constructor.name } get description () { return this.constructor.description } get usage () { let usage = `npm ${this.constructor.name}\n\n` if (this.constructor.description) usage = `${usage}${this.constructor.description}\n\n` usage = `${usage}Usage:\n` if (!this.constructor.usage) usage = `${usage}npm ${this.constructor.name}` else usage = `${usage}${this.constructor.usage.map(u => `npm ${this.constructor.name} ${u}`).join('\n')}` if (this.constructor.params) usage = `${usage}\n\nOptions:\n${this.wrappedParams}` // Mostly this just appends aliases, this could be more clear usage = usageUtil(this.constructor.name, usage) usage = `${usage}\n\nRun "npm help ${this.constructor.name}" for more info` return usage } get wrappedParams () { let results = '' let line = '' for (const param of this.constructor.params) { const usage = `[${ConfigDefinitions[param].usage}]` if (line.length && (line.length + usage.length) > this.wrapWidth) { results = [results, line].filter(Boolean).join('\n') line = '' } line = [line, usage].filter(Boolean).join(' ') } results = [results, line].filter(Boolean).join('\n') return results } usageError (msg) { if (!msg) { return Object.assign(new Error(`\nUsage: ${this.usage}`), { code: 'EUSAGE', }) } return Object.assign(new Error(`\nUsage: ${msg}\n\n${this.usage}`), { code: 'EUSAGE', }) } execWorkspaces (args, filters, cb) { throw Object.assign( new Error('This command does not support workspaces.'), { code: 'ENOWORKSPACES' } ) } async setWorkspaces (filters) { const ws = await getWorkspaces(filters, { path: this.npm.localPrefix }) this.workspaces = ws this.workspaceNames = [...ws.keys()] this.workspacePaths = [...ws.values()] } } module.exports = BaseCommand