Easiest way to tap into a pipeline


Easily tap into a pipeline.

Some filters like gulp-coffee process all files. What if you want to process all JS and Coffee files in a single pipeline. Use tap to filter out .coffee files and process them through the coffee filter and let JavaScript files pass through.

    .pipe(tap(function(filet) {
        if (path.extname(file.path) === '.coffee') {
            return t.through(coffee, []);

What if you want to change content like add a header? No need for a separate filter, just change the content.

tap(function(file) {
    file.contents = Buffer.concat([
        new Buffer('HEADER'),

If you do not return a stream, tap forwards your changes.

The MIT License (MIT)