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

link-bins.js « lib « bin-links « node_modules - github.com/npm/cli.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 6a1086b92b26498f6d9f65786430e33ab6385184 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
const isWindows = require('./is-windows.js')
const binTarget = require('./bin-target.js')
const { dirname, resolve, relative } = require('path')
const linkBin = isWindows ? require('./shim-bin.js') : require('./link-bin.js')
const normalize = require('npm-normalize-package-bin')

const linkBins = ({path, pkg, top, force}) => {
  pkg = normalize(pkg)
  if (!pkg.bin)
    return Promise.resolve([])
  const promises = []
  const target = binTarget({path, top})
  for (const [key, val] of Object.entries(pkg.bin)) {
    const to = resolve(target, key)
    const absFrom = resolve(path, val)
    const from = relative(dirname(to), absFrom)
    promises.push(linkBin({path, from, to, absFrom, force}))
  }
  return Promise.all(promises)
}

module.exports = linkBins