A simple Node module for recursively listing all files in a directory, or in any subdirectories.
It does not list directories themselves.
Because it uses fs.readdir, which calls readdir under the hood on OS X and Linux, the order of files inside directories is not guaranteed.
npm install recursive-readdir
varrecursive=require('recursive-readdir');recursive('some/path',function(err,files){// Files is an array of filenameconsole.log(files);});It can also take a list of files to ignore.
varrecursive=require('recursive-readdir');// ignore files named 'foo.cs' or files that end in '.html'.recursive('some/path',['foo.cs','*.html'],function(err,files){// Files is an array of filenameconsole.log(files);});You can also pass functions which are called to determine whether or not to ignore a file:
varrecursive=require('recursive-readdir');functionignoreFunc(file,stats){// `file` is the absolute path to the file, and `stats` is an `fs.Stats`// object returned from `fs.lstat()`.returnstats.isDirectory()&&path.basename(file)=="test";}// Ignore files named 'foo.cs' and descendants of directories named testrecursive('some/path',['foo.cs',ignoreFunc],function(err,files){// Files is an array of filenameconsole.log(files);});The ignore strings support Glob syntax via minimatch.