Dev Toolchain
eslint

ESLint

TypeScriptOpen SourceLintingStatic Analysis

The standard JavaScript and TypeScript linter — enforce code quality rules, catch bugs early, and maintain consistent code style across a team.

License

MIT

Language

TypeScript

92
Trust
Excellent

Why ESLint?

Every JavaScript/TypeScript project — catching bugs and enforcing style before code review

Monorepos with multiple packages that need consistent coding standards

TypeScript projects using typescript-eslint for type-aware lint rules

Signal Breakdown

What drives the Trust Score

npm downloads
45M / wk
Commits (90d)
200 commits
GitHub stars
25k ★
Stack Overflow
50k q's
Community
High
Weighted Trust Score92 / 100

Download Trend

Last 12 months

Tradeoffs & Caveats

Know before you commit

Projects adopting Biome as a unified lint + format tool

Tiny one-file scripts where setup overhead doesn't pay off

Pricing

Free tier & paid plans

Free tier

Open source, free to use

Paid

Free & open-source

Alternative Tools

Other options worth considering

biome
Biome80Strong

Unified Rust-based formatter and linter for JavaScript and TypeScript — replaces Prettier and ESLint in one 10x faster tool.

prettier
Prettier90Excellent

Opinionated code formatter for JavaScript, TypeScript, CSS, JSON, and more — eliminate all style debates by letting a machine format your code.

Often Used Together

Complementary tools that pair well with ESLint

typescript

TypeScript

Dev Toolchain

95Excellent
View
prettier

Prettier

Dev Toolchain

90Excellent
View
biome

Biome

Dev Toolchain

80Strong
View

Learning Resources

Docs, videos, tutorials, and courses

Get Started

Repository and installation options

View on GitHub

github.com/eslint/eslint

npmnpm install -D eslint @eslint/js

Quick Start

Copy and adapt to get going fast

npm install -D eslint @eslint/js typescript-eslint

# eslint.config.js (flat config)
import js from '@eslint/js';
import tseslint from 'typescript-eslint';

export default tseslint.config(
  js.configs.recommended,
  ...tseslint.configs.strict,
);

Community Notes

Real experiences from developers who've used this tool