Replaces strings in files by using string or regex patterns.
You'll actually want to instead use @yodasws/gulp-pattern-replace (npm). It provides extra flexability and smaller dependency tree.
Forked this off gulp-string-replace because I wanted to be able to pass all the arguments/options in a single options object argument.
yarn add --dev gulp-replace-stringnpm install --save-dev gulp-replace-stringvar replace = require('gulp-replace-string');
gulp.task('replace_1', () => {
gulp.src(["./config.js"])
.pipe(replace(new RegExp('@env@', 'g'), 'production'))
.pipe(gulp.dest('./build/config.js'))
});
gulp.task('replace_2', () => {
gulp.src(["./index.html"])
.pipe(replace(/version(={1})/g, '$1v0.2.2'))
.pipe(gulp.dest('./build/index.html'))
});
gulp.task('replace_3', () => {
gulp.src(["./config.js"])
.pipe(replace(/foo/g, () => 'bar'))
.pipe(gulp.dest('./build/config.js'))
});gulp.task('replace_1', () => {
gulp.src(["./config.js"])
.pipe(replace('@env@', 'production'))
.pipe(gulp.dest('./build/config.js'))
});gulp.task('replace_1', () => {
gulp.src(["./config.js"])
.pipe(replace('@env@', () => {
return argv.env === 'dev' ? 'dev' : 'production';
}))
.pipe(gulp.dest('./build/config.js'))
});
gulp.task('replace_2', () => {
gulp.src(["./config.js"])
.pipe(replace('environment', (pattern) => {
return pattern + '_mocked';
}))
.pipe(gulp.dest('./build/config.js'))
});var options = {
pattern: /@env@/g
replacement: 'dev',
logs: {
enabled: false
}
};
gulp.task('replace_1', () => {
gulp.src(["./config.js"])
.pipe(replace(options)
.pipe(gulp.dest('./build/config.js'))
});gulp.task('lint-js', () => {
gulp.src(["./config.js"])
.pipe(replace([/(if|for|switch|while)\(/g, '$1 (')
.pipe(gulp.dest('./build/config.js'));
});Type: Object
Type: String or RegExp
The string to search for.
Type: String or Function
The replacement string or function. Called once for each match. Function has access to regex outcome (all arguments are passed).
More details here: [MDN documentation for RegExp] and [MDN documentation for String.replace].
Type: Boolean or Object
Output logs.
true is the same as:
logs: {
enabled: true,
notReplaced: false,
}Type: Boolean, Default: true
Output logs.
Type: Boolean, Default: false
Output "not replaced" logs.
Type: String or RegExp
The string to search for.
Type: String or Function
The replacement string or function. Called once for each match. Function has access to regex outcome (all arguments are passed).
Type: Object
Same as above, but without properties pattern or replacement