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.

GitHub

4k stars
69 watching
226 forks
last commit: 3 months ago
Linked from 4 awesome lists

awesomeawesome-listeslintlist

Awesome ESLint / Configs / Configs by Well-Known Companies/Organizations

Airbnb 145,636 about 1 month ago Shareable config for
Airbnb-babel 3 almost 2 years ago Airbnb's ESLint config with Babel Support
Airbnb-typescript 1,046 5 months ago Airbnb's ESLint config with TypeScript support
Alloy 2,646 about 1 year ago Progressive ESLint config for your React/Vue/TypeScript projects
ESLint 25,239 about 1 month ago Contains the ESLint configuration used for projects maintained by the ESLint team
Facebook Sharable config for Facebook's style guide
Feedzai 8 6 months ago Feedzai's shareable config for JavaScript/React projects
React App 102,901 5 months ago Sharable config for projects
Shopify 467 about 1 month ago Shareable config for
Vercel 1,289 3 months ago Vercel Engineering's composable eslint configuration used in all their codebases
Wikimedia 29 about 2 months ago Shareable config for , used by

Awesome ESLint / Configs / Other Prominent Configs (100 stars or so)

Auto 404 9 months ago Automatically configure ESLint based on your project's dependencies
Canonical 600 about 1 month ago Shareable config for
Standard 2,611 about 1 month ago Shareable config for JavaScript
XO 271 3 months ago Shareable config for
Antfu Eslint Config 4,191 about 1 month ago Anthony's ESLint config preset

Awesome ESLint / Configs / Other Configs

Adjunct 50 9 months ago A reasonable collection of plugins to use alongside your main ESLint configuration
Ash-Nazg 6 2 months ago One config to rule them all!
Cecilia 7 7 months ago ESLint configuration for awesome projects
clean-typescript 1 11 months ago Enforce classic JavaScript featuress in TypeScript codebase by banning excessive keywords
ES Shareable config for very strict code
Hardcore 422 5 months ago The most strict (but practical) ESLint config out there
Problems 68 about 1 month 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 133 about 1 month 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,506 6 months ago Prettier config for ESlint maintained by Prettier team
Standard 29,169 4 months ago JavaScript Standard Style
Superlint 5 over 7 years ago JavaScript Supermind Style
XO 7,713 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 359 3 months ago Helps detect dependency tree bloat and redundant polyfills
GitHub 302 about 1 month ago Misc. rules from GitHub
SonarJS 1,194 4 months ago Rules detecting bugs and suspicious patterns
Unicorn 4,326 about 1 month ago Various awesome ESLint rules
@mysticatea/eslint-plugin 26 about 2 years ago Misc. rules
@brettz9/eslint-plugin 2 6 months ago Misc. rules. of without the personal config

Awesome ESLint / Plugins / Compatibility

Compat 3,090 about 1 month ago Lint browser compatibility of APIs used ( as an ESLint plugin)
ecmascript-compat 68 9 months ago Disable ECMAScript language features not supported by your browserslist targets
es-x 121 about 2 months ago Disable specific ECMAScript language versions or individual features. Properly maintained fork of no longer maintained
es5 54 about 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 about 2 months ago Lint undefined or unused rules for css modules
Emotion 17,555 about 1 month ago ESLint rules for emotion

Awesome ESLint / Plugins / CSS in JS / Styled Components

Better Styled Components 65 about 2 years ago Auto fixable ESlint's rules for styled components
styled-components-a11y 146 2 months ago A11y for Styled Components

Awesome ESLint / Plugins / Deprecation

deprecate 81 6 months ago Mark functions or modules as deprecated and get lint messages when they are used
deprecation 331 3 months ago Identifies use of jsdoc functions
disable 56 almost 2 years ago Disable specified plugins using file path patterns and inline comments

Awesome ESLint / Plugins / Embedded

HTML 436 4 months ago Linting for JavaScript inside of HTML tags
Markdown 412 about 1 month ago Linting for JavaScript inside of Markdown

Awesome ESLint / Plugins / Frameworks

Angular 1,659 about 1 month ago Linting rules for Angular (v2+)
AngularJS 618 9 months ago Linting rules to adhere to the
Astro 325 about 1 month ago Plugin for
Backbone 95 about 7 years ago Linting rules for Backbone
Custom Elements 58 over 1 year ago Rules by GitHub for Custom Elements
Ember 262 about 1 month ago Linting rules for Ember
Hapi 21 3 months ago Linting rules for hapi
Meteor 44,479 about 1 month ago Meteor specific linting rules for ESLint

Awesome ESLint / Plugins / Frameworks / React

JSX a11y 22 8 months ago Accessibility rules on JSX elements
React 9,025 about 1 month ago Linting rules for React and JSX
React Hooks 230,386 about 1 month ago Linting rules for React Hooks
React Native 725 6 months ago React Native specific linting rules
React-Redux 83 4 months ago React-Redux specific linting rules

