A pluggable linting utility for identifying and reporting patterns in JavaScript and ECMAScript code.
ESLint is a static code analysis tool that identifies and reports problematic patterns in JavaScript and ECMAScript code. It helps developers enforce coding standards, catch errors early, and maintain consistent code quality across projects. Unlike formatters, it focuses on logical and stylistic issues rather than code formatting.
JavaScript and ECMAScript developers, teams enforcing coding standards, and projects integrating linting into CI/CD pipelines. It's essential for anyone writing modern JavaScript who wants to improve code reliability and maintainability.
Developers choose ESLint for its pluggable architecture, extensive rule set, and precise AST-based analysis. It offers greater flexibility and configurability compared to alternatives like JSLint and JSHint, with strong community support and integration with modern tools.
Find and fix problems in your JavaScript code.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Every rule is a plugin, allowing developers to extend functionality and add custom rules at runtime, as emphasized in the project's philosophy.
Uses the Espree parser to create an Abstract Syntax Tree for accurate detection of code patterns, ensuring reliable analysis.
Offers a wide array of built-in rules with configurable error levels (off, warn, error), providing fine-grained control over code quality.
Fully supports ECMAScript standards from ES3 to the latest stage 4 specifications, with configurable syntax settings for flexibility.
Natively parses JSX syntax and integrates with plugins for React, TypeScript, and Babel, though full semantics require additional plugins.
Requires setting up and maintaining `eslint.config.js` files, which can be daunting for new users and adds overhead for simple projects.
Core rules only support finalized ECMAScript standards; for experimental features, users must rely on third-party parsers like Babel, increasing setup complexity.
Minor releases may report more linting errors due to bug fixes, as per the semantic versioning policy, potentially breaking builds and requiring careful version management.
Advanced functionality for frameworks and tools depends on community plugins, which can vary in quality, maintenance, and compatibility, adding risk.
ESLint is an open-source alternative to the following products:
JSLint is a code quality tool for JavaScript that analyzes source code to identify problematic patterns and enforce strict coding conventions.
JSHint is a static code analysis tool for JavaScript that helps detect errors and potential problems in JavaScript code by enforcing coding standards.