node/deps/npm/node_modules/@npmcli/config/lib/env-replace.js
npm-robot 69ffb3e77f
deps: upgrade npm to 8.5.0
PR-URL: https://github.com/nodejs/node/pull/41925
Reviewed-By: Derek Lewis <DerekNonGeneric@inf.is>
Reviewed-By: Mohammed Keyvanzadeh <mohammadkeyvanzade94@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Mestery <mestery@protonmail.com>
2022-02-11 09:51:11 +00:00

15 lines
407 B
JavaScript

// 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
})