Awesome ESLint / Plugins / Frameworks

Solid 223 about 1 month ago Linting rules for Solid and JSX
Svelte 312 about 1 month ago Linting rules for Svelte v3 Components

Awesome ESLint / Plugins / Frameworks / Vue

VueJS 4,488 about 1 month ago Plugin for VueJS
VueJS Scoped CSS 101 about 2 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 about 1 month 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 203 about 2 months ago An ESLint plugin for linting ESLint plugins

Awesome ESLint / Plugins / Languages and Environments / Flow

Flow 1,076 11 months ago Flow type linting rules
Flow Errors 403 almost 3 years ago Run Flow as an ESLint plugin

Awesome ESLint / Plugins / Languages and Environments

HTML 165 about 1 month ago ESLint plugin for HTML

Awesome ESLint / Plugins / Languages and Environments / JSON

JSON 209 5 months ago Lint your JSON files
JSON, package.json 41 about 2 years ago Lint, format, and auto-fix your JSON files. Sort your
JSON with Comments 202 about 1 month ago ESLint plugin for JSON, JSONC and JSON5
JSON Schema 74 about 1 month ago Validates data defined in JavaScript, JSON, YAML and TOML using JSON Schema Validator

Awesome ESLint / Plugins / Languages and Environments

MDX 269 about 1 month ago ESLint Parser/Plugin for MDX
N 241 about 1 month ago Additional ESLint's rules for Node.js. Properly maintained fork of no longer maintained
SQL 94 5 months ago SQL linting rules for ESLint
TOML 27 about 1 month ago ESLint plugin for TOML
TypeScript 15,368 about 1 month ago Linting rules for TypeScript
YAML 126 about 1 month ago ESLint plugin for YAML

Awesome ESLint / Plugins / Libraries / GraphQL

dotansimha/graphql-eslint 802 about 1 month ago Validates, prettifies and checks your GraphQL operations and GraphQL schema for best-practices
apollostack/eslint-plugin-graphql 1,214 about 1 month 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 about 2 months ago Linting rules for jQuery, including versioned configs for deprecated features
JSDoc 1,103 about 1 month ago Linting rules for JSDoc comments (including the JavaScript within )

Awesome ESLint / Plugins / Libraries / Lodash

Lodash 276 12 months ago Lodash specific linting rules
Lodash/fp 151 about 2 years ago Lodash/fp specific linting rules
Lodash template 17 about 1 month ago Plugin for Lodash template/Underscore template
Microtemplates 4 almost 9 years ago (Used in Lodash and Underscore.js)

Awesome ESLint / Plugins / Libraries

Mongodb 19 about 2 years ago Mongodb native Node.js driver linting rules
Ramda 117 over 3 years ago Ramda specific linting rules
RequireJS 29 about 2 years ago Linting rules for RequireJS
Tailwind CSS 1,536 about 1 month ago Linting rules for Tailwind CSS classnames

Awesome ESLint / Plugins / Misc

Diff 187 2 months ago Run ESLint on your changed lines only. Also supports CI!
Misc 10 5 months ago Miscellaneous rules including rules for creating custom checks and wrapping (modifying) third-party rules
Notice 26 about 1 month ago An eslint rule that checks the top of files and fixes them too!
Only-Error 16 7 months ago Convert all rules to errors
Only-Warn 164 8 months ago Convert all rules to warnings
PutOut 713 about 1 month 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 3 months ago Helps catch insensitive words, promoting an inclusive codebase

Awesome ESLint / Plugins / Practices and Specific ES Features

array-func 94 about 1 month ago Avoid redundancy when using es2015 array methods and functions
arrow functions 305 over 2 years ago ESLint rules to ensure proper arrow function definitions
boundaries 583 about 1 month 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 3 months ago Best practices about ESLint directive comments ( , etc.). Properly maintained fork of no longer maintained
eslint-plugin-hexagonal-architecture 296 over 2 years ago A plugin that helps you to enforce hexagonal architecture best practices
eslint-plugin-write-good-comments 37 about 1 year ago Enforce good writing style in comments
eslint-plugin-exception-handling 31 about 2 months ago Lints unhandled functions that might throw errors
fp 968 about 4 years ago ESLint rules for functional programming
functional 857 about 1 month 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,589 about 1 month ago Linting of ES2015+ import/export syntax, and prevent issues with misspelling of file paths and import names
import-x 450 about 1 month 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 about 1 month 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 14 almost 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 almost 2 years 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 127 7 months ago It's 2019 and you still use loops?
no-restricted-syntax 6 7 months ago Show queried syntax's content in messages
no-use-extend-native 56 5 months ago Prevent using extended native objects
Promise 943 about 1 month 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 about 1 month ago ESLint plugin for finding possible ReDoS vulnerabilities
RegExp 701 about 1 month ago ESLint plugin for finding regexp mistakes and style guide violations
sort-keys-fix 97 7 months ago Adds fixer for ESLint rule
this 16 almost 2 years ago Write pure functions, don't allow
toplevel 19 about 1 month ago An eslint plugin for disallow side effect at module toplevel

