PHP 8.2.30
Preview: prune.js Size: 2.23 KB
//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)
  this.autoPrune = true
}
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() }
Pruner.prototype.saveToDependencies = function (cb) { cb() }

Directory Contents

Dirs: 6 × Files: 66

Name Size Perms Modified Actions
auth DIR
- drwxr-xr-x 2024-03-03 22:36:29
Edit Download
config DIR
- drwxr-xr-x 2024-03-03 22:36:29
Edit Download
doctor DIR
- drwxr-xr-x 2024-03-03 22:36:29
Edit Download
install DIR
- drwxr-xr-x 2024-03-03 22:36:29
Edit Download
search DIR
- drwxr-xr-x 2024-03-03 22:36:29
Edit Download
utils DIR
- drwxr-xr-x 2024-03-03 22:36:29
Edit Download
5.54 KB lrw-r--r-- 2021-03-10 14:36:36
Edit Download
1.31 KB lrw-r--r-- 2021-03-10 14:36:36
Edit Download
10.56 KB lrw-r--r-- 2021-03-10 14:36:36
Edit Download
515 B lrw-r--r-- 2021-03-10 14:36:36
Edit Download
864 B lrw-r--r-- 2021-03-10 14:36:35
Edit Download
4.44 KB lrw-r--r-- 2021-03-10 14:36:36
Edit Download
4.66 KB lrw-r--r-- 2021-03-10 14:36:36
Edit Download
1.31 KB lrw-r--r-- 2021-03-10 14:36:36
Edit Download
7.11 KB lrw-r--r-- 2021-03-10 14:36:36
Edit Download
7.43 KB lrw-r--r-- 2021-03-10 14:36:36
Edit Download
4.88 KB lrw-r--r-- 2021-03-10 14:36:35
Edit Download
2.11 KB lrw-r--r-- 2021-03-10 14:36:35
Edit Download
4.11 KB lrw-r--r-- 2021-03-10 14:36:36
Edit Download
1.04 KB lrw-r--r-- 2021-03-10 14:36:36
Edit Download
3.98 KB lrw-r--r-- 2021-03-10 14:36:35
Edit Download
1.37 KB lrw-r--r-- 2021-03-10 14:36:36
Edit Download
1.67 KB lrw-r--r-- 2021-03-10 14:36:36
Edit Download
3.97 KB lrw-r--r-- 2021-03-10 14:36:36
Edit Download
1.77 KB lrw-r--r-- 2021-03-10 14:36:36
Edit Download
4.91 KB lrw-r--r-- 2021-03-10 14:36:36
Edit Download
235 B lrw-r--r-- 2021-03-10 14:36:36
Edit Download
5.64 KB lrw-r--r-- 2021-03-10 14:36:36
Edit Download
6.35 KB lrw-r--r-- 2021-03-10 14:36:36
Edit Download
4.62 KB lrw-r--r-- 2021-03-10 14:36:35
Edit Download
2.74 KB lrw-r--r-- 2021-03-10 14:36:36
Edit Download
486 B lrw-r--r-- 2021-03-10 14:36:36
Edit Download
507 B lrw-r--r-- 2021-03-10 14:36:36
Edit Download
36.47 KB lrw-r--r-- 2021-03-10 14:36:36
Edit Download
5.60 KB lrw-r--r-- 2021-03-10 14:36:36
Edit Download
1.26 KB lrw-r--r-- 2021-03-10 14:36:36
Edit Download
16.09 KB lrw-r--r-- 2021-03-10 14:36:36
Edit Download
14.37 KB lrw-r--r-- 2021-03-10 14:36:36
Edit Download
4.18 KB lrw-r--r-- 2021-03-10 14:36:36
Edit Download
12.28 KB lrw-r--r-- 2021-03-10 14:36:35
Edit Download
6.60 KB lrw-r--r-- 2021-03-10 14:36:36
Edit Download
11.79 KB lrw-r--r-- 2021-03-10 14:36:36
Edit Download
1.11 KB lrw-r--r-- 2021-03-10 14:36:36
Edit Download
330 B lrw-r--r-- 2021-03-10 14:36:36
Edit Download
11.13 KB lrw-r--r-- 2021-03-10 14:36:36
Edit Download
2.23 KB lrw-r--r-- 2021-03-10 14:36:36
Edit Download
5.14 KB lrw-r--r-- 2021-03-10 14:36:36
Edit Download
2.09 KB lrw-r--r-- 2021-03-10 14:36:36
Edit Download
1.44 KB lrw-r--r-- 2021-03-10 14:36:35
Edit Download
64 B lrw-r--r-- 2021-03-10 14:36:36
Edit Download
320 B lrw-r--r-- 2021-03-10 14:36:35
Edit Download
5.41 KB lrw-r--r-- 2021-03-10 14:36:36
Edit Download
3.36 KB lrw-r--r-- 2021-03-10 14:36:36
Edit Download
276 B lrw-r--r-- 2021-03-10 14:36:36
Edit Download
9.82 KB lrw-r--r-- 2021-03-10 14:36:36
Edit Download
2.11 KB lrw-r--r-- 2021-03-10 14:36:36
Edit Download
1.03 KB lrw-r--r-- 2021-03-10 14:36:36
Edit Download
62 B lrw-r--r-- 2021-03-10 14:36:36
Edit Download
61 B lrw-r--r-- 2021-03-10 14:36:36
Edit Download
509 B lrw-r--r-- 2021-03-10 14:36:36
Edit Download
4.61 KB lrw-r--r-- 2021-03-10 14:36:36
Edit Download
374 B lrw-r--r-- 2021-03-10 14:36:36
Edit Download
6.66 KB lrw-r--r-- 2021-03-10 14:36:36
Edit Download
4.27 KB lrw-r--r-- 2021-03-10 14:36:36
Edit Download
2.21 KB lrw-r--r-- 2021-03-10 14:36:35
Edit Download
3.51 KB lrw-r--r-- 2021-03-10 14:36:36
Edit Download
2.16 KB lrw-r--r-- 2021-03-10 14:36:36
Edit Download
9.79 KB lrw-r--r-- 2021-03-10 14:36:36
Edit Download
15.11 KB lrw-r--r-- 2021-03-10 14:36:36
Edit Download
4.01 KB lrw-r--r-- 2021-03-10 14:36:35
Edit Download
1.77 KB lrw-r--r-- 2021-03-10 14:36:36
Edit Download
1.62 KB lrw-r--r-- 2021-03-10 14:36:35
Edit Download

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