This commit is contained in:
2025-07-18 23:13:11 +02:00
parent c9485bf576
commit 652812eed0
2354 changed files with 1266414 additions and 1 deletions

836
html/eslint.md2.html Normal file
View File

@@ -0,0 +1,836 @@
<h1 id="awesome-eslint-awesome">Awesome ESLint <a
href="https://awesome.re"><img src="https://awesome.re/badge.svg"
alt="Awesome" /></a></h1>
<p><a
href="http://eslint.org"><img src="https://eslint.org/icon.svg" width="160" align="right" alt="eslint"></a></p>
<blockquote>
<p>A list of awesome ESLint configs, plugins, etc.</p>
</blockquote>
<p>If you want to contribute, please read the <a
href="contributing.md">contribution guidelines</a>.</p>
<h2 id="contents">Contents</h2>
<ul>
<li><a href="#configs">Configs</a>
<ul>
<li><a href="#configs-by-well-known-companiesorganizations">Configs by
Well-Known Companies/Organizations</a></li>
<li><a href="#other-prominent-configs-100-stars-or-so">Other Prominent
Configs (100 stars or so)</a></li>
<li><a href="#other-configs">Other Configs</a></li>
</ul></li>
<li><a href="#preconfigured-configs-with-eslint-set-up">Preconfigured
Configs with ESLint Set up</a></li>
<li><a href="#plugins">Plugins</a>
<ul>
<li><a href="#code-quality">Code Quality</a></li>
<li><a href="#compatibility">Compatibility</a></li>
<li><a href="#css-in-js">CSS in JS</a></li>
<li><a href="#deprecation">Deprecation</a></li>
<li><a href="#embedded">Embedded</a></li>
<li><a href="#frameworks">Frameworks</a></li>
<li><a href="#languages-and-environments">Languages and
Environments</a></li>
<li><a href="#libraries">Libraries</a></li>
<li><a href="#misc">Misc</a></li>
<li><a href="#practices-and-specific-es-features">Practices and Specific
ES Features</a></li>
<li><a href="#performance">Performance</a></li>
<li><a href="#security">Security</a></li>
<li><a href="#style">Style</a></li>
<li><a href="#testing-tools">Testing Tools</a></li>
</ul></li>
<li><a href="#parsers">Parsers</a></li>
<li><a href="#formatters">Formatters</a></li>
<li><a href="#globals">Globals</a></li>
<li><a href="#tools">Tools</a></li>
<li><a href="#developing-for-eslint">Developing for ESLint</a></li>
<li><a href="#tutorials">Tutorials</a></li>
<li><a href="#installation-and-setup">Installation and Setup</a></li>
</ul>
<h2 id="configs">Configs</h2>
<h3 id="configs-by-well-known-companiesorganizations">Configs by
Well-Known Companies/Organizations</h3>
<ul>
<li><a
href="https://github.com/airbnb/javascript/tree/master/packages/eslint-config-airbnb">Airbnb</a>
- Shareable config for <a
href="https://github.com/airbnb/javascript">Airbnbs style
guide</a>.</li>
<li><a
href="https://github.com/davidjbradshaw/eslint-config-airbnb-babel">Airbnb-babel</a>
- Airbnbs ESLint config with Babel Support.</li>
<li><a href="https://github.com/AlloyTeam/eslint-config-alloy">Alloy</a>
- Progressive ESLint config for your React/Vue/TypeScript projects.</li>
<li><a
href="https://github.com/eslint/eslint/tree/master/packages/eslint-config-eslint">ESLint</a>
- Contains the ESLint configuration used for projects maintained by the
ESLint team.</li>
<li><a
href="https://www.npmjs.com/package/eslint-config-fbjs">Facebook</a> -
Sharable config for Facebooks style guide.</li>
<li><a
href="https://github.com/feedzai/eslint-config-feedzai">Feedzai</a> -
Feedzais shareable config for JavaScript/React projects.</li>
<li><a
href="https://github.com/Shopify/web-foundation/blob/main/packages/eslint-plugin/README.md">Shopify</a>
- Shareable config for <a
href="https://github.com/Shopify/javascript">Shopifys style
guide</a>.</li>
<li><a
href="https://github.com/wikimedia/eslint-config-wikimedia">Wikimedia</a>
- Shareable config for <a
href="https://www.mediawiki.org/wiki/Manual:Coding_conventions/JavaScript">Wikimedias
style guide</a>, used by <a
href="https://www.mediawiki.org/">MediaWiki</a>.</li>
</ul>
<h3 id="other-prominent-configs-100-stars-or-so">Other Prominent Configs
(100 stars or so)</h3>
<ul>
<li><a
href="https://github.com/davidjbradshaw/eslint-config-auto">Auto</a> -
Automatically configure ESLint based on your projects
dependencies.</li>
<li><a
href="https://github.com/gajus/eslint-config-canonical">Canonical</a> -
Shareable config for <a
href="https://github.com/gajus/canonical">Canonical style guide</a>.
<!-- lint disable double-link --></li>
<li><a
href="https://github.com/feross/eslint-config-standard">Standard</a> -
Shareable config for JavaScript <a
href="https://github.com/feross/standard">Standard Style</a>.</li>
<li><a href="https://github.com/xojs/eslint-config-xo">XO</a> -
Shareable config for <a href="https://github.com/xojs/xo">XO</a>.</li>
<li><a href="https://github.com/antfu/eslint-config">Antfu Eslint
Config</a> - Anthonys ESLint config preset.</li>
</ul>
<h3 id="other-configs">Other Configs</h3>
<ul>
<li><a
href="https://github.com/davidjbradshaw/eslint-config-adjunct">Adjunct</a>
- A reasonable collection of plugins to use alongside your main ESLint
configuration.</li>
<li><a
href="https://github.com/brettz9/eslint-config-ash-nazg">Ash-Nazg</a> -
One config to rule them all!</li>
<li><a
href="https://github.com/SandroMiguel/eslint-config-cecilia">Cecilia</a>
- ESLint configuration for awesome projects.</li>
<li><a
href="https://github.com/cunarist/eslint-config-clean-typescript">clean-typescript</a>
- Enforce classic JavaScript featuress in TypeScript codebase by banning
excessive keywords.</li>
<li><a
href="https://github.com/EvgenyOrekhov/eslint-config-hardcore">Hardcore</a>
- The most strict (but practical) ESLint config out there.</li>
<li><a
href="https://github.com/RyanZim/eslint-config-problems">Problems</a> -
Shareable config that only catches actual problems, and doesnt enforce
stylistic preferences.</li>
<li><a
href="https://github.com/supermind/eslint-config-supermind">Supermind</a>
- Shareable config for Supermind style.</li>
<li><a href="https://github.com/AndreaPontrandolfo/sheriff">Sheriff</a>
- Comprehensive and highly opinionated Eslint configuration. Typescript
oriented.</li>
</ul>
<h2 id="preconfigured-configs-with-eslint-set-up">Preconfigured Configs
with ESLint Set up</h2>
<ul>
<li><a href="https://github.com/geek/node-style">Node.js Standard
Style</a> - Node.js core config.</li>
<li><a
href="https://github.com/prettier/eslint-config-prettier">eslint-config-prettier</a>
- Prettier config for ESlint maintained by Prettier team.</li>
<li><a href="https://github.com/feross/standard">Standard</a> -
JavaScript Standard Style.</li>
<li><a href="https://github.com/supermind/superlint">Superlint</a> -
JavaScript Supermind Style.</li>
<li><a href="https://github.com/sindresorhus/xo">XO</a> - JavaScript
happiness style linter ❤️.</li>
</ul>
<h2 id="plugins">Plugins</h2>
<h3 id="code-quality">Code Quality</h3>
<ul>
<li><a
href="https://github.com/es-tooling/eslint-plugin-depend">depend</a> -
Helps detect dependency tree bloat and redundant polyfills.</li>
<li><a href="https://github.com/github/eslint-plugin-github">GitHub</a>
- Misc. rules from GitHub.</li>
<li><a
href="https://github.com/SonarSource/SonarJS/blob/master/packages/jsts/src/rules/README.md">SonarJS</a>
- Rules detecting bugs and suspicious patterns.</li>
<li><a
href="https://github.com/sindresorhus/eslint-plugin-unicorn">Unicorn</a>
- Various awesome ESLint rules.</li>
<li><a href="https://github.com/mysticatea/eslint-plugin"><span
class="citation"
data-cites="mysticatea/eslint-plugin">@mysticatea/eslint-plugin</span></a>
- Misc. rules.</li>
<li><a href="https://github.com/brettz9/eslint-plugin"><span
class="citation"
data-cites="brettz9/eslint-plugin">@brettz9/eslint-plugin</span></a> -
Misc. rules. of <code>@mysticatea</code> without the personal
config.</li>
<li><a href="https://github.com/azat-io/eslint-plugin-de-morgan">De
Morgan</a> - Transforms logical expressions in code to make them easier
to understand.</li>
<li><a
href="https://github.com/aryelu/eslint-plugin-code-complete">eslint-plugin-code-complete</a>
- A custom ESLint plugin that enforces principles of clean, maintainable
software design — inspired by Code Complete.</li>
</ul>
<h3 id="compatibility">Compatibility</h3>
<ul>
<li><a
href="https://github.com/amilajack/eslint-plugin-compat">Compat</a> -
Lint browser compatibility of APIs used (<a
href="http://caniuse.com/#search=fetch">caniuse</a> as an ESLint
plugin).</li>
<li><a
href="https://github.com/robatwilliams/es-compat">ecmascript-compat</a>
- Disable ECMAScript language features not supported by your
browserslist targets.</li>
<li><a
href="https://github.com/eslint-community/eslint-plugin-es-x">es-x</a> -
Disable specific ECMAScript language versions or individual features.
Properly maintained fork of no longer maintained
<code>eslint-plugin-es</code>.</li>
<li><a href="https://github.com/nkt/eslint-plugin-es5">es5</a> - ESLint
plugin for ES5 users (forbid ES2015+ usage).</li>
<li><a href="https://github.com/Volox/eslint-plugin-ie11">ie11</a> -
Detect unsupported ES6 features in IE11.</li>
</ul>
<h3 id="css-in-js">CSS in JS</h3>
<ul>
<li><a
href="https://github.com/atfzl/eslint-plugin-css-modules">CSS-modules</a>
- Lint undefined or unused rules for css modules.</li>
<li><a
href="https://github.com/emotion-js/emotion/tree/master/packages/eslint-plugin">Emotion</a>
- ESLint rules for emotion.</li>
<li>Styled Components
<ul>
<li><a
href="https://github.com/tinloof/eslint-plugin-better-styled-components">Better
Styled Components</a> - Auto fixable ESlints rules for styled
components.</li>
<li><a
href="https://github.com/brendanmorrell/eslint-plugin-styled-components-a11y">styled-components-a11y</a>
- A11y for Styled Components.</li>
</ul></li>
<li><a
href="https://github.com/antebudimir/eslint-plugin-vanilla-extract">vanilla-extract</a>
- An ESLint plugin for enforcing CSS property ordering in <a
href="https://github.com/vanilla-extract-css/vanilla-extract">vanilla-extract
CSS</a> styles.</li>
</ul>
<h3 id="deprecation">Deprecation</h3>
<ul>
<li><a
href="https://github.com/AlexMost/eslint-plugin-deprecate">deprecate</a>
- Mark functions or modules as deprecated and get lint messages when
they are used.</li>
<li><a
href="https://github.com/mradionov/eslint-plugin-disable">disable</a> -
Disable specified plugins using file path patterns and inline
comments.</li>
</ul>
<h3 id="embedded">Embedded</h3>
<ul>
<li><a
href="https://github.com/BenoitZugmeyer/eslint-plugin-html">HTML</a> -
Linting for JavaScript inside of HTML <code>&lt;script&gt;</code>
tags.</li>
<li><a
href="https://github.com/eslint/eslint-plugin-markdown">Markdown</a> -
Linting for JavaScript inside of Markdown.</li>
</ul>
<h3 id="frameworks">Frameworks</h3>
<ul>
<li><a
href="https://github.com/angular-eslint/angular-eslint">Angular</a> -
Linting rules for Angular (v2+).</li>
<li><a
href="https://github.com/Gillespie59/eslint-plugin-angular">AngularJS</a>
- Linting rules to adhere to the <a
href="https://github.com/johnpapa/angular-styleguide">John Papas
AngularJS Styleguide</a>.</li>
<li><a href="https://github.com/ota-meshi/eslint-plugin-astro">Astro</a>
- Plugin for <a
href="https://docs.astro.build/en/core-concepts/astro-components/">Astro
components</a>.</li>
<li><a
href="https://github.com/ilyavolodin/eslint-plugin-backbone">Backbone</a>
- Linting rules for Backbone.</li>
<li><a href="https://github.com/ember-cli/eslint-plugin-ember">Ember</a>
- Linting rules for Ember.</li>
<li><a
href="https://github.com/continuationlabs/eslint-plugin-hapi">Hapi</a> -
Linting rules for hapi.</li>
<li><a
href="https://github.com/meteor/meteor/tree/devel/npm-packages/eslint-plugin-meteor">Meteor</a>
- Meteor specific linting rules for ESLint.</li>
<li>React
<ul>
<li><a href="https://github.com/jsx-eslint/eslint-plugin-jsx-a11y">JSX
a11y</a> - Accessibility rules on JSX elements.</li>
<li><a href="https://github.com/yannickcr/eslint-plugin-react">React</a>
- Linting rules for React and JSX.</li>
<li><a
href="https://github.com/facebook/react/tree/master/packages/eslint-plugin-react-hooks">React
Hooks</a> - Linting rules for React Hooks.</li>
<li><a
href="https://github.com/Intellicode/eslint-plugin-react-native">React
Native</a> - React Native specific linting rules.</li>
<li><a
href="https://github.com/DianaSuvorova/eslint-plugin-react-redux">React-Redux</a>
- React-Redux specific linting rules.</li>
<li><a
href="https://github.com/ArnaudBarre/eslint-plugin-react-refresh">React
Refresh</a> - Improve HMR experience when using Vite.</li>
</ul></li>
<li><a
href="https://github.com/joshwilsonvu/eslint-plugin-solid">Solid</a> -
Linting rules for Solid and JSX.</li>
<li><a
href="https://github.com/sveltejs/eslint-plugin-svelte">Svelte</a> -
Linting rules for Svelte v3 Components.</li>
<li>Vue
<ul>
<li><a href="https://github.com/vuejs/eslint-plugin-vue">VueJS</a> -
Plugin for VueJS.</li>
<li><a
href="https://github.com/future-architect/eslint-plugin-vue-scoped-css">VueJS
Scoped CSS</a> - Plugin for Scoped CSS in VueJS.</li>
</ul></li>
</ul>
<h3 id="languages-and-environments">Languages and Environments</h3>
<ul>
<li><a
href="https://github.com/babel/babel/tree/main/eslint/babel-eslint-plugin">Babel</a>
- Adds replacements for built-in rules to include Babel features.</li>
<li><a
href="https://github.com/not-an-aardvark/eslint-plugin-eslint-plugin">eslint-plugin-eslint-plugin</a>
- An ESLint plugin for linting ESLint plugins.</li>
<li>Flow
<ul>
<li><a href="https://github.com/gajus/eslint-plugin-flowtype">Flow</a> -
Flow type linting rules.</li>
<li><a
href="https://github.com/amilajack/eslint-plugin-flowtype-errors">Flow
Errors</a> - Run Flow as an ESLint plugin.</li>
</ul></li>
<li><a href="https://github.com/yeonjuan/html-eslint">HTML</a> - ESLint
plugin for HTML.</li>
<li>JSON
<ul>
<li><a href="https://github.com/azeemba/eslint-plugin-json">JSON</a> -
Lint your JSON files.</li>
<li><a href="https://github.com/Bkucera/eslint-plugin-json-format">JSON,
package.json</a> - Lint, format, and auto-fix your JSON files. Sort your
<code>package.json</code>.</li>
<li><a href="https://github.com/ota-meshi/eslint-plugin-jsonc">JSON with
Comments</a> - ESLint plugin for JSON, JSONC and JSON5.</li>
<li><a
href="https://github.com/ota-meshi/eslint-plugin-json-schema-validator">JSON
Schema</a> - Validates data defined in JavaScript, JSON, YAML and TOML
using JSON Schema Validator.</li>
</ul></li>
<li><a
href="https://github.com/mdx-js/eslint-mdx/tree/master/packages/eslint-plugin-mdx">MDX</a>
- ESLint Parser/Plugin for MDX.</li>
<li><a href="https://github.com/eslint-community/eslint-plugin-n">N</a>
- Additional ESLints rules for Node.js. Properly maintained fork of no
longer maintained <code>eslint-plugin-node</code>.</li>
<li><a href="https://github.com/gajus/eslint-plugin-sql">SQL</a> - SQL
linting rules for ESLint.</li>
<li><a href="https://github.com/ota-meshi/eslint-plugin-toml">TOML</a> -
ESLint plugin for TOML.</li>
<li><a
href="https://github.com/typescript-eslint/typescript-eslint/tree/master/packages/eslint-plugin">TypeScript</a>
- Linting rules for TypeScript.</li>
<li><a href="https://github.com/ota-meshi/eslint-plugin-yml">YAML</a> -
ESLint plugin for YAML.</li>
</ul>
<h3 id="libraries">Libraries</h3>
<ul>
<li>GraphQL
<ul>
<li><a
href="https://github.com/dotansimha/graphql-eslint">dotansimha/graphql-eslint</a>
- Validates, prettifies and checks your GraphQL operations and GraphQL
schema for best-practices.</li>
<li><a
href="https://github.com/apollostack/eslint-plugin-graphql">apollostack/eslint-plugin-graphql</a>
- Check your GraphQL query strings against a schema.</li>
</ul></li>
<li><a
href="https://github.com/borremosch/eslint-plugin-type-graphql">TypeGraphQL</a>
- Linting rules for TypeGraphQL, targeted at finding common
mistakes.</li>
<li><a
href="https://github.com/wikimedia/eslint-plugin-no-jquery">jQuery</a> -
Linting rules for jQuery, including versioned configs for deprecated
features.</li>
<li><a href="https://github.com/gajus/eslint-plugin-jsdoc">JSDoc</a> -
Linting rules for JSDoc comments (including the JavaScript within
<code>@example</code>).</li>
<li>Lodash
<ul>
<li><a href="https://github.com/wix/eslint-plugin-lodash">Lodash</a> -
Lodash specific linting rules.</li>
<li><a
href="https://github.com/jfmengels/eslint-plugin-lodash-fp">Lodash/fp</a>
- Lodash/fp specific linting rules.</li>
<li><a
href="https://github.com/ota-meshi/eslint-plugin-lodash-template">Lodash
template</a> - Plugin for Lodash template/Underscore template.</li>
<li><a
href="https://github.com/platinumazure/eslint-plugin-microtemplates">Microtemplates</a>
(Used in Lodash and Underscore.js)</li>
</ul></li>
<li><a
href="https://github.com/nfroidure/eslint-plugin-mongodb">Mongodb</a> -
Mongodb native Node.js driver linting rules.</li>
<li><a href="https://github.com/ramda/eslint-plugin-ramda">Ramda</a> -
Ramda specific linting rules.</li>
<li><a
href="https://github.com/cvisco/eslint-plugin-requirejs">RequireJS</a> -
Linting rules for RequireJS.</li>
<li><a
href="https://github.com/francoismassart/eslint-plugin-tailwindcss">Tailwind
CSS</a> - Linting rules for Tailwind CSS classnames.</li>
</ul>
<h3 id="misc">Misc</h3>
<ul>
<li><a href="https://github.com/paleite/eslint-plugin-diff">Diff</a> -
Run ESLint on your changed lines only. Also supports CI!</li>
<li><a href="https://github.com/ilyub/eslint-plugin-misc">Misc</a> -
Miscellaneous rules including rules for creating custom checks and
wrapping (modifying) third-party rules.</li>
<li><a
href="https://github.com/nickdeis/eslint-plugin-notice">Notice</a> - An
eslint rule that checks the top of files and fixes them too!</li>
<li><a
href="https://github.com/davidjbradshaw/eslint-plugin-only-error">Only-Error</a>
- Convert all rules to errors.</li>
<li><a
href="https://github.com/bfanger/eslint-plugin-only-warn">Only-Warn</a>
- Convert all rules to warnings.</li>
<li><a
href="https://github.com/coderaiser/putout/tree/master/packages/eslint-plugin-putout">PutOut</a>
- an ESLint plugin integrates <a
href="https://github.com/coderaiser/putout">putout</a> linter into
ESLint.</li>
<li><a
href="https://github.com/yarax/eslint-plugin-typelint">TypeLint</a> -
Introduces types, based on existing schemas (Swagger, Redux) and linting
access to object properties, preventing <code>undefined</code>
errors.</li>
<li><a href="https://github.com/amwmedia/eslint-plugin-woke">Woke</a> -
Helps catch insensitive words, promoting an inclusive codebase.</li>
</ul>
<h3 id="practices-and-specific-es-features">Practices and Specific ES
Features</h3>
<ul>
<li><a
href="https://github.com/freaktechnik/eslint-plugin-array-func">array-func</a>
- Avoid redundancy when using es2015 array methods and functions.</li>
<li><a
href="https://github.com/getify/eslint-plugin-proper-arrows">arrow
functions</a> - ESLint rules to ensure proper arrow function
definitions.</li>
<li><a
href="https://github.com/javierbrea/eslint-plugin-boundaries">boundaries</a>
- Ensures that your architecture boundaries are respected by the
elements in your project checking file structure and dependencies.</li>
<li><a
href="https://github.com/eslint-community/eslint-plugin-eslint-comments"><span
class="citation"
data-cites="eslint-community/eslint-plugin-eslint-comments">@eslint-community/eslint-plugin-eslint-comments</span></a>
- Best practices about ESLint directive comments
(<code>/*eslint-disable*/</code>, etc.). Properly maintained fork of no
longer maintained <code>eslint-plugin-eslint-comments</code>.</li>
<li><a
href="https://github.com/Amnish04/eslint-plugin-error-cause">eslint-plugin-error-cause</a>
- A plugin to preserve original error context when re-throwing
exceptions.</li>
<li><a
href="https://github.com/CodelyTV/eslint-plugin-hexagonal-architecture">eslint-plugin-hexagonal-architecture</a>
- A plugin that helps you to enforce hexagonal architecture best
practices.</li>
<li><a
href="https://github.com/kantord/eslint-plugin-write-good-comments">eslint-plugin-write-good-comments</a>
- Enforce good writing style in comments.</li>
<li><a
href="https://github.com/Akronae/eslint-plugin-exception-handling">eslint-plugin-exception-handling</a>
- Lints unhandled functions that might throw errors.</li>
<li><a href="https://github.com/jfmengels/eslint-plugin-fp">fp</a> -
ESLint rules for functional programming.</li>
<li><a
href="https://github.com/jonaskello/eslint-plugin-functional">functional</a>
- ESLint rules to disable mutation and promote fp in JavaScript and
TypeScript.</li>
<li><a
href="https://github.com/jhusain/eslint-plugin-immutable">Immutable</a>
- Disable all mutation in JavaScript.</li>
<li><a
href="https://github.com/benmosher/eslint-plugin-import">import</a> -
Linting of ES2015+ import/export syntax, and prevent issues with
misspelling of file paths and import names.</li>
<li><a
href="https://github.com/un-ts/eslint-plugin-import-x">import-x</a> -
Linting of ES2015+ import/export syntax, and prevent issues with
misspelling of file paths and import names. Lightweight fork of
<code>eslint-plugin-import</code>, but which breaks backwards
compatibility.</li>
<li><a href="https://github.com/ota-meshi/eslint-plugin-math">Math</a> -
ESLint plugin related to Math object and Number.</li>
<li><a
href="https://github.com/Trott/eslint-plugin-new-with-error">new-with-error</a>
- Require errors to be thrown using <code>new</code>.
<!-- lint ignore awesome-spell-check --></li>
<li><a
href="https://github.com/causalhq/eslint-plugin-no-argument-spread">no-argument-spread</a>
- Lints against expressions like <code>Math.max(...args)</code> that can
lead to a stack overflow for large arrays.</li>
<li><a
href="https://github.com/wisniewski94/eslint-plugin-no-comments">no-comments</a>
- Prevents leaking comments into production if bundler is not used and
stops developers from commenting out old lines of code.</li>
<li><a
href="https://github.com/markalfred/eslint-plugin-no-constructor-bind">no-constructor-bind</a>
- Encourages use of class properties by reporting use of
<code>this</code> with <code>bind</code> or setting state in
constructors.</li>
<li><a
href="https://github.com/johnstonbl01/eslint-no-inferred-method-name">no-inferred-method-name</a>
- Custom rule for ESLint that checks for inferred method names within
object literals.</li>
<li><a
href="https://github.com/buildo/eslint-plugin-no-loops">no-loops</a> -
Its 2019 and you still use loops?</li>
<li><a
href="https://github.com/brettz9/eslint-plugin-query">no-restricted-syntax</a>
- Show queried syntaxs content in messages.</li>
<li><a
href="https://github.com/dustinspecker/eslint-plugin-no-use-extend-native">no-use-extend-native</a>
- Prevent using extended native objects.</li>
<li><a
href="https://github.com/xjamundx/eslint-plugin-promise">Promise</a> -
Best practices when working with promises.</li>
<li><a
href="https://github.com/purely-functional/eslint-plugin-pure">pure</a>
- Enforce pure functions (without side effects).</li>
<li><a
href="https://makenowjust-labs.github.io/recheck/docs/usage/as-eslint-plugin/">ReDoS</a>
- ESLint plugin for finding possible ReDoS vulnerabilities.</li>
<li><a
href="https://github.com/tjenkinson/eslint-plugin-redos-detector">ReDoSDetector</a>
- ESLint plugin for finding possible ReDoS vulnerabilities.</li>
<li><a
href="https://github.com/ota-meshi/eslint-plugin-regexp">RegExp</a> -
ESLint plugin for finding regexp mistakes and style guide
violations.</li>
<li><a
href="https://github.com/leo-buneev/eslint-plugin-sort-keys-fix">sort-keys-fix</a>
- Adds fixer for ESLint <code>sort-keys</code> rule.</li>
<li><a href="https://github.com/matijs/eslint-plugin-this">this</a> -
Write pure functions, dont allow <code>this</code>.</li>
<li><a
href="https://github.com/HKalbasi/eslint-plugin-toplevel">toplevel</a> -
An eslint plugin for disallow side effect at module toplevel.</li>
</ul>
<h3 id="performance">Performance</h3>
<ul>
<li><a
href="https://github.com/amilajack/eslint-plugin-dom">DOM</a></li>
<li><a
href="https://github.com/BrainMaestro/eslint-plugin-optimize-regex">Optimize
Regex</a> - Optimize regex literals.</li>
<li>Perf-Standard <a
href="https://github.com/Raynos/eslint-plugin-perf-standard">plugin</a>
and <a
href="https://github.com/Raynos/eslint-config-perf-standard">Config</a></li>
</ul>
<h3 id="security">Security</h3>
<ul>
<li><a
href="https://github.com/nickdeis/eslint-plugin-no-secrets">no-secrets</a>
- An eslint plugin that detects potential secrets/credentials.</li>
<li><a
href="https://github.com/mozilla/eslint-plugin-no-unsanitized">no-unsanitized</a>
- Checks for <code>innerHTML</code>, <code>outerHTML</code>, etc.</li>
<li><a href="https://github.com/shiva-hack/eslint-plugin-pii">pii</a> -
Checks and enforces PII Compliance of the code. i.e. no email address,
birth date, IP address or phone number in comments or string
literals.</li>
<li><a
href="https://github.com/nodesecurity/eslint-plugin-security">Security</a>
- ESLint rules for Node Security.</li>
<li><a href="https://github.com/Rantanen/eslint-plugin-xss">xss</a> -
Tries to detect XSS issues in codebase before they end up in
production.</li>
</ul>
<h3 id="style">Style</h3>
<ul>
<li><a href="https://eslint.style/">ESLint Stylistic</a> - <a
href="https://eslint.org/blog/2023/10/deprecating-formatting-rules/">Formatting
and stylistic ESLint core rules moved to this project and are maintained
by the community.</a></li>
<li><a
href="https://www.npmjs.com/package/eslint-plugin-const-case">const
case</a> - Enforce capitalization of constant primitive literals.</li>
<li><a
href="https://github.com/platinumazure/eslint-plugin-editorconfig">editorconfig</a>
- Derive rules from <a
href="https://editorconfig.org/"><code>.editorconfig</code></a>.</li>
<li><a
href="https://github.com/selaux/eslint-plugin-filenames">filenames</a> -
Ensure consistent filenames for your JavaScript files. No longer
maintained and does not work with ESlint 9 at all.</li>
<li><a
href="https://github.com/lydell/eslint-plugin-simple-import-sort">Simple
import sort</a> - Easy autofixable import sorting.</li>
<li><a
href="https://github.com/azat-io/eslint-plugin-perfectionist">perfectionist
sorting</a> - Sort objects, imports, TypeScript types, enums, JSX props,
etc.</li>
<li><a
href="https://github.com/sngn/eslint-plugin-split-and-sort-imports">split-and-sort-imports</a>
- Sorts imports and splits multiple imports into single line
imports.</li>
<li><a
href="https://github.com/lukeapage/eslint-plugin-switch-case">Switch
case</a> - Switch-case-specific linting rules for ESLint.</li>
<li><a href="https://github.com/mu-io/eslint-plugin-padding">padding</a>
- Allows/disallows padding between statements.</li>
<li><a href="https://github.com/vitonsky/eslint-plugin-paths">paths</a>
- Use paths from tsconfig/jsconfig and auto fix relative paths to
aliases.</li>
<li><a
href="https://www.npmjs.com/package/@gitbutler/no-relative-imports"><span
class="citation"
data-cites="gitbutler/no-relative-imports">@gitbutler/no-relative-imports</span></a>
- Use paths from tsconfig and auto fix relative paths to aliases.
Observes tsconfig inheritance.</li>
</ul>
<h3 id="testing-tools">Testing Tools</h3>
<ul>
<li><a href="https://github.com/avajs/eslint-plugin-ava">AVA</a> -
Linting rules for AVA.</li>
<li>Chai
<ul>
<li><a
href="https://github.com/turbo87/eslint-plugin-chai-expect">expect
practices</a></li>
<li><a
href="https://github.com/ihordiachenko/eslint-plugin-chai-friendly">with
unused expressions</a></li>
<li><a
href="https://github.com/gavinaiken/eslint-plugin-chai-expect-keywords">permitted
keywords</a></li>
<li><a
href="https://github.com/fintechstudios/eslint-plugin-chai-as-promised">with
chai-as-promised plugin</a> <!-- lint disable double-link --></li>
<li><a
href="https://github.com/t-huth/eslint-plugin-chai-assert-bdd">globals</a></li>
</ul></li>
<li><a
href="https://github.com/darrinholst/eslint-plugin-cucumber">Cucumber</a>
- Linting rules for Cucumber.</li>
<li><a
href="https://github.com/cypress-io/eslint-plugin-cypress">Cypress</a> -
Linting rules for Cypress.</li>
<li><a
href="https://github.com/tlvince/eslint-plugin-jasmine">Jasmine</a> -
Linting rules for Jasmine.</li>
<li>Jest
<ul>
<li><a
href="https://github.com/jest-community/eslint-plugin-jest">Enforcing
practices</a> - Linting rules for Jest.</li>
<li><a
href="https://github.com/dangreenisrael/eslint-plugin-jest-formatting">Enforcing
consistent formatting</a> - Formatting rules for Jest.</li>
<li><a
href="https://www.npmjs.com/package/eslint-plugin-jest-async">Jest-async</a>
- Async linting rule for Jest.</li>
<li><a
href="https://github.com/testing-library/eslint-plugin-jest-dom">Jest-DOM</a>
- Linting rules for Jest-DOM.</li>
</ul></li>
<li>Mocha
<ul>
<li><a href="https://github.com/lo1tuma/eslint-plugin-mocha">Enforcing
practices</a> - Linting rules for Mocha.</li>
<li><a
href="https://github.com/onechiporenko/eslint-plugin-mocha-cleanup/">Enforcing
manageability</a></li>
</ul></li>
<li><a
href="https://github.com/playwright-community/eslint-plugin-playwright">Playwright</a>
- Linting rules for Playwright.</li>
<li><a
href="https://github.com/platinumazure/eslint-plugin-qunit">QUnit</a> -
Linting rules for QUnit.</li>
<li><a
href="https://github.com/testcafe-community/eslint-plugin-testcafe-community">TestCafe-Community</a>
- TestCafe linting rules with env globals (fork from <a
href="https://github.com/miherlosev/eslint-plugin-testcafe">TestCafe
globals</a>).</li>
<li><a
href="https://github.com/testing-library/eslint-plugin-testing-library">Testing
Library</a> - Linting rules for Testing Library.</li>
</ul>
<h2 id="parsers">Parsers</h2>
<ul>
<li><a
href="https://github.com/babel/babel/tree/main/eslint/babel-eslint-parser">babel-eslint-parser</a>
- Allows you to lint ALL valid Babel code with the fantastic
ESLint.</li>
<li><a
href="https://github.com/typescript-eslint/typescript-eslint">TypeScript</a>
- A TypeScript parser that produces output compatible with ESLint.</li>
<li><a
href="https://github.com/RokuRoad/eslint-plugin-roku">BrightScript</a> -
BrightScript plugin for Roku development. Includes Parser and
Rules.</li>
<li><a href="https://github.com/dotansimha/graphql-eslint">GraphQL</a> -
Parser for the GraphQL AST. Includes parser, plugin, processor (for
non-graphql files) and rules.</li>
</ul>
<h2 id="formatters">Formatters</h2>
<!-- ignore is to keep "github" lower-case -->
<!--lint ignore awesome-spell-check-->
<ul>
<li><a
href="https://github.com/shuoshubao/eslint-formatter-html">html</a> - A
enhanced ESLint formatter.</li>
<li><a
href="https://github.com/brettz9/eslint-formatter-badger">badger</a> -
Make SVG-based badges summarizing ESLint results (e.g., for use on a
README).</li>
<li><a
href="https://github.com/JamieMason/eslint-formatter-git-log">git-log</a>
- ESLint Formatter featuring Git Author, Date, and Hash.</li>
<li><a
href="https://github.com/hipstersmoothie/eslint-formatter-github">github</a>
- See ESLint errors and warnings directly in pull requests.</li>
<li><a
href="https://gitlab.com/remcohaszing/eslint-formatter-gitlab">gitlab</a>
- Output ESLint results in the GitLab code quality results.</li>
<li><a href="https://github.com/fengzilong/eslint-formatter-mo">mo</a> -
Good-lookin ESLint formatter and also for delightful reading
experience.</li>
<li><a
href="https://www.npmjs.com/package/@microsoft/eslint-formatter-sarif">SARIF</a>
- Generate a results in a SARIF format so it can be imported into tools
like GitHub Advanced Security.</li>
<li><a
href="https://github.com/davidjbradshaw/eslint-formatter-summary-chart">summary-chart</a>
- Format ESLint output into a bar chart.</li>
</ul>
<h2 id="globals">Globals</h2>
<ul>
<li><a
href="https://github.com/facebook/create-react-app/tree/main/packages/confusing-browser-globals">confusing-browser-globals</a>
- A curated list of browser globals that commonly cause confusion and
are not recommended to use without an explicit window. qualifier.</li>
<li><a href="https://github.com/sindresorhus/globals">ES and browser
globals</a> (originally from ESLint)</li>
<li><a
href="https://github.com/t-huth/eslint-plugin-chai-assert-bdd">chai
globals</a></li>
<li><a
href="https://github.com/miherlosev/eslint-plugin-testcafe">TestCafe
globals</a> - <code>fixture</code> &amp; <code>test</code> globals for
TestCafe.</li>
</ul>
<h2 id="tools">Tools</h2>
<ul>
<li><a
href="https://github.com/brettz9/es-file-traverse">es-file-traverse</a>
- 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.</li>
<li><a
href="https://github.com/sarbbottam/eslint-find-rules">eslint-find-rules</a>
- Find built-in ESLint rules you dont have in your custom config.</li>
<li><a
href="https://github.com/wagerfield/eslint-index">eslint-index</a> - CLI
for finding and managing rules in ESLint config files.</li>
<li><a
href="https://github.com/mizdra/eslint-interactive">eslint-interactive</a>
- The CLI tool to fix huge number of ESLint errors.</li>
<li><a
href="https://github.com/pimlie/eslint-multiplexer">eslint-multiplexer</a>
- Multiplex eslint results and merge results for common files.</li>
<li><a href="https://github.com/IanVS/eslint-nibble">eslint-nibble</a> -
Ease into ESLint, by fixing one rule at a time.</li>
<li><a
href="https://github.com/Jugbot/eslint-plugin-rule-adoption">eslint-plugin-rule-adoption</a>
- An eslint plugin for incremental rule adoption, when
<code>--fix</code> and codemods dont cut it.</li>
<li><a
href="https://github.com/jfmengels/eslint-rule-documentation">eslint-rule-documentation</a>
- Find the url for the documentation of an ESLint rule.</li>
<li><a href="https://github.com/rizowski/eslint-watch">eslint-watch</a>
- Run ESLint with watch mode.</li>
<li><a href="https://github.com/codacy/codacy-eslint">codacy-eslint</a>
- Docker used at <a href="https://www.codacy.com">Codacy</a> to run
ESLint.</li>
<li><a href="https://github.com/pinterest/esprint">esprint</a> - Run
ESLint across multiple threads.</li>
<li><a
href="https://github.com/eslint/generator-eslint">generator-eslint</a> -
Generate ESLint plugin and rules with <a
href="http://yeoman.io/">Yeoman</a>.</li>
<li><a href="https://github.com/fisker/editor-info">editor-info</a> -
Detect whether one is within an editor/IDE and which type, allowing one
to tweak ESLint configuration accordingly.</li>
<li><a
href="https://github.com/fengzilong/eslint-dashboard">eslint-dashboard</a>
- Interactive ESLint workflow that lives in your terminal.</li>
<li><a
href="https://github.com/AriPerkkio/eslint-remote-tester">eslint-remote-tester</a>
- CLI tool for testing given ESlint rules against multiple repositories
at once.</li>
</ul>
<h2 id="developing-for-eslint">Developing for ESLint</h2>
<ul>
<li><a
href="https://github.com/bmish/eslint-doc-generator">eslint-doc-generator</a>
- Generate documentation for your ESLint plugin including a rules table
for your readme and header for your rule docs.</li>
<li><a
href="https://github.com/wikimedia/eslint-docgen">eslint-docgen</a> -
Automatically generate ESLint plugin documentation from rule metadata
and test cases.</li>
</ul>
<h2 id="tutorials">Tutorials</h2>
<ul>
<li><a
href="https://medium.com/tumblbug-engineering/creating-an-eslint-plugin-87f1cb42767f">Creating
an ESLint Plugin</a> - Article walking through the creation of an ESLint
rule and plugin.</li>
<li><a
href="https://medium.com/@dan_abramov/lint-like-it-s-2015-6987d44c5b48#.5p3yk0b03">Lint
Like Its 2015</a> - Article walking through the benefits of using
ESLint.</li>
<li><a
href="http://blog.cowchimp.com/writing-a-custom-eslint-rule-to-spot-undeclared-props/">Writing
a rule to spot undeclared props hiding in plain sight</a> - Article
about creating rules that require scope analysis.</li>
<li><a href="https://adropincalm.com/blog/dear-old-eslint/">Dear Old
ESLint</a> - Quick intro article on ESLint.</li>
</ul>
<h2 id="installation-and-setup">Installation and Setup</h2>
<ul>
<li><a href="https://github.com/josh-stillman/lintier">Lintier</a> - CLI
to quickly scaffold an ESLint &amp; Prettier setup in a TypeScript
project.</li>
</ul>
<p><a href="https://github.com/dustinspecker/awesome-eslint">eslint.md
Github</a></p>