ESLint

Awesome ESLint Awesome

eslint

A list of awesome ESLint configs, plugins, etc.

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

Configs

Parsers

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

Plugins

Frameworks and Libraries

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.
  • 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.
  • 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 - 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.
  • 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-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.
  • no-secrets - An eslint plugin that detects potential secrets/credentials.

Style

Testing Tools

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

Formatters

Preconfigured Tools with ESLint Set up

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

Tools

Developing for ESLint

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

Tutorials

License

CC0