JavaScript > ESLint
Linter.
Configs
Configs by Well-Known Companies/Organizations
Shareable config for Airbnb's style guide.
Airbnb's ESLint config with Babel Support.
Progressive ESLint config for your React/Vue/TypeScript projects.
Contains the ESLint configuration used for projects maintained by the ESLint team.
Feedzai's shareable config for JavaScript/React projects.
Shareable config for Shopify's style guide.
Shareable config for Wikimedia's style guide, used by MediaWiki.
Other Prominent Configs (100 stars or so)
Automatically configure ESLint based on your project's dependencies.
Shareable config for Canonical style guide.
Shareable config for JavaScript Standard Style.
Shareable config for XO.
Anthony's ESLint config preset.
Other Configs
A reasonable collection of plugins to use alongside your main ESLint configuration.
One config to rule them all!
ESLint configuration for awesome projects.
Enforce classic JavaScript featuress in TypeScript codebase by banning excessive keywords.
The most strict (but practical) ESLint config out there.
Shareable config that only catches actual problems, and doesn't enforce stylistic preferences.
Shareable config for Supermind style.
Comprehensive and highly opinionated Eslint configuration. Typescript oriented.
Preconfigured Configs with ESLint Set up
Node.js core config.
Prettier config for ESlint maintained by Prettier team.
JavaScript Standard Style.
JavaScript Supermind Style.
JavaScript happiness style linter ️.
Plugins
Code Quality
Helps detect dependency tree bloat and redundant polyfills.
Misc. rules from GitHub.
Rules detecting bugs and suspicious patterns.
Various awesome ESLint rules.
Misc. rules.
Misc. rules. of @mysticatea without the personal config.
Transforms logical expressions in code to make them easier to understand.
A custom ESLint plugin that enforces principles of clean, maintainable software design — inspired by Code Complete.
Compatibility
Lint browser compatibility of APIs used (caniuse as an ESLint plugin).
Disable ECMAScript language features not supported by your browserslist targets.
Disable specific ECMAScript language versions or individual features. Properly maintained fork of no longer maintained eslint-plugin-es.
ESLint plugin for ES5 users (forbid ES2015+ usage).
Detect unsupported ES6 features in IE11.
CSS in JS
Lint undefined or unused rules for css modules.
ESLint rules for emotion.
Auto fixable ESlint's rules for styled components.
A11y for Styled Components.
An ESLint plugin for enforcing CSS property ordering in vanilla-extract CSS styles.
Deprecation
Embedded
Frameworks
Linting rules for Angular (v2+).
Linting rules to adhere to the John Papa's AngularJS Styleguide.
Plugin for Astro components.
Linting rules for Backbone.
Linting rules for Ember.
Linting rules for hapi.
Meteor specific linting rules for ESLint.
Accessibility rules on JSX elements.
Linting rules for React and JSX.
Linting rules for React Hooks.
React Native specific linting rules.
React-Redux specific linting rules.
Improve HMR experience when using Vite.
Linting rules for Solid and JSX.
Linting rules for Svelte v3 Components.
Plugin for VueJS.
Plugin for Scoped CSS in VueJS.
Languages and Environments
An ESLint plugin for linting ESLint plugins.
Flow type linting rules.
Run Flow as an ESLint plugin.
ESLint plugin for HTML.
Lint your JSON files.
Lint, format, and auto-fix your JSON files. Sort your package.json.
ESLint plugin for JSON, JSONC and JSON5.
Validates data defined in JavaScript, JSON, YAML and TOML using JSON Schema Validator.
Rules for consistent, readable, and valid package.json files.
ESLint Parser/Plugin for MDX.
Additional ESLint's rules for Node.js. Properly maintained fork of no longer maintained eslint-plugin-node.
SQL linting rules for ESLint.
ESLint plugin for TOML.
Granularly enforces TypeScript's erasableSyntaxOnly flag.
Provides Twoslash, $ExpectError, and $ExpectType type assertions.
ESLint plugin for YAML.
Libraries
Check your GraphQL query strings against a schema.
Linting rules for TypeGraphQL, targeted at finding common mistakes.
Linting rules for jQuery, including versioned configs for deprecated features.
Linting rules for JSDoc comments (including the JavaScript within @example).
Lodash specific linting rules.
Lodash/fp specific linting rules.
Plugin for Lodash template/Underscore template.
(Used in Lodash and Underscore.js)
Mongodb native Node.js driver linting rules.
Ramda specific linting rules.
Linting rules for RequireJS.
Linting rules for Tailwind CSS classnames.
ESLint plugin to help you write better tailwindcss by improving readability with formatting rules and enforcing best practices with linting rules.
Misc
Run ESLint on your changed lines only. Also supports CI!
Miscellaneous rules including rules for creating custom checks and wrapping (modifying) third-party rules.
An eslint rule that checks the top of files and fixes them too!
Convert all rules to errors.
Convert all rules to warnings.
Introduces types, based on existing schemas (Swagger, Redux) and linting access to object properties, preventing undefined errors.
Helps catch insensitive words, promoting an inclusive codebase.
Practices and Specific ES Features
Avoid redundancy when using es2015 array methods and functions.
ESLint rules to ensure proper arrow function definitions.
Ensures that your architecture boundaries are respected by the elements in your project checking file structure and dependencies.
Best practices about ESLint directive comments (/eslint-disable/, etc.). Properly maintained fork of no longer maintained eslint-plugin-eslint-comments.
A plugin to preserve original error context when re-throwing exceptions.
A plugin that helps you to enforce hexagonal architecture best practices.
Forbids functions with too many parameters of the same type, encouraging object-based signatures and preventing primitive obsession.
Enforce good writing style in comments.
Lints unhandled functions that might throw errors.
ESLint rules for functional programming.
ESLint rules to disable mutation and promote fp in JavaScript and TypeScript.
Prevent accidental parameter mutations by enforcing explicit mut prefix (JavaScript) or Mut<T> type annotation (TypeScript).
Disable all mutation in JavaScript.
Linting of ES2015+ import/export syntax, and prevent issues with misspelling of file paths and import names.
Linting of ES2015+ import/export syntax, and prevent issues with misspelling of file paths and import names. Lightweight fork of eslint-plugin-import, but which breaks backwards compatibility.
ESLint plugin related to Math object and Number.
Require errors to be thrown using new.
Lints against expressions like Math.max(...args) that can lead to a stack overflow for large arrays.
Prevents leaking comments into production if bundler is not used and stops developers from commenting out old lines of code.
Encourages use of class properties by reporting use of this with bind or setting state in constructors.
Custom rule for ESLint that checks for inferred method names within object literals.
It's 2019 and you still use loops?
Show queried syntax's content in messages.
Prevent using extended native objects.
Best practices when working with promises.
Enforce pure functions (without side effects).
ESLint plugin for finding possible ReDoS vulnerabilities.
ESLint plugin for finding regexp mistakes and style guide violations.
Adds fixer for ESLint sort-keys rule.
Write pure functions, don't allow this.
An eslint plugin for disallow side effect at module toplevel.
Optimize regex literals.
An eslint plugin that detects potential secrets/credentials.
Checks for innerHTML, outerHTML, etc.
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.
ESLint rules for Node Security.
Tries to detect XSS issues in codebase before they end up in production.
Derive rules from .editorconfig.
Ensure consistent filenames for your JavaScript files. No longer maintained and does not work with ESlint 9 at all.
Easy autofixable import sorting.
Sort objects, imports, TypeScript types, enums, JSX props, etc.
Sorts imports and splits 'multiple' imports into single line imports.
Switch-case-specific linting rules for ESLint.
Allows/disallows padding between statements.
Use paths from tsconfig/jsconfig and auto fix relative paths to aliases.
Linting rules for AVA.
Linting rules for Cucumber.
Linting rules for Cypress.
Linting rules for Jasmine.
Linting rules for Playwright.
Linting rules for QUnit.
TestCafe linting rules with env globals (fork from TestCafe globals).
Linting rules for Testing Library.
Testing Tools
Linting rules for Jest.
Formatting rules for Jest.
Linting rules for Jest-DOM.
Linting rules for Mocha.
Parsers
Allows you to lint ALL valid Babel code with the fantastic ESLint.
Parser for the GraphQL AST. Includes parser, plugin, processor (for non-graphql files) and rules.
BrightScript plugin for Roku development. Includes Parser and Rules.
Globals
A curated list of browser globals that commonly cause confusion and are not recommended to use without an explicit window. qualifier.
(originally from ESLint)
fixture & test globals for TestCafe.
Formatters
A enhanced ESLint formatter.
Make SVG-based badges summarizing ESLint results (e.g., for use on a README).
ESLint Formatter featuring Git Author, Date, and Hash.
See ESLint errors and warnings directly in pull requests.
Good-lookin' ESLint formatter and also for delightful reading experience.
Format ESLint output into a bar chart.
Tools
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.
Find built-in ESLint rules you don't have in your custom config.
CLI for finding and managing rules in ESLint config files.
The CLI tool to fix huge number of ESLint errors.
Multiplex eslint results and merge results for common files.
Ease into ESLint, by fixing one rule at a time.
An eslint plugin for incremental rule adoption, when --fix and codemods don't cut it.
Find the url for the documentation of an ESLint rule.
Run ESLint with watch mode.
Docker used at Codacy to run ESLint.
Run ESLint across multiple threads.
Generate ESLint plugin and rules with Yeoman.
Detect whether one is within an editor/IDE and which type, allowing one to tweak ESLint configuration accordingly.
Interactive ESLint workflow that lives in your terminal.
CLI tool for testing given ESlint rules against multiple repositories at once.
Utility to disable autofix for specific ESLint rules.