vigil
Version:
Simple, efficient file watching.
45 lines (39 loc) • 1.11 kB
JavaScript
// Generated by CoffeeScript 1.11.1
var fs, parseArgs, path;
fs = require('fs');
path = require('path');
parseArgs = require('./utils').parseArgs;
module.exports = parseArgs(function(basePath, opts, cb) {
var excluded, relative, walk;
relative = opts.relative, excluded = opts.excluded;
walk = function(dir) {
return fs.readdir(dir, function(err, files) {
var filename, i, len, results;
if (files == null) {
return;
}
results = [];
for (i = 0, len = files.length; i < len; i++) {
filename = files[i];
results.push((function(filename) {
filename = path.join(dir, filename);
if (excluded(filename)) {
return;
}
return fs.stat(filename, function(err, stats) {
if (stats == null) {
return;
}
cb(filename, stats);
if (stats.isDirectory()) {
return walk(filename);
}
});
})(filename));
}
return results;
});
};
return walk(basePath);
});
//# sourceMappingURL=walk.js.map