UNPKG

gulp-tag-content-replace

Version:

A gulp plugin to replace areas in text files, like comments and the code between them in js.

89 lines (63 loc) 2.46 kB
# gulp-tag-content-replace > A string or tag based area-replace plugin for gulp A gulp plugin to replace areas in text files, like comments and the code between them in js. If a tag is defined to be replaced, every PAIRED occurence of this tag and the content (even multiple lines) within will be replaced with a given string. To use a start and an end tag is even possible. In detail: The regex `/startTag(?:(?!endTag").)*(.|\\n|\\r)*?endTag/gm` is used to replace and given tags get escaped properly. ## Usage First, install `gulp-tag-content-replace` as a development dependency: ```shell npm install --save-dev gulp-tag-content-replace ``` Then, add it to your `gulpfile.js`: ### Replace with equal tag ```javascript var replace = require('gulp-replace'); gulp.task('templates', function(){ gulp.src(['updates.txt']) .pipe(replace("/*today*/", '+' + new Date().toString())) //transforms every /*today*/ -> "day month Date year...." .pipe(gulp.dest('./build/')); }); ``` ### Define start and end tags ```javascript var replace = require('gulp-tag-content-replace'); gulp.task('templates', function(){ gulp.src(['Code.java']) .pipe(replace("//use", "//less", "System.gc();")) //transforms every //use whateverXYZ //less -> System.gc(); .pipe(replace("//", "Author", "Linus McTux, Sr.")) //transforms every "//Author" -> "Linus McTux, Sr." .pipe(gulp.dest('./build/')); }); ``` ### Delete Content ```javascript var replace = require('gulp-tag-content-replace'); gulp.task('templates', function(){ gulp.src(['app.js']) .pipe(replace("/*dev*/", "")) // deletes occurence of /*dev*/ whateverXYZ /*dev*/ .pipe(replace("//debug", "//debug_end", "")) // deletes occurence of //debug whateverXYZ //debug_end .pipe(replace("<!--", "-->", "")) .pipe(gulp.dest('./build/')); }); ``` ## API gulp-tag-content-replace can be called with two or three string arguments [replacements from file planned] ### replace(tag, replacement) #### tag Type: `String` The tags to search for. #### replacement Type: `String` The replacement string. ### replace(start-tag, end-tag, replacement) #### start-tag Type: `String` The start tag to search for. #### end-tag Type: `String` The end tag to search for. #### replacement Type: `String` The replacement string. ## Test Mocha gets used for test cases: `npm test` ## License MIT