PHP 8.2.30
Preview: prune.js Size: 2.14 KB
/proc/thread-self/root/proc/thread-self/root/opt/alt/alt-nodejs9/root/usr/lib/node_modules/npm/lib/prune.js

// prune extraneous packages.

module.exports = prune
module.exports.Pruner = Pruner

prune.usage = 'npm prune [[<@scope>/]<pkg>...] [--production]'

var npm = require('./npm.js')
var log = require('npmlog')
var util = require('util')
var moduleName = require('./utils/module-name.js')
var Installer = require('./install.js').Installer
var isExtraneous = require('./install/is-extraneous.js')
var isOnlyDev = require('./install/is-only-dev.js')
var removeDeps = require('./install/deps.js').removeDeps
var loadExtraneous = require('./install/deps.js').loadExtraneous
var chain = require('slide').chain
var computeMetadata = require('./install/deps.js').computeMetadata

prune.completion = require('./utils/completion/installed-deep.js')

function prune (args, cb) {
  var dryrun = !!npm.config.get('dry-run')
  new Pruner('.', dryrun, args).run(cb)
}

function Pruner (where, dryrun, args) {
  Installer.call(this, where, dryrun, args)
}
util.inherits(Pruner, Installer)

Pruner.prototype.loadAllDepsIntoIdealTree = function (cb) {
  log.silly('uninstall', 'loadAllDepsIntoIdealTree')

  var cg = this.progress['loadIdealTree:loadAllDepsIntoIdealTree']
  var steps = []

  computeMetadata(this.idealTree)
  var self = this
  var excludeDev = npm.config.get('production') || /^prod(uction)?$/.test(npm.config.get('only'))
  function shouldPrune (child) {
    if (isExtraneous(child)) return true
    if (!excludeDev) return false
    return isOnlyDev(child)
  }
  function getModuleName (child) {
    // wrapping because moduleName doesn't like extra args and we're called
    // from map.
    return moduleName(child)
  }
  function matchesArg (name) {
    return self.args.length === 0 || self.args.indexOf(name) !== -1
  }
  function nameObj (name) {
    return {name: name}
  }
  var toPrune = this.idealTree.children.filter(shouldPrune).map(getModuleName).filter(matchesArg).map(nameObj)

  steps.push(
    [removeDeps, toPrune, this.idealTree, null],
    [loadExtraneous, this.idealTree, cg.newGroup('loadExtraneous')])
  chain(steps, cb)
}

Pruner.prototype.runPreinstallTopLevelLifecycles = function (cb) { cb() }
Pruner.prototype.runPostinstallTopLevelLifecycles = function (cb) { cb() }

Directory Contents

Dirs: 6 × Files: 60

