Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

readdir-on-steroids

jameslnewell3.2kMIT1.1.2TypeScript support: included

Recursively read the contents of a directory.

fs, readdir, recursive, directory, filter

readme

readdir-on-steroids

CircleCI

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.