Skip to main content

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.js simplifies 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?โ€‹

tip

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โ€‹