ESLint
What is ESLintโ
ESLint is a static analysis tool for JavaScript and TypeScript that identifies problematic patterns through configurable rules. It is MIT licensed and currently at version 9.x. With ~132M weekly npm downloads and ~27k GitHub stars, it is the most widely adopted linter in the JavaScript ecosystem.
Why we recommend itโ
- Extensibility โ rule-based architecture with thousands of plugins covering React, TypeScript, accessibility, and more.
- Plugin ecosystem maturity โ 11+ years of community contributions provide framework-specific rules for every major library.
- Editor integration โ first-class support in VS Code, JetBrains, and others with inline feedback as you type.
- CI integration โ fits naturally into any pipeline for automated code quality checks.
- Separation of concerns โ handles code quality (bugs, best practices) while Prettier handles formatting.
- Flat config system โ v9's
eslint.config.jssimplifies configuration with explicit, composable config arrays.
When to useโ
- All new JavaScript and TypeScript projects โ ESLint is the default linter
- Projects using React, Next.js, or any framework with ESLint plugin support
- Teams that want automated enforcement of coding standards and best practices
- Paired with Prettier for complete code quality and formatting coverage
When NOT to useโ
- Projects where performance is the only concern and the plugin ecosystem is not needed โ see the Biome note below
- Legacy projects with an existing, stable linting setup that would be costly to migrate
What about Biome?โ
Biome is a Rust-based all-in-one tool that combines linting, formatting, and import sorting in a single binary with zero dependencies.
Advantages: 10-100x faster than ESLint, single config file, built-in TypeScript support.
Disadvantages: no plugin ecosystem yet, far fewer framework-specific rules (no equivalents for react-hooks, next, or vue plugins), less mature (stable since Nov 2023 vs ESLint's 11+ years), smaller community (~9M vs ~132M weekly downloads), and less mature editor extensions.
Our position: ESLint + Prettier remain the default for Aliz projects due to ecosystem maturity, plugin coverage, established workflows, and community knowledge base. Biome is worth watching and may fit greenfield projects with simple linting needs where speed is paramount, but cannot yet replace ESLint's breadth.
Resourcesโ
- Official ESLint docs
- ESLint GitHub repository
- Prettier โ the default formatter, paired with ESLint
- Biome โ Rust-based alternative (linting + formatting)