awesome-eslint
ESLint config library
A curated list of popular ESLint configurations and plugins for code quality and style enforcement in JavaScript projects.
A list of awesome ESLint plugins, configs, etc.
4k stars
69 watching
226 forks
last commit: about 1 year ago
Linked from 4 awesome lists
awesomeawesome-listeslintlist
Awesome ESLint / Configs / Configs by Well-Known Companies/Organizations | |||
| Airbnb | 145,636 | 11 months ago | Shareable config for |
| Airbnb-babel | 3 | over 2 years ago | Airbnb's ESLint config with Babel Support |
| Airbnb-typescript | 1,046 | about 1 year ago | Airbnb's ESLint config with TypeScript support |
| Alloy | 2,646 | almost 2 years ago | Progressive ESLint config for your React/Vue/TypeScript projects |
| ESLint | 25,239 | 11 months ago | Contains the ESLint configuration used for projects maintained by the ESLint team |
| Sharable config for Facebook's style guide | |||
| Feedzai | 8 | over 1 year ago | Feedzai's shareable config for JavaScript/React projects |
| React App | 102,901 | about 1 year ago | Sharable config for projects |
| Shopify | 467 | 11 months ago | Shareable config for |
| Vercel | 1,289 | about 1 year ago | Vercel Engineering's composable eslint configuration used in all their codebases |
| Wikimedia | 29 | 11 months ago | Shareable config for , used by |
Awesome ESLint / Configs / Other Prominent Configs (100 stars or so) | |||
| Auto | 404 | over 1 year ago | Automatically configure ESLint based on your project's dependencies |
| Canonical | 600 | 11 months ago | Shareable config for |
| Standard | 2,611 | 11 months ago | Shareable config for JavaScript |
| XO | 271 | about 1 year ago | Shareable config for |
| Antfu Eslint Config | 4,191 | 11 months ago | Anthony's ESLint config preset |
Awesome ESLint / Configs / Other Configs | |||
| Adjunct | 50 | over 1 year ago | A reasonable collection of plugins to use alongside your main ESLint configuration |
| Ash-Nazg | 6 | 12 months ago | One config to rule them all! |
| Cecilia | 7 | over 1 year ago | ESLint configuration for awesome projects |
| clean-typescript | 1 | over 1 year ago | Enforce classic JavaScript featuress in TypeScript codebase by banning excessive keywords |
| ES | Shareable config for very strict code | ||
| Hardcore | 422 | about 1 year ago | The most strict (but practical) ESLint config out there |
| Problems | 68 | 11 months ago | Shareable config that only catches actual problems, and doesn't enforce stylistic preferences |
| Supermind | 4 | about 4 years ago | Shareable config for Supermind style |
| Sheriff | 133 | 11 months ago | Comprehensive and highly opinionated Eslint configuration. Typescript oriented |
Awesome ESLint / Preconfigured Configs with ESLint Set up | |||
| Node.js Standard Style | 6 | almost 9 years ago | Node.js core config |
| eslint-config-prettier | 5,506 | over 1 year ago | Prettier config for ESlint maintained by Prettier team |
| Standard | 29,169 | about 1 year ago | JavaScript Standard Style |
| Superlint | 5 | over 8 years ago | JavaScript Supermind Style |
| XO | 7,713 | 11 months ago | JavaScript happiness style linter ❤️ |
| Healthier | 84 | about 2 years ago | Code style agnostic version of Standard, perfect companion to Prettier |
Awesome ESLint / Plugins / Code Quality | |||
| depend | 359 | about 1 year ago | Helps detect dependency tree bloat and redundant polyfills |
| GitHub | 302 | 11 months ago | Misc. rules from GitHub |
| SonarJS | 1,194 | about 1 year ago | Rules detecting bugs and suspicious patterns |
| Unicorn | 4,326 | 11 months ago | Various awesome ESLint rules |
| @mysticatea/eslint-plugin | 26 | almost 3 years ago | Misc. rules |
| @brettz9/eslint-plugin | 2 | over 1 year ago | Misc. rules. of without the personal config |
Awesome ESLint / Plugins / Compatibility | |||
| Compat | 3,090 | 11 months ago | Lint browser compatibility of APIs used ( as an ESLint plugin) |
| ecmascript-compat | 68 | over 1 year ago | Disable ECMAScript language features not supported by your browserslist targets |
| es-x | 121 | 11 months ago | Disable specific ECMAScript language versions or individual features. Properly maintained fork of no longer maintained |
| es5 | 54 | almost 3 years ago | ESLint plugin for ES5 users (forbid ES2015+ usage) |
| ie11 | 14 | over 4 years ago | Detect unsupported ES6 features in IE11 |
Awesome ESLint / Plugins / CSS in JS | |||
| CSS-modules | 152 | 11 months ago | Lint undefined or unused rules for css modules |
| Emotion | 17,555 | 11 months ago | ESLint rules for emotion |
Awesome ESLint / Plugins / CSS in JS / Styled Components | |||
| Better Styled Components | 65 | almost 3 years ago | Auto fixable ESlint's rules for styled components |
| styled-components-a11y | 146 | 12 months ago | A11y for Styled Components |
Awesome ESLint / Plugins / Deprecation | |||
| deprecate | 81 | over 1 year ago | Mark functions or modules as deprecated and get lint messages when they are used |
| deprecation | 331 | about 1 year ago | Identifies use of jsdoc functions |
| disable | 56 | over 2 years ago | Disable specified plugins using file path patterns and inline comments |
Awesome ESLint / Plugins / Embedded | |||
| HTML | 436 | about 1 year ago | Linting for JavaScript inside of HTML tags |
| Markdown | 412 | 11 months ago | Linting for JavaScript inside of Markdown |
Awesome ESLint / Plugins / Frameworks | |||
| Angular | 1,659 | 11 months ago | Linting rules for Angular (v2+) |
| AngularJS | 618 | over 1 year ago | Linting rules to adhere to the |
| Astro | 325 | 11 months ago | Plugin for |
| Backbone | 95 | almost 8 years ago | Linting rules for Backbone |
| Custom Elements | 58 | about 2 years ago | Rules by GitHub for Custom Elements |
| Ember | 262 | 11 months ago | Linting rules for Ember |
| Hapi | 21 | about 1 year ago | Linting rules for hapi |
| Meteor | 44,479 | 11 months ago | Meteor specific linting rules for ESLint |
Awesome ESLint / Plugins / Frameworks / React | |||
| JSX a11y | 22 | over 1 year ago | Accessibility rules on JSX elements |
| React | 9,025 | 11 months ago | Linting rules for React and JSX |
| React Hooks | 230,386 | 11 months ago | Linting rules for React Hooks |
| React Native | 725 | over 1 year ago | React Native specific linting rules |
| React-Redux | 83 | about 1 year ago | React-Redux specific linting rules |
Awesome ESLint / Plugins / Frameworks | |||
| Solid | 223 | 11 months ago | Linting rules for Solid and JSX |
| Svelte | 312 | 11 months ago | Linting rules for Svelte v3 Components |
Awesome ESLint / Plugins / Frameworks / Vue | |||
| VueJS | 4,488 | 11 months ago | Plugin for VueJS |
| VueJS Scoped CSS | 101 | 11 months ago | Plugin for Scoped CSS in VueJS |
Awesome ESLint / Plugins / Languages and Environments | |||
| AssemblyScript | Rules for enforcing restrictions on TypeScript toward AssemblyScript compliance | ||
| Babel | 43,304 | 11 months ago | Adds replacements for built-in rules to include Babel features |
| Coffee | 11 | over 4 years ago | Enables linting CoffeeScript files with, with optional linting rules from the Coffeelint library |
| eslint-plugin-eslint-plugin | 203 | 11 months ago | An ESLint plugin for linting ESLint plugins |
Awesome ESLint / Plugins / Languages and Environments / Flow | |||
| Flow | 1,076 | over 1 year ago | Flow type linting rules |
| Flow Errors | 403 | over 3 years ago | Run Flow as an ESLint plugin |
Awesome ESLint / Plugins / Languages and Environments | |||
| HTML | 165 | 11 months ago | ESLint plugin for HTML |
Awesome ESLint / Plugins / Languages and Environments / JSON | |||
| JSON | 209 | about 1 year ago | Lint your JSON files |
| JSON, package.json | 41 | almost 3 years ago | Lint, format, and auto-fix your JSON files. Sort your |
| JSON with Comments | 202 | 11 months ago | ESLint plugin for JSON, JSONC and JSON5 |
| JSON Schema | 74 | 11 months ago | Validates data defined in JavaScript, JSON, YAML and TOML using JSON Schema Validator |
Awesome ESLint / Plugins / Languages and Environments | |||
| MDX | 269 | 11 months ago | ESLint Parser/Plugin for MDX |
| N | 241 | 11 months ago | Additional ESLint's rules for Node.js. Properly maintained fork of no longer maintained |
| SQL | 94 | about 1 year ago | SQL linting rules for ESLint |
| TOML | 27 | 11 months ago | ESLint plugin for TOML |
| TypeScript | 15,368 | 11 months ago | Linting rules for TypeScript |
| YAML | 126 | 11 months ago | ESLint plugin for YAML |
Awesome ESLint / Plugins / Libraries / GraphQL | |||
| dotansimha/graphql-eslint | 802 | 11 months ago | Validates, prettifies and checks your GraphQL operations and GraphQL schema for best-practices |
| apollostack/eslint-plugin-graphql | 1,214 | 11 months ago | Check your GraphQL query strings against a schema |
Awesome ESLint / Plugins / Libraries | |||
| TypeGraphQL | 17 | over 3 years ago | Linting rules for TypeGraphQL, targeted at finding common mistakes |
| jQuery | 31 | 11 months ago | Linting rules for jQuery, including versioned configs for deprecated features |
| JSDoc | 1,103 | 11 months ago | Linting rules for JSDoc comments (including the JavaScript within ) |
Awesome ESLint / Plugins / Libraries / Lodash | |||
| Lodash | 276 | almost 2 years ago | Lodash specific linting rules |
| Lodash/fp | 151 | almost 3 years ago | Lodash/fp specific linting rules |
| Lodash template | 17 | 11 months ago | Plugin for Lodash template/Underscore template |
| Microtemplates | 4 | over 9 years ago | (Used in Lodash and Underscore.js) |
Awesome ESLint / Plugins / Libraries | |||
| Mongodb | 19 | almost 3 years ago | Mongodb native Node.js driver linting rules |
| Ramda | 117 | about 4 years ago | Ramda specific linting rules |
| RequireJS | 29 | almost 3 years ago | Linting rules for RequireJS |
| Tailwind CSS | 1,536 | 11 months ago | Linting rules for Tailwind CSS classnames |
Awesome ESLint / Plugins / Misc | |||
| Diff | 187 | 12 months ago | Run ESLint on your changed lines only. Also supports CI! |
| Misc | 10 | about 1 year ago | Miscellaneous rules including rules for creating custom checks and wrapping (modifying) third-party rules |
| Notice | 26 | 11 months ago | An eslint rule that checks the top of files and fixes them too! |
| Only-Error | 16 | over 1 year ago | Convert all rules to errors |
| Only-Warn | 164 | over 1 year ago | Convert all rules to warnings |
| PutOut | 713 | 11 months ago | an ESLint plugin integrates linter into ESLint |
| TypeLint | 175 | over 7 years ago | Introduces types, based on existing schemas (Swagger, Redux) and linting access to object properties, preventing errors |
| Woke | 33 | about 1 year ago | Helps catch insensitive words, promoting an inclusive codebase |
Awesome ESLint / Plugins / Practices and Specific ES Features | |||
| array-func | 94 | 11 months ago | Avoid redundancy when using es2015 array methods and functions |
| arrow functions | 305 | about 3 years ago | ESLint rules to ensure proper arrow function definitions |
| boundaries | 583 | 11 months ago | Ensures that your architecture boundaries are respected by the elements in your project checking file structure and dependencies |
| @eslint-community/eslint-plugin-eslint-comments | 56 | about 1 year ago | Best practices about ESLint directive comments ( , etc.). Properly maintained fork of no longer maintained |
| eslint-plugin-hexagonal-architecture | 296 | about 3 years ago | A plugin that helps you to enforce hexagonal architecture best practices |
| eslint-plugin-write-good-comments | 37 | almost 2 years ago | Enforce good writing style in comments |
| eslint-plugin-exception-handling | 31 | 12 months ago | Lints unhandled functions that might throw errors |
| fp | 968 | almost 5 years ago | ESLint rules for functional programming |
| functional | 857 | 11 months ago | ESLint rules to disable mutation and promote fp in JavaScript and TypeScript |
| Immutable | 912 | almost 6 years ago | Disable all mutation in JavaScript |
| import | 5,589 | 11 months ago | Linting of ES2015+ import/export syntax, and prevent issues with misspelling of file paths and import names |
| import-x | 450 | 11 months ago | Linting of ES2015+ import/export syntax, and prevent issues with misspelling of file paths and import names. Lightweight fork of , but which breaks backwards compatibility |
| new-with-error | 26 | 11 months ago | Require errors to be thrown using |
| no-argument-spread | 3 | over 3 years ago | Lints against expressions like that can lead to a stack overflow for large arrays |
| no-comments | 14 | over 2 years ago | Prevents leaking comments into production if bundler is not used and stops developers from commenting out old lines of code |
| no-constructor-bind | 12 | over 2 years ago | Encourages use of class properties by reporting use of with or setting state in constructors |
| no-inferred-method-name | 27 | over 3 years ago | Custom rule for ESLint that checks for inferred method names within object literals |
| no-loops | 127 | over 1 year ago | It's 2019 and you still use loops? |
| no-restricted-syntax | 6 | over 1 year ago | Show queried syntax's content in messages |
| no-use-extend-native | 56 | about 1 year ago | Prevent using extended native objects |
| Promise | 943 | 11 months ago | Best practices when working with promises |
| pure | 29 | over 9 years ago | Enforce pure functions (without side effects) |
| ReDoS | ESLint plugin for finding possible ReDoS vulnerabilities | ||
| ReDoSDetector | 5 | 11 months ago | ESLint plugin for finding possible ReDoS vulnerabilities |
| RegExp | 701 | 11 months ago | ESLint plugin for finding regexp mistakes and style guide violations |
| sort-keys-fix | 97 | over 1 year ago | Adds fixer for ESLint rule |
| this | 16 | over 2 years ago | Write pure functions, don't allow |
| toplevel | 19 | 11 months ago | An eslint plugin for disallow side effect at module toplevel |
Awesome ESLint / Plugins / Performance | |||
| DOM | 9 | about 7 years ago | |
| Optimize Regex | 74 | over 1 year ago | Optimize regex literals |
| plugin | 23 | almost 9 years ago | Perf-Standard and |
Awesome ESLint / Plugins / Security | |||
| no-secrets | 138 | 11 months ago | An eslint plugin that detects potential secrets/credentials |
| no-unsanitized | 232 | 12 months ago | Checks for , , etc |
| pii | 9 | over 3 years ago | 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 |
| config | 88 | over 4 years ago | ScanJS and - Security-related rules |
| Security | 2,225 | about 1 year ago | ESLint rules for Node Security |
| xss | 66 | about 2 years ago | Tries to detect XSS issues in codebase before they end up in production |
Awesome ESLint / Plugins / Style | |||
| ESLint Stylistic | - | ||
| const case | Enforce capitalization of constant primitive literals | ||
| editorconfig | 15 | about 2 years ago | Derive rules from |
| filenames | 323 | over 1 year ago | Ensure consistent filenames for your JavaScript files. No longer maintained and does not work with ESlint 9 at all |
| Simple import sort | 2,146 | about 1 year ago | Easy autofixable import sorting |
| perfectionist sorting | 2,220 | 11 months ago | Sort objects, imports, TypeScript types, enums, JSX props, etc |
| Switch case | 17 | over 1 year ago | Switch-case-specific linting rules for ESLint |
| padding | 5 | almost 5 years ago | Allows/disallows padding between statements |
| paths | 69 | 11 months ago | Use paths from tsconfig/jsconfig and auto fix relative paths to aliases |
Awesome ESLint / Plugins / Testing Tools | |||
| AVA | 231 | over 1 year ago | Linting rules for AVA |
Awesome ESLint / Plugins / Testing Tools / Chai | |||
| expect practices | 27 | 11 months ago | |
| with unused expressions | 54 | about 1 year ago | |
| permitted keywords | 1 | over 1 year ago | |
| with chai-as-promised plugin | 4 | over 1 year ago | |
| globals | 2 | about 8 years ago | |
Awesome ESLint / Plugins / Testing Tools | |||
| Cucumber | 7 | over 2 years ago | Linting rules for Cucumber |
| Cypress | 707 | 12 months ago | Linting rules for Cypress |
| Jasmine | 95 | about 1 year ago | Linting rules for Jasmine |
Awesome ESLint / Plugins / Testing Tools / Jest | |||
| Enforcing practices | 1,134 | 11 months ago | Linting rules for Jest |
| Enforcing consistent formatting | 156 | over 2 years ago | Formatting rules for Jest |
| Jest-async | Async linting rule for Jest | ||
| Jest-DOM | 363 | 12 months ago | Linting rules for Jest-DOM |
Awesome ESLint / Plugins / Testing Tools / Mocha | |||
| Enforcing practices | 281 | about 1 year ago | Linting rules for Mocha |
| Enforcing manageability | 13 | about 1 year ago | |
Awesome ESLint / Plugins / Testing Tools | |||
| Playwright | 285 | 11 months ago | Linting rules for Playwright |
| QUnit | 30 | about 1 year ago | Linting rules for QUnit |
| TestCafe-Community | 4 | about 1 year ago | TestCafe linting rules with env globals (fork from ) |
| Testing Library | 993 | 11 months ago | Linting rules for Testing Library |
Awesome ESLint / Parsers | |||
| babel-eslint-parser | 43,304 | 11 months ago | Allows you to lint ALL valid Babel code with the fantastic ESLint |
| TypeScript | 15,368 | 11 months ago | A TypeScript parser that produces output compatible with ESLint |
| BrightScript | 44 | almost 3 years ago | BrightScript plugin for Roku development. Includes Parser and Rules |
| GraphQL | 802 | 11 months ago | Parser for the GraphQL AST. Includes parser, plugin, processor (for non-graphql files) and rules |
Awesome ESLint / Formatters | |||
| html | 35 | over 1 year ago | A enhanced ESLint formatter |
| badger | 6 | almost 2 years ago | Make SVG-based badges summarizing ESLint results (e.g., for use on a README) |
| git-log | 41 | over 3 years ago | ESLint Formatter featuring Git Author, Date, and Hash |
| github | 102 | 11 months ago | See ESLint errors and warnings directly in pull requests |
| gitlab | Output ESLint results in the GitLab code quality results | ||
| mo | 126 | over 2 years ago | 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 | 12 | over 1 year ago | Format ESLint output into a bar chart |
Awesome ESLint / Globals | |||
| confusing-browser-globals | 102,901 | about 1 year ago | A curated list of browser globals that commonly cause confusion and are not recommended to use without an explicit window. qualifier |
| ES and browser globals | 416 | 11 months ago | (originally from ESLint) |
| chai globals | 2 | about 8 years ago | |
| TestCafe globals | 15 | over 5 years ago | & globals for TestCafe |
Awesome ESLint / Tools | |||
| eslint-define-config | 361 | 11 months ago | Provide a function for files |
| es-file-traverse | 2 | over 1 year ago | 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 | 207 | about 1 year ago | Find built-in ESLint rules you don't have in your custom config |
| eslint-index | 20 | about 4 years ago | CLI for finding and managing rules in ESLint config files |
| eslint-interactive | 373 | about 1 year ago | The CLI tool to fix huge number of ESLint errors |
| eslint-multiplexer | 7 | 11 months ago | Multiplex eslint results and merge results for common files |
| eslint-nibble | 788 | 12 months ago | Ease into ESLint, by fixing one rule at a time |
| eslint-plugin-rule-adoption | 1 | over 1 year ago | An eslint plugin for incremental rule adoption, when and codemods don't cut it |
| eslint-rule-documentation | 30 | over 2 years ago | Find the url for the documentation of an ESLint rule |
| eslint-watch | 196 | over 2 years ago | Run ESLint with watch mode |
| codacy-eslint | 15 | 11 months ago | Docker used at to run ESLint |
| esprint | 662 | about 1 year ago | Run ESLint across multiple threads |
| generator-eslint | 231 | about 1 year ago | Generate ESLint plugin and rules with |
| editor-info | 6 | 11 months ago | Detect whether one is within an editor/IDE and which type, allowing one to tweak ESLint configuration accordingly |
| eslint-dashboard | 19 | about 4 years ago | Interactive ESLint workflow that lives in your terminal |
| eslint-remote-tester | 129 | 11 months ago | CLI tool for testing given ESlint rules against multiple repositories at once |
Awesome ESLint / Developing for ESLint | |||
| eslint-doc-generator | 95 | 11 months ago | Generate documentation for your ESLint plugin including a rules table for your readme and header for your rule docs |
| eslint-docgen | 10 | over 1 year ago | Automatically generate ESLint plugin documentation from rule metadata and test cases |
Awesome ESLint / 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 | ||
| 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 | ||
Awesome ESLint / Installation and Setup | |||
| Lintier | 25 | 11 months ago | CLI to quickly scaffold an ESLint & Prettier setup in a TypeScript project |
More related projects:
-
thibaudcolas/pre-commit-stylelint
-
haydenbbickerton/feature-requests-app
-
codelytv/eslint-config-codely
-
foxhound87/rfx-stack
-
ellerbrock/node-developer-boilerplate
-
suevalov/next-blog-firestore
-
akoidan/vue-webpack-typescript
-
jsynowiec/node-typescript-boilerplate
-
royrao2333/template-vite-svelte-ts-tailwind
-
odoe/generator-arcgis-js-app