Skip to content
74

Awesome ESLint

A list of awesome ESLint plugins, configs, etc.

4.8k stars256 forks219 entriesLast push May 13, 2026 (4 months ago)License CC0-1.0

This page lists names, links and short descriptions. The original list on GitHub is the source and belongs to its authors.

Configs >Configs by Well-Known Companies/Organizations

Airbnb

Shareable config for Airbnb's style guide.

In 11 listsDetails

Airbnb-babel

Airbnb's ESLint config with Babel Support.

Alloy

Progressive ESLint config for your React/Vue/TypeScript projects.

ESLint

Contains the ESLint configuration used for projects maintained by the ESLint team.

In 7 listsDetails

Facebook

Sharable config for Facebook's style guide.

Feedzai

Feedzai's shareable config for JavaScript/React projects.

Shopify

Shareable config for Shopify's style guide.

Wikimedia

Shareable config for Wikimedia's style guide, used by MediaWiki.

Configs >Other Prominent Configs (100 stars or so)

Auto

Automatically configure ESLint based on your project's dependencies.

Canonical

Shareable config for Canonical style guide.

Standard

Shareable config for JavaScript Standard Style.

XO

Shareable config for XO.

Antfu Eslint Config

Anthony's ESLint config preset.

Configs >Other Configs

Adjunct

A reasonable collection of plugins to use alongside your main ESLint configuration.

Ash-Nazg

One config to rule them all!

Cecilia

ESLint configuration for awesome projects.

clean-typescript

Enforce classic JavaScript featuress in TypeScript codebase by banning excessive keywords.

Hardcore

The most strict (but practical) ESLint config out there.

Problems

Shareable config that only catches actual problems, and doesn't enforce stylistic preferences.

Supermind

Shareable config for Supermind style.

Sheriff

Comprehensive and highly opinionated Eslint configuration. Typescript oriented.

Preconfigured Configs with ESLint Set up

Node.js Standard Style

Node.js core config.

eslint-config-airbnb-extended

A powerful ESLint configuration extending the popular Airbnb style guide, with added support for TypeScript.

eslint-config-prettier

Prettier config for ESlint maintained by Prettier team.

Standard

JavaScript Standard Style.

In 5 listsDetails

Superlint

JavaScript Supermind Style.

XO

JavaScript happiness style linter ❤️.

Plugins >Code Quality

depend

Helps detect dependency tree bloat and redundant polyfills.

GitHub

Misc. rules from GitHub.

SonarJS

Rules detecting bugs and suspicious patterns.

Unicorn

Various awesome ESLint rules.

In 3 lists

@mysticatea/eslint-plugin

Misc. rules.

@brettz9/eslint-plugin

Misc. rules. of @mysticatea without the personal config.

De Morgan

Transforms logical expressions in code to make them easier to understand.

Deslint

The design quality gate for AI-generated frontend code. 20 rules covering arbitrary colors/spacing/typography, design-system drift, responsive coverage, and WCAG 2.2 / 2.1 AA accessibility across React, Vue, Svelte, Angular, and plain HTML.

eslint-plugin-code-complete

A custom ESLint plugin that enforces principles of clean, maintainable software design — inspired by Code Complete.

eslint-plugin-ai-guard

Detects bugs and security issues commonly introduced by AI-generated code (async misuse, empty catch, auth gaps, SQL concat, secrets).

Plugins >Compatibility

Compat

Lint browser compatibility of APIs used (caniuse as an ESLint plugin).

ecmascript-compat

Disable ECMAScript language features not supported by your browserslist targets.

es-x

Disable specific ECMAScript language versions or individual features. Properly maintained fork of no longer maintained eslint-plugin-es.

es5

ESLint plugin for ES5 users (forbid ES2015+ usage).

ie11

Detect unsupported ES6 features in IE11.

Plugins >CSS in JS

CSS-modules

Lint undefined or unused rules for css modules.

Emotion

ESLint rules for emotion.

In 6 listsDetails

Better Styled Components

Auto fixable ESlint's rules for styled components.

styled-components-a11y

A11y for Styled Components.

vanilla-extract

An ESLint plugin for enforcing CSS property ordering in vanilla-extract CSS styles.

Plugins >Deprecation

deprecate

Mark functions or modules as deprecated and get lint messages when they are used.

disable

Disable specified plugins using file path patterns and inline comments.

Plugins >Embedded

HTML

Linting for JavaScript inside of HTML <script> tags.

Markdown

Linting for JavaScript inside of Markdown.

Plugins >Frameworks

Angular

Linting rules for Angular (v2+).

