X7ROOT File Manager
Current Path:
/opt/alt/alt-nodejs16/root/usr/lib/node_modules/npm/lib/utils
opt
/
alt
/
alt-nodejs16
/
root
/
usr
/
lib
/
node_modules
/
npm
/
lib
/
utils
/
ðŸ“
..
📄
ansi-trim.js
(173 B)
📄
audit-error.js
(978 B)
📄
cmd-list.js
(2.46 KB)
ðŸ“
completion
📄
completion.sh
(1.85 KB)
ðŸ“
config
📄
did-you-mean.js
(1.46 KB)
📄
display.js
(2.84 KB)
📄
error-message.js
(12.64 KB)
📄
exit-handler.js
(6.77 KB)
📄
explain-dep.js
(3.73 KB)
📄
explain-eresolve.js
(2.56 KB)
📄
format-bytes.js
(629 B)
📄
format-search-stream.js
(3.93 KB)
📄
get-identity.js
(740 B)
📄
is-windows.js
(233 B)
📄
log-file.js
(7.64 KB)
📄
log-shim.js
(1.68 KB)
📄
npm-usage.js
(1.95 KB)
📄
open-url-prompt.js
(1.54 KB)
📄
open-url.js
(1.17 KB)
📄
otplease.js
(1.23 KB)
📄
ping.js
(252 B)
📄
pulse-till-done.js
(412 B)
📄
queryable.js
(9.58 KB)
📄
read-user-info.js
(1.99 KB)
📄
reify-finish.js
(876 B)
📄
reify-output.js
(4.96 KB)
📄
replace-info.js
(807 B)
📄
tar.js
(3.73 KB)
📄
timers.js
(3.18 KB)
📄
update-notifier.js
(4.45 KB)
📄
validate-lockfile.js
(1023 B)
📄
web-auth.js
(558 B)
Editing: replace-info.js
const { cleanUrl } = require('npm-registry-fetch') const isString = (v) => typeof v === 'string' // split on \s|= similar to how nopt parses options const splitAndReplace = (str) => { // stateful regex, don't move out of this scope const splitChars = /[\s=]/g let match = null let result = '' let index = 0 while (match = splitChars.exec(str)) { result += cleanUrl(str.slice(index, match.index)) + match[0] index = splitChars.lastIndex } return result + cleanUrl(str.slice(index)) } // replaces auth info in an array of arguments or in a strings function replaceInfo (arg) { if (isString(arg)) { return splitAndReplace(arg) } else if (Array.isArray(arg)) { return arg.map((a) => isString(a) ? splitAndReplace(a) : a) } return arg } module.exports = replaceInfo
Upload File
Create Folder