esbuild-plugin-replace v1.4.0
esbuild-plugin-replace
š A Esbuild plugin which replaces targeted strings in files while bundling
This package is based on @rollup/plugin-replace
Install
using npm:
npm install esbuild-plugin-replace --save-devusing yarn:
yarn add esbuild-plugin-replace -DUsage
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.
include
Type: RegExp
default: /.*/
Filters files that do not match RegExp expressions. By default all files are matched.
exclude
Type: RegExp
default: null
Filters 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.
values
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:
replace({
include: /\.js$/,
changed: "replaced"
});Can be replaced with:
replace({
include: /\.js$/,
values: {
changed: "replaced"
}
});delimiters
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.