gulp-subset-process
v0.1.0
Published
Process a subset of the stream and put the result into place
Downloads
244
Readme
gulp-subset-process
Process a subset of the stream and put the result into place. When order matters.
Install
npm install gulp-subset-process --save-dev
Description
Say, you need to do something with a subset of the stream and you need to put the result into place of first occurrence of a file of your subset in the stream (or last occurrence, or leave all occurrences in the same places). That's what this plugin do.
Examples
var subsetProcess = require('gulp-subset-process');
gulp.task('some-task', function() {
return gulp.src(['file1.js', 'file2.txt', 'file3.css', 'file4.txt', 'file5.png'])
.pipe(subsetProcess('**/*.txt', function(src) { return src; }));
// We did nothing with a subset, resulting stream is:
// ['file1.js', 'file2.txt', 'file4.txt', 'file3.css', 'file5.png']
});
gulp.task('some-task2', function() {
return gulp.src(['file1.js', 'file2.txt', 'file3.css', 'file4.txt', 'file5.png'])
.pipe(subsetProcess(
'**/*.txt',
function(src) { return src; },
{occurrence: 'last'} // Insert the result after last occurrence of `**/*.txt` in the stream.
));
// ['file1.js', 'file3.css', 'file2.txt', 'file4.txt', 'file5.png']
});
gulp.task('some-task3', function() {
return gulp.src(['file1.js', 'file2.txt', 'file3.css', 'file4.txt', 'file5.png'])
.pipe(subsetProcess('**/*.txt', function(src) { return src.pipe(concat('all.txt')); }));
// ['file1.js', 'all.txt', 'file3.css', 'file5.png']
});
gulp.task('some-task4', function() {
return gulp.src(['file1.js', 'file2.txt', 'file3.css', 'file4.txt', 'file5.png'])
.pipe(subsetProcess(
'**/*.txt',
function(src) { return src.pipe(template({env: 'piu'})); },
{occurrence: 'keep'} // Keep positions in the stream.
));
// ['file1.js', 'file2.txt', 'file3.css', 'file4.txt', 'file5.png']
});
API
subsetProcess(pattern, subtask, options)
Returns processed stream.
pattern
(String
or Array
)
Accepts a string/array with globbing patterns which are run through multimatch.
subtask
(Function
)
Callback, first argument is a stream with a subset of initial stream matching
pattern
.
options
(Object
)
Accepts minimatch options and
occurrence
option with 'first'
(default), 'last'
and 'keep'
values to
insert the result in place of first occurrence of a file of your subset, in
place of last occurrence or keep all occurrences.