File Explorer

/proc/4/root/var/lang/lib/node_modules/npm/node_modules/@npmcli/redact/lib

This explorer reads the filesystem of the server it runs on, so /workspace/user isn't present here. Browsing and the terminal still work against this server's own disk from /.

index.js1.1 KB · 45 lines
const matchers = require('./matchers')const { redactUrlPassword } = require('./utils') const REPLACE = '***' const redact = (value) => {  if (typeof value !== 'string' || !value) {    return value  }  return redactUrlPassword(value, REPLACE)    .replace(matchers.NPM_SECRET.pattern, `npm_${REPLACE}`)    .replace(matchers.UUID.pattern, REPLACE)} // split on \s|= similar to how nopt parses optionsconst splitAndRedact = (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 += redact(str.slice(index, match.index)) + match[0]    index = splitChars.lastIndex  }   return result + redact(str.slice(index))} // replaces auth info in an array of arguments or in a stringsconst redactLog = (arg) => {  if (typeof arg === 'string') {    return splitAndRedact(arg)  } else if (Array.isArray(arg)) {    return arg.map((a) => typeof a === 'string' ? splitAndRedact(a) : a)  }  return arg} module.exports = {  redact,  redactLog,}