In 3 lists

AngularJS

Linting rules to adhere to the John Papa's AngularJS Styleguide.

Astro

Plugin for Astro components.

Backbone

Linting rules for Backbone.

Ember

Linting rules for Ember.

Hapi

Linting rules for hapi.

Meteor

Meteor specific linting rules for ESLint.

In 8 listsDetails

JSX a11y

Accessibility rules on JSX elements.

In 2 lists

React

Linting rules for React and JSX.

React Hooks

Linting rules for React Hooks.

In 8 listsDetails

React Native

React Native specific linting rules.

React-Redux

React-Redux specific linting rules.

React Refresh

Improve HMR experience when using Vite.

Solid

Linting rules for Solid and JSX.

In 2 lists

Svelte

Linting rules for Svelte v3 Components.

In 2 lists

VueJS

Plugin for VueJS.

In 3 lists

VueJS Scoped CSS

Plugin for Scoped CSS in VueJS.

Plugins >Languages and Environments

Babel

Adds replacements for built-in rules to include Babel features.

In 8 listsDetails

eslint-plugin-eslint-plugin

An ESLint plugin for linting ESLint plugins.

Flow

Flow type linting rules.

Flow Errors

Run Flow as an ESLint plugin.

HTML

ESLint plugin for HTML.

JSON

Lint your JSON files.

JSON, package.json

Lint, format, and auto-fix your JSON files. Sort your package.json.

JSON with Comments

ESLint plugin for JSON, JSONC and JSON5.

JSON Schema

Validates data defined in JavaScript, JSON, YAML and TOML using JSON Schema Validator.

eslint-plugin-package-json

Rules for consistent, readable, and valid package.json files.

MDX

ESLint Parser/Plugin for MDX.

N

Additional ESLint's rules for Node.js. Properly maintained fork of no longer maintained eslint-plugin-node.

SQL

SQL linting rules for ESLint.

TOML

ESLint plugin for TOML.

TypeScript

Linting rules for TypeScript.

eslint-plugin-erasable-syntax-only

Granularly enforces TypeScript's erasableSyntaxOnly flag.

eslint-plugin-expect-type

Provides Twoslash, $ExpectError, and $ExpectType type assertions.

YAML

ESLint plugin for YAML.

Plugins >Libraries

dotansimha/graphql-eslint

Validates, prettifies and checks your GraphQL operations and GraphQL schema for best-practices.

apollostack/eslint-plugin-graphql

Check your GraphQL query strings against a schema.

TypeGraphQL

Linting rules for TypeGraphQL, targeted at finding common mistakes.

jQuery

Linting rules for jQuery, including versioned configs for deprecated features.

JSDoc

Linting rules for JSDoc comments (including the JavaScript within @example).

Lodash

Lodash specific linting rules.

Lodash/fp

Lodash/fp specific linting rules.

Lodash template

Plugin for Lodash template/Underscore template.

Microtemplates

(Used in Lodash and Underscore.js)

Mongodb

Mongodb native Node.js driver linting rules.

Ramda

Ramda specific linting rules.

RequireJS

Linting rules for RequireJS.

Tailwind CSS

Linting rules for Tailwind CSS classnames.

Tailwind CSS v4

ESLint plugin to help you write better tailwindcss by improving readability with formatting rules and enforcing best practices with linting rules.

Plugins >Misc

Diff

Run ESLint on your changed lines only. Also supports CI!

Misc

Miscellaneous rules including rules for creating custom checks and wrapping (modifying) third-party rules.

Notice

An eslint rule that checks the top of files and fixes them too!

Only-Error

Convert all rules to errors.

Only-Warn

Convert all rules to warnings.

PutOut

an ESLint plugin integrates putout linter into ESLint.

In 3 lists

TypeLint

Introduces types, based on existing schemas (Swagger, Redux) and linting access to object properties, preventing undefined errors.

Woke

Helps catch insensitive words, promoting an inclusive codebase.

Plugins >Practices and Specific ES Features

array-func

Avoid redundancy when using es2015 array methods and functions.

arrow functions

ESLint rules to ensure proper arrow function definitions.

boundaries

Ensures that your architecture boundaries are respected by the elements in your project checking file structure and dependencies.

@eslint-community/eslint-plugin-eslint-comments

Best practices about ESLint directive comments (/*eslint-disable*/, etc.). Properly maintained fork of no longer maintained eslint-plugin-eslint-comments.

eslint-plugin-error-cause

A plugin to preserve original error context when re-throwing exceptions.

eslint-plugin-hexagonal-architecture

