lib/watch.js
function _recurseFolder(src) {
    // Ignore
    var relativeSrc = path.relative(process.cwd(), src);
    if(_isIgnored(relativeSrc)) return;

    // Process
    fs.readdir(src, function(err, files) {
      files.forEach(function(filename) {
        fs.stat(src+path.sep+filename, function(err, stat) {
          if(stat && stat.isDirectory()) {
            _recurseFolder(src+path.sep+filename);
          }
        });
      });
    });

    // Watch current folder
    _track(src);
  }
function _recurseFolder(src) {
    // Ignore
    var relativeSrc = path.relative(process.cwd(), src);
    if(_isIgnored(relativeSrc)) return;

    // Process
    fs.readdir(src, function(err, files) {
      files.forEach(function(filename) {
        fs.stat(src+path.sep+filename, function(err, stat) {
          if(stat && stat.isDirectory()) {
            _recurseFolder(src+path.sep+filename);
          }
        });
      });
    });

    // Watch current folder
    _track(src);
  }
function _recurseFolder ( src ) { // Ignore var relativeSrc = path . relative ( process . cwd ( ) , src ) ; if ( _isIgnored ( relativeSrc ) ) return ; // Process fs . readdir ( src , function ( err , files ) { files . forEach ( function ( filename ) { fs . stat ( src + path . sep + filename , function ( err , stat ) { if ( stat && stat . isDirectory ( ) ) { _recurseFolder ( src + path . sep + filename ) ; } } ) ; } ) ; } ) ; // Watch current folder _track ( src ) ; }
Internal method to watch folders recursively

@param  {String} src A path to start from
Internal method to watch folders recursively