# All files / lib prune.js

100% Statements 15/15
100% Branches 0/0
100% Functions 3/3
100% Lines 13/13

Press n or j to go to the next uncovered block, b, p or k for the previous block.

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    1x
    1x
    1x

    1x

    1x

    1x

    1x

    1x
    1x
    1x

    1x
    1x

    1x
     // prune extraneous packages
    const npm = require('./npm.js')
    const Arborist = require('@npmcli/arborist')
    const usageUtil = require('./utils/usage.js')

    const reifyOutput = require('./utils/reify-output.js')

    const usage = usageUtil('prune',
      'npm prune [[<@scope>/]<pkg>...] [--production]'
    )
    const completion = require('./utils/completion/none.js')

    const cmd = (args, cb) => prune().then(() => cb()).catch(cb)

    const prune = async () => {
      const where = npm.prefix
      const arb = new Arborist({
        ...npm.flatOptions,
        path: where
      })
      await arb.prune()
      reifyOutput(arb)
    }

    module.exports = Object.assign(cmd, { usage, completion })