Replace strings in files by using string or regex patterns.
npm install gulp-replace-stringYou'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.
shell
yarn add --dev gulp-replace-string
`$3
`shell
npm install --save-dev gulp-replace-string
`Usage
$3
`javascript
var 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'))
});
`$3
`javascript
gulp.task('replace_1', () => {
gulp.src(["./config.js"])
.pipe(replace('@env@', 'production'))
.pipe(gulp.dest('./build/config.js'))
});
`$3
`javascript
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'))
});
`$3
`javascript
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'))
});
`$3
`javascript
gulp.task('lint-js', () => {
gulp.src(["./config.js"])
.pipe(replace([/(if|for|switch|while)\(/g, '$1 (')
.pipe(gulp.dest('./build/config.js'));
});
`API
$3
#### options
Type:
Object##### options.pattern
Type:
String or RegExpThe string to search for.
##### options.replacement
Type:
String or FunctionThe 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].
##### options.logs
Type:
Boolean or ObjectOutput logs.
true is the same as:
`javascript
logs: {
enabled: true,
notReplaced: false,
}
`##### options.logs.enabled
Type:
Boolean, Default: trueOutput logs.
##### options.logs.notReplaced
Type:
Boolean, Default: falseOutput "not replaced" logs.
$3
#### pattern
Type:
String or RegExpThe string to search for.
#### replacement
Type:
String or FunctionThe replacement string or function. Called once for each match.
Function has access to regex outcome (all arguments are passed).
#### options
Type:
ObjectSame as above, but without properties
pattern or replacement`