jprichardson/node-fs-extra

Node.js: extra methods for the fs object like copy(), remove(), mkdirs()

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 33 minutes ago
Added to GitGenius on September 6th, 2026
Created on November 16th, 2011
Open Issues & Pull Requests: 14 (+0)
GitHub issues: Enabled
Number of forks: 786
Total Stargazers: 9,590 (+0)
Total Subscribers: 95 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 19.4 hours
Mean response time: 20.0 days
90th percentile: 15.9 days
Tracked items: 23

How this project is maintained

Around half of the issues opened in the past year never receive a reply. Only 9% of issues opened in the past year have been closed. Three people close 84% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 6
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 695 days
Stale 30+ days: 4
Stale 90+ days: 4

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • bug (4)
  • feature-copy (4)
  • feature-remove (2)
  • platform-windows (2)
  • enhancement (1)
  • feature-move (1)
  • meta (1)
  • needs-confirmed (1)

Most active issues this week

Detailed Description

fs-extra is a Node.js module that extends the native fs object with additional file system methods and promise support.

The native fs module requires developers to install separate packages like mkdirp, rimraf, and ncp to handle common tasks such as creating nested directories, removing directory trees, and copying files. fs-extra consolidates these capabilities into a single module by adding methods like copy, remove, mkdirs, move, ensureDir, ensureFile, outputFile, readJson, and writeJson. It wraps all async methods to return promises when no callback is provided, enabling both callback-based and promise-based workflows. The module also integrates graceful-fs to prevent EMFILE errors that can occur when too many file handles are open simultaneously.

fs-extra is designed as a drop-in replacement for the native fs module, meaning you can substitute it directly without changing your existing code. It suits any Node.js project that performs file system operations beyond what the standard library provides. The module supports both CommonJS and ESM imports, though ESM users must still import fs or fs/promises separately. Both synchronous and asynchronous versions of each method are available, with async methods supporting callbacks, promises, and async/await patterns.

The project maintains a clear separation between core functionality and specialized concerns. Walk functionality was removed in version 2.0.0 and is now available through separate packages, keeping the module focused. A CLI wrapper is available as a third-party tool for running fs-extra operations from the command line or npm scripts. TypeScript support is documented for users working in typed environments.