eslint_d is a drop-in replacement for ESLint that runs linting in a persistent background daemon, drastically reducing startup latency (e.g., ~300ms to ~100ms per run on modern hardware). Version 15.0.2 requires Node.js >=22 and supports ESLint v4 through v10. It automatically starts, stops, and restarts the server, binds to parent/editor processes, and falls back to a bundled ESLint if a local one is missing. Key differentiators include environment variables for fine-tuning behavior, support for monorepos via `ESLINT_D_ROOT`, and a `--fix-to-stdout` option for editor integration. Unlike editor-built-in caches, it provides speed benefits to Vim, Neovim, Emacs, and Sublime Text, while Atom, VSCode, and WebStorm gain little due to their own caching.
npm install eslint_dVerified import paths — ran on the pinned version, not inferred.
Global installation of eslint_d and usage of its CLI commands for linting, daemon control, and fix-to-stdout.
Upgrade Node.js to 22+ or use eslint_d v14.x if on earlier Node versions.
Do not configure eslint_d in those editors; stick with built-in ESLint support.
Set ESLINT_D_PPID to 'auto' or a specific PID, or set ESLINT_D_IDLE to a positive number of minutes.
Use ES module imports if using as dependency (though primarily CLI). For CLI usage, use npx or global install.
Run 'eslint_d stop' to kill the existing daemon, then restart.
Install globally: 'npm install -g eslint_d'. Or use 'npx eslint_d'.
Ensure local eslint version is between 4 and 10. Update eslint or use a compatible version.