Courses & TutorialsProgramming

Awesome JavaScript ESLint – Massive Collection of Resources

Awesome ESLint

A list of awesome ESLint configs, plugins, etc.

Contents

Configs

Configs by Well-Known Companies/Organizations

Other Prominent Configs (100 stars or so)

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.

Preconfigured Configs 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.

Plugins

Code Quality

  • SonarJS – Rules detecting bugs and suspicious patterns.
  • Unicorn – Various awesome ESLint rules.

Compatiblity

  • Compat – Lint browser compatibility of APIs used (caniuse as an ESLint plugin).
  • ecmascript-compat – Disable ECMAScript language features not supported by your browserslist targets.
  • es – Disable specific ECMAScript language versions or individual features.
  • es5 – ESLint plugin for ES5 users (forbid ES2015+ usage).
  • ie11 – Detect unsupported ES6 features in IE11.

CSS in JS

Deprecation

  • deprecate – Mark functions or modules as deprecated and get lint messages when they are used.
  • deprecation – Identifies use of jsdoc @deprecated functions.
  • disable – Disable specified plugins using file path patterns and inline comments.

Embedded

  • HTML – Linting for JavaScript inside of HTML <script> tags.
  • Markdown – Linting for JavaScript inside of Markdown.

Frameworks

Languages

  • Coffee – Enables linting CoffeeScript files with, with optional linting rules from the Coffeelint library.
  • ES5
    • Babel – Adds replacements for built-in rules to include Babel features.
    • import – Linting of ES2015+ import/export syntax, and prevent issues with misspelling of file paths and import names.
  • Flow
    • Flow – Flow type linting rules.
    • Flow Errors – Run Flow as an ESLint plugin.
  • JSON
  • MDX – ESLint Parser/Plugin for MDX.
  • Node – Additional ESLint’s rules for Node.js.
  • SQL – SQL linting rules for ESLint.
  • TypeScript – Linting rules for TypeScript.

Libraries

  • GraphQL
  • 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
  • Mongodb – Mongodb native Node.js driver linting rules.
  • Ramda – Ramda specific linting rules.
  • RequireJS – Linting rules for RequireJS.

Misc

  • ESLint Comments – Best practices about ESLint directive comments (/*eslint-disable*/, etc.).
  • eslint-plugin-eslint-plugin – An ESLint plugin for linting ESLint plugins.
  • @mysticatea/eslint-plugin – Misc. 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.
  • PutOut – an ESLint plugin integrates putout linter into ESLint.
  • 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.

Practices

  • 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.
  • 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.
  • 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-restricted-syntax – Show queried syntax’s content in messages.
  • no-use-extend-native – Prevent using extended native objects.
  • Promise – Best practices when working with promises.
  • 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.

Performance

Security

  • no-secrets – An eslint plugin that detects potential secrets/credentials.
  • no-unsanitized – Checks for innerHTML, outerHTML, etc.
  • ScanJS config and plugin – Security-related rules.
  • Security – ESLint rules for Node Security.
  • xss – Tries to detect XSS issues in codebase before they end up in production.

Style

Testing Tools

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.
  • GraphQL – Parser for the GraphQL AST. Includes parser, plugin, processor (for non-graphql files) and rules.

Formatters

  • 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

Tools

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

Developing for ESLint

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

Tutorials

Related Articles

Leave a Reply

Your email address will not be published. Required fields are marked *

Back to top button