Skip to content

Instantly share code, notes, and snippets.

@c4milo
Created September 29, 2010 20:18
Show Gist options
  • Save c4milo/603459 to your computer and use it in GitHub Desktop.
Save c4milo/603459 to your computer and use it in GitHub Desktop.
var files = [];
var wf_rlevel = 0;
util.walkfiles = function(_path, filter) {
if(fs.statSync(_path).isFile()) {
throw new Error(_path + ' is a file. You should provide a directory path');
}
if(!filter) {
filter = '.*';
}
var filenames = fs.readdirSync(_path);
var basedir = _path;
for(var name in filenames) {
var file = basedir + '/' + filenames[name];
if(fs.statSync(file).isDirectory()) {
wf_rlevel++;
util.walkfiles(file, filter);
wf_rlevel--;
}
if(file.match(filter)) {
files.push(file);
}
}
if(wf_rlevel === 0) {
return files;
}
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment