A list of awesome ESLint plugins, configs, etc.
Latest commit cef7522 Jan 4, 2017 @nkt nkt committed with feat: add es5 plugin


Awesome ESLint Awesome


A list of awesome ESLint configs, plugins, etc.

Build Status PRs Welcome

If you want to contribute, please read the contribution guidelines.

Table of Contents



  • Babel - Use Babel's parser for linting all Babel features


Frameworks and Libraries


  • Babel - Adds replacements for built-in rules to include Babel features
  • Compat - Lint browser compatability of APIs used (caniuse as an ESLint plugin)
  • disable - Disable specified plugins using file path patterns and inline comments
  • es5 - ESLint plugin for ES5 users (forbid ES2015+ usage)
  • Flow - Flow type linting rules
  • Flow Errors - Run Flow as an ESLint plugin
  • GraphQL - Check your GraphQL query strings against a schema
  • 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
  • Markdown - Linting JavaScript in Markdown
  • Node - Linting rules for Node.js (checking importing paths, ES syntax, ...)
  • 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...)


  • 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 2016 and you still use loops?
  • 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
  • no-empty-blocks - Allows empty catch blocks, while disallowing other empty blocks

Preconfigured Tools with ESLint Set up