https://github.com/correia-jpv/fucking-awesome-eslint
A list of awesome ESLint plugins, configs, etc. With repository stars⭐ and forks🍴
https://github.com/correia-jpv/fucking-awesome-eslint
List: fucking-awesome-eslint
awesome awesome-list es6 eslint eslint-config eslint-plugin javascript javascript-tools linter list utilities
Last synced: 28 days ago
JSON representation
A list of awesome ESLint plugins, configs, etc. With repository stars⭐ and forks🍴
- Host: GitHub
- URL: https://github.com/correia-jpv/fucking-awesome-eslint
- Owner: Correia-jpv
- Created: 2022-01-31T18:34:52.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2025-04-14T01:07:10.000Z (about 1 month ago)
- Last Synced: 2025-04-27T09:57:01.090Z (28 days ago)
- Topics: awesome, awesome-list, es6, eslint, eslint-config, eslint-plugin, javascript, javascript-tools, linter, list, utilities
- Homepage:
- Size: 460 KB
- Stars: 5
- Watchers: 2
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Contributing: contributing.md
- Funding: .github/FUNDING.yml
- License: license
Awesome Lists containing this project
- ultimate-awesome - fucking-awesome-eslint - A list of awesome ESLint plugins, configs, etc. With repository stars⭐ and forks🍴. (Programming Language Lists / JavaScript Lists)
README
# Awesome ESLint [](https://awesome.re)
[
](http://eslint.org)
> A list of awesome ESLint configs, plugins, etc.
If you want to contribute, please read the [contribution guidelines](contributing.md).
## Contents
- [Configs](#configs)
- [Configs by Well-Known Companies/Organizations](#configs-by-well-known-companiesorganizations)
- [Other Prominent Configs (100 stars or so)](#other-prominent-configs-100-stars-or-so)
- [Other Configs](#other-configs)
- [Preconfigured Configs with ESLint Set up](#preconfigured-configs-with-eslint-set-up)
- [Plugins](#plugins)
- [Code Quality](#code-quality)
- [Compatibility](#compatibility)
- [CSS in JS](#css-in-js)
- [Deprecation](#deprecation)
- [Embedded](#embedded)
- [Frameworks](#frameworks)
- [Languages and Environments](#languages-and-environments)
- [Libraries](#libraries)
- [Misc](#misc)
- [Practices and Specific ES Features](#practices-and-specific-es-features)
- [Performance](#performance)
- [Security](#security)
- [Style](#style)
- [Testing Tools](#testing-tools)
- [Parsers](#parsers)
- [Formatters](#formatters)
- [Globals](#globals)
- [Tools](#tools)
- [Developing for ESLint](#developing-for-eslint)
- [Tutorials](#tutorials)
- [Installation and Setup](#installation-and-setup)## Configs
### Configs by Well-Known Companies/Organizations
-
146529⭐
26737🍴
[Airbnb](https://github.com/airbnb/javascript/tree/master/packages/eslint-config-airbnb)) - Shareable config for146529⭐
26737🍴
[Airbnb's style guide](https://github.com/airbnb/javascript)).
-3⭐
2🍴
[Airbnb-babel](https://github.com/davidjbradshaw/eslint-config-airbnb-babel)) - Airbnb's ESLint config with Babel Support.
-1047⭐
103🍴
[Airbnb-typescript](https://github.com/iamturns/eslint-config-airbnb-typescript)) - Airbnb's ESLint config with TypeScript support.
-2653⭐
313🍴
[Alloy](https://github.com/AlloyTeam/eslint-config-alloy)) - Progressive ESLint config for your React/Vue/TypeScript projects.
-25804⭐
4698🍴
[ESLint](https://github.com/eslint/eslint/tree/master/packages/eslint-config-eslint)) - Contains the ESLint configuration used for projects maintained by the ESLint team.
- 🌎 [Facebook](www.npmjs.com/package/eslint-config-fbjs) - Sharable config for Facebook's style guide.
-8⭐
3🍴
[Feedzai](https://github.com/feedzai/eslint-config-feedzai)) - Feedzai's shareable config for JavaScript/React projects.
-103141⭐
27006🍴
[React App](https://github.com/facebook/create-react-app/tree/master/packages/eslint-config-react-app)) - Sharable config for 🌎 [React](reactjs.org) projects.
-474⭐
59🍴
[Shopify](https://github.com/Shopify/web-foundation/blob/main/packages/eslint-plugin/README.md)) - Shareable config for256⭐
38🍴
[Shopify's style guide](https://github.com/Shopify/javascript)).
-1312⭐
43🍴
[Vercel](https://github.com/vercel/style-guide/tree/canary/eslint)) - Vercel Engineering's composable eslint configuration used in all their codebases.
-31⭐
21🍴
[Wikimedia](https://github.com/wikimedia/eslint-config-wikimedia)) - Shareable config for 🌎 [Wikimedia's style guide](www.mediawiki.org/wiki/Manual:Coding_conventions/JavaScript), used by 🌎 [MediaWiki](www.mediawiki.org/).### Other Prominent Configs (100 stars or so)
-
404⭐
13🍴
[Auto](https://github.com/davidjbradshaw/eslint-config-auto)) - Automatically configure ESLint based on your project's dependencies.
-615⭐
31🍴
[Canonical](https://github.com/gajus/eslint-config-canonical)) - Shareable config for18⭐
5🍴
[Canonical style guide](https://github.com/gajus/canonical)).-
2638⭐
561🍴
[Standard](https://github.com/feross/eslint-config-standard)) - Shareable config for JavaScript29306⭐
2319🍴
[Standard Style](https://github.com/feross/standard)).
-274⭐
43🍴
[XO](https://github.com/xojs/eslint-config-xo)) - Shareable config for7762⭐
290🍴
[XO](https://github.com/xojs/xo)).
-5005⭐
501🍴
[Antfu Eslint Config](https://github.com/antfu/eslint-config)) - Anthony's ESLint config preset.### Other Configs
-
50⭐
8🍴
[Adjunct](https://github.com/davidjbradshaw/eslint-config-adjunct)) - A reasonable collection of plugins to use alongside your main ESLint configuration.
-6⭐
1🍴
[Ash-Nazg](https://github.com/brettz9/eslint-config-ash-nazg)) - One config to rule them all!
-7⭐
0🍴
[Cecilia](https://github.com/SandroMiguel/eslint-config-cecilia)) - ESLint configuration for awesome projects.
-1⭐
0🍴
[clean-typescript](https://github.com/cunarist/eslint-config-clean-typescript)) - Enforce classic JavaScript featuress in TypeScript codebase by banning excessive keywords.
-?⭐
?🍴
[ES](https://github.com/thenativeweb/eslint-config-es)) - Shareable config for very strict code.
-432⭐
15🍴
[Hardcore](https://github.com/EvgenyOrekhov/eslint-config-hardcore)) - The most strict (but practical) ESLint config out there.
-68⭐
3🍴
[Problems](https://github.com/RyanZim/eslint-config-problems)) - Shareable config that only catches actual problems, and doesn't enforce stylistic preferences.
-4⭐
1🍴
[Supermind](https://github.com/supermind/eslint-config-supermind)) - Shareable config for Supermind style.
-154⭐
9🍴
[Sheriff](https://github.com/AndreaPontrandolfo/sheriff)) - Comprehensive and highly opinionated Eslint configuration. Typescript oriented.## Preconfigured Configs with ESLint Set up
-
6⭐
1🍴
[Node.js Standard Style](https://github.com/geek/node-style)) - Node.js core config.
-5648⭐
252🍴
[eslint-config-prettier](https://github.com/prettier/eslint-config-prettier)) - Prettier config for ESlint maintained by Prettier team.
-29306⭐
2319🍴
[Standard](https://github.com/feross/standard)) - JavaScript Standard Style.
-5⭐
0🍴
[Superlint](https://github.com/supermind/superlint)) - JavaScript Supermind Style.
-7762⭐
290🍴
[XO](https://github.com/sindresorhus/xo)) - JavaScript happiness style linter ❤️.
-84⭐
5🍴
[Healthier](https://github.com/KidkArolis/healthier)) - Code style agnostic version of Standard, perfect companion to Prettier.## Plugins
### Code Quality
-
385⭐
7🍴
[depend](https://github.com/es-tooling/eslint-plugin-depend)) - Helps detect dependency tree bloat and redundant polyfills.
-313⭐
59🍴
[GitHub](https://github.com/github/eslint-plugin-github)) - Misc. rules from GitHub.
-1198⭐
71🍴
[SonarJS](https://github.com/SonarSource/eslint-plugin-sonarjs)) - Rules detecting bugs and suspicious patterns.
-4465⭐
398🍴
[Unicorn](https://github.com/sindresorhus/eslint-plugin-unicorn)) - Various awesome ESLint rules.
-26⭐
10🍴
[@mysticatea/eslint-plugin](https://github.com/mysticatea/eslint-plugin)) - Misc. rules.
-2⭐
0🍴
[@brettz9/eslint-plugin](https://github.com/brettz9/eslint-plugin)) - Misc. rules. of `@mysticatea` without the personal config.### Compatibility
-
3119⭐
110🍴
[Compat](https://github.com/amilajack/eslint-plugin-compat)) - Lint browser compatibility of APIs used ([caniuse](http://caniuse.com/#search=fetch) as an ESLint plugin).
-69⭐
14🍴
[ecmascript-compat](https://github.com/robatwilliams/es-compat)) - Disable ECMAScript language features not supported by your browserslist targets.
-129⭐
9🍴
[es-x](https://github.com/eslint-community/eslint-plugin-es-x)) - Disable specific ECMAScript language versions or individual features. Properly maintained fork of no longer maintained `eslint-plugin-es`.
-55⭐
18🍴
[es5](https://github.com/nkt/eslint-plugin-es5)) - ESLint plugin for ES5 users (forbid ES2015+ usage).
-15⭐
3🍴
[ie11](https://github.com/Volox/eslint-plugin-ie11)) - Detect unsupported ES6 features in IE11.### CSS in JS
-
152⭐
34🍴
[CSS-modules](https://github.com/atfzl/eslint-plugin-css-modules)) - Lint undefined or unused rules for css modules.
-17722⭐
1124🍴
[Emotion](https://github.com/emotion-js/emotion/tree/master/packages/eslint-plugin)) - ESLint rules for emotion.
- Styled Components
-66⭐
9🍴
[Better Styled Components](https://github.com/tinloof/eslint-plugin-better-styled-components)) - Auto fixable ESlint's rules for styled components.
-150⭐
24🍴
[styled-components-a11y](https://github.com/brendanmorrell/eslint-plugin-styled-components-a11y)) - A11y for Styled Components.### Deprecation
-
81⭐
14🍴
[deprecate](https://github.com/AlexMost/eslint-plugin-deprecate)) - Mark functions or modules as deprecated and get lint messages when they are used.
-334⭐
39🍴
[deprecation](https://github.com/gund/eslint-plugin-deprecation)) - Identifies use of
jsdoc `@deprecated` functions.
-56⭐
3🍴
[disable](https://github.com/mradionov/eslint-plugin-disable)) - Disable specified plugins using file path patterns and inline comments.### Embedded
-
439⭐
52🍴
[HTML](https://github.com/BenoitZugmeyer/eslint-plugin-html)) - Linting for JavaScript inside of HTML `` tags.
- <b><code> 441⭐</code></b> <b><code> 65🍴</code></b> [Markdown](https://github.com/eslint/eslint-plugin-markdown)) - Linting for JavaScript inside of Markdown.### Frameworks
- <b><code> 1705⭐</code></b> <b><code> 240🍴</code></b> [Angular](https://github.com/angular-eslint/angular-eslint)) - Linting rules for Angular (v2+).
- <b><code> 618⭐</code></b> <b><code> 131🍴</code></b> [AngularJS](https://github.com/Gillespie59/eslint-plugin-angular)) - Linting rules to adhere to the <b><code> 23830⭐</code></b> <b><code> 4137🍴</code></b> [John Papa's AngularJS Styleguide](https://github.com/johnpapa/angular-styleguide)).
- <b><code> 356⭐</code></b> <b><code> 26🍴</code></b> [Astro](https://github.com/ota-meshi/eslint-plugin-astro)) - Plugin for 🌎 [Astro components](docs.astro.build/en/core-concepts/astro-components/).
- <b><code> 95⭐</code></b> <b><code> 11🍴</code></b> [Backbone](https://github.com/ilyavolodin/eslint-plugin-backbone)) - Linting rules for Backbone.
- <b><code> 58⭐</code></b> <b><code> 12🍴</code></b> [Custom Elements](https://github.com/github/eslint-plugin-custom-elements)) - Rules by GitHub for Custom Elements.
- <b><code> 262⭐</code></b> <b><code> 205🍴</code></b> [Ember](https://github.com/ember-cli/eslint-plugin-ember)) - Linting rules for Ember.
- <b><code> 21⭐</code></b> <b><code> 10🍴</code></b> [Hapi](https://github.com/continuationlabs/eslint-plugin-hapi)) - Linting rules for hapi.
- <b><code> 44638⭐</code></b> <b><code> 5206🍴</code></b> [Meteor](https://github.com/meteor/meteor/tree/devel/npm-packages/eslint-plugin-meteor)) - Meteor specific linting rules for ESLint.
- React
- <b><code> 26⭐</code></b> <b><code> 3🍴</code></b> [JSX a11y](https://github.com/evcohen/eslint-plugin-jsx-a11y)) - Accessibility rules on JSX elements.
- <b><code> 9140⭐</code></b> <b><code> 2764🍴</code></b> [React](https://github.com/yannickcr/eslint-plugin-react)) - Linting rules for React and JSX.
- <b><code>234510⭐</code></b> <b><code> 48245🍴</code></b> [React Hooks](https://github.com/facebook/react/tree/master/packages/eslint-plugin-react-hooks)) - Linting rules for React Hooks.
- <b><code> 739⭐</code></b> <b><code> 129🍴</code></b> [React Native](https://github.com/Intellicode/eslint-plugin-react-native)) - React Native specific linting rules.
- <b><code> 83⭐</code></b> <b><code> 18🍴</code></b> [React-Redux](https://github.com/DianaSuvorova/eslint-plugin-react-redux)) - React-Redux specific linting rules.
- <b><code> 237⭐</code></b> <b><code> 34🍴</code></b> [Solid](https://github.com/joshwilsonvu/eslint-plugin-solid)) - Linting rules for Solid and JSX.
- <b><code> 326⭐</code></b> <b><code> 48🍴</code></b> [Svelte](https://github.com/sveltejs/eslint-plugin-svelte)) - Linting rules for Svelte v3 Components.
- Vue
- <b><code> 4535⭐</code></b> <b><code> 681🍴</code></b> [VueJS](https://github.com/vuejs/eslint-plugin-vue)) - Plugin for VueJS.
- <b><code> 106⭐</code></b> <b><code> 10🍴</code></b> [VueJS Scoped CSS](https://github.com/future-architect/eslint-plugin-vue-scoped-css)) - Plugin for Scoped CSS in VueJS.### Languages and Environments
- 🌎 [AssemblyScript](www.npmjs.com/package/@shopify/eslint-plugin-assemblyscript) - Rules for enforcing restrictions on TypeScript toward AssemblyScript compliance.
- <b><code> 43503⭐</code></b> <b><code> 5701🍴</code></b> [Babel](https://github.com/babel/babel/tree/main/eslint/babel-eslint-plugin)) - Adds replacements for built-in rules to include Babel features.
- <b><code> 11⭐</code></b> <b><code> 0🍴</code></b> [Coffee](https://github.com/aminland/eslint-plugin-coffee)) - Enables linting CoffeeScript files with, with optional linting rules from the Coffeelint library.
- <b><code> 208⭐</code></b> <b><code> 30🍴</code></b> [eslint-plugin-eslint-plugin](https://github.com/not-an-aardvark/eslint-plugin-eslint-plugin)) - An ESLint plugin for linting ESLint plugins.
- Flow
- <b><code> 1074⭐</code></b> <b><code> 154🍴</code></b> [Flow](https://github.com/gajus/eslint-plugin-flowtype)) - Flow type linting rules.
- <b><code> 403⭐</code></b> <b><code> 32🍴</code></b> [Flow Errors](https://github.com/amilajack/eslint-plugin-flowtype-errors)) - Run Flow as an ESLint plugin.
- <b><code> 189⭐</code></b> <b><code> 33🍴</code></b> [HTML](https://github.com/yeonjuan/html-eslint)) - ESLint plugin for HTML.
- JSON
- <b><code> 211⭐</code></b> <b><code> 27🍴</code></b> [JSON](https://github.com/azeemba/eslint-plugin-json)) - Lint your JSON files.
- <b><code> 41⭐</code></b> <b><code> 3🍴</code></b> [JSON, package.json](https://github.com/Bkucera/eslint-plugin-json-format)) - Lint, format, and auto-fix your JSON files. Sort your `package.json`.
- <b><code> 210⭐</code></b> <b><code> 19🍴</code></b> [JSON with Comments](https://github.com/ota-meshi/eslint-plugin-jsonc)) - ESLint plugin for JSON, JSONC and JSON5.
- <b><code> 76⭐</code></b> <b><code> 6🍴</code></b> [JSON Schema](https://github.com/ota-meshi/eslint-plugin-json-schema-validator)) - Validates data defined in JavaScript, JSON, YAML and TOML using JSON Schema Validator.
- <b><code> 284⭐</code></b> <b><code> 33🍴</code></b> [MDX](https://github.com/mdx-js/eslint-mdx/tree/master/packages/eslint-plugin-mdx)) - ESLint Parser/Plugin for MDX.
- <b><code> 272⭐</code></b> <b><code> 47🍴</code></b> [N](https://github.com/eslint-community/eslint-plugin-n)) - Additional ESLint's rules for Node.js. Properly maintained fork of no longer maintained `eslint-plugin-node`.
- <b><code> 104⭐</code></b> <b><code> 23🍴</code></b> [SQL](https://github.com/gajus/eslint-plugin-sql)) - SQL linting rules for ESLint.
- <b><code> 28⭐</code></b> <b><code> 3🍴</code></b> [TOML](https://github.com/ota-meshi/eslint-plugin-toml)) - ESLint plugin for TOML.
- <b><code> 15655⭐</code></b> <b><code> 2775🍴</code></b> [TypeScript](https://github.com/typescript-eslint/typescript-eslint/tree/master/packages/eslint-plugin)) - Linting rules for TypeScript.
- <b><code> 133⭐</code></b> <b><code> 14🍴</code></b> [YAML](https://github.com/ota-meshi/eslint-plugin-yml)) - ESLint plugin for YAML.### Libraries
- GraphQL
- <b><code> 821⭐</code></b> <b><code> 109🍴</code></b> [dotansimha/graphql-eslint](https://github.com/dotansimha/graphql-eslint)) - Validates, prettifies and checks your GraphQL operations and GraphQL schema for best-practices.
- <b><code> 1217⭐</code></b> <b><code> 94🍴</code></b> [apollostack/eslint-plugin-graphql](https://github.com/apollostack/eslint-plugin-graphql)) - Check your GraphQL query strings against a schema.
- <b><code> 19⭐</code></b> <b><code> 3🍴</code></b> [TypeGraphQL](https://github.com/borremosch/eslint-plugin-type-graphql)) - Linting rules for TypeGraphQL, targeted at finding common mistakes.
- <b><code> 32⭐</code></b> <b><code> 8🍴</code></b> [jQuery](https://github.com/wikimedia/eslint-plugin-no-jquery)) - Linting rules for jQuery, including versioned configs for deprecated features.
- <b><code> 1133⭐</code></b> <b><code> 163🍴</code></b> [JSDoc](https://github.com/gajus/eslint-plugin-jsdoc)) - Linting rules for JSDoc comments (including the JavaScript within `@example`).
- Lodash
- <b><code> 276⭐</code></b> <b><code> 65🍴</code></b> [Lodash](https://github.com/wix/eslint-plugin-lodash)) - Lodash specific linting rules.
- <b><code> 151⭐</code></b> <b><code> 24🍴</code></b> [Lodash/fp](https://github.com/jfmengels/eslint-plugin-lodash-fp)) - Lodash/fp specific linting rules.
- <b><code> 17⭐</code></b> <b><code> 3🍴</code></b> [Lodash template](https://github.com/ota-meshi/eslint-plugin-lodash-template)) - Plugin for Lodash template/Underscore template.
- <b><code> 4⭐</code></b> <b><code> 2🍴</code></b> [Microtemplates](https://github.com/platinumazure/eslint-plugin-microtemplates)) (Used in Lodash and Underscore.js)
- <b><code> 20⭐</code></b> <b><code> 3🍴</code></b> [Mongodb](https://github.com/nfroidure/eslint-plugin-mongodb)) - Mongodb native Node.js driver linting rules.
- <b><code> 117⭐</code></b> <b><code> 11🍴</code></b> [Ramda](https://github.com/ramda/eslint-plugin-ramda)) - Ramda specific linting rules.
- <b><code> 29⭐</code></b> <b><code> 16🍴</code></b> [RequireJS](https://github.com/cvisco/eslint-plugin-requirejs)) - Linting rules for RequireJS.
- <b><code> 1811⭐</code></b> <b><code> 87🍴</code></b> [Tailwind CSS](https://github.com/francoismassart/eslint-plugin-tailwindcss)) - Linting rules for Tailwind CSS classnames.### Misc
- <b><code> 194⭐</code></b> <b><code> 14🍴</code></b> [Diff](https://github.com/paleite/eslint-plugin-diff)) - Run ESLint on your changed lines only. Also supports CI!
- <b><code> 10⭐</code></b> <b><code> 0🍴</code></b> [Misc](https://github.com/ilyub/eslint-plugin-misc)) - Miscellaneous rules including rules for creating custom checks and wrapping (modifying) third-party rules.
- <b><code> 24⭐</code></b> <b><code> 3🍴</code></b> [Notice](https://github.com/nickdeis/eslint-plugin-notice)) - An eslint rule that checks the top of files and fixes them too!
- <b><code> 17⭐</code></b> <b><code> 3🍴</code></b> [Only-Error](https://github.com/davidjbradshaw/eslint-plugin-only-error)) - Convert all rules to errors.
- <b><code> 172⭐</code></b> <b><code> 14🍴</code></b> [Only-Warn](https://github.com/bfanger/eslint-plugin-only-warn)) - Convert all rules to warnings.
- <b><code> 741⭐</code></b> <b><code> 40🍴</code></b> [PutOut](https://github.com/coderaiser/putout/tree/master/packages/eslint-plugin-putout)) - an ESLint plugin integrates <b><code> 741⭐</code></b> <b><code> 40🍴</code></b> [putout](https://github.com/coderaiser/putout)) linter into ESLint.
- <b><code> 174⭐</code></b> <b><code> 5🍴</code></b> [TypeLint](https://github.com/yarax/eslint-plugin-typelint)) - Introduces types, based on existing schemas (Swagger, Redux) and linting access to object properties, preventing `undefined` errors.
- <b><code> 36⭐</code></b> <b><code> 2🍴</code></b> [Woke](https://github.com/amwmedia/eslint-plugin-woke)) - Helps catch insensitive words, promoting an inclusive codebase.### Practices and Specific ES Features
- <b><code> 96⭐</code></b> <b><code> 7🍴</code></b> [array-func](https://github.com/freaktechnik/eslint-plugin-array-func)) - Avoid redundancy when using es2015 array methods and functions.
- <b><code> 309⭐</code></b> <b><code> 15🍴</code></b> [arrow functions](https://github.com/getify/eslint-plugin-proper-arrows)) - ESLint rules to ensure proper arrow function definitions.
- <b><code> 636⭐</code></b> <b><code> 12🍴</code></b> [boundaries](https://github.com/javierbrea/eslint-plugin-boundaries)) - Ensures that your architecture boundaries are respected by the elements in your project checking file structure and dependencies.
- <b><code> 66⭐</code></b> <b><code> 11🍴</code></b> [@eslint-community/eslint-plugin-eslint-comments](https://github.com/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`.
- <b><code> 302⭐</code></b> <b><code> 17🍴</code></b> [eslint-plugin-hexagonal-architecture](https://github.com/CodelyTV/eslint-plugin-hexagonal-architecture)) - A plugin that helps you to enforce hexagonal architecture best practices.
- <b><code> 38⭐</code></b> <b><code> 3🍴</code></b> [eslint-plugin-write-good-comments](https://github.com/kantord/eslint-plugin-write-good-comments)) - Enforce good writing style in comments.
- <b><code> 41⭐</code></b> <b><code> 2🍴</code></b> [eslint-plugin-exception-handling](https://github.com/Akronae/eslint-plugin-exception-handling)) - Lints unhandled functions that might throw errors.
- <b><code> 972⭐</code></b> <b><code> 36🍴</code></b> [fp](https://github.com/jfmengels/eslint-plugin-fp)) - ESLint rules for functional programming.
- <b><code> 899⭐</code></b> <b><code> 31🍴</code></b> [functional](https://github.com/jonaskello/eslint-plugin-functional)) - ESLint rules to disable mutation and promote fp in JavaScript and TypeScript.
- <b><code> 912⭐</code></b> <b><code> 18🍴</code></b> [Immutable](https://github.com/jhusain/eslint-plugin-immutable)) - Disable all mutation in JavaScript.
- <b><code> 5704⭐</code></b> <b><code> 1584🍴</code></b> [import](https://github.com/benmosher/eslint-plugin-import)) - Linting of ES2015+ import/export syntax, and prevent issues with misspelling of file paths and import names.
- <b><code> 513⭐</code></b> <b><code> 32🍴</code></b> [import-x](https://github.com/un-ts/eslint-plugin-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.
- <b><code> 26⭐</code></b> <b><code> 1🍴</code></b> [new-with-error](https://github.com/Trott/eslint-plugin-new-with-error)) - Require errors to be thrown using `new`.
<!-- lint ignore awesome-spell-check -->
- <b><code> 3⭐</code></b> <b><code> 0🍴</code></b> [no-argument-spread](https://github.com/causalhq/eslint-plugin-no-argument-spread)) - Lints against expressions like `Math.max(...args)` that can lead to a stack overflow for large arrays.
- <b><code> 13⭐</code></b> <b><code> 2🍴</code></b> [no-comments](https://github.com/wisniewski94/eslint-plugin-no-comments)) - Prevents leaking comments into production if bundler is not used and stops developers from commenting out old lines of code.
- <b><code> 12⭐</code></b> <b><code> 1🍴</code></b> [no-constructor-bind](https://github.com/markalfred/eslint-plugin-no-constructor-bind)) - Encourages use of class properties by reporting use of `this` with `bind` or setting state in constructors.
- <b><code> 27⭐</code></b> <b><code> 4🍴</code></b> [no-inferred-method-name](https://github.com/johnstonbl01/eslint-no-inferred-method-name)) - Custom rule for ESLint that checks for inferred method names within object literals.
- <b><code> 130⭐</code></b> <b><code> 5🍴</code></b> [no-loops](https://github.com/buildo/eslint-plugin-no-loops)) - It's 2019 and you still use loops?
- <b><code> 5⭐</code></b> <b><code> 0🍴</code></b> [no-restricted-syntax](https://github.com/brettz9/eslint-plugin-query)) - Show queried syntax's content in messages.
- <b><code> 56⭐</code></b> <b><code> 4🍴</code></b> [no-use-extend-native](https://github.com/dustinspecker/eslint-plugin-no-use-extend-native)) - Prevent using extended native objects.
- <b><code> 958⭐</code></b> <b><code> 94🍴</code></b> [Promise](https://github.com/xjamundx/eslint-plugin-promise)) - Best practices when working with promises.
- <b><code> 30⭐</code></b> <b><code> 1🍴</code></b> [pure](https://github.com/purely-functional/eslint-plugin-pure)) - Enforce pure functions (without side effects).
- 🌎 [ReDoS](makenowjust-labs.github.io/recheck/docs/usage/as-eslint-plugin/) - ESLint plugin for finding possible ReDoS vulnerabilities.
- <b><code> 12⭐</code></b> <b><code> 0🍴</code></b> [ReDoSDetector](https://github.com/tjenkinson/eslint-plugin-redos-detector)) - ESLint plugin for finding possible ReDoS vulnerabilities.
- <b><code> 720⭐</code></b> <b><code> 11🍴</code></b> [RegExp](https://github.com/ota-meshi/eslint-plugin-regexp)) - ESLint plugin for finding regexp mistakes and style guide violations.
- <b><code> 99⭐</code></b> <b><code> 23🍴</code></b> [sort-keys-fix](https://github.com/leo-buneev/eslint-plugin-sort-keys-fix)) - Adds fixer for ESLint `sort-keys` rule.
- <b><code> 16⭐</code></b> <b><code> 1🍴</code></b> [this](https://github.com/matijs/eslint-plugin-this)) - Write pure functions, don't allow `this`.
- <b><code> 19⭐</code></b> <b><code> 3🍴</code></b> [toplevel](https://github.com/HKalbasi/eslint-plugin-toplevel)) - An eslint plugin for disallow side effect at module toplevel.### Performance
- <b><code> 9⭐</code></b> <b><code> 0🍴</code></b> [DOM](https://github.com/amilajack/eslint-plugin-dom))
- <b><code> 76⭐</code></b> <b><code> 7🍴</code></b> [Optimize Regex](https://github.com/BrainMaestro/eslint-plugin-optimize-regex)) - Optimize regex literals.
- Perf-Standard <b><code> 23⭐</code></b> <b><code> 3🍴</code></b> [plugin](https://github.com/Raynos/eslint-plugin-perf-standard)) and <b><code> 3⭐</code></b> <b><code> 0🍴</code></b> [Config](https://github.com/Raynos/eslint-config-perf-standard))### Security
- <b><code> 146⭐</code></b> <b><code> 5🍴</code></b> [no-secrets](https://github.com/nickdeis/eslint-plugin-no-secrets)) - An eslint plugin that detects potential secrets/credentials.
- <b><code> 236⭐</code></b> <b><code> 37🍴</code></b> [no-unsanitized](https://github.com/mozilla/eslint-plugin-no-unsanitized)) - Checks for `innerHTML`, `outerHTML`, etc.
- <b><code> 9⭐</code></b> <b><code> 0🍴</code></b> [pii](https://github.com/shiva-hack/eslint-plugin-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.
- ScanJS <b><code> 88⭐</code></b> <b><code> 11🍴</code></b> [config](https://github.com/mozfreddyb/eslint-config-scanjs)) and <b><code> 28⭐</code></b> <b><code> 6🍴</code></b> [plugin](https://github.com/mozfreddyb/eslint-plugin-scanjs-rules)) - Security-related rules.
- <b><code> 2265⭐</code></b> <b><code> 106🍴</code></b> [Security](https://github.com/nodesecurity/eslint-plugin-security)) - ESLint rules for Node Security.
- <b><code> 67⭐</code></b> <b><code> 16🍴</code></b> [xss](https://github.com/Rantanen/eslint-plugin-xss)) - Tries to detect XSS issues in codebase before they end up in production.### Style
- 🌎 [ESLint Stylistic](eslint.style/) - 🌎 [Formatting and stylistic ESLint core rules moved to this project and are maintained by the community.](eslint.org/blog/2023/10/deprecating-formatting-rules/)
- 🌎 [const case](www.npmjs.com/package/eslint-plugin-const-case) - Enforce capitalization of constant primitive literals.
- <b><code> 16⭐</code></b> <b><code> 1🍴</code></b> [editorconfig](https://github.com/platinumazure/eslint-plugin-editorconfig)) - Derive rules from 🌎 [`.editorconfig`](editorconfig.org/).
- <b><code> 322⭐</code></b> <b><code> 36🍴</code></b> [filenames](https://github.com/selaux/eslint-plugin-filenames)) - Ensure consistent filenames for your JavaScript files. No longer maintained and does not work with ESlint 9 at all.
- <b><code> 2240⭐</code></b> <b><code> 72🍴</code></b> [Simple import sort](https://github.com/lydell/eslint-plugin-simple-import-sort)) - Easy autofixable import sorting.
- <b><code> 2414⭐</code></b> <b><code> 46🍴</code></b> [perfectionist sorting](https://github.com/azat-io/eslint-plugin-perfectionist)) - Sort objects, imports, TypeScript types, enums, JSX props, etc.
- <b><code> 17⭐</code></b> <b><code> 2🍴</code></b> [Switch case](https://github.com/lukeapage/eslint-plugin-switch-case)) - Switch-case-specific linting rules for ESLint.
- <b><code> 6⭐</code></b> <b><code> 1🍴</code></b> [padding](https://github.com/mu-io/eslint-plugin-padding)) - Allows/disallows padding between statements.
- <b><code> 76⭐</code></b> <b><code> 2🍴</code></b> [paths](https://github.com/vitonsky/eslint-plugin-paths)) - Use paths from tsconfig/jsconfig and auto fix relative paths to aliases.### Testing Tools
- <b><code> 229⭐</code></b> <b><code> 49🍴</code></b> [AVA](https://github.com/avajs/eslint-plugin-ava)) - Linting rules for AVA.
- Chai
- <b><code> 27⭐</code></b> <b><code> 13🍴</code></b> [expect practices](https://github.com/turbo87/eslint-plugin-chai-expect))
- <b><code> 55⭐</code></b> <b><code> 9🍴</code></b> [with unused expressions](https://github.com/ihordiachenko/eslint-plugin-chai-friendly))
- <b><code> 1⭐</code></b> <b><code> 1🍴</code></b> [permitted keywords](https://github.com/gavinaiken/eslint-plugin-chai-expect-keywords))
- <b><code> 4⭐</code></b> <b><code> 2🍴</code></b> [with chai-as-promised plugin](https://github.com/fintechstudios/eslint-plugin-chai-as-promised))
<!-- lint disable double-link -->
- <b><code> 2⭐</code></b> <b><code> 0🍴</code></b> [globals](https://github.com/t-huth/eslint-plugin-chai-assert-bdd))
- <b><code> 8⭐</code></b> <b><code> 5🍴</code></b> [Cucumber](https://github.com/darrinholst/eslint-plugin-cucumber)) - Linting rules for Cucumber.
- <b><code> 716⭐</code></b> <b><code> 92🍴</code></b> [Cypress](https://github.com/cypress-io/eslint-plugin-cypress)) - Linting rules for Cypress.
- <b><code> 95⭐</code></b> <b><code> 57🍴</code></b> [Jasmine](https://github.com/tlvince/eslint-plugin-jasmine)) - Linting rules for Jasmine.
- Jest
- <b><code> 1152⭐</code></b> <b><code> 241🍴</code></b> [Enforcing practices](https://github.com/jest-community/eslint-plugin-jest)) - Linting rules for Jest.
- <b><code> 154⭐</code></b> <b><code> 13🍴</code></b> [Enforcing consistent formatting](https://github.com/dangreenisrael/eslint-plugin-jest-formatting)) - Formatting rules for Jest.
- 🌎 [Jest-async](www.npmjs.com/package/eslint-plugin-jest-async) - Async linting rule for Jest.
- <b><code> 368⭐</code></b> <b><code> 40🍴</code></b> [Jest-DOM](https://github.com/testing-library/eslint-plugin-jest-dom)) - Linting rules for Jest-DOM.
- Mocha
- <b><code> 284⭐</code></b> <b><code> 61🍴</code></b> [Enforcing practices](https://github.com/lo1tuma/eslint-plugin-mocha)) - Linting rules for Mocha.
- <b><code> ?⭐</code></b> <b><code> ?🍴</code></b> [Enforcing manageability](https://github.com/onechiporenko/eslint-plugin-mocha-cleanup/))
- <b><code> 312⭐</code></b> <b><code> 42🍴</code></b> [Playwright](https://github.com/playwright-community/eslint-plugin-playwright)) - Linting rules for Playwright.
- <b><code> 30⭐</code></b> <b><code> 22🍴</code></b> [QUnit](https://github.com/platinumazure/eslint-plugin-qunit)) - Linting rules for QUnit.
- <b><code> 4⭐</code></b> <b><code> 2🍴</code></b> [TestCafe-Community](https://github.com/testcafe-community/eslint-plugin-testcafe-community)) - TestCafe linting rules with env globals (fork from <b><code> 15⭐</code></b> <b><code> 7🍴</code></b> [TestCafe globals](https://github.com/miherlosev/eslint-plugin-testcafe))).
- <b><code> 1007⭐</code></b> <b><code> 147🍴</code></b> [Testing Library](https://github.com/testing-library/eslint-plugin-testing-library)) - Linting rules for Testing Library.## Parsers
- <b><code> 43503⭐</code></b> <b><code> 5701🍴</code></b> [babel-eslint-parser](https://github.com/babel/babel/tree/main/eslint/babel-eslint-parser)) - Allows you to lint ALL valid Babel code with the fantastic ESLint.
- <b><code> 15655⭐</code></b> <b><code> 2775🍴</code></b> [TypeScript](https://github.com/typescript-eslint/typescript-eslint)) - A TypeScript parser that produces output compatible with ESLint.
- <b><code> 47⭐</code></b> <b><code> 9🍴</code></b> [BrightScript](https://github.com/RokuRoad/eslint-plugin-roku)) - BrightScript plugin for Roku development. Includes Parser and Rules.
- <b><code> 821⭐</code></b> <b><code> 109🍴</code></b> [GraphQL](https://github.com/dotansimha/graphql-eslint)) - Parser for the GraphQL AST. Includes parser, plugin, processor (for non-graphql files) and rules.## Formatters
<!-- ignore is to keep "github" lower-case -->
<!--lint ignore awesome-spell-check-->- <b><code> 37⭐</code></b> <b><code> 6🍴</code></b> [html](https://github.com/shuoshubao/eslint-formatter-html)) - A enhanced ESLint formatter.
- <b><code> 6⭐</code></b> <b><code> 5🍴</code></b> [badger](https://github.com/brettz9/eslint-formatter-badger)) - Make SVG-based badges summarizing ESLint results (e.g., for use on a README).
- <b><code> 41⭐</code></b> <b><code> 0🍴</code></b> [git-log](https://github.com/JamieMason/eslint-formatter-git-log)) - ESLint Formatter featuring Git Author, Date, and Hash.
- <b><code> 107⭐</code></b> <b><code> 3🍴</code></b> [github](https://github.com/hipstersmoothie/eslint-formatter-github)) - See ESLint errors and warnings directly in pull requests.
- 🌎 [gitlab](gitlab.com/remcohaszing/eslint-formatter-gitlab) - Output ESLint results in the GitLab code quality results.
- <b><code> 130⭐</code></b> <b><code> 0🍴</code></b> [mo](https://github.com/fengzilong/eslint-formatter-mo)) - Good-lookin' ESLint formatter and also for delightful reading experience.
- 🌎 [SARIF](www.npmjs.com/package/@microsoft/eslint-formatter-sarif) - Generate a results in a SARIF format so it can be imported into tools like GitHub Advanced Security.
- <b><code> 12⭐</code></b> <b><code> 3🍴</code></b> [summary-chart](https://github.com/davidjbradshaw/eslint-formatter-summary-chart)) - Format ESLint output into a bar chart.## Globals
- <b><code>103142⭐</code></b> <b><code> 27006🍴</code></b> [confusing-browser-globals](https://github.com/facebook/create-react-app/tree/main/packages/confusing-browser-globals)) - A curated list of browser globals that commonly cause confusion and are not recommended to use without an explicit window. qualifier.
- <b><code> 459⭐</code></b> <b><code> 119🍴</code></b> [ES and browser globals](https://github.com/sindresorhus/globals)) (originally from ESLint)
- <b><code> 2⭐</code></b> <b><code> 0🍴</code></b> [chai globals](https://github.com/t-huth/eslint-plugin-chai-assert-bdd))
- <b><code> 15⭐</code></b> <b><code> 7🍴</code></b> [TestCafe globals](https://github.com/miherlosev/eslint-plugin-testcafe)) - `fixture` & `test` globals for TestCafe.## Tools
- <b><code> 365⭐</code></b> <b><code> 26🍴</code></b> [eslint-define-config](https://github.com/Shinigami92/eslint-define-config)) - Provide a `defineConfig` function for `.eslintrc.js` files.
- <b><code> 2⭐</code></b> <b><code> 1🍴</code></b> [es-file-traverse](https://github.com/brettz9/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.
- <b><code> 212⭐</code></b> <b><code> 38🍴</code></b> [eslint-find-rules](https://github.com/sarbbottam/eslint-find-rules)) - Find built-in ESLint rules you don't have in your custom config.
- <b><code> 20⭐</code></b> <b><code> 4🍴</code></b> [eslint-index](https://github.com/wagerfield/eslint-index)) - CLI for finding and managing rules in ESLint config files.
- <b><code> 397⭐</code></b> <b><code> 9🍴</code></b> [eslint-interactive](https://github.com/mizdra/eslint-interactive)) - The CLI tool to fix huge number of ESLint errors.
- <b><code> 7⭐</code></b> <b><code> 1🍴</code></b> [eslint-multiplexer](https://github.com/pimlie/eslint-multiplexer)) - Multiplex eslint results and merge results for common files.
- <b><code> 822⭐</code></b> <b><code> 29🍴</code></b> [eslint-nibble](https://github.com/IanVS/eslint-nibble)) - Ease into ESLint, by fixing one rule at a time.
- <b><code> 1⭐</code></b> <b><code> 0🍴</code></b> [eslint-plugin-rule-adoption](https://github.com/Jugbot/eslint-plugin-rule-adoption)) - An eslint plugin for incremental rule adoption, when `--fix` and codemods don't cut it.
- <b><code> 30⭐</code></b> <b><code> 31🍴</code></b> [eslint-rule-documentation](https://github.com/jfmengels/eslint-rule-documentation)) - Find the url for the documentation of an ESLint rule.
- <b><code> 197⭐</code></b> <b><code> 29🍴</code></b> [eslint-watch](https://github.com/rizowski/eslint-watch)) - Run ESLint with watch mode.
- <b><code> 16⭐</code></b> <b><code> 19🍴</code></b> [codacy-eslint](https://github.com/codacy/codacy-eslint)) - Docker used at 🌎 [Codacy](www.codacy.com) to run ESLint.
- <b><code> 661⭐</code></b> <b><code> 54🍴</code></b> [esprint](https://github.com/pinterest/esprint)) - Run ESLint across multiple threads.
- <b><code> 236⭐</code></b> <b><code> 50🍴</code></b> [generator-eslint](https://github.com/eslint/generator-eslint)) - Generate ESLint
plugin and rules with [Yeoman](http://yeoman.io/).
- <b><code> 6⭐</code></b> <b><code> 1🍴</code></b> [editor-info](https://github.com/fisker/editor-info)) - Detect whether one is within an editor/IDE and which type, allowing one to tweak ESLint configuration accordingly.
- <b><code> 19⭐</code></b> <b><code> 0🍴</code></b> [eslint-dashboard](https://github.com/fengzilong/eslint-dashboard)) - Interactive ESLint workflow that lives in your terminal.
- <b><code> 131⭐</code></b> <b><code> 11🍴</code></b> [eslint-remote-tester](https://github.com/AriPerkkio/eslint-remote-tester)) - CLI tool for testing given ESlint rules against multiple repositories at once.## Developing for ESLint
- <b><code> 97⭐</code></b> <b><code> 10🍴</code></b> [eslint-doc-generator](https://github.com/bmish/eslint-doc-generator)) - Generate documentation for your ESLint plugin including a rules table for your readme and header for your rule docs.
- <b><code> 10⭐</code></b> <b><code> 7🍴</code></b> [eslint-docgen](https://github.com/wikimedia/eslint-docgen)) - Automatically generate ESLint plugin documentation from rule metadata and test cases.## Tutorials
- 🌎 [Creating an ESLint Plugin](medium.com/tumblbug-engineering/creating-an-eslint-plugin-87f1cb42767f) - Article walking through the creation of an ESLint rule and plugin.
- 🌎 [Lint Like It's 2015](medium.com/@dan_abramov/lint-like-it-s-2015-6987d44c5b48#.5p3yk0b03) - Article walking through the benefits of using ESLint.
- 🌎 [Linting JavaScript with ESLint](egghead.io/lessons/javascript-linting-javascript-with-eslint) - Video showing ESLint setup and basics.
- 🌎 [Linting React JSX with ESLint (in ES6)](egghead.io/lessons/react-linting-react-jsx-with-eslint-in-es6) - Video showing how to use React and JSX with ESLint.
- 🌎 [Plugin Module with Mixins](chrysanthium.com/eslint-integration) - Article on how to write a plugin as a node module containing modular mixin configuration.
- [Writing a rule to spot undeclared props hiding in plain sight](http://blog.cowchimp.com/writing-a-custom-eslint-rule-to-spot-undeclared-props/) - Article about creating rules that require scope analysis.## Installation and Setup
- <b><code> 27⭐</code></b> <b><code> 0🍴</code></b> [Lintier](https://github.com/josh-stillman/lintier)) - CLI to quickly scaffold an ESLint & Prettier setup in a TypeScript project.
## Source
<b><code> 4515⭐</code></b> <b><code> 234🍴</code></b> [dustinspecker/awesome-eslint](https://github.com/dustinspecker/awesome-eslint))