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

env-replace.js « lib « config « @npmcli « node_modules - github.com/npm/cli.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: e0f7276b1ec2b4aa9bb8ca5024cb66a35e1b814f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
// replace any ${ENV} values with the appropriate environ.

const envExpr = /(?<!\\)(\\*)\$\{([^${}]+)\}/g

module.exports = (f, env) => f.replace(envExpr, (orig, esc, name) => {
  const val = env[name] !== undefined ? env[name] : `$\{${name}}`

  // consume the escape chars that are relevant.
  if (esc.length % 2) {
    return orig.substr((esc.length + 1) / 2)
  }

  return (esc.substr(esc.length / 2)) + val
})