readdir-on-steroids
v1.1.1 fs readdir recursive directory filter
readdir-on-steroids
Recursively read the contents of a directory.
Installation
npm install readdir-on-steroids
Usage
import readdir from "readdir-on-steroids";
const directory = process.argv[3] || ".";
// only list files
function listFilter(path, stats) {
return stats.isFile();
}
// don't traverse the .git, lib, node_modules or .vscode directories
function walkFilter(path, stats) {
return (
!/\.git$/.test(path) &&
!/lib/.test(path) &&
!/node_modules/.test(path) &&
!/\.vscode/.test(path)
);
}
readdir(directory, { listFilter, walkFilter }).then(
paths => console.log(paths.join("\n")),
error => console.error(error)
);
Output:
.gitignore
README.md
examples/index.ts
package.json
src/__mocks__/fs.ts
src/index.test.ts
src/index.ts
yarn.lock
API
readdir(directory: string, options?: Options): Promise<string[]>
Parameter | Type | Required | Default | Description |
---|---|---|---|---|
directory |
string |
✓ | The directory to read. | |
options |
Options |
{} |
The options. |
Options
Parameter | Type | Required | Default | Description |
---|---|---|---|---|
concurrency |
number |
4 | The maximum number of concurrent calls to readdir . |
|
listFilter |
(path: string, stats: Stats) => boolean |
A function filtering the paths that will be returned. | ||
walkFilter |
(path: string, stats: Stats) => boolean |
A function filtering the paths that will be walked. |
Stats
Parameter | Type | Required | Default | Description |
---|---|---|---|---|
root |
string |
✓ | The root directory being read. | |
depth |
number |
✓ | The relative depth from the root directory. |