Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
awesome-eslint
A list of awesome ESLint plugins, configs, etc.
https://github.com/dustinspecker/awesome-eslint
Last synced: 5 days ago
JSON representation
-
Configs
-
Configs by Well-Known Companies/Organizations
- Airbnb - Shareable config for [Airbnb's style guide](https://github.com/airbnb/javascript).
- ESLint - Contains the ESLint configuration used for projects maintained by the ESLint team.
- Facebook - Sharable config for Facebook's style guide.
- React App - Sharable config for [React](https://reactjs.org) projects.
- Shopify - Shareable config for [Shopify's style guide](https://github.com/Shopify/javascript).
- ESLint - Contains the ESLint configuration used for projects maintained by the ESLint team.
- React App - Sharable config for [React](https://reactjs.org) projects.
- Shopify - Shareable config for [Shopify's style guide](https://github.com/Shopify/javascript).
- Airbnb-babel - Airbnb's ESLint config with Babel Support.
- Airbnb-typescript - Airbnb's ESLint config with TypeScript support.
- Alloy - Progressive ESLint config for your React/Vue/TypeScript projects.
- ESLint - Contains the ESLint configuration used for projects maintained by the ESLint team.
- Feedzai - Feedzai's shareable config for JavaScript/React projects.
- React App - Sharable config for [React](https://reactjs.org) projects.
- Shopify - Shareable config for [Shopify's style guide](https://github.com/Shopify/javascript).
- Wikimedia - Shareable config for [Wikimedia's style guide](https://www.mediawiki.org/wiki/Manual:Coding_conventions/JavaScript), used by [MediaWiki](https://www.mediawiki.org/).
- Vercel - Vercel Engineering's composable eslint configuration used in all their codebases.
-
Other Prominent Configs (100 stars or so)
- Standard - Shareable config for JavaScript [Standard Style](https://github.com/feross/standard).
- Auto - Automatically configure ESLint based on your project's dependencies.
- Canonical - Shareable config for [Canonical style guide](https://github.com/gajus/canonical).
- Standard - Shareable config for JavaScript [Standard Style](https://github.com/feross/standard).
- XO - Shareable config for [XO](https://github.com/xojs/xo).
- Antfu Eslint Config - Anthony's ESLint config preset.
-
Other Configs
- Adjunct - A reasonable collection of plugins to use alongside your main ESLint configuration.
- Ash-Nazg - One config to rule them all!
- Cecilia - ESLint configuration for awesome projects.
- ES - Shareable config for very strict code.
- Hardcore - The most strict (but practical) ESLint config out there.
- Problems - Shareable config that only catches actual problems, and doesn't enforce stylistic preferences.
- Supermind - Shareable config for Supermind style.
- Sheriff - Comprehensive and highly opinionated Eslint configuration. Typescript oriented.
- clean-typescript - Enforce classic JavaScript featuress in TypeScript codebase by banning excessive keywords.
-
-
Plugins
-
CSS in JS
- Emotion - ESLint rules for emotion.
- Emotion - ESLint rules for emotion.
- CSS-modules - Lint undefined or unused rules for css modules.
- Emotion - ESLint rules for emotion.
- Better Styled Components - Auto fixable ESlint's rules for styled components.
- styled-components-a11y - A11y for Styled Components.
-
Frameworks
- Meteor - Meteor specific linting rules for ESLint.
- React Hooks - Linting rules for React Hooks.
- AngularJS - Linting rules to adhere to the [John Papa's AngularJS Styleguide](https://github.com/johnpapa/angular-styleguide).
- Hapi - Linting rules for hapi.
- JSX a11y - Accessibility rules on JSX elements.
- React - Linting rules for React and JSX.
- React Hooks - Linting rules for React Hooks.
- Solid - Linting rules for Solid and JSX.
- Angular - Linting rules for Angular (v2+).
- AngularJS - Linting rules to adhere to the [John Papa's AngularJS Styleguide](https://github.com/johnpapa/angular-styleguide).
- Astro - Plugin for [Astro components](https://docs.astro.build/en/core-concepts/astro-components/).
- Backbone - Linting rules for Backbone.
- Custom Elements - Rules by GitHub for Custom Elements.
- Ember - Linting rules for Ember.
- Hapi - Linting rules for hapi.
- React Native - React Native specific linting rules.
- React-Redux - React-Redux specific linting rules.
- Solid - Linting rules for Solid and JSX.
- Svelte - Linting rules for Svelte v3 Components.
- VueJS - Plugin for VueJS.
- VueJS Scoped CSS - Plugin for Scoped CSS in VueJS.
-
Languages and Environments
- AssemblyScript - Rules for enforcing restrictions on TypeScript toward AssemblyScript compliance.
- Babel - Adds replacements for built-in rules to include Babel features.
- MDX - ESLint Parser/Plugin for MDX.
- TypeScript - Linting rules for TypeScript.
- eslint-plugin-eslint-plugin - An ESLint plugin for linting ESLint plugins.
- JSON, package.json - Lint, format, and auto-fix your JSON files. Sort your `package.json`.
- TypeScript - Linting rules for TypeScript.
- Coffee - Enables linting CoffeeScript files with, with optional linting rules from the Coffeelint library.
- eslint-plugin-eslint-plugin - An ESLint plugin for linting ESLint plugins.
- Flow - Flow type linting rules.
- Flow Errors - Run Flow as an ESLint plugin.
- HTML - ESLint plugin for HTML.
- JSON - Lint your JSON files.
- JSON, package.json - Lint, format, and auto-fix your JSON files. Sort your `package.json`.
- JSON with Comments - ESLint plugin for JSON, JSONC and JSON5.
- JSON Schema - Validates data defined in JavaScript, JSON, YAML and TOML using JSON Schema Validator.
- N - Additional ESLint's rules for Node.js. Properly maintained fork of no longer maintained `eslint-plugin-node`.
- SQL - SQL linting rules for ESLint.
- TOML - ESLint plugin for TOML.
- YAML - ESLint plugin for YAML.
-
Misc
- PutOut - an ESLint plugin integrates [putout](https://github.com/coderaiser/putout) linter into ESLint.
- Misc - Miscellaneous rules including rules for creating custom checks and wrapping (modifying) third-party rules.
- Diff - Run ESLint on your changed lines only. Also supports CI!
- Misc - Miscellaneous rules including rules for creating custom checks and wrapping (modifying) third-party rules.
- Notice - An eslint rule that checks the top of files and fixes them too!
- Only-Error - Convert all rules to errors.
- Only-Warn - Convert all rules to warnings.
- TypeLint - Introduces types, based on existing schemas (Swagger, Redux) and linting access to object properties, preventing `undefined` errors.
- Woke - Helps catch insensitive words, promoting an inclusive codebase.
-
Style
- const case - Enforce capitalization of constant primitive literals.
- padding - Allows/disallows padding between statements.
- editorconfig - Derive rules from [`.editorconfig`](https://editorconfig.org/).
- filenames - Ensure consistent filenames for your JavaScript files. No longer maintained and does not work with ESlint 9 at all.
- Simple import sort - Easy autofixable import sorting.
- perfectionist sorting - Sort objects, imports, TypeScript types, enums, JSX props, etc.
- Switch case - Switch-case-specific linting rules for ESLint.
- padding - Allows/disallows padding between statements.
- paths - Use paths from tsconfig/jsconfig and auto fix relative paths to aliases.
- ESLint Stylistic - [Formatting and stylistic ESLint core rules moved to this project and are maintained by the community.](https://eslint.org/blog/2023/10/deprecating-formatting-rules/)
-
Testing Tools
- Jest-async - Async linting rule for Jest.
- AVA - Linting rules for AVA.
- expect practices
- with unused expressions
- permitted keywords
- with chai-as-promised plugin
- Cucumber - Linting rules for Cucumber.
- Cypress - Linting rules for Cypress.
- Jasmine - Linting rules for Jasmine.
- Enforcing practices - Linting rules for Jest.
- Enforcing consistent formatting - Formatting rules for Jest.
- Jest-DOM - Linting rules for Jest-DOM.
- Enforcing practices - Linting rules for Mocha.
- Enforcing manageability
- Playwright - Linting rules for Playwright.
- QUnit - Linting rules for QUnit.
- TestCafe-Community - TestCafe linting rules with env globals (fork from [TestCafe globals](https://github.com/miherlosev/eslint-plugin-testcafe)).
- Testing Library - Linting rules for Testing Library.
-
Libraries
- apollostack/eslint-plugin-graphql - Check your GraphQL query strings against a schema.
- Lodash - Lodash specific linting rules.
- Mongodb - Mongodb native Node.js driver linting rules.
- apollostack/eslint-plugin-graphql - Check your GraphQL query strings against a schema.
- TypeGraphQL - Linting rules for TypeGraphQL, targeted at finding common mistakes.
- jQuery - Linting rules for jQuery, including versioned configs for deprecated features.
- JSDoc - Linting rules for JSDoc comments (including the JavaScript within `@example`).
- Lodash - Lodash specific linting rules.
- Lodash/fp - Lodash/fp specific linting rules.
- Lodash template - Plugin for Lodash template/Underscore template.
- Microtemplates
- Mongodb - Mongodb native Node.js driver linting rules.
- Ramda - Ramda specific linting rules.
- RequireJS - Linting rules for RequireJS.
- Tailwind CSS - Linting rules for Tailwind CSS classnames.
-
Practices and Specific ES Features
- functional - ESLint rules to disable mutation and promote fp in JavaScript and TypeScript.
- import - Linting of ES2015+ import/export syntax, and prevent issues with misspelling of file paths and import names.
- Promise - Best practices when working with promises.
- array-func - Avoid redundancy when using es2015 array methods and functions.
- arrow functions - ESLint rules to ensure proper arrow function definitions.
- boundaries - Ensures that your architecture boundaries are respected by the elements in your project checking file structure and dependencies.
- @eslint-community/eslint-plugin-eslint-comments - Best practices about ESLint directive comments (`/*eslint-disable*/`, etc.). Properly maintained fork of no longer maintained `eslint-plugin-eslint-comments`.
- eslint-plugin-hexagonal-architecture - A plugin that helps you to enforce hexagonal architecture best practices.
- eslint-plugin-write-good-comments - Enforce good writing style in comments.
- fp - ESLint rules for functional programming.
- functional - ESLint rules to disable mutation and promote fp in JavaScript and TypeScript.
- Immutable - Disable all mutation in JavaScript.
- import-x - 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.
- new-with-error - Require errors to be thrown using `new`.
- no-argument-spread - Lints against expressions like `Math.max(...args)` that can lead to a stack overflow for large arrays.
- no-comments - Prevents leaking comments into production if bundler is not used and stops developers from commenting out old lines of code.
- no-constructor-bind - Encourages use of class properties by reporting use of `this` with `bind` or setting state in constructors.
- no-inferred-method-name - Custom rule for ESLint that checks for inferred method names within object literals.
- no-loops - It's 2019 and you still use loops?
- no-restricted-syntax - Show queried syntax's content in messages.
- no-use-extend-native - Prevent using extended native objects.
- pure - Enforce pure functions (without side effects).
- ReDoSDetector - ESLint plugin for finding possible ReDoS vulnerabilities.
- RegExp - ESLint plugin for finding regexp mistakes and style guide violations.
- sort-keys-fix - Adds fixer for ESLint `sort-keys` rule.
- this - Write pure functions, don't allow `this`.
- toplevel - An eslint plugin for disallow side effect at module toplevel.
- eslint-plugin-exception-handling - Lints unhandled functions that might throw errors.
- Promise - Best practices when working with promises.
- import - Linting of ES2015+ import/export syntax, and prevent issues with misspelling of file paths and import names.
- ReDoS - ESLint plugin for finding possible ReDoS vulnerabilities.
-
Security
- Security - ESLint rules for Node Security.
- no-secrets - An eslint plugin that detects potential secrets/credentials.
- no-unsanitized - Checks for `innerHTML`, `outerHTML`, etc.
- 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.
- config - plugin-scanjs-rules) - Security-related rules.
- xss - Tries to detect XSS issues in codebase before they end up in production.
- Security - ESLint rules for Node Security.
-
Code Quality
- depend - Helps detect dependency tree bloat and redundant polyfills.
- GitHub - Misc. rules from GitHub.
- SonarJS - Rules detecting bugs and suspicious patterns.
- Unicorn - Various awesome ESLint rules.
- @mysticatea/eslint-plugin - Misc. rules.
- @brettz9/eslint-plugin - Misc. rules. of `@mysticatea` without the personal config.
-
Compatibility
- Compat - Lint browser compatibility of APIs used ([caniuse](http://caniuse.com/#search=fetch) as an ESLint plugin).
- ecmascript-compat - Disable ECMAScript language features not supported by your browserslist targets.
- es-x - Disable specific ECMAScript language versions or individual features. Properly maintained fork of no longer maintained `eslint-plugin-es`.
- es5 - ESLint plugin for ES5 users (forbid ES2015+ usage).
- ie11 - Detect unsupported ES6 features in IE11.
-
Deprecation
- deprecate - Mark functions or modules as deprecated and get lint messages when they are used.
- deprecation - Identifies use of
- disable - Disable specified plugins using file path patterns and inline comments.
-
Embedded
-
Performance
- DOM
- Optimize Regex - Optimize regex literals.
- plugin - config-perf-standard)
-
-
Formatters
-
Testing Tools
- SARIF - Generate a results in a SARIF format so it can be imported into tools like GitHub Advanced Security.
- html - A enhanced ESLint formatter.
- badger - Make SVG-based badges summarizing ESLint results (e.g., for use on a README).
- git-log - ESLint Formatter featuring Git Author, Date, and Hash.
- github - See ESLint errors and warnings directly in pull requests.
- gitlab - Output ESLint results in the GitLab code quality results.
- mo - Good-lookin' ESLint formatter and also for delightful reading experience.
- summary-chart - Format ESLint output into a bar chart.
-
-
Globals
-
Testing Tools
- confusing-browser-globals - A curated list of browser globals that commonly cause confusion and are not recommended to use without an explicit window. qualifier.
- chai globals
- ES and browser globals
- TestCafe globals - `fixture` & `test` globals for TestCafe.
-
-
Tools
-
Testing Tools
- Yeoman
- eslint-define-config - Provide a `defineConfig` function for `.eslintrc.js` files.
- Yeoman
- eslint-define-config - Provide a `defineConfig` function for `.eslintrc.js` files.
- 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.
- eslint-find-rules - Find built-in ESLint rules you don't have in your custom config.
- eslint-index - CLI for finding and managing rules in ESLint config files.
- eslint-interactive - The CLI tool to fix huge number of ESLint errors.
- eslint-multiplexer - Multiplex eslint results and merge results for common files.
- eslint-nibble - Ease into ESLint, by fixing one rule at a time.
- eslint-plugin-rule-adoption - An eslint plugin for incremental rule adoption, when `--fix` and codemods don't cut it.
- eslint-rule-documentation - Find the url for the documentation of an ESLint rule.
- eslint-watch - Run ESLint with watch mode.
- codacy-eslint - Docker used at [Codacy](https://www.codacy.com) to run ESLint.
- esprint - Run ESLint across multiple threads.
- generator-eslint - Generate ESLint
- editor-info - Detect whether one is within an editor/IDE and which type, allowing one to tweak ESLint configuration accordingly.
- eslint-dashboard - Interactive ESLint workflow that lives in your terminal.
- eslint-remote-tester - CLI tool for testing given ESlint rules against multiple repositories at once.
-
-
Tutorials
-
Testing Tools
- 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.
- Creating an ESLint Plugin - Article walking through the creation of an ESLint rule and plugin.
- 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.
- Writing a rule to spot undeclared props hiding in plain sight - Article about creating rules that require scope analysis.
-
-
Preconfigured Configs with ESLint Set up
-
Other Configs
- Standard - JavaScript Standard Style.
- XO - JavaScript happiness style linter ❤️.
- Node.js Standard Style - Node.js core config.
- eslint-config-prettier - Prettier config for ESlint maintained by Prettier team.
- Standard - JavaScript Standard Style.
- Superlint - JavaScript Supermind Style.
- Healthier - Code style agnostic version of Standard, perfect companion to Prettier.
- XO - JavaScript happiness style linter ❤️.
-
-
Parsers
-
Testing Tools
- GraphQL - Parser for the GraphQL AST. Includes parser, plugin, processor (for non-graphql files) and rules.
- TypeScript - A TypeScript parser that produces output compatible with ESLint.
- BrightScript - BrightScript plugin for Roku development. Includes Parser and Rules.
- GraphQL - Parser for the GraphQL AST. Includes parser, plugin, processor (for non-graphql files) and rules.
- babel-eslint-parser - Allows you to lint ALL valid Babel code with the fantastic ESLint.
-
-
Developing for ESLint
-
Testing Tools
- eslint-doc-generator - Generate documentation for your ESLint plugin including a rules table for your readme and header for your rule docs.
- eslint-docgen - Automatically generate ESLint plugin documentation from rule metadata and test cases.
-
-
Installation and Setup
-
Testing Tools
- Lintier - CLI to quickly scaffold an ESLint & Prettier setup in a TypeScript project.
-
Programming Languages
Categories
Sub Categories
Testing Tools
67
Practices and Specific ES Features
31
Frameworks
21
Languages and Environments
20
Configs by Well-Known Companies/Organizations
17
Other Configs
17
Libraries
15
Style
10
Misc
9
Security
7
CSS in JS
6
Code Quality
6
Other Prominent Configs (100 stars or so)
6
Compatibility
5
Deprecation
3
Performance
3
Embedded
2
Keywords
eslint
94
eslint-plugin
71
javascript
25
eslint-rules
14
eslint-config
13
typescript
11
linter
11
eslintplugin
11
nodejs
8
ecmascript
8
react
7
lint
7
prettier
6
linting
6
jest
5
lodash
5
eslint-formatter
4
development
4
code-quality
4
vue
4
static-code-analysis
4
plugin
3
chai
3
mocha
3
formatter
3
security
3
static-analysis
3
html
3
best-practices
3
import
3
npm-package
3
npm
3
standard
3
xo
3
json
3
regex
2
angular
2
eslint-plugin-import
2
playwright
2
scss
2
codequality
2
readability
2
css
2
git
2
linting-rules
2
unicorns
2
regexp
2
dom
2
api
2
browserslist
2