Back to Explore

paulmillr/readdirp

GitHub
2 updates · last 90 days4 watchersOpen source

Last release:

readdirp is a Node.js utility that recursively reads a directory, similar to fs.readdir, but exposes a stream API and a promise API. It’s useful for efficiently iterating over files and subdirectories with a small RAM and CPU footprint, with options for filtering, recursion depth, and optional stat collection.

Project status

  • Actively maintained: The repository shows upstream activity and a recent sequence of package updates in August 2026 (last upstream push on 2026-08-06, with 5.1.1 and 5.1.0 the same day), indicating ongoing maintenance rather than dormancy.
  • Cadence: Updates appear high frequency recently, with 5.1.0 and 5.1.1 released minutes apart on 2026-08-06, following prior meaningful updates in late 2025 (for example, 5.0.0 on 2025-11-25).

AI summary generated

AI-generated from public sources. May be inaccurate. Report

Recent updates

  • 5.1.1

    Release 5.1.1 is presented as a major performance and memory improvement with a few stability fixes. However, the provided code diff shows no source code changes, only version metadata updates in package manifest and lockfile files.

  • 5.1.0

    Release 5.1.0 focuses on major performance gains and substantially lower memory usage when traversing large directory trees, along with a handful of stability fixes. The diff shows a rework of the stream traversal strategy to reduce retained directory listings, plus tuning changes to the stream buffering.

  • 5.0.0

    Release 5.0.0 makes the package ESM-only and raises the minimum supported Node.js version to v20.19. It also switches TypeScript compilation to use the jsbt default configuration (which the release notes describe as isolatedDeclaration-based types for docs).

    BreakingSecurity
  • 4.1.2

    Release 4.1.2 primarily addresses a stream issue, where the readable stream could become broken when a normal flow error occurs. The code change adjusts how the stream handles falsy entries during batching, and the tests were expanded to cover additional ENOENT warning behavior.

  • 4.1.1

    Release 4.1.1 is primarily a packaging fix. It updates the root package.json module type handling and adjusts test/workflow wiring to match the new test location.

  • 4.1.0

    Release 4.1.0 adds support for running and publishing the project in Deno, Bun, and JSR, and bumps the minimum supported Node.js version. It also includes a typings fix referenced in PR #202. The code and repo configuration changes indicate a broader shift toward ESM-first packaging than what the release notes explicitly call out.

    BreakingFeatures
  • 4.0.2

    Release 4.0.2 focuses on improving compatibility with graceful-fs and reducing EMFILE errors by switching stat and lstat usage to async methods. It also updates README typing/docs around fileFilter, and improves the TypeScript typing for readdirpPromise.

  • 4.0.1

    Release 4.0.1 is a small patch intended to fix invalid ESM imports. The code diff is limited to packaging metadata and version bumps, with no changes to runtime source logic visible in the provided diff.

  • 4.0.0

    readdirp 4.0.0 is a TypeScript rewrite with dual CJS/ESM packaging via package.json export maps. The release also raises the minimum supported Node.js version to 14 and removes glob-based filtering.

    Breaking
  • 3.2.0

    Release 3.2.0 focuses on performance improvements (claimed 250% faster) and refactors the stream implementation to be more idiomatic. The actual diff shows several behavioral and typing changes in addition to the stream refactor, including TypeScript declaration restructuring and changes to how the `root` option is handled internally.

    Breaking
  • 3.3.0

    Release 3.3.0 focuses on stabilizing RAM usage and introducing a `highWaterMark` option to control performance and backpressure. It also claims to fix race conditions affecting `for-await` iteration over the stream.

    Features
  • 3.1.1

    Release 3.1.1 focuses on enabling bigint output for `fs.stat` on Windows. The code changes go beyond that: the stat collection behavior and output shape appear to have been modified, along with filtering and error-handling logic.

    BreakingFeatures