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 month ago
Linked from 4 awesome lists
awesomeawesome-listeslintlist
Awesome ESLint / Configs / Configs by Well-Known Companies/Organizations | |||
Airbnb | 145,313 | about 2 months ago | Shareable config for |
Airbnb-babel | 3 | over 1 year ago | Airbnb's ESLint config with Babel Support |
Airbnb-typescript | 1,044 | 3 months ago | Airbnb's ESLint config with TypeScript support |
Alloy | 2,648 | 10 months ago | Progressive ESLint config for your React/Vue/TypeScript projects |
ESLint | 25,110 | 6 days ago | Contains the ESLint configuration used for projects maintained by the ESLint team |
Sharable config for Facebook's style guide | |||
Feedzai | 8 | 4 months ago | Feedzai's shareable config for JavaScript/React projects |
React App | 102,771 | 3 months ago | Sharable config for projects |
Shopify | 464 | about 1 month ago | Shareable config for |
Vercel | 1,280 | 26 days ago | Vercel Engineering's composable eslint configuration used in all their codebases |
Wikimedia | 29 | 16 days ago | Shareable config for , used by |
Awesome ESLint / Configs / Other Prominent Configs (100 stars or so) | |||
Auto | 402 | 7 months ago | Automatically configure ESLint based on your project's dependencies |
Canonical | 598 | 5 days ago | Shareable config for |
Standard | 2,610 | 6 days ago | Shareable config for JavaScript |
XO | 267 | about 1 month ago | Shareable config for |
Antfu Eslint Config | 4,063 | 7 days ago | Anthony's ESLint config preset |
Awesome ESLint / Configs / Other Configs | |||
Adjunct | 50 | 7 months ago | A reasonable collection of plugins to use alongside your main ESLint configuration |
Ash-Nazg | 6 | about 1 month ago | One config to rule them all! |
Cecilia | 7 | 5 months ago | ESLint configuration for awesome projects |
clean-typescript | 1 | 9 months ago | Enforce classic JavaScript featuress in TypeScript codebase by banning excessive keywords |
ES | Shareable config for very strict code | ||
Hardcore | 420 | 3 months ago | The most strict (but practical) ESLint config out there |
Problems | 68 | 6 days ago | Shareable config that only catches actual problems, and doesn't enforce stylistic preferences |
Supermind | 4 | over 3 years ago | Shareable config for Supermind style |
Sheriff | 111 | 9 days ago | Comprehensive and highly opinionated Eslint configuration. Typescript oriented |
Awesome ESLint / Preconfigured Configs with ESLint Set up | |||
Node.js Standard Style | 6 | almost 8 years ago | Node.js core config |
eslint-config-prettier | 5,470 | 4 months ago | Prettier config for ESlint maintained by Prettier team |
Standard | 29,135 | 2 months ago | JavaScript Standard Style |
Superlint | 5 | over 7 years ago | JavaScript Supermind Style |
XO | 7,698 | about 1 month ago | JavaScript happiness style linter ❤️ |
Healthier | 84 | about 1 year ago | Code style agnostic version of Standard, perfect companion to Prettier |
Awesome ESLint / Plugins / Code Quality | |||
depend | 349 | 17 days ago | Helps detect dependency tree bloat and redundant polyfills |
GitHub | 299 | 6 days ago | Misc. rules from GitHub |
SonarJS | 1,196 | about 2 months ago | Rules detecting bugs and suspicious patterns |
Unicorn | 4,291 | about 1 month ago | Various awesome ESLint rules |
@mysticatea/eslint-plugin | 26 | about 2 years ago | Misc. rules |
@brettz9/eslint-plugin | 2 | 4 months ago | Misc. rules. of without the personal config |
Awesome ESLint / Plugins / Compatibility | |||
Compat | 3,081 | 2 months ago | Lint browser compatibility of APIs used ( as an ESLint plugin) |
ecmascript-compat | 65 | 7 months ago | Disable ECMAScript language features not supported by your browserslist targets |
es-x | 118 | 4 days ago | Disable specific ECMAScript language versions or individual features. Properly maintained fork of no longer maintained |
es5 | 54 | almost 2 years ago | ESLint plugin for ES5 users (forbid ES2015+ usage) |
ie11 | 14 | almost 4 years ago | Detect unsupported ES6 features in IE11 |
Awesome ESLint / Plugins / CSS in JS | |||
CSS-modules | 152 | 12 months ago | Lint undefined or unused rules for css modules |
Emotion | 17,506 | 9 days ago | ESLint rules for emotion |
Awesome ESLint / Plugins / CSS in JS / Styled Components | |||
Better Styled Components | 65 | almost 2 years ago | Auto fixable ESlint's rules for styled components |
styled-components-a11y | 145 | about 2 months ago | A11y for Styled Components |
Awesome ESLint / Plugins / Deprecation | |||
deprecate | 81 | 4 months ago | Mark functions or modules as deprecated and get lint messages when they are used |
deprecation | 330 | about 1 month ago | Identifies use of jsdoc functions |
disable | 56 | over 1 year ago | Disable specified plugins using file path patterns and inline comments |
Awesome ESLint / Plugins / Embedded | |||
HTML | 435 | 2 months ago | Linting for JavaScript inside of HTML tags |
Markdown | 407 | 4 days ago | Linting for JavaScript inside of Markdown |
Awesome ESLint / Plugins / Frameworks | |||
Angular | 1,642 | 7 days ago | Linting rules for Angular (v2+) |
AngularJS | 618 | 7 months ago | Linting rules to adhere to the |
Astro | 318 | 4 days ago | Plugin for |
Backbone | 95 | almost 7 years ago | Linting rules for Backbone |
Custom Elements | 58 | about 1 year ago | Rules by GitHub for Custom Elements |
Ember | 262 | 10 days ago | Linting rules for Ember |
Hapi | 21 | 30 days ago | Linting rules for hapi |
Meteor | 44,421 | 6 days ago | Meteor specific linting rules for ESLint |
Awesome ESLint / Plugins / Frameworks / React | |||
JSX a11y | 22 | 6 months ago | Accessibility rules on JSX elements |
React | 8,999 | 17 days ago | Linting rules for React and JSX |
React Hooks | 229,269 | 6 days ago | Linting rules for React Hooks |
React Native | 722 | 4 months ago | React Native specific linting rules |
React-Redux | 82 | about 2 months ago | React-Redux specific linting rules |
Awesome ESLint / Plugins / Frameworks | |||
Solid | 220 | 9 days ago | Linting rules for Solid and JSX |
Svelte | 305 | 4 days ago | Linting rules for Svelte v3 Components |
Awesome ESLint / Plugins / Frameworks / Vue | |||
VueJS | 4,471 | 10 days ago | Plugin for VueJS |
VueJS Scoped CSS | 98 | 4 days 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,241 | 6 days ago | Adds replacements for built-in rules to include Babel features |
Coffee | 11 | over 3 years ago | Enables linting CoffeeScript files with, with optional linting rules from the Coffeelint library |
eslint-plugin-eslint-plugin | 196 | 27 days ago | An ESLint plugin for linting ESLint plugins |
Awesome ESLint / Plugins / Languages and Environments / Flow | |||
Flow | 1,077 | 9 months ago | Flow type linting rules |
Flow Errors | 402 | over 2 years ago | Run Flow as an ESLint plugin |
Awesome ESLint / Plugins / Languages and Environments | |||
HTML | 161 | 12 days ago | ESLint plugin for HTML |
Awesome ESLint / Plugins / Languages and Environments / JSON | |||
JSON | 209 | 3 months ago | Lint your JSON files |
JSON, package.json | 41 | almost 2 years ago | Lint, format, and auto-fix your JSON files. Sort your |
JSON with Comments | 199 | 4 days ago | ESLint plugin for JSON, JSONC and JSON5 |
JSON Schema | 72 | 4 days ago | Validates data defined in JavaScript, JSON, YAML and TOML using JSON Schema Validator |
Awesome ESLint / Plugins / Languages and Environments | |||
MDX | 266 | 21 days ago | ESLint Parser/Plugin for MDX |
N | 232 | 6 days ago | Additional ESLint's rules for Node.js. Properly maintained fork of no longer maintained |
SQL | 94 | 3 months ago | SQL linting rules for ESLint |
TOML | 26 | 4 days ago | ESLint plugin for TOML |
TypeScript | 15,283 | 4 days ago | Linting rules for TypeScript |
YAML | 121 | 4 days ago | ESLint plugin for YAML |
Awesome ESLint / Plugins / Libraries / GraphQL | |||
dotansimha/graphql-eslint | 800 | 4 days ago | Validates, prettifies and checks your GraphQL operations and GraphQL schema for best-practices |
apollostack/eslint-plugin-graphql | 1,213 | 20 days ago | Check your GraphQL query strings against a schema |
Awesome ESLint / Plugins / Libraries | |||
TypeGraphQL | 17 | over 2 years ago | Linting rules for TypeGraphQL, targeted at finding common mistakes |
jQuery | 31 | 5 months ago | Linting rules for jQuery, including versioned configs for deprecated features |
JSDoc | 1,100 | 9 days ago | Linting rules for JSDoc comments (including the JavaScript within ) |
Awesome ESLint / Plugins / Libraries / Lodash | |||
Lodash | 277 | 10 months ago | Lodash specific linting rules |
Lodash/fp | 151 | almost 2 years ago | Lodash/fp specific linting rules |
Lodash template | 17 | 6 days ago | Plugin for Lodash template/Underscore template |
Microtemplates | 4 | over 8 years ago | (Used in Lodash and Underscore.js) |
Awesome ESLint / Plugins / Libraries | |||
Mongodb | 19 | almost 2 years ago | Mongodb native Node.js driver linting rules |
Ramda | 117 | over 3 years ago | Ramda specific linting rules |
RequireJS | 29 | almost 2 years ago | Linting rules for RequireJS |
Tailwind CSS | 1,501 | about 1 month ago | Linting rules for Tailwind CSS classnames |
Awesome ESLint / Plugins / Misc | |||
Diff | 181 | 3 months ago | Run ESLint on your changed lines only. Also supports CI! |
Misc | 10 | 3 months ago | Miscellaneous rules including rules for creating custom checks and wrapping (modifying) third-party rules |
Notice | 26 | 5 months ago | An eslint rule that checks the top of files and fixes them too! |
Only-Error | 16 | 5 months ago | Convert all rules to errors |
Only-Warn | 164 | 6 months ago | Convert all rules to warnings |
PutOut | 708 | 10 days ago | an ESLint plugin integrates linter into ESLint |
TypeLint | 175 | over 6 years ago | Introduces types, based on existing schemas (Swagger, Redux) and linting access to object properties, preventing errors |
Woke | 33 | about 1 month ago | Helps catch insensitive words, promoting an inclusive codebase |
Awesome ESLint / Plugins / Practices and Specific ES Features | |||
array-func | 94 | 10 days ago | Avoid redundancy when using es2015 array methods and functions |
arrow functions | 307 | over 2 years ago | ESLint rules to ensure proper arrow function definitions |
boundaries | 554 | 7 days 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 | 53 | 27 days ago | Best practices about ESLint directive comments ( , etc.). Properly maintained fork of no longer maintained |
eslint-plugin-hexagonal-architecture | 294 | about 2 years ago | A plugin that helps you to enforce hexagonal architecture best practices |
eslint-plugin-write-good-comments | 36 | 11 months ago | Enforce good writing style in comments |
eslint-plugin-exception-handling | 26 | about 1 month ago | Lints unhandled functions that might throw errors |
fp | 968 | almost 4 years ago | ESLint rules for functional programming |
functional | 852 | 19 days ago | ESLint rules to disable mutation and promote fp in JavaScript and TypeScript |
Immutable | 912 | about 5 years ago | Disable all mutation in JavaScript |
import | 5,558 | 6 days ago | Linting of ES2015+ import/export syntax, and prevent issues with misspelling of file paths and import names |
import-x | 431 | 6 days 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 | 17 days ago | Require errors to be thrown using |
no-argument-spread | 3 | over 2 years ago | Lints against expressions like that can lead to a stack overflow for large arrays |
no-comments | 13 | over 1 year 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 1 year ago | Encourages use of class properties by reporting use of with or setting state in constructors |
no-inferred-method-name | 27 | almost 3 years ago | Custom rule for ESLint that checks for inferred method names within object literals |
no-loops | 126 | 5 months ago | It's 2019 and you still use loops? |
no-restricted-syntax | 5 | 5 months ago | Show queried syntax's content in messages |
no-use-extend-native | 56 | 3 months ago | Prevent using extended native objects |
Promise | 943 | 7 days ago | Best practices when working with promises |
pure | 29 | over 8 years ago | Enforce pure functions (without side effects) |
ReDoS | ESLint plugin for finding possible ReDoS vulnerabilities | ||
ReDoSDetector | 5 | 5 days ago | ESLint plugin for finding possible ReDoS vulnerabilities |
RegExp | 697 | 4 days ago | ESLint plugin for finding regexp mistakes and style guide violations |
sort-keys-fix | 97 | 5 months ago | Adds fixer for ESLint rule |
this | 16 | over 1 year ago | Write pure functions, don't allow |
toplevel | 19 | 8 months ago | An eslint plugin for disallow side effect at module toplevel |
Awesome ESLint / Plugins / Performance | |||
DOM | 9 | about 6 years ago | |
Optimize Regex | 74 | 5 months ago | Optimize regex literals |
plugin | 23 | almost 8 years ago | Perf-Standard and |
Awesome ESLint / Plugins / Security | |||
no-secrets | 137 | 17 days ago | An eslint plugin that detects potential secrets/credentials |
no-unsanitized | 231 | about 1 month ago | Checks for , , etc |
pii | 9 | over 2 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 3 years ago | ScanJS and - Security-related rules |
Security | 2,220 | about 1 month ago | ESLint rules for Node Security |
xss | 66 | about 1 year 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 1 year ago | Derive rules from |
filenames | 323 | 4 months ago | Ensure consistent filenames for your JavaScript files. No longer maintained and does not work with ESlint 9 at all |
Simple import sort | 2,114 | about 2 months ago | Easy autofixable import sorting |
perfectionist sorting | 1,932 | 7 days ago | Sort objects, imports, TypeScript types, enums, JSX props, etc |
Switch case | 17 | 4 months ago | Switch-case-specific linting rules for ESLint |
padding | 5 | almost 4 years ago | Allows/disallows padding between statements |
paths | 64 | 8 days ago | Use paths from tsconfig/jsconfig and auto fix relative paths to aliases |
Awesome ESLint / Plugins / Testing Tools | |||
AVA | 230 | 6 months ago | Linting rules for AVA |
Awesome ESLint / Plugins / Testing Tools / Chai | |||
expect practices | 27 | 6 days ago | |
with unused expressions | 53 | 3 months ago | |
permitted keywords | 1 | 4 months ago | |
with chai-as-promised plugin | 4 | 4 months ago | |
globals | 2 | about 7 years ago | |
Awesome ESLint / Plugins / Testing Tools | |||
Cucumber | 7 | over 1 year ago | Linting rules for Cucumber |
Cypress | 706 | 15 days ago | Linting rules for Cypress |
Jasmine | 95 | about 1 month ago | Linting rules for Jasmine |
Awesome ESLint / Plugins / Testing Tools / Jest | |||
Enforcing practices | 1,135 | 7 days ago | Linting rules for Jest |
Enforcing consistent formatting | 156 | over 1 year ago | Formatting rules for Jest |
Jest-async | Async linting rule for Jest | ||
Jest-DOM | 361 | 4 months ago | Linting rules for Jest-DOM |
Awesome ESLint / Plugins / Testing Tools / Mocha | |||
Enforcing practices | 281 | 3 months ago | Linting rules for Mocha |
Enforcing manageability | 13 | about 2 months ago | |
Awesome ESLint / Plugins / Testing Tools | |||
Playwright | 281 | 6 days ago | Linting rules for Playwright |
QUnit | 30 | 3 months ago | Linting rules for QUnit |
TestCafe-Community | 4 | 3 months ago | TestCafe linting rules with env globals (fork from ) |
Testing Library | 992 | 6 days ago | Linting rules for Testing Library |
Awesome ESLint / Parsers | |||
babel-eslint-parser | 43,241 | 6 days ago | Allows you to lint ALL valid Babel code with the fantastic ESLint |
TypeScript | 15,283 | 4 days ago | A TypeScript parser that produces output compatible with ESLint |
BrightScript | 44 | almost 2 years ago | BrightScript plugin for Roku development. Includes Parser and Rules |
GraphQL | 800 | 4 days ago | Parser for the GraphQL AST. Includes parser, plugin, processor (for non-graphql files) and rules |
Awesome ESLint / Formatters | |||
html | 35 | 5 months ago | A enhanced ESLint formatter |
badger | 6 | 10 months ago | Make SVG-based badges summarizing ESLint results (e.g., for use on a README) |
git-log | 41 | over 2 years ago | ESLint Formatter featuring Git Author, Date, and Hash |
github | 102 | 26 days ago | See ESLint errors and warnings directly in pull requests |
gitlab | Output ESLint results in the GitLab code quality results | ||
mo | 124 | over 1 year 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 | 5 months ago | Format ESLint output into a bar chart |
Awesome ESLint / Globals | |||
confusing-browser-globals | 102,771 | 3 months 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 | 405 | 17 days ago | (originally from ESLint) |
chai globals | 2 | about 7 years ago | |
TestCafe globals | 15 | over 4 years ago | & globals for TestCafe |
Awesome ESLint / Tools | |||
eslint-define-config | 361 | 6 days ago | Provide a function for files |
es-file-traverse | 2 | 4 months 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 | 206 | about 1 month ago | Find built-in ESLint rules you don't have in your custom config |
eslint-index | 20 | over 3 years ago | CLI for finding and managing rules in ESLint config files |
eslint-interactive | 368 | about 2 months ago | The CLI tool to fix huge number of ESLint errors |
eslint-multiplexer | 7 | 4 days ago | Multiplex eslint results and merge results for common files |
eslint-nibble | 782 | 2 months ago | Ease into ESLint, by fixing one rule at a time |
eslint-plugin-rule-adoption | 1 | 5 months ago | An eslint plugin for incremental rule adoption, when and codemods don't cut it |
eslint-rule-documentation | 30 | over 1 year ago | Find the url for the documentation of an ESLint rule |
eslint-watch | 196 | over 1 year ago | Run ESLint with watch mode |
codacy-eslint | 15 | 6 days ago | Docker used at to run ESLint |
esprint | 662 | 3 months ago | Run ESLint across multiple threads |
generator-eslint | 230 | 24 days ago | Generate ESLint plugin and rules with |
editor-info | 6 | 5 days ago | Detect whether one is within an editor/IDE and which type, allowing one to tweak ESLint configuration accordingly |
eslint-dashboard | 19 | about 3 years ago | Interactive ESLint workflow that lives in your terminal |
eslint-remote-tester | 129 | 6 days ago | CLI tool for testing given ESlint rules against multiple repositories at once |
Awesome ESLint / Developing for ESLint | |||
eslint-doc-generator | 92 | 9 days ago | Generate documentation for your ESLint plugin including a rules table for your readme and header for your rule docs |
eslint-docgen | 10 | 6 months 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 | 24 | 10 days 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