Replace strings in files while bundling
npm install esbuild-plugin-replace> This package is based on @rollup/plugin-replace
using npm:
``console`
npm install esbuild-plugin-replace --save-dev`
using yarn:console`
yarn add esbuild-plugin-replace -D
js
const { build } = require('esbuild');
const { replace } = require('esbuild-plugin-replace');
build({
// other build options
plugins: [
replace({
'__buildVersion': '"1.0.0"',
'__author__': 'naecoo'
})
]
});
`The configuration above will replace every instance of
__buildVersion with "1.0.0" and __author with 'naecoo'Note: Values must be either primitives (e.g. string, number) or
function that returns a string. For complex values, use JSON.stringify. To replace a target with a value that will be evaluated as a string, set the value to a quoted string (e.g. "test") or use JSON.stringify to preprocess the target string safely.Options
In addition to the properties and values specified for replacement, users may also specify the options below.
$3
Type: RegExpdefault:
/.*/Filters files that do not match RegExp expressions. By default all files are matched.
$3
Type: RegExpdefault:
nullFilters files that do match the
exclude RegExp expressions. When include and exclude are set at the same time, include is used first, and exclude doesn't work.
$3
Type: { [key: String]: Replacement }, where Replacement is either a string or a function that returns a string.Default:
{}To avoid mixing replacement strings with the other options, you can specify replacements in the
values option. For example, the following signature:`javascript
replace({
include: /\.js$/,
changed: "replaced"
});
`Can be replaced with:
`javascript
replace({
include: /\.js$/,
values: {
changed: "replaced"
}
});
`
$3
Type: Array[String, String]Default:
['\b', '\b']`Specifies the boundaries around which strings will be replaced. By default, delimiters are word boundaries. See Word Boundaries below for more information.