A plugin that helps you to enforce hexagonal architecture best practices.

eslint-plugin-hex-under

A plugin to prove that a hexadecimal number is less than a specified value.

eslint-plugin-signature-design

Forbids functions with too many parameters of the same type, encouraging object-based signatures and preventing primitive obsession.

eslint-plugin-write-good-comments

Enforce good writing style in comments.

eslint-plugin-exception-handling

Lints unhandled functions that might throw errors.

fp

ESLint rules for functional programming.

In 2 lists

functional

ESLint rules to disable mutation and promote fp in JavaScript and TypeScript.

mutate

Prevent accidental parameter mutations by enforcing explicit mut prefix (JavaScript) or Mut<T> type annotation (TypeScript).

ime-safe-form

Prevents accidental form submission during IME composition by requiring e.isComposing guard or form submit event.

Immutable

Disable all mutation in JavaScript.

import

Linting of ES2015+ import/export syntax, and prevent issues with misspelling of file paths and import names.

import-x

Linting of ES2015+ import/export syntax, and prevent issues with misspelling of file paths and import names. Lightweight fork of eslint-plugin-import, but which breaks backwards compatibility.

logical-imports

Sort imports logically by local name.

Math

ESLint plugin related to Math object and Number.

new-with-error

Require errors to be thrown using new.

no-argument-spread

Lints against expressions like Math.max(...args) that can lead to a stack overflow for large arrays.

no-comments

Prevents leaking comments into production if bundler is not used and stops developers from commenting out old lines of code.

no-constructor-bind

Encourages use of class properties by reporting use of this with bind or setting state in constructors.

no-inferred-method-name

Custom rule for ESLint that checks for inferred method names within object literals.

no-loops

It's 2019 and you still use loops?

no-restricted-syntax

Show queried syntax's content in messages.

no-use-extend-native

Prevent using extended native objects.

Promise

Best practices when working with promises.

pure

Enforce pure functions (without side effects).

ReDoS

ESLint plugin for finding possible ReDoS vulnerabilities.

ReDoSDetector

ESLint plugin for finding possible ReDoS vulnerabilities.

RegExp

ESLint plugin for finding regexp mistakes and style guide violations.

In 2 lists

sort-keys-fix

Adds fixer for ESLint sort-keys rule.

this

Write pure functions, don't allow this.

toplevel

An eslint plugin for disallow side effect at module toplevel.

Plugins >Performance

DOM

Optimize Regex

Optimize regex literals.

Plugins >Security

no-secrets

An eslint plugin that detects potential secrets/credentials.

no-unsanitized

Checks for innerHTML, outerHTML, etc.

pii

Checks and enforces PII Compliance of the code. i.e. no email address, birth date, IP address or phone number in comments or string literals.

pg

PostgreSQL/node-postgres security: SQL injection prevention (CWE-89), connection pool leak detection (CWE-772), transaction safety. 13 rules with CWE mapping.

Security

ESLint rules for Node Security.

xss

Tries to detect XSS issues in codebase before they end up in production.

Plugins >Style

ESLint Stylistic

Formatting and stylistic ESLint core rules moved to this project and are maintained by the community.

const case

Enforce capitalization of constant primitive literals.

editorconfig

Derive rules from .editorconfig.

filenames

Ensure consistent filenames for your JavaScript files. No longer maintained and does not work with ESlint 9 at all.

Simple import sort

Easy autofixable import sorting.

perfectionist sorting

Sort objects, imports, TypeScript types, enums, JSX props, etc.

split-and-sort-imports

Sorts imports and splits 'multiple' imports into single line imports.

Switch case

Switch-case-specific linting rules for ESLint.

padding

Allows/disallows padding between statements.

paths

Use paths from tsconfig/jsconfig and auto fix relative paths to aliases.

@gitbutler/no-relative-imports

Use paths from tsconfig and auto fix relative paths to aliases. Observes tsconfig inheritance.

Plugins >Testing Tools

AVA

Linting rules for AVA.

In 2 lists

expect practices

with unused expressions

permitted keywords

with chai-as-promised plugin

globals

Cucumber

Linting rules for Cucumber.

Cypress

Linting rules for Cypress.

Jasmine

Linting rules for Jasmine.

Enforcing practices

Linting rules for Jest.

In 2 lists

Enforcing consistent formatting

Formatting rules for Jest.

In 2 lists

Jest-async

Async linting rule for Jest.

Jest-DOM

Linting rules for Jest-DOM.

In 2 lists

ESLint Plugin Vitest

ESLint plugin for Vitest.

Enforcing practices

