Skip to content

triggercode/gulp-string-replace

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

47 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

gulp-string-replace NPM version Build status dependencies

Replaces strings in files by using string or regex patterns. Works with Gulp 3!

Usage

npm install gulp-string-replace --save-dev

Regex Replace

var replace = require('gulp-string-replace');

gulp.task('replace_1', function() {
  gulp.src(["./config.js"]) // Any file globs are supported
    .pipe(replace(new RegExp('@env@', 'g'), 'production'))
    .pipe(gulp.dest('./build/config.js'))
});

gulp.task('replace_2', function() {
  gulp.src(["./index.html"])
    .pipe(replace(/version(={1})/g, '$1v0.2.2'))
    .pipe(gulp.dest('./build/index.html'))
});

gulp.task('replace_3', function() {
  gulp.src(["./config.js"])
    .pipe(replace(/foo/g, function () {
        return 'bar';
    }))
    .pipe(gulp.dest('./build/config.js'))
});

String Replace

gulp.task('replace_1', function() {
  gulp.src(["./config.js"])
    .pipe(replace('environment', 'production'))
    .pipe(gulp.dest('./build/config.js'))
});

Function Replace

gulp.task('replace_1', function() {
  gulp.src(["./config.js"])
    .pipe(replace('environment', function () {
        return 'production';
    }))
    .pipe(gulp.dest('./build/config.js'))
});

gulp.task('replace_2', function() {
  gulp.src(["./config.js"])
    .pipe(replace('environment', function (replacement) {
        return replacement + '_mocked';
    }))
    .pipe(gulp.dest('./build/config.js'))
});

Exampe with options object

var options = {
  logs: {
    enabled: false
  }
};

gulp.task('replace_1', function() {
  gulp.src(["./config.js"])
    .pipe(replace('environment', 'dev', options)
    .pipe(gulp.dest('./build/config.js'))
});
var options = {
  searchValue: 'string'
};

gulp.task('replace_1', function() {
  gulp.src(["./config.js"])
    .pipe(replace('(some value here /* ignore by sth */)(', 'dev', options)
    .pipe(gulp.dest('./build/config.js'))
});

API

replace(pattern, replacement, options)

pattern

Type: String or RegExp

The string to search for.

replacement

Type: String or Function

The replacement string or function. Called once for each match. Function has access to regex outcome (all arguments are passed).

options

Type: Object

options.searchValue

Type: string, Default: regex, Options: regex or string Description: Used to determine if search value is regex or string.

options.logs.enabled

Type: Boolean, Default: true

Displaying logs.

options.logs.notReplaced

Type: Boolean, Default: false

Displaying "not replaced" logs.

More details here: MDN documentation for RegExp and MDN documentation for String.replace.

Release History

  • 2018-07-13 v1.1.1 Moved gulp into devDependencies.
  • 2018-05-24 v1.1.0 Added support for node 8+ by replacing buffer with buffer.from. Added searchValue option. Updated dependencies.
  • 2017-12-31 v1.0.0 Removed a gulp-util, clean up and released v1.0.0
  • 2017-11-19 v0.4.0 Passed entire regex outcome to replace function.
  • 2017-01-04 v0.3.1 Improved documentation. Removed duplicated comments & Fixed typo.
  • 2016-11-30 v0.3.0 Default value for "notReplaced" set to "false".
  • 2016-09-24 v0.2.0 Added options object.
  • 2016-09-09 v0.1.1 Reorganization of files along with minor cosmetic changes.
  • 2016-03-09 v0.1.0 Initial version of plugin.

Task submitted by Tomasz Czechowski. License MIT.

About

Replaces strings on files by using string or regex patterns.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 100.0%