A list of awesome ESLint configs, plugins, etc.
If you want to contribute, please read the contribution guidelines.
- Configs
- Preconfigured Configs with ESLint Set up
- Plugins
- Parsers
- Formatters
- Globals
- Tools
- Developing for ESLint
- Tutorials
- Installation and Setup
143117⭐
26310🍴
Airbnb) - Shareable config for143117⭐
26310🍴
Airbnb's style guide).3⭐
2🍴
Airbnb-babel) - Airbnb's ESLint config with Babel Support.1036⭐
87🍴
Airbnb-typescript) - Airbnb's ESLint config with TypeScript support.2638⭐
318🍴
Alloy) - Progressive ESLint config for your React/Vue/TypeScript projects.24611⭐
4434🍴
ESLint) - Contains the ESLint configuration used for projects maintained by the ESLint team.- 🌎 Facebook - Sharable config for Facebook's style guide.
9⭐
3🍴
Feedzai) - Feedzai's shareable config for JavaScript/React projects.102225⭐
26686🍴
React App) - Sharable config for 🌎 React projects.461⭐
55🍴
Shopify) - Shareable config for253⭐
38🍴
Shopify's style guide).1187⭐
29🍴
Vercel) - Vercel Engineering's composable eslint configuration used in all their codebases.28⭐
19🍴
Wikimedia) - Shareable config for 🌎 Wikimedia's style guide, used by 🌎 MediaWiki.
396⭐
13🍴
Auto) - Automatically configure ESLint based on your project's dependencies.576⭐
30🍴
Canonical) - Shareable config for18⭐
5🍴
Canonical style guide).
2590⭐
567🍴
Standard) - Shareable config for JavaScript28983⭐
2325🍴
Standard Style).266⭐
43🍴
XO) - Shareable config for7599⭐
285🍴
XO).3437⭐
400🍴
Antfu Eslint Config) - Anthony's ESLint config preset.
50⭐
8🍴
Adjunct) - A reasonable collection of plugins to use alongside your main ESLint configuration.6⭐
1🍴
Ash-Nazg) - One config to rule them all!6⭐
0🍴
Cecilia) - ESLint configuration for awesome projects.1⭐
0🍴
clean-typescript) - Enforce classic JavaScript featuress in TypeScript codebase by banning excessive keywords.28⭐
5🍴
ES) - Shareable config for very strict code.402⭐
13🍴
Hardcore) - The most strict (but practical) ESLint config out there.67⭐
3🍴
Problems) - Shareable config that only catches actual problems, and doesn't enforce stylistic preferences.4⭐
1🍴
Supermind) - Shareable config for Supermind style.97⭐
5🍴
Sheriff) - Comprehensive and highly opinionated Eslint configuration. Typescript oriented.
6⭐
1🍴
Node.js Standard Style) - Node.js core config.5334⭐
252🍴
eslint-config-prettier) - Prettier config for ESlint maintained by Prettier team.28983⭐
2325🍴
Standard) - JavaScript Standard Style.5⭐
0🍴
Superlint) - JavaScript Supermind Style.7599⭐
285🍴
XO) - JavaScript happiness style linter ❤️.84⭐
5🍴
Healthier) - Code style agnostic version of Standard, perfect companion to Prettier.
130⭐
4🍴
depend) - Helps detect dependency tree bloat and redundant polyfills.285⭐
51🍴
GitHub) - Misc. rules from GitHub.1167⭐
73🍴
SonarJS) - Rules detecting bugs and suspicious patterns.3985⭐
360🍴
Unicorn) - Various awesome ESLint rules.25⭐
10🍴
@mysticatea/eslint-plugin) - Misc. rules.2⭐
0🍴
@brettz9/eslint-plugin) - Misc. rules. of@mysticatea
without the personal config.
3045⭐
102🍴
Compat) - Lint browser compatibility of APIs used (caniuse as an ESLint plugin).64⭐
13🍴
ecmascript-compat) - Disable ECMAScript language features not supported by your browserslist targets.109⭐
10🍴
es-x) - Disable specific ECMAScript language versions or individual features. Properly maintained fork of no longer maintainedeslint-plugin-es
.54⭐
20🍴
es5) - ESLint plugin for ES5 users (forbid ES2015+ usage).14⭐
3🍴
ie11) - Detect unsupported ES6 features in IE11.
153⭐
34🍴
CSS-modules) - Lint undefined or unused rules for css modules.17322⭐
1097🍴
Emotion) - ESLint rules for emotion.- Styled Components
64⭐
9🍴
Better Styled Components) - Auto fixable ESlint's rules for styled components.141⭐
19🍴
styled-components-a11y) - A11y for Styled Components.
81⭐
11🍴
deprecate) - Mark functions or modules as deprecated and get lint messages when they are used.309⭐
35🍴
deprecation) - Identifies use of jsdoc@deprecated
functions.57⭐
3🍴
disable) - Disable specified plugins using file path patterns and inline comments.
427⭐
51🍴
HTML) - Linting for JavaScript inside of HTML<script>
tags.368⭐
59🍴
Markdown) - Linting for JavaScript inside of Markdown.
1593⭐
217🍴
Angular) - Linting rules for Angular (v2+).618⭐
131🍴
AngularJS) - Linting rules to adhere to the23903⭐
4159🍴
John Papa's AngularJS Styleguide).288⭐
21🍴
Astro) - Plugin for 🌎 Astro components.95⭐
11🍴
Backbone) - Linting rules for Backbone.57⭐
12🍴
Custom Elements) - Rules by GitHub for Custom Elements.257⭐
199🍴
Ember) - Linting rules for Ember.21⭐
10🍴
Hapi) - Linting rules for hapi.44143⭐
5160🍴
Meteor) - Meteor specific linting rules for ESLint.- React
21⭐
3🍴
JSX a11y) - Accessibility rules on JSX elements.8867⭐
2755🍴
React) - Linting rules for React and JSX.225119⭐
45899🍴
React Hooks) - Linting rules for React Hooks.718⭐
128🍴
React Native) - React Native specific linting rules.83⭐
17🍴
React-Redux) - React-Redux specific linting rules.
207⭐
24🍴
Solid) - Linting rules for Solid and JSX.279⭐
30🍴
Svelte) - Linting rules for Svelte v3 Components.- Vue
4406⭐
659🍴
VueJS) - Plugin for VueJS.96⭐
9🍴
VueJS Scoped CSS) - Plugin for Scoped CSS in VueJS.
- 🌎 AssemblyScript - Rules for enforcing restrictions on TypeScript toward AssemblyScript compliance.
43053⭐
5601🍴
Babel) - Adds replacements for built-in rules to include Babel features.11⭐
0🍴
Coffee) - Enables linting CoffeeScript files with, with optional linting rules from the Coffeelint library.189⭐
26🍴
eslint-plugin-eslint-plugin) - An ESLint plugin for linting ESLint plugins.- Flow
1078⭐
153🍴
Flow) - Flow type linting rules.402⭐
32🍴
Flow Errors) - Run Flow as an ESLint plugin.
147⭐
28🍴
HTML) - ESLint plugin for HTML.- JSON
196⭐
28🍴
JSON) - Lint your JSON files.41⭐
3🍴
JSON, package.json) - Lint, format, and auto-fix your JSON files. Sort yourpackage.json
.180⭐
17🍴
JSON with Comments) - ESLint plugin for JSON, JSONC and JSON5.67⭐
5🍴
JSON Schema) - Validates data defined in JavaScript, JSON, YAML and TOML using JSON Schema Validator.
258⭐
29🍴
MDX) - ESLint Parser/Plugin for MDX.195⭐
37🍴
N) - Additional ESLint's rules for Node.js. Properly maintained fork of no longer maintainedeslint-plugin-node
.91⭐
23🍴
SQL) - SQL linting rules for ESLint.25⭐
2🍴
TOML) - ESLint plugin for TOML.14917⭐
2677🍴
TypeScript) - Linting rules for TypeScript.108⭐
12🍴
YAML) - ESLint plugin for YAML.
- GraphQL
779⭐
102🍴
dotansimha/graphql-eslint) - Validates, prettifies and checks your GraphQL operations and GraphQL schema for best-practices.1208⭐
103🍴
apollostack/eslint-plugin-graphql) - Check your GraphQL query strings against a schema.
17⭐
3🍴
TypeGraphQL) - Linting rules for TypeGraphQL, targeted at finding common mistakes.31⭐
8🍴
jQuery) - Linting rules for jQuery, including versioned configs for deprecated features.1071⭐
155🍴
JSDoc) - Linting rules for JSDoc comments (including the JavaScript within@example
).- Lodash
273⭐
65🍴
Lodash) - Lodash specific linting rules.150⭐
29🍴
Lodash/fp) - Lodash/fp specific linting rules.17⭐
2🍴
Lodash template) - Plugin for Lodash template/Underscore template.4⭐
2🍴
Microtemplates) (Used in Lodash and Underscore.js)
17⭐
3🍴
Mongodb) - Mongodb native Node.js driver linting rules.118⭐
11🍴
Ramda) - Ramda specific linting rules.29⭐
16🍴
RequireJS) - Linting rules for RequireJS.1372⭐
64🍴
Tailwind CSS) - Linting rules for Tailwind CSS classnames.
165⭐
13🍴
Diff) - Run ESLint on your changed lines only. Also supports CI!8⭐
0🍴
Misc) - Miscellaneous rules including rules for creating custom checks and wrapping (modifying) third-party rules.26⭐
2🍴
Notice) - An eslint rule that checks the top of files and fixes them too!15⭐
3🍴
Only-Error) - Convert all rules to errors.155⭐
15🍴
Only-Warn) - Convert all rules to warnings.682⭐
39🍴
PutOut) - an ESLint plugin integrates682⭐
39🍴
putout) linter into ESLint.175⭐
5🍴
TypeLint) - Introduces types, based on existing schemas (Swagger, Redux) and linting access to object properties, preventingundefined
errors.31⭐
1🍴
Woke) - Helps catch insensitive words, promoting an inclusive codebase.
93⭐
7🍴
array-func) - Avoid redundancy when using es2015 array methods and functions.305⭐
14🍴
arrow functions) - ESLint rules to ensure proper arrow function definitions.476⭐
8🍴
boundaries) - Ensures that your architecture boundaries are respected by the elements in your project checking file structure and dependencies.44⭐
6🍴
@eslint-community/eslint-plugin-eslint-comments) - Best practices about ESLint directive comments (/*eslint-disable*/
, etc.). Properly maintained fork of no longer maintainedeslint-plugin-eslint-comments
.284⭐
16🍴
eslint-plugin-hexagonal-architecture) - A plugin that helps you to enforce hexagonal architecture best practices.32⭐
3🍴
eslint-plugin-write-good-comments) - Enforce good writing style in comments.15⭐
0🍴
eslint-plugin-exception-handling) - Lints unhandled functions that might throw errors.968⭐
36🍴
fp) - ESLint rules for functional programming.756⭐
29🍴
functional) - ESLint rules to disable mutation and promote fp in JavaScript and TypeScript.912⭐
17🍴
Immutable) - Disable all mutation in JavaScript.5383⭐
1542🍴
import) - Linting of ES2015+ import/export syntax, and prevent issues with misspelling of file paths and import names. Still does not work with ESlint 9 and does not support flat configs.248⭐
12🍴
import-x) - Linting of ES2015+ import/export syntax, and prevent issues with misspelling of file paths and import names. Properly maintained lightweight fork ofeslint-plugin-import
with the proper support of latest ESlint.25⭐
1🍴
new-with-error) - Require errors to be thrown usingnew
.
3⭐
0🍴
no-argument-spread) - Lints against expressions likeMath.max(...args)
that can lead to a stack overflow for large arrays.11⭐
2🍴
no-comments) - Prevents leaking comments into production if bundler is not used and stops developers from commenting out old lines of code.12⭐
1🍴
no-constructor-bind) - Encourages use of class properties by reporting use ofthis
withbind
or setting state in constructors.27⭐
4🍴
no-inferred-method-name) - Custom rule for ESLint that checks for inferred method names within object literals.125⭐
5🍴
no-loops) - It's 2019 and you still use loops?4⭐
0🍴
no-restricted-syntax) - Show queried syntax's content in messages.56⭐
4🍴
no-use-extend-native) - Prevent using extended native objects.911⭐
89🍴
Promise) - Best practices when working with promises.29⭐
1🍴
pure) - Enforce pure functions (without side effects).- 🌎 ReDoS - ESLint plugin for finding possible ReDoS vulnerabilities.
4⭐
0🍴
ReDoSDetector) - ESLint plugin for finding possible ReDoS vulnerabilities.676⭐
10🍴
RegExp) - ESLint plugin for finding regexp mistakes and style guide violations.95⭐
22🍴
sort-keys-fix) - Adds fixer for ESLintsort-keys
rule.16⭐
1🍴
this) - Write pure functions, don't allowthis
.19⭐
2🍴
toplevel) - An eslint plugin for disallow side effect at module toplevel.
9⭐
0🍴
DOM)74⭐
7🍴
Optimize Regex) - Optimize regex literals.- Perf-Standard
22⭐
3🍴
plugin) and3⭐
0🍴
Config)
127⭐
4🍴
no-secrets) - An eslint plugin that detects potential secrets/credentials.223⭐
34🍴
no-unsanitized) - Checks forinnerHTML
,outerHTML
, etc.8⭐
0🍴
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
88⭐
11🍴
config) and28⭐
6🍴
plugin) - Security-related rules. 2162⭐
108🍴
Security) - ESLint rules for Node Security.67⭐
16🍴
xss) - Tries to detect XSS issues in codebase before they end up in production.
- 🌎 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.
13⭐
1🍴
editorconfig) - Derive rules from 🌎.editorconfig
.310⭐
35🍴
filenames) - Ensure consistent filenames for your JavaScript files. No longer maintained and does not work with ESlint 9 at all.1979⭐
67🍴
Simple import sort) - Easy autofixable import sorting.1679⭐
31🍴
perfectionist sorting) - Sort objects, imports, TypeScript types, enums, JSX props, etc.17⭐
1🍴
Switch case) - Switch-case-specific linting rules for ESLint.4⭐
1🍴
padding) - Allows/disallows padding between statements.43⭐
0🍴
paths) - Use paths from tsconfig/jsconfig and auto fix relative paths to aliases.
227⭐
49🍴
AVA) - Linting rules for AVA.- Chai
27⭐
13🍴
expect practices)51⭐
10🍴
with unused expressions)1⭐
1🍴
permitted keywords)4⭐
2🍴
with chai-as-promised plugin)
2⭐
0🍴
globals)
7⭐
5🍴
Cucumber) - Linting rules for Cucumber.695⭐
87🍴
Cypress) - Linting rules for Cypress.95⭐
56🍴
Jasmine) - Linting rules for Jasmine.- Jest
1115⭐
228🍴
Enforcing practices) - Linting rules for Jest.152⭐
13🍴
Enforcing consistent formatting) - Formatting rules for Jest.- 🌎 Jest-async - Async linting rule for Jest.
355⭐
41🍴
Jest-DOM) - Linting rules for Jest-DOM.
- Mocha
276⭐
63🍴
Enforcing practices) - Linting rules for Mocha.?⭐
?🍴
Enforcing manageability)
246⭐
30🍴
Playwright) - Linting rules for Playwright.30⭐
21🍴
QUnit) - Linting rules for QUnit.4⭐
2🍴
TestCafe-Community) - TestCafe linting rules with env globals (fork from15⭐
7🍴
TestCafe globals)).973⭐
135🍴
Testing Library) - Linting rules for Testing Library.
43053⭐
5601🍴
babel-eslint-parser) - Allows you to lint ALL valid Babel code with the fantastic ESLint.14917⭐
2677🍴
TypeScript) - A TypeScript parser that produces output compatible with ESLint.43⭐
8🍴
BrightScript) - BrightScript plugin for Roku development. Includes Parser and Rules.779⭐
102🍴
GraphQL) - Parser for the GraphQL AST. Includes parser, plugin, processor (for non-graphql files) and rules.
33⭐
4🍴
html) - A enhanced ESLint formatter.6⭐
5🍴
badger) - Make SVG-based badges summarizing ESLint results (e.g., for use on a README).42⭐
0🍴
git-log) - ESLint Formatter featuring Git Author, Date, and Hash.100⭐
3🍴
github) - See ESLint errors and warnings directly in pull requests.- 🌎 gitlab - Output ESLint results in the GitLab code quality results.
121⭐
0🍴
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.
12⭐
3🍴
summary-chart) - Format ESLint output into a bar chart.
102225⭐
26686🍴
confusing-browser-globals) - A curated list of browser globals that commonly cause confusion and are not recommended to use without an explicit window. qualifier.364⭐
110🍴
ES and browser globals) (originally from ESLint)2⭐
0🍴
chai globals)15⭐
7🍴
TestCafe globals) -fixture
&test
globals for TestCafe.
348⭐
27🍴
eslint-define-config) - Provide adefineConfig
function for.eslintrc.js
files.2⭐
1🍴
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.201⭐
33🍴
eslint-find-rules) - Find built-in ESLint rules you don't have in your custom config.20⭐
4🍴
eslint-index) - CLI for finding and managing rules in ESLint config files.339⭐
8🍴
eslint-interactive) - The CLI tool to fix huge number of ESLint errors.7⭐
1🍴
eslint-multiplexer) - Multiplex eslint results and merge results for common files.760⭐
29🍴
eslint-nibble) - Ease into ESLint, by fixing one rule at a time.0⭐
0🍴
eslint-plugin-rule-adoption) - An eslint plugin for incremental rule adoption, when--fix
and codemods don't cut it.30⭐
31🍴
eslint-rule-documentation) - Find the url for the documentation of an ESLint rule.193⭐
29🍴
eslint-watch) - Run ESLint with watch mode.15⭐
18🍴
codacy-eslint) - Docker used at 🌎 Codacy to run ESLint.658⭐
54🍴
esprint) - Run ESLint across multiple threads.228⭐
50🍴
generator-eslint) - Generate ESLint plugin and rules with Yeoman.6⭐
1🍴
editor-info) - Detect whether one is within an editor/IDE and which type, allowing one to tweak ESLint configuration accordingly.19⭐
1🍴
eslint-dashboard) - Interactive ESLint workflow that lives in your terminal.118⭐
10🍴
eslint-remote-tester) - CLI tool for testing given ESlint rules against multiple repositories at once.
91⭐
5🍴
eslint-doc-generator) - Generate documentation for your ESLint plugin including a rules table for your readme and header for your rule docs.10⭐
7🍴
eslint-docgen) - Automatically generate ESLint plugin documentation from rule metadata and test cases.
- 🌎 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.
- 🌎 Linting JavaScript with ESLint - Video showing ESLint setup and basics.
- 🌎 Linting React JSX with ESLint (in ES6) - Video showing how to use React and JSX with ESLint.
- 🌎 Plugin Module with Mixins - 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 - Article about creating rules that require scope analysis.
19⭐
1🍴
Lintier) - CLI to quickly scaffold an ESLint & Prettier setup in a TypeScript project.
4220⭐
229🍴
dustinspecker/awesome-eslint)