Linting rules for Mocha.

Enforcing manageability

Playwright

Linting rules for Playwright.

In 2 lists

QUnit

Linting rules for QUnit.

TestCafe-Community

TestCafe linting rules with env globals (fork from TestCafe globals).

Testing Library

Linting rules for Testing Library.

Parsers

Babel

Adds replacements for built-in rules to include Babel features.

In 8 listsDetails

TypeScript

A TypeScript parser that produces output compatible with ESLint.

BrightScript

BrightScript plugin for Roku development. Includes Parser and Rules.

In 2 lists

dotansimha/graphql-eslint

Validates, prettifies and checks your GraphQL operations and GraphQL schema for best-practices.

Formatters

html

A enhanced ESLint formatter.

badger

Make SVG-based badges summarizing ESLint results (e.g., for use on a README).

git-log

ESLint Formatter featuring Git Author, Date, and Hash.

github

See ESLint errors and warnings directly in pull requests.

gitlab

Output ESLint results in the GitLab code quality results.

mo

Good-lookin' ESLint formatter and also for delightful reading experience.

SARIF

Generate a results in a SARIF format so it can be imported into tools like GitHub Advanced Security.

summary-chart

Format ESLint output into a bar chart.

Globals

confusing-browser-globals

A curated list of browser globals that commonly cause confusion and are not recommended to use without an explicit window. qualifier.

In 4 lists

ES and browser globals

(originally from ESLint)

globals

TestCafe globals

fixture & test globals for TestCafe.

Tools

es-file-traverse

Obtain a list of only those files which are in use based on imports and/or requires from an entry file or files; list passable to ESLint. Intended esp. for linting 3rd party dependencies.

eslint-find-rules

Find built-in ESLint rules you don't have in your custom config.

eslint-index

CLI for finding and managing rules in ESLint config files.

eslint-interactive

The CLI tool to fix huge number of ESLint errors.

eslint-multiplexer

Multiplex eslint results and merge results for common files.

eslint-nibble

Ease into ESLint, by fixing one rule at a time.

eslint-plugin-rule-adoption

An eslint plugin for incremental rule adoption, when --fix and codemods don't cut it.

eslint-rule-documentation

Find the url for the documentation of an ESLint rule.

ESlint Rules Index

A big table of ESlint Rules to help developers find them easily.

eslint-watch

Run ESLint with watch mode.

codacy-eslint

Docker used at Codacy to run ESLint.

esprint

Run ESLint across multiple threads.

generator-eslint

Generate ESLint plugin and rules with Yeoman.

editor-info

Detect whether one is within an editor/IDE and which type, allowing one to tweak ESLint configuration accordingly.

eslint-dashboard

Interactive ESLint workflow that lives in your terminal.

eslint-remote-tester

CLI tool for testing given ESlint rules against multiple repositories at once.

eslint-disable-autofix

Utility to disable autofix for specific ESLint rules.

Developing for ESLint

eslint-doc-generator

Generate documentation for your ESLint plugin including a rules table for your readme and header for your rule docs.

eslint-docgen

Automatically generate ESLint plugin documentation from rule metadata and test cases.

Tutorials

Creating an ESLint Plugin

Article walking through the creation of an ESLint rule and plugin.

Lint Like It's 2015

Article walking through the benefits of using ESLint.

Writing a rule to spot undeclared props hiding in plain sight

Article about creating rules that require scope analysis.

Dear Old ESLint

Quick intro article on ESLint.

Installation and Setup

Lintier

CLI to quickly scaffold an ESLint & Prettier setup in a TypeScript project.

See category
94

Awesome Rust

rust-unofficial/awesome-rust

A curated list of Rust code and resources.

Fresh★ 60k1833 entriesPushed today
94

Awesome Mac

jaywcjlove/awesome-mac

 This project is dedicated to collecting high-quality macOS software and organizing them systematically by different categories for easy search and use.

Fresh★ 115k1316 entriesPushed today
94

Awesome Python

vinta/awesome-python

Curated Python frameworks, libraries and resources.

Fresh★ 324k504 entriesPushed today
94

Awesome C++

fffaraz/awesome-cpp

A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny things. Inspired by awesome-... stuff.

Fresh★ 74k1358 entriesPushed yesterday
94

Awesome Go

avelino/awesome-go

Curated Go frameworks and libraries.

Fresh★ 186k3119 entriesPushed yesterday
94

Awesome PHP

ziadoz/awesome-php

A curated list of amazingly awesome PHP libraries, resources and shiny things.

Fresh★ 33k87 entriesPushed 2 days ago