Package Exports
- recursive-readdir
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (recursive-readdir) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
recursive-readdir
Recursively list all files in a directory and its subdirectories. It does not list the 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.
Installation
npm install recursive-readdir
Usage
var recursive = require("recursive-readdir");
recursive("some/path", function (err, files) {
// `files` is an array of file paths
console.log(files);
});
It can also take a list of files to ignore.
var recursive = require("recursive-readdir");
// ignore files named "foo.cs" or files that end in ".html".
recursive("some/path", ["foo.cs", "*.html"], function (err, files) {
console.log(files);
});
You can also pass functions which are called to determine whether or not to ignore a file:
var recursive = require("recursive-readdir");
function ignoreFunc(file, stats) {
// `file` is the path to the file, and `stats` is an `fs.Stats`
// object returned from `fs.lstat()`.
return stats.isDirectory() && path.basename(file) == "test";
}
// Ignore files named "foo.cs" and descendants of directories named test
recursive("some/path", ["foo.cs", ignoreFunc], function (err, files) {
console.log(files);
});
Promises
You can omit the callback and return a promise instead.
readdir("some/path").then(
function(files) {
console.log("files are", files);
},
function(error) {
console.error("something exploded", error);
}
);
The ignore strings support Glob syntax via minimatch.