A list of awesome ESLint configs, plugins, etc.
If you want to contribute, please read the contribution guidelines.
- Configs
- Parsers
- Plugins
- Preconfigured Tools with ESLint Set up
- Tools
- Developing for ESLint
- Tutorials
- Adjunct - A collection of the best lesser known eslint plugins to use alongside your main configuration.
- Airbnb - Shareable config for Airbnb's style guide.
- Alloy - Progressive ESLint config for your React/Vue/TypeScript projects.
- Canonical - Shareable config for Canonical style guide.
- ESLint - Contains the ESLint configuration used for projects maintained by the ESLint team.
- ES - Shareable config for very strict code.
- Facebook - Sharable config for Facebook's style guide.
- Google - Shareable config for the Google style.
- Problems - Shareable config that only catches actual problems, and doesn't enforce stylistic preferences.
- Shopify - Shareable config for Shopify's style guide.
- Standard - Shareable config for JavaScript Standard Style.
- Supermind - Shareable config for Supermind style.
- XO - Shareable config for XO.
- Babel - Use Babel's parser for linting all Babel features.
- TypeScript - A TypeScript parser that produces output compatible with ESLint.
- BrightScript - BrightScript plugin for Roku development. Includes Parser and Rules.
- AngularJS - Linting rules to adhere to the John Papa's AngularJS Styleguide.
- Backbone - Linting rules for Backbone.
- Ember - Linting rules for Ember.
- GraphQL - Check your GraphQL query strings against a schema.
- Hapi - Linting rules for hapi.
- JSDoc - Linting rules for JSDoc comments.
- Lodash - Lodash specific linting rules.
- Lodash/fp - Lodash/fp specific linting rules.
- Lodash template - Plugin for Lodash template/Underscore template.
- Meteor - Meteor specific linting rules.
- Mongodb - Mongodb native Node.js driver linting rules.
- Ramda - Ramda specific linting rules.
- React - Linting rules for React and JSX.
- React Hooks - Linting rules for React Hooks.
- React Native - React Native specific linting rules.
- RequireJS - Linting rules for RequireJS.
- VueJS - Plugin for VueJS.
- VueJS Scoped CSS - Plugin for Scoped CSS in VueJS.
- Babel - Adds replacements for built-in rules to include Babel features.
- Compat - Lint browser compatability of APIs used (caniuse as an ESLint plugin).
- Coffee - Enables linting CoffeeScript files with, with optional linting rules from the Coffeelint library.
- CSS-modules - Lint undefined or unused rules for css modules.
- deprecate - Mark functions or modules as deprecated and get lint messages when they are used.
- disable - Disable specified plugins using file path patterns and inline comments.
- es - Disable specific ECMAScript language versions or individual features.
- es5 - ESLint plugin for ES5 users (forbid ES2015+ usage).
- Flow - Flow type linting rules.
- Flow Errors - Run Flow as an ESLint plugin.
- HTML - Linting for JavaScript inside of HTML
<script>
tags. - import - Linting of ES2015+ import/export syntax, and prevent issues with misspelling of file paths and import names.
- JSON - Lint your JSON files.
- JSON, package.json - Lint, format, and auto-fix your JSON files. Sort your
package.json
. - Markdown - Linting JavaScript in Markdown.
- Node - Additional ESLint's rules for Node.js.
- Notice - An eslint rule that checks the top of files and fixes them too!
- Optimize Regex - Optimize regex literals.
- SonarJS - Rules detecting bugs and suspicious patterns.
- SQL - SQL linting rules for ESLint.
- TypeLint - Introduces types, based on existing schemas (Swagger, Redux) and linting access to object properties, preventing
undefined
errors. - unicorn - Various awesome ESLint rules.
- ESLint Comments - Best practices about ESLint directive comments (
/*eslint-disable*/
, etc.). - eslint-plugin-eslint-plugin - An ESLint plugin for linting ESLint plugins.
-
array-func - Avoid redundancy when using es2015 array methods and functions.
-
arrow functions - ESLint rules to ensure proper arrow function definitions.
-
fp - ESLint rules for functional programming.
-
Immutable - Disable all mutation in JavaScript.
-
JSX a11y - Accessibility rules on JSX elements.
-
new-with-error - Require errors to be thrown using
new
. -
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-secrets - An eslint plugin that detects potential secrets/credentials.
-
no-use-extend-native - Prevent using extended native objects.
-
Promise - Best practices when working with promises.
-
Security - ESLint rules for Node Security.
-
this - Write pure functions, don't allow
this
. -
XSS - Tries to detect XSS issues in codebase before they end up in production.
- filenames - Ensure consistent filenames for your JavaScript files.
- Simple import sort - Easy autofixable import sorting.
- Switch case - Switch-case-specific linting rules for ESLint.
- AVA - Linting rules for AVA.
- Chai - Linting rules for Chai.
- Jasmine - Linting rules for Jasmine.
- Jest - Linting rules for Jest.
- Mocha - Linting rules for Mocha.
- Cypress - Linting rules for Cypress.
- eslint-formatter-git-log - ESLint Formatter featuring Git Author, Date, and Hash.
- eslint-formatter-github - See ESLint errors and warnings directly in pull requests.
- eslint-formatter-gitlab - Output ESLint results in the GitLab code quality results.
- Node.js Standard Style - Node.js core config.
- prettier-standard - Prettier formatter with custom eslint rules allowed.
- Standard - JavaScript Standard Style.
- Superlint - JavaScript Supermind Style.
- XO - JavaScript happiness style linter ❤️.
- Zoe - Universal JavaScript linter and formatter.
- Healthier - Code style agnostic version of Standard, perfect companion to Prettier.
- eslint-cli - This is the
eslint
command that executes a local installed ESLint. - 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-multiplexer - Multiplex eslint results and merge results for common files.
- eslint-nibble - Ease into ESLint, by fixing one rule at a time.
- 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 to run ESLint.
- esprint - Run ESLint across multiple threads.
- eslint-docs - Keep your rule descriptions up-to-date across the repository.
- 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.