mirror of
https://github.com/nodejs/node.git
synced 2025-05-15 22:04:26 +00:00

PR-URL: https://github.com/nodejs/node/pull/42122 Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Mestery <mestery@protonmail.com> Reviewed-By: Danielle Adams <adamzdanielle@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Tobias Nießen <tniessen@tnie.de>
15 lines
416 B
JavaScript
15 lines
416 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
|
|
})
|