paulmillr/chokidar

Minimal and efficient cross-platform file watching library

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 26 minutes ago
Added to GitGenius on September 5th, 2026
Created on April 20th, 2012
Open Issues & Pull Requests: 46 (+0)
GitHub issues: Enabled
Number of forks: 633
Total Stargazers: 12,236 (+1)
Total Subscribers: 86 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 5.7 hours
Mean response time: 40.8 days
90th percentile: 60.9 days
Tracked items: 72

How this project is maintained

Around half of the issues opened in the past year never receive a reply. 100% of open issues come from outside the core team, so the backlog reflects real-world use rather than internal planning. Only 3% of issues opened in the past year have been closed. Three people close 89% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 30
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 394 days
Stale 30+ days: 28
Stale 90+ days: 24

Recent activity

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

Top labels

  • win32 (2)
  • mac (1)
  • network (1)
  • performance (1)
  • stale (1)

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

Chokidar is a file watching library for Node.js that provides cross-platform filesystem event monitoring with a normalized, reliable API.

The core problem it solves is that Node.js's built-in fs.watch and fs.watchFile have inconsistent behavior across platforms and report events unreliably. Chokidar wraps these APIs and normalizes the output by validating events through file stats and directory contents checks, ensuring that changes are reported consistently as add, change, or unlink events rather than the ambiguous rename events that raw fs.watch produces. It handles edge cases like atomic writes and chunked file writes through configurable options, supports symbolic links, enables recursive watching across all platforms, and allows filtering files and directories during the watch process.

Developers should choose this tool if they need reliable file watching in production environments where event accuracy matters. It suits projects that monitor filesystem changes for build systems, development servers, or file synchronization tasks. The library is minimal in scope—it focuses purely on watching and event normalization without including glob pattern matching, which was removed in recent versions to reduce dependencies. For projects that need glob support, that functionality must be handled separately.

The project maintains active development with significant recent refactoring. Version 5 transitioned the package to ESM-only and raised the minimum Node.js requirement to version 20. Version 4 substantially reduced the dependency count from thirteen to one while adding support for both ESM and CommonJS modules and raising the minimum Node.js version from 8 to 14. The library has been in production use across millions of repositories since its creation, demonstrating sustained reliability and adoption at scale.