$41 GRAYBYTE WORDPRESS FILE MANAGER $91

SERVER : vnpttt-amd7f72-h1.vietnix.vn #1 SMP Fri May 24 12:42:50 UTC 2024
SERVER IP : 103.200.23.149 | ADMIN IP 216.73.216.22
OPTIONS : CRL = ON | WGT = ON | SDO = OFF | PKEX = OFF
DEACTIVATED : NONE

/opt/alt/alt-nodejs16/root/usr/lib/node_modules/npm/lib/utils/

HOME
Current File : /opt/alt/alt-nodejs16/root/usr/lib/node_modules/npm/lib/utils//explain-dep.js
const chalk = require('chalk')
const nocolor = {
  bold: s => s,
  dim: s => s,
  red: s => s,
  yellow: s => s,
  cyan: s => s,
  magenta: s => s,
  blue: s => s,
  green: s => s,
  gray: s => s,
}

const { relative } = require('path')

const explainNode = (node, depth, color) =>
  printNode(node, color) +
  explainDependents(node, depth, color) +
  explainLinksIn(node, depth, color)

const colorType = (type, color) => {
  const { red, yellow, cyan, magenta, blue, green, gray } = color ? chalk : nocolor
  const style = type === 'extraneous' ? red
    : type === 'dev' ? yellow
    : type === 'optional' ? cyan
    : type === 'peer' ? magenta
    : type === 'bundled' ? blue
    : type === 'workspace' ? green
    : type === 'overridden' ? gray
    : /* istanbul ignore next */ s => s
  return style(type)
}

const printNode = (node, color) => {
  const {
    name,
    version,
    location,
    extraneous,
    dev,
    optional,
    peer,
    bundled,
    isWorkspace,
    overridden,
  } = node
  const { bold, dim, green } = color ? chalk : nocolor
  const extra = []
  if (extraneous) {
    extra.push(' ' + bold(colorType('extraneous', color)))
  }

  if (dev) {
    extra.push(' ' + bold(colorType('dev', color)))
  }

  if (optional) {
    extra.push(' ' + bold(colorType('optional', color)))
  }

  if (peer) {
    extra.push(' ' + bold(colorType('peer', color)))
  }

  if (bundled) {
    extra.push(' ' + bold(colorType('bundled', color)))
  }

  if (overridden) {
    extra.push(' ' + bold(colorType('overridden', color)))
  }

  const pkgid = isWorkspace
    ? green(`${name}@${version}`)
    : `${bold(name)}@${bold(version)}`

  return `${pkgid}${extra.join('')}` +
    (location ? dim(`\n${location}`) : '')
}

const explainLinksIn = ({ linksIn }, depth, color) => {
  if (!linksIn || !linksIn.length || depth <= 0) {
    return ''
  }

  const messages = linksIn.map(link => explainNode(link, depth - 1, color))
  const str = '\n' + messages.join('\n')
  return str.split('\n').join('\n  ')
}

const explainDependents = ({ name, dependents }, depth, color) => {
  if (!dependents || !dependents.length || depth <= 0) {
    return ''
  }

  const max = Math.ceil(depth / 2)
  const messages = dependents.slice(0, max)
    .map(edge => explainEdge(edge, depth, color))

  // show just the names of the first 5 deps that overflowed the list
  if (dependents.length > max) {
    let len = 0
    const maxLen = 50
    const showNames = []
    for (let i = max; i < dependents.length; i++) {
      const { from: { name = 'the root project' } } = dependents[i]
      len += name.length
      if (len >= maxLen && i < dependents.length - 1) {
        showNames.push('...')
        break
      }
      showNames.push(name)
    }
    const show = `(${showNames.join(', ')})`
    messages.push(`${dependents.length - max} more ${show}`)
  }

  const str = '\n' + messages.join('\n')
  return str.split('\n').join('\n  ')
}

