/awesome-eslint

A list of awesome ESLint plugins, configs, etc.

Creative Commons Zero v1.0 UniversalCC0-1.0

Awesome ESLint Awesome

eslint

A list of awesome ESLint configs, plugins, etc.

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

Contents

Configs

Parsers

  • Babel - Use Babel's parser for linting all Babel features
  • TypeScript - A TypeScript parser that produces output compatible with ESLint

Plugins

Frameworks and Libraries

  • Angular - Linting rules to adhere to the John Papa's Angular Styleguide
  • AVA - Linting rules for AVA
  • Backbone - Linting rules for Backbone
  • Chai - Linting rules for Chai
  • Ember - Linting rules for Ember
  • Hapi – Linting rules for hapi
  • Jasmine - Linting rules for Jasmine
  • Jest - Linting rules for Jest
  • 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
  • Mocha - Linting rules for Mocha
  • Mongodb - Mongodb native nodejs driver linting rules
  • Ramda - Ramda specific linting rules
  • React - Linting rules for React and JSX
  • React Native - React Native specific linting rules
  • RequireJS - Linting rules for RequireJS
  • VueJS - Plugin for VueJS

Misc

  • 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.
  • 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
  • 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, ...)
  • 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

Practices

  • array-func - Avoid redundancy when using es2015 array methods and functions.
  • 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 2017 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

Style

  • filenames - Ensure consistent filenames for your javascript files

Preconfigured Tools with ESLint Set up

Tools

Developing for ESLint

  • eslint-docs - Keep your rule descriptions up-to-date across the repository

Tutorials

License

CC0