{"id":20015,"library":"eslint_d","title":"eslint_d","description":"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.","status":"active","version":"15.0.2","language":"javascript","source_language":"en","source_url":"https://github.com/mantoni/eslint_d.js","tags":["javascript","daemon","eslint","faster","lint","performance"],"install":[{"cmd":"npm install eslint_d","lang":"bash","label":"npm"},{"cmd":"yarn add eslint_d","lang":"bash","label":"yarn"},{"cmd":"pnpm add eslint_d","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"eslint_d wraps and calls ESLint; local or bundled version must be compatible.","package":"eslint","optional":true}],"imports":[{"note":"eslint_d is a CLI tool, not a library; use it directly in terminal or editor config.","wrong":"eslint_d  # must be installed globally or via npx","symbol":"eslint_d CLI","correct":"npx eslint_d --version"}],"quickstart":{"code":"npm install -g eslint_d\n# Lint a file\neslint_d file.js\n# Start daemon explicitly\neslint_d start\n# Status\neslint_d status\n# Fix to stdout (requires --stdin)\necho 'let x = 1' | eslint_d --stdin --fix-to-stdout\n# Stop daemon\neslint_d stop","lang":"javascript","description":"Global installation of eslint_d and usage of its CLI commands for linting, daemon control, and fix-to-stdout."},"warnings":[{"fix":"Upgrade Node.js to 22+ or use eslint_d v14.x if on earlier Node versions.","message":"eslint_d v15 requires Node.js >=22. Older Node versions will not work.","severity":"breaking","affected_versions":">=15.0.0"},{"fix":"Do not configure eslint_d in those editors; stick with built-in ESLint support.","message":"Editors like Atom, VSCode, and WebStorm already cache ESLint; using eslint_d may not improve performance and can cause conflicts.","severity":"gotcha","affected_versions":"all"},{"fix":"Set ESLINT_D_PPID to 'auto' or a specific PID, or set ESLINT_D_IDLE to a positive number of minutes.","message":"If ESLINT_D_PPID is not set and ESLINT_D_IDLE is 0, the daemon may never exit automatically, consuming resources.","severity":"gotcha","affected_versions":"all"},{"fix":"Use ES module imports if using as dependency (though primarily CLI). For CLI usage, use npx or global install.","message":"CommonJS require() patterns for eslint_d are deprecated; it is ESM-only since v15.","severity":"deprecated","affected_versions":">=15.0.0"}],"env_vars":null,"last_verified":"2026-04-25T00:00:00.000Z","next_check":"2026-07-24T00:00:00.000Z","problems":[{"fix":"Run 'eslint_d stop' to kill the existing daemon, then restart.","cause":"Another eslint_d instance or process is already using the default port.","error":"Failed to start daemon: EADDRINUSE"},{"fix":"Install globally: 'npm install -g eslint_d'. Or use 'npx eslint_d'.","cause":"eslint_d is not installed globally or not in PATH.","error":"eslint_d: command not found"},{"fix":"Ensure local eslint version is between 4 and 10. Update eslint or use a compatible version.","cause":"eslint_d has a bundled ESLint that may not match the local project's version, or the installed ESLint version is out of support range (v4-v10).","error":"Error: No matching ESLint version found. ESLint v10.0.0 is not supported."}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}