📦

ESLint

linting

The JavaScript and TypeScript linter that catches bugs, enforces style, and runs in your editor, CI, and pre-commit hooks.

About

ESLint is the de-facto linter for JavaScript and TypeScript. It statically analyzes your code to find bugs (using the type information from `typescript-eslint`), enforce style rules, and flag anti-patterns. The output runs in your editor on save, in CI on every pull request, and in pre-commit hooks to keep the diff clean. The modern ESLint stack is flat-config based, fast (ESLint 9 shipped a Rust-backed formatter in collaboration with the Biome team), and integrates with TypeScript via `typescript-eslint`. For most projects, the right setup is ESLint with the `typescript-eslint`, `eslint-plugin-react` (or `react-hooks`), `eslint-plugin-import`, and a few stylistic rules. Honest trade-off: ESLint configuration has historically been the most frustrating part of JavaScript development, and configurations are still a common source of friction in 2026. Tools like `eslint-config-next`, `@typescript-eslint/strict`, and `create-eslint-config` have made this much better, but you should still budget time for it. Biome is the faster, zero-config alternative to consider if ESLint configuration is costing your team time.

Key Features

  • Type-aware rules

    `typescript-eslint` integrates TypeScript's type checker for rules that catch real type errors.

  • Auto-fix

    Many rules auto-fix on save — formatting, import sorting, and common refactors happen transparently.

  • Plugin ecosystem

    Hundreds of plugins for React, Vue, Svelte, accessibility, security, performance, and more.

  • Flat config

    Modern `eslint.config.js` is simpler and faster than the legacy `.eslintrc`.

  • IDE integration

    Inline warnings and quick-fixes in VS Code, JetBrains, Neovim, and Zed.

Best For

Every JavaScript and TypeScript project
Teams that want consistent style without PR debates
Anyone shipping a library and caring about API quality

Use Cases

  • Pre-commit and CI gates on every PR
  • Auto-fix on save in the editor
  • Custom rules for an internal design system

Pros & Cons

Pros

  • Catches real bugs that TypeScript's compiler doesn't
  • Auto-fix saves real time across a team
  • Plugin ecosystem covers every framework and most anti-patterns
  • Editor integration is fast and accurate

Cons

  • Configuration is still a real chore for new projects
  • Some plugins lag behind major versions
  • Type-aware rules are slow on large codebases without caching
0
0 votes

Comments

Login to comment

No comments yet