findit
Recursively walk directory trees. Think /usr/bin/find.
example time!
callback style
require('findit').find(__dirname, function (file) {
console.log(file);
})
emitter style
var finder = require('findit').find(__dirname);
finder.on('directory', function (dir) {
console.log(dir + '/');
});
finder.on('file', function (file) {
console.log(file);
});
synchronous
var files = require('findit').sync(__dirname);
console.dir(files);
methods
find(basedir)
find(basedir, cb)
Do an asynchronous recursive walk starting at basedir.
Optionally supply a callback that will get the same arguments as the path event
documented below in "events".
If basedir is actually a non-directory regular file, findit emits a single
"file" event for it then emits "end".
Findit uses fs.stat() so symlinks are traversed automatically. Findit won't
traverse an inode that it has seen before so directories can have symlink cycles
and findit won't blow up.
Returns an EventEmitter. See "events".
sync(basedir, cb)
Return an array of files and directories from a synchronous recursive walk
starting at basedir.
An optional callback cb will get called with cb(file, stat) if specified.
events
file: [ file, stat ]
Emitted for just files which are not directories.
directory : [ directory, stat ]
Emitted for directories.
path : [ file, stat ]
Emitted for both files and directories.
end
Emitted when the recursive walk is done.