Simple file/directory watcher library with a simple API.


miniwatch('my-dir', function(errorfiles) {

With miniwatch you can watch a directory for file changes using the well-known (error, result) callback pattern. The events are throttled, so you can optimize your event handling for a bunch of simultaneous file changes. All the initial files, currently in the watched directory, are also reported as created. So you don't have to glob yourself.

More verbose example:

  directory: __dirname + '/site',
  include: '**/*.js',
  exclude: '**/*.bundle.js'
}, function(errorfiles) {
  if (error) {
    console.error('Error:', error.stack || error);
  if (files.deleted) {
    files.deleted.forEach(function(file) {
  if (files.updated) {
    files.updated.forEach(function(file) {
  if (files.created) {
    files.created.forEach(function(file) {


  • miniwatch(options, callback) with the following options:
    • directory: string, the directory path you want to watch for changes
    • include: string, glob pattern of files to include (default all)
    • exclude: string, glob pattern of files to exclude (default none)
  • miniwatch(directory, callback), shorthand if you want to watch all files


npm install miniwatch