Skip to content
Gulp plugin that acts like a buffer, but a bit differently
Find file
New pull request
Fetching latest commit...
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


Gulp plugin that acts like a buffer, but a bit differently:

gulp-aggregate is a Through stream with a twist. Every time the stream receives a file, it will keep it in an in-memory buffer along with the files received in the past, keeping one copy per file path. It then writes the full batch of files into a new stream (which is passed to a callback function) and emits the end event on that stream.

This behaviour allows you to use continuous streams (that never emit the end event, like gulp-watch) and make them play well with other gulp plugins that expect the source stream to end (like gulp-concat and gulp-inject).


watch = require('gulp-watch');
aggregate = require('gulp-aggregate');

// concat requires 'end' event in order to concat all the files
concat = require('gulp-concat');

fileStreamWithNoEndEvent = watch({glob: 'watchedScripts/*.js'})
.pipe(aggregate({debounce: 10}, function(fileStreamWithEndEvent) {
    return fileStreamWithEndEvent

The default debounce time is 50ms. After debounce milliseconds without receiving data, the callback function will get called with the new aggregated stream.

Something went wrong with that request. Please try again.