A gulp watcher with debouncing
Last updated 5 years ago by kingmotley .
MIT · Repository · Bugs · Original npm · Tarball · package.json
$ cnpm install gulp-debounced-watch 
SYNC missed versions from official npm registry.

gulp-debounced-watch NPM versionDependency Status

File watcher that uses super-fast chokidar and emits vinyl objects and debounces the files individually.


Run npm install --save-dev gulp-debounced-watch.


var gulp = require('gulp'),
    watch = require('gulp-debounced-watch');

gulp.task('stream', function () {
    return gulp.src('css/**/*.css')

gulp.task('callback', function (cb) {
    watch('css/**/*.css', function () {
            .on('end', cb);

gulp.task('callback2', function (cb) {
    watch('css/**/*.css', function(vinyl) {

Protip: until gulpjs 4.0 is released, you can use gulp-plumber to prevent stops on errors.


debouncedWatch(glob, [options, callback])

Creates a watcher that will spy on files that are matched by glob which can be a glob string or array of glob strings.

Returns a pass through stream that will emit vinyl files (with additional event property) that corresponds to event on file-system.

Callback function(vinyl)

This function is called when events happen on the file-system. All incoming files that are piped in are grouped and passed to the events stream as is.

  • vinyl — is vinyl object that corresponds to the file that caused the event. Additional event field is added to determine what caused changes.

Possible events:

  • add - file was added to watch or created
  • change - file was changed
  • unlink - file was deleted


This object is passed to the chokidar options directly. Options for gulp.src are also available. If you do not want content from watch, then add read: false to the options object.


Type: Boolean
Default: true

Indicates whether chokidar should ignore the initial add events or not.

Type: Array
Default: ['add', 'change', 'unlink']

List of events, that should be watched by gulp-watch. Contains event names from chokidar.


Type: String
Default: undefined

Use explicit base path for files from glob. Read more about base and cwd in gulpjs docs.

Type: String
Default: undefined

Name of the watcher. If it is present in options, you will get more readable output.


Type: Boolean
Default: false

This option will enable verbose output.


Type: Number
Default: 10

Wait for readDelay milliseconds before reading the file.


Type: Boolean Default: false

This option when set will issue a callback on the first event.


Type: Number Default: 1000

The number of milliseconds to debounce.


Returned Stream from constructor has some useful methods:

  • add(path / paths)
  • unwatch(path / paths)
  • close()


All events from chokidar:

  • add, change, unlink, addDir, unlinkDir, error, ready, raw


MIT (c) 2015 Robert McKee (

Current Tags

  • 1.0.4                                ...           latest (5 years ago)

4 Versions

  • 1.0.4                                ...           5 years ago
  • 1.0.3                                ...           5 years ago
  • 1.0.2                                ...           5 years ago
  • 1.0.1                                ...           5 years ago
Maintainers (1)
Today 0
This Week 1
This Month 1
Last Day 0
Last Week 0
Last Month 0
Dependencies (3)
Dev Dependencies (0)

Copyright 2014 - 2016 © |