/home/techb158/.nvm/versions/node/v16.20.2/lib/node_modules/npm/lib/utils
NameSizeModeActions
completion/-0755rm
config/-0755rm
ansi-trim.js1730644editdlrm
audit-error.js9780644editdlrm
cmd-list.js25190644editdlrm
completion.sh18980755editdlrm
did-you-mean.js14980644editdlrm
display.js29080644editdlrm
error-message.js129450644editdlrm
exit-handler.js69290644editdlrm
explain-dep.js38230644editdlrm
explain-eresolve.js26180644editdlrm
format-bytes.js6290644editdlrm
format-search-stream.js40230644editdlrm
get-identity.js7400644editdlrm
is-windows.js2330644editdlrm
log-file.js78270644editdlrm
log-shim.js17180644editdlrm
npm-usage.js19990644editdlrm
open-url-prompt.js15760644editdlrm
open-url.js12020644editdlrm
otplease.js12610644editdlrm
ping.js2520644editdlrm
pulse-till-done.js4120644editdlrm
queryable.js98070644editdlrm
read-user-info.js20370644editdlrm
reify-finish.js8760644editdlrm
reify-output.js50810644editdlrm
replace-info.js8070644editdlrm
tar.js38190644editdlrm
timers.js32570644editdlrm
update-notifier.js45590644editdlrm
validate-lockfile.js10230644editdlrm
web-auth.js5580644editdlrm
Edit: /home/techb158/.nvm/versions/node/v16.20.2/lib/node_modules/npm/lib/utils/did-you-mean.js (1498B)
const { distance } = require('fastest-levenshtein') const readJson = require('read-package-json-fast') const { commands } = require('./cmd-list.js') const didYouMean = async (npm, path, scmd) => { // const cmd = await npm.cmd(str) const close = commands.filter(cmd => distance(scmd, cmd) < scmd.length * 0.4 && scmd !== cmd) let best = [] for (const str of close) { const cmd = await npm.cmd(str) best.push(` npm ${str} # ${cmd.description}`) } // We would already be suggesting this in `npm x` so omit them here const runScripts = ['stop', 'start', 'test', 'restart'] try { const { bin, scripts } = await readJson(`${path}/package.json`) best = best.concat( Object.keys(scripts || {}) .filter(cmd => distance(scmd, cmd) < scmd.length * 0.4 && !runScripts.includes(cmd)) .map(str => ` npm run ${str} # run the "${str}" package script`), Object.keys(bin || {}) .filter(cmd => distance(scmd, cmd) < scmd.length * 0.4) /* eslint-disable-next-line max-len */ .map(str => ` npm exec ${str} # run the "${str}" command from either this or a remote npm package`) ) } catch (_) { // gracefully ignore not being in a folder w/ a package.json } if (best.length === 0) { return '' } const suggestion = best.length === 1 ? `\n\nDid you mean this?\n${best[0]}` : `\n\nDid you mean one of these?\n${best.slice(0, 3).join('\n')}` return suggestion } module.exports = didYouMean