ESLint - Pluggable JavaScript Linter
ESLint is a tool for identifying and reporting on patterns found in ECMAScript/JavaScript code. In many ways, it is similar to JSLint and JSHint with a few key differences that make it the most popular JavaScript linter today.What Makes ESLint Different
AST-Based Analysis
ESLint uses an Abstract Syntax Tree (AST) to evaluate patterns in code, providing deep and accurate analysis of your JavaScript.
Espree Parser
Built on the Espree JavaScript parser, ESLint has full support for ECMAScript 3, 5, and every year from 2015 up to the latest stage 4 specifications.
Completely Pluggable
Every single rule is a plugin. You can add custom rules at runtime, create your own plugins, and extend ESLint to match your exact needs.
Key Features
Auto-Fix Problems
Many errors can be automatically fixed with the
--fix flag, saving you time and ensuring consistent code style across your project.Customizable Rules
Configure each rule independently with three severity levels:
off, warn, or error. Fine-tune ESLint to your team’s preferences.JSX & TypeScript
Native JSX parsing support and extensive TypeScript compatibility through parser plugins like
@typescript-eslint/parser.Modern Config System
Use the new flat config format with
eslint.config.js for a more intuitive and powerful configuration experience.Quick Stats
- Version: 10.0.1
- Node.js Support:
^20.19.0,^22.13.0, or>=24 - License: MIT
- Maintained By: OpenJS Foundation
ESLint requires Node.js built with SSL support. If you’re using an official Node.js distribution, SSL is always built in.
Get Started
Quick Start
Get up and running with ESLint in under 5 minutes
Installation
Detailed installation instructions for all package managers
Configuration
Learn how to configure ESLint for your project
Rules Reference
Browse the complete list of ESLint rules
Recommended Rules
ESLint comes with a carefully curated set of recommended rules that catch common errors:Rule Severity Levels
ESLint offers three severity levels for each rule:| Level | Numeric | Description |
|---|---|---|
"off" | 0 | Turn the rule off completely |
"warn" | 1 | Turn the rule on as a warning (doesn’t affect exit code) |
"error" | 2 | Turn the rule on as an error (exit code will be 1) |
Version Support
The ESLint team provides:- Ongoing support for the current version
- 6 months of limited support for the previous version (critical bugs, security issues, and compatibility issues only)
- Commercial support through partners Tidelift and HeroDevs
Community & Support
Discord
Join the community chat
GitHub Discussions
Ask questions and share ideas
Report Bugs
Help improve ESLint