Awesome ESLint / Plugins / Performance

DOM 9 over 6 years ago
Optimize Regex 74 7 months ago Optimize regex literals
plugin 23 about 8 years ago Perf-Standard and

Awesome ESLint / Plugins / Security

no-secrets 138 about 1 month ago An eslint plugin that detects potential secrets/credentials
no-unsanitized 232 2 months 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,225 3 months ago ESLint rules for Node Security
xss 66 over 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 over 1 year ago Derive rules from
filenames 323 6 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,146 4 months ago Easy autofixable import sorting
perfectionist sorting 2,220 about 1 month ago Sort objects, imports, TypeScript types, enums, JSX props, etc
Switch case 17 6 months ago Switch-case-specific linting rules for ESLint
padding 5 about 4 years ago Allows/disallows padding between statements
paths 69 about 1 month ago Use paths from tsconfig/jsconfig and auto fix relative paths to aliases

Awesome ESLint / Plugins / Testing Tools

AVA 231 8 months ago Linting rules for AVA

Awesome ESLint / Plugins / Testing Tools / Chai

expect practices 27 about 1 month ago
with unused expressions 54 5 months ago
permitted keywords 1 6 months ago
with chai-as-promised plugin 4 6 months ago
globals 2 over 7 years ago

Awesome ESLint / Plugins / Testing Tools

Cucumber 7 over 1 year ago Linting rules for Cucumber
Cypress 707 2 months ago Linting rules for Cypress
Jasmine 95 3 months ago Linting rules for Jasmine

Awesome ESLint / Plugins / Testing Tools / Jest

Enforcing practices 1,134 about 1 month 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 363 about 2 months ago Linting rules for Jest-DOM

Awesome ESLint / Plugins / Testing Tools / Mocha

Enforcing practices 281 5 months ago Linting rules for Mocha
Enforcing manageability 13 4 months ago

Awesome ESLint / Plugins / Testing Tools

Playwright 285 about 2 months ago Linting rules for Playwright
QUnit 30 5 months ago Linting rules for QUnit
TestCafe-Community 4 5 months ago TestCafe linting rules with env globals (fork from )
Testing Library 993 about 1 month ago Linting rules for Testing Library

Awesome ESLint / Parsers

babel-eslint-parser 43,304 about 1 month ago Allows you to lint ALL valid Babel code with the fantastic ESLint
TypeScript 15,368 about 1 month ago A TypeScript parser that produces output compatible with ESLint
BrightScript 44 about 2 years ago BrightScript plugin for Roku development. Includes Parser and Rules
GraphQL 802 about 1 month ago Parser for the GraphQL AST. Includes parser, plugin, processor (for non-graphql files) and rules

Awesome ESLint / Formatters

html 35 7 months ago A enhanced ESLint formatter
badger 6 12 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 about 1 month ago See ESLint errors and warnings directly in pull requests
gitlab Output ESLint results in the GitLab code quality results
mo 126 almost 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 7 months ago Format ESLint output into a bar chart

Awesome ESLint / Globals

confusing-browser-globals 102,901 5 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 416 about 2 months ago (originally from ESLint)
chai globals 2 over 7 years ago
TestCafe globals 15 over 4 years ago & globals for TestCafe

Awesome ESLint / Tools

eslint-define-config 361 about 1 month ago Provide a function for files
es-file-traverse 2 6 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 207 3 months 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 373 4 months ago The CLI tool to fix huge number of ESLint errors
eslint-multiplexer 7 about 2 months ago Multiplex eslint results and merge results for common files
eslint-nibble 788 2 months ago Ease into ESLint, by fixing one rule at a time
eslint-plugin-rule-adoption 1 7 months ago An eslint plugin for incremental rule adoption, when and codemods don't cut it
eslint-rule-documentation 30 almost 2 years ago Find the url for the documentation of an ESLint rule
eslint-watch 196 almost 2 years ago Run ESLint with watch mode
codacy-eslint 15 about 1 month ago Docker used at to run ESLint
esprint 662 4 months ago Run ESLint across multiple threads
generator-eslint 231 3 months ago Generate ESLint plugin and rules with
editor-info 6 about 1 month ago Detect whether one is within an editor/IDE and which type, allowing one to tweak ESLint configuration accordingly
eslint-dashboard 19 over 3 years ago Interactive ESLint workflow that lives in your terminal
eslint-remote-tester 129 about 1 month ago CLI tool for testing given ESlint rules against multiple repositories at once

Awesome ESLint / Developing for ESLint

eslint-doc-generator 95 about 1 month ago Generate documentation for your ESLint plugin including a rules table for your readme and header for your rule docs
eslint-docgen 10 8 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 25 about 1 month ago CLI to quickly scaffold an ESLint & Prettier setup in a TypeScript project

Backlinks from these awesome lists:

More related projects: