/usr/share/cagefs-skeleton/usr/lib/node_modules/npm/lib/utils
const { dirname } = require('path') const { commands } = require('./cmd-list') const localeCompare = require('@isaacs/string-locale-compare')('en') module.exports = async (npm) => { const usesBrowser = npm.config.get('viewer') === 'browser' ? ' (in a browser)' : '' return `npm <command> Usage: npm install install all the dependencies in your project npm install <foo> add the <foo> dependency to your project npm test run this project's tests npm run <foo> run the script named <foo> npm <command> -h quick help on <command> npm -l display usage info for all commands npm help <term> search for help on <term>${usesBrowser} npm help npm more involved overview${usesBrowser} All commands: ${await allCommands(npm)} Specify configs in the ini-formatted file: ${npm.config.get('userconfig')} or on the command line via: npm <command> --key=value More configuration info: npm help config Configuration fields: npm help 7 config npm@${npm.version} ${dirname(dirname(__dirname))}` } const allCommands = async (npm) => { if (npm.config.get('long')) { return usages(npm) } return ('\n ' + wrap(commands)) } const wrap = (arr) => { const out = [''] const line = !process.stdout.columns ? 60 : Math.min(60, Math.max(process.stdout.columns - 16, 24)) let l = 0 for (const c of arr) { if (out[l].length + c.length + 2 < line) { out[l] += ', ' + c } else { out[l++] += ',' out[l] = c } } return out.join('\n ').slice(2) } const usages = async (npm) => { // return a string of <command>: <usage> let maxLen = 0 const set = [] for (const c of commands) { const cmd = await npm.cmd(c) set.push([c, cmd.usage]) maxLen = Math.max(maxLen, c.length) } return set.sort(([a], [b]) => localeCompare(a, b)) .map(([c, usage]) => `\n ${c}${' '.repeat(maxLen - c.length + 1)}${ (usage.split('\n').join('\n' + ' '.repeat(maxLen + 5)))}`) .join('\n') }
.
Edit
..
Edit
ansi-trim.js
Edit
audit-error.js
Edit
cmd-list.js
Edit
completion
Edit
completion.sh
Edit
config
Edit
did-you-mean.js
Edit
display.js
Edit
error-message.js
Edit
exit-handler.js
Edit
explain-dep.js
Edit
explain-eresolve.js
Edit
format-bytes.js
Edit
format-search-stream.js
Edit
get-identity.js
Edit
is-windows.js
Edit
log-file.js
Edit
log-shim.js
Edit
npm-usage.js
Edit
open-url-prompt.js
Edit
open-url.js
Edit
otplease.js
Edit
ping.js
Edit
pulse-till-done.js
Edit
queryable.js
Edit
read-user-info.js
Edit
reify-finish.js
Edit
reify-output.js
Edit
replace-info.js
Edit
tar.js
Edit
timers.js
Edit
update-notifier.js
Edit
validate-lockfile.js
Edit
web-auth.js
Edit