Name Size Perms Modified Actions
auth DIR
- drwxr-xr-x 2024-03-03 22:42:04
Edit Download
config DIR
- drwxr-xr-x 2024-03-03 22:42:04
Edit Download
doctor DIR
- drwxr-xr-x 2024-03-03 22:42:04
Edit Download
install DIR
- drwxr-xr-x 2024-03-03 22:42:04
Edit Download
search DIR
- drwxr-xr-x 2024-03-03 22:42:04
Edit Download
utils DIR
- drwxr-xr-x 2024-03-03 22:42:04
Edit Download
3.23 KB lrw-r--r-- 2021-09-28 11:28:10
Edit Download
1.28 KB lrw-r--r-- 2021-09-28 11:28:10
Edit Download
515 B lrw-r--r-- 2021-09-28 11:28:10
Edit Download
879 B lrw-r--r-- 2021-09-28 11:28:10
Edit Download
4.45 KB lrw-r--r-- 2021-09-28 11:28:10
Edit Download
4.43 KB lrw-r--r-- 2021-09-28 11:28:10
Edit Download
7.06 KB lrw-r--r-- 2021-09-28 11:28:10
Edit Download
7.22 KB lrw-r--r-- 2021-09-28 11:28:10
Edit Download
4.83 KB lrw-r--r-- 2021-09-28 11:28:09
Edit Download
1.41 KB lrw-r--r-- 2021-09-28 11:28:10
Edit Download
3.67 KB lrw-r--r-- 2021-09-28 11:28:09
Edit Download
1.05 KB lrw-r--r-- 2021-09-28 11:28:10
Edit Download
3.97 KB lrw-r--r-- 2021-09-28 11:28:09
Edit Download
985 B lrw-r--r-- 2021-09-28 11:28:10
Edit Download
1.63 KB lrw-r--r-- 2021-09-28 11:28:09
Edit Download
3.80 KB lrw-r--r-- 2021-09-28 11:28:10
Edit Download
1.77 KB lrw-r--r-- 2021-09-28 11:28:10
Edit Download
235 B lrw-r--r-- 2021-09-28 11:28:10
Edit Download
5.65 KB lrw-r--r-- 2021-09-28 11:28:10
Edit Download
6.32 KB lrw-r--r-- 2021-09-28 11:28:09
Edit Download
1.26 KB lrw-r--r-- 2021-09-28 11:28:10
Edit Download
507 B lrw-r--r-- 2021-09-28 11:28:09
Edit Download
32.16 KB lrw-r--r-- 2021-09-28 11:28:10
Edit Download
5.56 KB lrw-r--r-- 2021-09-28 11:28:09
Edit Download
1.10 KB lrw-r--r-- 2021-09-28 11:28:10
Edit Download
15.83 KB lrw-r--r-- 2021-09-28 11:28:10
Edit Download
13.30 KB lrw-r--r-- 2021-09-28 11:28:09
Edit Download
12.15 KB lrw-r--r-- 2021-09-28 11:28:10
Edit Download
7.55 KB lrw-r--r-- 2021-09-28 11:28:09
Edit Download
7.21 KB lrw-r--r-- 2021-09-28 11:28:10
Edit Download
688 B lrw-r--r-- 2021-09-28 11:28:10
Edit Download
330 B lrw-r--r-- 2021-09-28 11:28:10
Edit Download
10.61 KB lrw-r--r-- 2021-09-28 11:28:10
Edit Download
2.14 KB lrw-r--r-- 2021-09-28 11:28:10
Edit Download
6.10 KB lrw-r--r-- 2021-09-28 11:28:10
Edit Download
2.09 KB lrw-r--r-- 2021-09-28 11:28:09
Edit Download
1.45 KB lrw-r--r-- 2021-09-28 11:28:09
Edit Download
64 B lrw-r--r-- 2021-09-28 11:28:10
Edit Download
316 B lrw-r--r-- 2021-09-28 11:28:10
Edit Download
5.18 KB lrw-r--r-- 2021-09-28 11:28:10
Edit Download
3.15 KB lrw-r--r-- 2021-09-28 11:28:10
Edit Download
276 B lrw-r--r-- 2021-09-28 11:28:09
Edit Download
7.76 KB lrw-r--r-- 2021-09-28 11:28:10
Edit Download
1.17 KB lrw-r--r-- 2021-09-28 11:28:10
Edit Download
1.10 KB lrw-r--r-- 2021-09-28 11:28:10
Edit Download
62 B lrw-r--r-- 2021-09-28 11:28:10
Edit Download
61 B lrw-r--r-- 2021-09-28 11:28:10
Edit Download
509 B lrw-r--r-- 2021-09-28 11:28:09
Edit Download
1.41 KB lrw-r--r-- 2021-09-28 11:28:11
Edit Download
324 B lrw-r--r-- 2021-09-28 11:28:09
Edit Download
6.20 KB lrw-r--r-- 2021-09-28 11:28:09
Edit Download
4.11 KB lrw-r--r-- 2021-09-28 11:28:10
Edit Download
2.22 KB lrw-r--r-- 2021-09-28 11:28:11
Edit Download
3.55 KB lrw-r--r-- 2021-09-28 11:28:10
Edit Download
2.18 KB lrw-r--r-- 2021-09-28 11:28:11
Edit Download
9.10 KB lrw-r--r-- 2021-09-28 11:28:10
Edit Download
9.26 KB lrw-r--r-- 2021-09-28 11:28:09
Edit Download
4.01 KB lrw-r--r-- 2021-09-28 11:28:10
Edit Download
1.42 KB lrw-r--r-- 2021-09-28 11:28:10
Edit Download
1.57 KB lrw-r--r-- 2021-09-28 11:28:10
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).