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
142429⭐
26215🍴
Airbnb) - Shareable config for142429⭐
26215🍴
Airbnb's style guide).3⭐
2🍴
Airbnb-babel) - Airbnb's ESLint config with Babel Support.1027⭐
87🍴
Airbnb-typescript) - Airbnb's ESLint config with TypeScript support.2632⭐
320🍴
Alloy) - Progressive ESLint config for your React/Vue/TypeScript projects.24402⭐
4412🍴
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.102002⭐
26618🍴
React App) - Sharable config for 🌎 React projects.459⭐
55🍴
Shopify) - Shareable config for253⭐
38🍴
Shopify's style guide).1137⭐
28🍴
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.
395⭐
13🍴
Auto) - Automatically configure ESLint based on your project's dependencies.569⭐
30🍴
Canonical) - Shareable config for18⭐
5🍴
Canonical style guide).
2575⭐
568🍴
Standard) - Shareable config for JavaScript28904⭐
2319🍴
Standard Style).264⭐
42🍴
XO) - Shareable config for7558⭐
285🍴
XO).
49⭐
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.384⭐
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.90⭐
5🍴
Sheriff) - Comprehensive and highly opinionated Eslint configuration. Typescript oriented.
6⭐
1🍴
Node.js Standard Style) - Node.js core config.5263⭐
252🍴
eslint-config-prettier) - Prettier config for ESlint maintained by Prettier team28904⭐
2319🍴
Standard) - JavaScript Standard Style.5⭐
0🍴
Superlint) - JavaScript Supermind Style.7558⭐
285🍴
XO) - JavaScript happiness style linter ❤️.83⭐
6🍴
Healthier) - Code style agnostic version of Standard, perfect companion to Prettier.
280⭐
51🍴
GitHub) - Misc. rules from GitHub.1159⭐
72🍴
SonarJS) - Rules detecting bugs and suspicious patterns.3910⭐
352🍴
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.
3043⭐
102🍴
Compat) - Lint browser compatibility of APIs used (caniuse as an ESLint plugin).61⭐
13🍴
ecmascript-compat) - Disable ECMAScript language features not supported by your browserslist targets.105⭐
24🍴
es) - Disable specific ECMAScript language versions or individual features.54⭐
20🍴
es5) - ESLint plugin for ES5 users (forbid ES2015+ usage).15⭐
3🍴
ie11) - Detect unsupported ES6 features in IE11.
151⭐
34🍴
CSS-modules) - Lint undefined or unused rules for css modules.17232⭐
1093🍴
Emotion) - ESLint rules for emotion.- Styled Components
64⭐
9🍴
Better Styled Components) - Auto fixable ESlint's rules for styled components.139⭐
19🍴
styled-components-a11y) - A11y for Styled Components.
78⭐
11🍴
deprecate) - Mark functions or modules as deprecated and get lint messages when they are used.295⭐
35🍴
deprecation) - Identifies use of jsdoc@deprecated
functions.57⭐
3🍴
disable) - Disable specified plugins using file path patterns and inline comments.
424⭐
51🍴
HTML) - Linting for JavaScript inside of HTML<script>
tags.363⭐
58🍴
Markdown) - Linting for JavaScript inside of Markdown.
1569⭐
209🍴
Angular) - Linting rules for Angular (v2+).618⭐
131🍴
AngularJS) - Linting rules to adhere to the23898⭐
4160🍴
John Papa's AngularJS Styleguide).271⭐
20🍴
Astro) - Plugin for 🌎 Astro components.95⭐
11🍴
Backbone) - Linting rules for Backbone.55⭐
12🍴
Custom Elements) - Rules by GitHub for Custom Elements.256⭐
197🍴
Ember) - Linting rules for Ember.21⭐
10🍴
Hapi) - Linting rules for hapi.44075⭐
5162🍴
Meteor) - Meteor specific linting rules for ESLint.- React
22⭐
3🍴
JSX a11y) - Accessibility rules on JSX elements.8835⭐
2753🍴
React) - Linting rules for React and JSX.223467⭐
45510🍴
React Hooks) - Linting rules for React Hooks.710⭐
128🍴
React Native) - React Native specific linting rules.82⭐
17🍴
React-Redux) - React-Redux specific linting rules.
200⭐
23🍴
Solid) - Linting rules for Solid and JSX.266⭐
26🍴
Svelte) - Linting rules for Svelte v3 Components.- Vue
4379⭐
647🍴
VueJS) - Plugin for VueJS.93⭐
9🍴
VueJS Scoped CSS) - Plugin for Scoped CSS in VueJS.
- 🌎 AssemblyScript - Rules for enforcing restrictions on TypeScript toward AssemblyScript compliance.
42966⭐
5587🍴
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.185⭐
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.
143⭐
26🍴
HTML) - ESLint plugin for HTML.- JSON
193⭐
27🍴
JSON) - Lint your JSON files.41⭐
3🍴
JSON, package.json) - Lint, format, and auto-fix your JSON files. Sort yourpackage.json
.173⭐
13🍴
JSON with Comments) - ESLint plugin for JSON, JSONC and JSON5.64⭐
4🍴
JSON Schema) - Validates data defined in JavaScript, JSON, YAML and TOML using JSON Schema Validator.
254⭐
29🍴
MDX) - ESLint Parser/Plugin for MDX.956⭐
162🍴
Node) - Additional ESLint's rules for Node.js.91⭐
23🍴
SQL) - SQL linting rules for ESLint.25⭐
2🍴
TOML) - ESLint plugin for TOML.14681⭐
2651🍴
TypeScript) - Linting rules for TypeScript.105⭐
10🍴
YAML) - ESLint plugin for YAML.
- GraphQL
768⭐
100🍴
dotansimha/graphql-eslint) - Validates, prettifies and checks your GraphQL operations and GraphQL schema for best-practices.1203⭐
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.1058⭐
153🍴
JSDoc) - Linting rules for JSDoc comments (including the JavaScript within@example
).- Lodash
271⭐
65🍴
Lodash) - Lodash specific linting rules.149⭐
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.1319⭐
62🍴
Tailwind CSS) - Linting rules for Tailwind CSS classnames.
162⭐
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.25⭐
2🍴
Notice) - An eslint rule that checks the top of files and fixes them too!15⭐
2🍴
Only-Error) - Convert all rules to errors.153⭐
14🍴
Only-Warn) - Convert all rules to warnings.663⭐
38🍴
PutOut) - an ESLint plugin integrates663⭐
38🍴
putout) linter into ESLint.175⭐
5🍴
TypeLint) - Introduces types, based on existing schemas (Swagger, Redux) and linting access to object properties, preventingundefined
errors.30⭐
0🍴
Woke) - Helps catch insensitive words, promoting an inclusive codebase.
92⭐
6🍴
array-func) - Avoid redundancy when using es2015 array methods and functions.305⭐
14🍴
arrow functions) - ESLint rules to ensure proper arrow function definitions.469⭐
8🍴
boundaries) - Ensures that your architecture boundaries are respected by the elements in your project checking file structure and dependencies.353⭐
43🍴
ESLint Comments) - Best practices about ESLint directive comments (/*eslint-disable*/
, etc.).282⭐
16🍴
eslint-plugin-hexagonal-architecture) - A plugin that helps you to enforce hexagonal architecture best practices.30⭐
3🍴
eslint-plugin-write-good-comments) - Enforce good writing style in comments.4⭐
0🍴
eslint-plugin-exception-handling) - Lints unhandled functions that might throw errors.969⭐
36🍴
fp) - ESLint rules for functional programming.741⭐
28🍴
functional) - ESLint rules to disable mutation and promote fp in JavaScript and TypeScript.910⭐
17🍴
Immutable) - Disable all mutation in JavaScript.5330⭐
1537🍴
import) - Linting of ES2015+ import/export syntax, and prevent issues with misspelling of file paths and import names.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.11⭐
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.53⭐
5🍴
no-use-extend-native) - Prevent using extended native objects.902⭐
86🍴
Promise) - Best practices when working with promises.28⭐
1🍴
pure) - Enforce pure functions (without side effects).654⭐
9🍴
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
.17⭐
2🍴
toplevel) - An eslint plugin for disallow side effect at module toplevel.
9⭐
0🍴
DOM)73⭐
9🍴
Optimize Regex) - Optimize regex literals.- Perf-Standard
22⭐
3🍴
plugin) and3⭐
0🍴
Config)
123⭐
4🍴
no-secrets) - An eslint plugin that detects potential secrets/credentials.217⭐
33🍴
no-unsanitized) - Checks forinnerHTML
,outerHTML
, etc.7⭐
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. 2147⭐
107🍴
Security) - ESLint rules for Node Security.67⭐
16🍴
xss) - Tries to detect XSS issues in codebase before they end up in production.
- 🌎 const case - Enforce capitalization of constant primitive literals.
13⭐
1🍴
editorconfig) - Derive rules from 🌎.editorconfig
.310⭐
34🍴
filenames) - Ensure consistent filenames for your JavaScript files.1922⭐
66🍴
Simple import sort) - Easy autofixable import sorting.1630⭐
30🍴
perfectionist sorting) - Sort objects, imports, TypeScript types, enums, JSX props, etc.16⭐
1🍴
Switch case) - Switch-case-specific linting rules for ESLint.4⭐
1🍴
padding) - Allows/disallows padding between statements.38⭐
0🍴
paths) - Use paths from tsconfig/jsconfig and auto fix relative paths to aliases.
228⭐
49🍴
AVA) - Linting rules for AVA.- Chai
27⭐
12🍴
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.693⭐
88🍴
Cypress) - Linting rules for Cypress.95⭐
55🍴
Jasmine) - Linting rules for Jasmine.- Jest
1109⭐
226🍴
Enforcing practices) - Linting rules for Jest.150⭐
13🍴
Enforcing consistent formatting) - Formatting rules for Jest.- 🌎 Jest-async - Async linting rule for Jest.
352⭐
39🍴
Jest-DOM) - Linting rules for Jest-DOM.
- Mocha
275⭐
62🍴
Enforcing practices) - Linting rules for Mocha.?⭐
?🍴
Enforcing manageability)
232⭐
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⭐
8🍴
TestCafe globals)).961⭐
131🍴
Testing Library) - Linting rules for Testing Library.
42966⭐
5587🍴
babel-eslint-parser) - @babel/eslint-parser allows you to lint ALL valid Babel code with the fantastic ESLint.14681⭐
2651🍴
TypeScript) - A TypeScript parser that produces output compatible with ESLint.43⭐
8🍴
BrightScript) - BrightScript plugin for Roku development. Includes Parser and Rules.768⭐
100🍴
GraphQL) - Parser for the GraphQL AST. Includes parser, plugin, processor (for non-graphql files) and rules.
27⭐
4🍴
html) - A enhanced ESLint formatter6⭐
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.
119⭐
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.
102002⭐
26618🍴
confusing-browser-globals) - A curated list of browser globals that commonly cause confusion and are not recommended to use without an explicit window. qualifier.350⭐
109🍴
ES and browser globals) (originally from ESLint)2⭐
0🍴
chai globals)15⭐
8🍴
TestCafe globals) -fixture
&test
globals for TestCafe.
343⭐
26🍴
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⭐
32🍴
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.326⭐
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.755⭐
29🍴
eslint-nibble) - Ease into ESLint, by fixing one rule at a time.30⭐
31🍴
eslint-rule-documentation) - Find the url for the documentation of an ESLint rule.192⭐
30🍴
eslint-watch) - Run ESLint with watch mode.14⭐
18🍴
codacy-eslint) - Docker used at 🌎 Codacy to run ESLint.657⭐
54🍴
esprint) - Run ESLint across multiple threads.224⭐
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.20⭐
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.
90⭐
4🍴
eslint-doc-generator) - Generate documentation for your ESLint plugin including a rules table for your readme and header for your rule docs.9⭐
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.
17⭐
1🍴
Lintier) - CLI to quickly scaffold an ESLint & Prettier setup in a TypeScript project.
4151⭐
229🍴
dustinspecker/awesome-eslint)