isaacs/node-graceful-fs
fs with incremental backoff on EMFILE observed · 2026-08-28
Health v2 · maintenance only
54/100
- Activity 48
- Release rhythm 35
- Longevity 100
Flags: no_releases
How is this computed?
round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10) — computed 2026-09-03. Adoption (stars, forks) is never an input.
- gap_med: n/a
- age_days: 5523
- days_rel: n/a
- days_push: 312
- n_releases_24m: 0
Adoption not part of the score
1302 stars · 149 forks observed · 2026-08-28
What it is AI-extracted, prompt v1, taxonomy v1, 2026-08-30, confidence not recorded
graceful-fs is a drop-in replacement for Node.js's fs module that makes filesystem access more resilient. It queues and retries open/readdir calls on EMFILE errors and normalizes cross-platform behavior differences.
Use cases
- avoid EMFILE crashes when opening many files at once
- retry file reads on EAGAIN errors
- handle Windows rename failures caused by antivirus locks
- patch the global fs module for an entire application
- normalize fs behavior across Node versions and platforms
When to choose
- your Node app hits EMFILE errors from too many concurrent file descriptors
- you want a drop-in fs replacement with resilient retry behavior
- you need to gracefully handle fs errors across platforms
When to avoid
- you rely heavily on sync fs methods, which cannot be intercepted
- you want to call gracefulify inside a library rather than the top-level app
- you need zero behavioral changes to core Node APIs
Facets
library · maturity stable
file-system error-handling concurrency developer-tools files backend cross-platform fs emfile drop-in-replacement retry monkey-patching nodejs
1 source
- readme: https://github.com/isaacs/node-graceful-fs · fetched 2026-08-28 · 6c2e15a1a368
Member repositories
| Repository | Role | Health v2 |
|---|---|---|
| isaacs/node-graceful-fs | main | 54 |
For agents
markdown · JSON · MCP: product_card(name="isaacs/node-graceful-fs")
Data as of 2026-08-30T08:39:29.467469+00:00 · Report a problem