Welcome to mirror list, hosted at ThFree Co, Russian Federation.

license.js « bin « arborist « @npmcli « node_modules « npm « deps - github.com/nodejs/node.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 89d0d879036b0cd63d55e75ca28070f16ddab63d (plain)
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
const Arborist = require('../')
const options = require('./lib/options.js')
require('./lib/logging.js')
require('./lib/timers.js')

const a = new Arborist(options)
const query = options._.shift()

a.loadVirtual().then(tree => {
  // only load the actual tree if the virtual one doesn't have modern metadata
  if (!tree.meta || !(tree.meta.originalLockfileVersion >= 2))
    throw 'load actual'
  else
    return tree
}).catch((er) => {
  console.error('loading actual tree', er)
  return a.loadActual()
}).then(tree => {
  if (!query) {
    const set = []
    for (const license of tree.inventory.query('license'))
      set.push([tree.inventory.query('license', license).size, license])

    for (const [count, license] of set.sort((a, b) =>
      a[1] && b[1] ? b[0] - a[0] || a[1].localeCompare(b[1], 'en')
      : a[1] ? -1
      : b[1] ? 1
      : 0))
      console.log(count, license)
  } else {
    for (const node of tree.inventory.query('license', query === 'undefined' ? undefined : query))
      console.log(`${node.name} ${node.location} ${node.package.description || ''}`)
  }
})