# ESLint

32 Hacker News commenters recommended ESLint and 22 criticized it, November 2025 to November 2026. It was recommended in 11 of 13 months.

**Verdict:** Pluggable JavaScript linter that catches bugs and enforces code quality rules, with custom rules easy to write. Critics say it is slow on large projects and breaks across version upgrades.

## Why people recommend it

- Enforces code quality rules (5 comments): "It's excellent for enforcing code quality rules (formatting, unused variables, best practices, etc.)" ([source](https://news.ycombinator.com/item?id=47260633)) "setting up a large number of static code analysis checks has had the highest impact on code quality" ([source](https://news.ycombinator.com/item?id=46920000)) "They are what keep the AI's output from drifting into unmaintainable spaghetti code." ([source](https://news.ycombinator.com/item?id=47045233))
- Helps keep AI agent output clean (5 comments): "by running the linter, if Claude does decide to inject this, it gets taken out, because the linter runs and then tells it so" ([source](https://news.ycombinator.com/item?id=46295273)) "I use a tested project template + .md files as well as ESLint + Stylelint and each project generally turns out pretty clean." ([source](https://news.ycombinator.com/item?id=46681972)) "If you use eslint and tell it how to run lint in CLAUDE.md it will run lint itself and find and fix most issues like this." ([source](https://news.ycombinator.com/item?id=47373657))
- Custom rules and plugins (3 comments): "it's so handy to be able to write a new lint rule or introduce an off-the-shelf rule without needing to fix all existing violations" ([source](https://news.ycombinator.com/item?id=46854973)) "tools like eslint allow custom rules which are easy write with something like opus 4.6" ([source](https://news.ycombinator.com/item?id=47346268)) "it's plugins that make ESLint such a powerful platform that it still can't be replaced" ([source](https://news.ycombinator.com/item?id=49819672))
- Syntax-aware AST-based checks (2 comments): "eslint for AST-based code rule checking (easily picks up duplication for example)" ([source](https://news.ycombinator.com/item?id=49034990)) "get actual syntax aware linting rather than relying on more brittle regex rules" ([source](https://news.ycombinator.com/item?id=46855031))

## What people warn about

- Slow on large projects (2 comments): "running ESLint and Prettier on your project and having a full build and formatting iteration take like 2 minutes" ([source](https://news.ycombinator.com/item?id=47553843)) "ESLint on medium/big projects can be pretty slow and if you use type aware rules it opts out of caching" ([source](https://news.ycombinator.com/item?id=47067056))
- Breaking changes between versions (4 comments): "eslint has decided to kill off the APIs that support rules like `no-unused-modules`" ([source](https://news.ycombinator.com/item?id=47171472)) "does it understand the difference between eslint 8x and eslint 9.x?" ([source](https://news.ycombinator.com/item?id=46525600)) "I still haven't fully migrated every project I maintain to eslint 9" ([source](https://news.ycombinator.com/item?id=46124842))
- Heavy dependency footprint (2 comments): "ESLint is now my only dev dependency with hundreds of dependencies of its own." ([source](https://news.ycombinator.com/item?id=46077567)) "led to the creation of weird ecosystem like babel, webpack, eslint" ([source](https://news.ycombinator.com/item?id=48199799))

## Alternatives hackers recommend

- [Ruff](https://hackerapproved.com/p/ruff.md): 115 recommend
- [Clippy (Rust linter)](https://hackerapproved.com/p/clippy.md): 58 recommend
- [Biome](https://hackerapproved.com/p/biome.md): 23 recommend
- [Oxlint](https://hackerapproved.com/p/oxlint.md): 20 recommend
- [ShellCheck](https://hackerapproved.com/p/shellcheck.md): 19 recommend

## Cite as

Hacker Approved, "ESLint", https://hackerapproved.com/p/eslint/ (counts from 1,795,640 Hacker News comments, November 2025 to November 2026).
