File: arborist-cmd.js

package info (click to toggle)
npm 9.2.0~ds1-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 318,988 kB
  • sloc: javascript: 167,820; sh: 194; makefile: 52; perl: 11
file content (40 lines) | stat: -rw-r--r-- 1,058 bytes parent folder | download | duplicates (2)
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
const log = require('./utils/log-shim.js')

// This is the base for all commands whose execWorkspaces just gets
// a list of workspace names and passes it on to new Arborist() to
// be able to run a filtered Arborist.reify() at some point.

const BaseCommand = require('./base-command.js')
class ArboristCmd extends BaseCommand {
  get isArboristCmd () {
    return true
  }

  static params = [
    'workspace',
    'workspaces',
    'include-workspace-root',
    'install-links',
  ]

  static ignoreImplicitWorkspace = false

  constructor (npm) {
    super(npm)
    if (this.npm.config.isDefault('audit')
      && (this.npm.global || this.npm.config.get('location') !== 'project')
    ) {
      this.npm.config.set('audit', false)
    } else if (this.npm.global && this.npm.config.get('audit')) {
      log.warn('config',
        'includes both --global and --audit, which is currently unsupported.')
    }
  }

  async execWorkspaces (args, filters) {
    await this.setWorkspaces(filters)
    return this.exec(args)
  }
}

module.exports = ArboristCmd