const explainEdge = ({ name, type, bundled, from, spec, rawSpec, overridden }, depth, color) => {
  const { bold } = color ? chalk : nocolor
  let dep = type === 'workspace'
    ? bold(relative(from.location, spec.slice('file:'.length)))
    : `${bold(name)}@"${bold(spec)}"`
  if (overridden) {
    dep = `${colorType('overridden', color)} ${dep} (was "${rawSpec}")`
  }

  const fromMsg = ` from ${explainFrom(from, depth, color)}`

  return (type === 'prod' ? '' : `${colorType(type, color)} `) +
    (bundled ? `${colorType('bundled', color)} ` : '') +
    `${dep}${fromMsg}`
}

const explainFrom = (from, depth, color) => {
  if (!from.name && !from.version) {
    return 'the root project'
  }

  return printNode(from, color) +
    explainDependents(from, depth - 1, color) +
    explainLinksIn(from, depth - 1, color)
}

module.exports = { explainNode, printNode, explainEdge }

Current_dir [ NOT WRITEABLE ] Document_root [ WRITEABLE ]


[ Back ]
NAME
SIZE
LAST TOUCH
USER
CAN-I?
FUNCTIONS
..
--
31 Aug 2024 8.02 AM
root / root
0755
completion
--
31 Aug 2024 8.02 AM
root / root
0755
config
--
31 Aug 2024 8.02 AM
root / root
0755
ansi-trim.js
0.169 KB
3 Nov 2023 9.14 PM
root / root
0644
audit-error.js
0.955 KB
3 Nov 2023 9.14 PM
root / root
0644
cmd-list.js
2.46 KB
3 Nov 2023 9.14 PM
root / root
0644
completion.sh
1.854 KB
3 Nov 2023 9.14 PM
root / root
0755
did-you-mean.js
1.463 KB
3 Nov 2023 9.14 PM
root / root
0644
display.js
2.84 KB
3 Nov 2023 9.14 PM
root / root
0644
error-message.js
12.642 KB
3 Nov 2023 9.14 PM
root / root
0644
exit-handler.js
6.767 KB
3 Nov 2023 9.14 PM
root / root
0644
explain-dep.js
3.733 KB
3 Nov 2023 9.14 PM
root / root
0644
explain-eresolve.js
2.557 KB
3 Nov 2023 9.14 PM
root / root
0644
format-bytes.js
0.614 KB
3 Nov 2023 9.14 PM
root / root
0644
format-search-stream.js
3.929 KB
3 Nov 2023 9.14 PM
root / root
0644
get-identity.js
0.723 KB
3 Nov 2023 9.14 PM
root / root
0644
is-windows.js
0.228 KB
3 Nov 2023 9.14 PM
root / root
0644
log-file.js
7.644 KB
3 Nov 2023 9.14 PM
root / root
0644
log-shim.js
1.678 KB
3 Nov 2023 9.14 PM
root / root
0644
npm-usage.js
1.952 KB
3 Nov 2023 9.14 PM
root / root
0644
open-url-prompt.js
1.539 KB
3 Nov 2023 9.14 PM
root / root
0644
open-url.js
1.174 KB
3 Nov 2023 9.14 PM
root / root
0644
otplease.js
1.231 KB
3 Nov 2023 9.14 PM
root / root
0644
ping.js
0.246 KB
3 Nov 2023 9.14 PM
root / root
0644
pulse-till-done.js
0.402 KB
3 Nov 2023 9.14 PM
root / root
0644
queryable.js
9.577 KB
3 Nov 2023 9.14 PM
root / root
0644
read-user-info.js
1.989 KB
3 Nov 2023 9.14 PM
root / root
0644
reify-finish.js
0.855 KB
3 Nov 2023 9.14 PM
root / root
0644
reify-output.js
4.962 KB
3 Nov 2023 9.14 PM
root / root
0644
replace-info.js
0.788 KB
3 Nov 2023 9.14 PM
root / root
0644
tar.js
3.729 KB
3 Nov 2023 9.14 PM
root / root
0644
timers.js
3.181 KB
3 Nov 2023 9.14 PM
root / root
0644
update-notifier.js
4.452 KB
3 Nov 2023 9.14 PM
root / root
0644
validate-lockfile.js
0.999 KB
3 Nov 2023 9.14 PM
root / root
0644
web-auth.js
0.545 KB
3 Nov 2023 9.14 PM
root / root
0644

GRAYBYTE WORDPRESS FILE MANAGER @ 2026 CONTACT ME
Static GIF