ESLint alternatives: 8 open-source code quality and static analysis tools
Metrics as of , from the GitHub or GitLab API of each repository. Refreshed monthly.
About ESLint
ESLint is a listed code quality and static analysis tool: Pluggable linter that finds and reports patterns in JavaScript code using configurable rules.
Order: Listed tools in the same category, with tools in the same primary language (GitHub API) first, then by GitHub stars. Each line gives one fact from the tool's own documentation where it differs from what ESLint's documentation states, with its source.
8 alternatives to ESLint
Ruff: Languages or files analysed: Python files (*.py, *.pyi), Jupyter Notebooks (*.ipynb) and pyproject.toml. source: Docs: Configuring Ruff
ShellCheck: Languages or files analysed: Shell scripts in the sh, bash, dash, ksh and BusyBox dialects. source: Docs: shellcheck(1) manual
mypy: Languages or files analysed: Python programs with type hints. source: README
golangci-lint: Languages or files analysed: Go code. source: README
Semgrep: Languages or files analysed: Community supported in Semgrep CE: C/C++, C#, Go, Java, JavaScript, TypeScript, Kotlin, Python, Ruby, Rust, PHP, Scala, Swift, Terraform. source: Docs: Supported languages for Semgrep Community Edition (CE)
Infer: Languages or files analysed: Java, C++, Objective-C and C. source: README
PHPStan: Languages or files analysed: PHP code. source: README
RuboCop: Languages or files analysed: Ruby code (targets Ruby 2.0 and later). source: README
Repository metrics
| Ruff | 49,7311 | 2026-09-1610.16.8 | 2026-09-221 | MIT | Rust | active |
|---|---|---|---|---|---|---|
| ShellCheck | 40,0671 | 2025-08-041v0.11.0 | 2026-09-211 | GPL-3.0 | Haskell | active |
| ESLint | 27,5161 | 2026-09-181v10.11.0 | 2026-09-221 | MIT | JavaScript | active |
| mypy | 20,6481 | 2026-08-151v2.3.1 | 2026-09-221 | MIT | Python | active |
| golangci-lint | 19,3941 | 2026-08-271v2.13.2 | 2026-09-201 | GPL-3.0 | Go | active |
| Semgrep | 16,7251 | 2026-09-101v1.177.0 | 2026-09-221 | LGPL-2.1 | C | active |
| Infer | 15,7061 | 2026-05-121v1.3.0 | 2026-09-181 | MIT | OCaml | active |
| PHPStan | 14,1061 | 2026-09-1212.2.14 | 2026-09-221 | MIT | PHP | active |
| RuboCop | 12,9051 | 2026-09-101v1.91.0 | 2026-09-221 | MIT | Ruby | active |
1 Fetched from the GitHub or GitLab API on . Hover a value for its own date.