1 line
No EOL
34 KiB
JSON
1 line
No EOL
34 KiB
JSON
{"slug": "dustinspecker--awesome-eslint", "title": "Awesome Eslint", "description": "A list of awesome ESLint plugins, configs, etc.", "github_url": "https://github.com/dustinspecker/awesome-eslint", "stars": "4.7K", "tag": "Programming Languages", "entry_count": 188, "subcategory_count": 18, "subcategories": [{"name": "General", "parent": "", "entries": [{"name": "Configs", "url": "#configs", "description": ""}, {"name": "Preconfigured Configs with ESLint Set up", "url": "#preconfigured-configs-with-eslint-set-up", "description": ""}, {"name": "Plugins", "url": "#plugins", "description": ""}, {"name": "Parsers", "url": "#parsers", "description": ""}, {"name": "Formatters", "url": "#formatters", "description": ""}, {"name": "Globals", "url": "#globals", "description": ""}, {"name": "Tools", "url": "#tools", "description": ""}, {"name": "Developing for ESLint", "url": "#developing-for-eslint", "description": ""}, {"name": "Tutorials", "url": "#tutorials", "description": ""}, {"name": "Installation and Setup", "url": "#installation-and-setup", "description": ""}]}, {"name": "Configs by Well-Known Companies/Organizations", "parent": "Configs", "entries": [{"name": "Airbnb", "url": "https://github.com/airbnb/javascript/tree/master/packages/eslint-config-airbnb", "description": "Shareable config for [Airbnb's style guide (⭐148k)](https://github.com/airbnb/javascript).", "stars": "148k"}, {"name": "Airbnb-babel", "url": "https://github.com/davidjbradshaw/eslint-config-airbnb-babel", "description": "Airbnb's ESLint config with Babel Support.", "stars": "3"}, {"name": "Alloy", "url": "https://github.com/AlloyTeam/eslint-config-alloy", "description": "Progressive ESLint config for your React/Vue/TypeScript projects.", "stars": "2.6k"}, {"name": "ESLint", "url": "https://github.com/eslint/eslint/tree/master/packages/eslint-config-eslint", "description": "Contains the ESLint configuration used for projects maintained by the ESLint team.", "stars": "27k"}, {"name": "Facebook", "url": "https://www.npmjs.com/package/eslint-config-fbjs", "description": "Sharable config for Facebook's style guide."}, {"name": "Feedzai", "url": "https://github.com/feedzai/eslint-config-feedzai", "description": "Feedzai's shareable config for JavaScript/React projects.", "stars": "9"}, {"name": "Shopify", "url": "https://github.com/Shopify/web-foundation/blob/main/packages/eslint-plugin/README.md", "description": "Shareable config for [Shopify's style guide (⭐260)](https://github.com/Shopify/javascript).", "stars": "487"}, {"name": "Wikimedia", "url": "https://github.com/wikimedia/eslint-config-wikimedia", "description": "Shareable config for [Wikimedia's style guide](https://www.mediawiki.org/wiki/Manual:Coding_conventions/JavaScript), used by [MediaWiki](https://www.mediawiki.org/).", "stars": "33"}]}, {"name": "Other Prominent Configs (100 stars or so)", "parent": "Configs", "entries": [{"name": "Auto", "url": "https://github.com/davidjbradshaw/eslint-config-auto", "description": "Automatically configure ESLint based on your project's dependencies.", "stars": "404"}, {"name": "Canonical", "url": "https://github.com/gajus/eslint-config-canonical", "description": "Shareable config for [Canonical style guide (⭐19)](https://github.com/gajus/canonical).", "stars": "621"}, {"name": "Standard", "url": "https://github.com/feross/eslint-config-standard", "description": "Shareable config for JavaScript [Standard Style (⭐29k)](https://github.com/feross/standard).", "stars": "2.6k"}, {"name": "XO", "url": "https://github.com/xojs/eslint-config-xo", "description": "Shareable config for [XO (⭐7.9k)](https://github.com/xojs/xo).", "stars": "282"}, {"name": "Antfu Eslint Config", "url": "https://github.com/antfu/eslint-config", "description": "Anthony's ESLint config preset.", "stars": "6k"}]}, {"name": "Other Configs", "parent": "Configs", "entries": [{"name": "Adjunct", "url": "https://github.com/davidjbradshaw/eslint-config-adjunct", "description": "A reasonable collection of plugins to use alongside your main ESLint configuration.", "stars": "52"}, {"name": "Ash-Nazg", "url": "https://github.com/brettz9/eslint-config-ash-nazg", "description": "One config to rule them all!", "stars": "8"}, {"name": "Cecilia", "url": "https://github.com/SandroMiguel/eslint-config-cecilia", "description": "ESLint configuration for awesome projects.", "stars": "7"}, {"name": "clean-typescript", "url": "https://github.com/cunarist/eslint-config-clean-typescript", "description": "Enforce classic JavaScript featuress in TypeScript codebase by banning excessive keywords."}, {"name": "Hardcore", "url": "https://github.com/EvgenyOrekhov/eslint-config-hardcore", "description": "The most strict (but practical) ESLint config out there.", "stars": "460"}, {"name": "Problems", "url": "https://github.com/RyanZim/eslint-config-problems", "description": "Shareable config that only catches actual problems, and doesn't enforce stylistic preferences.", "stars": "67"}, {"name": "Supermind", "url": "https://github.com/supermind/eslint-config-supermind", "description": "Shareable config for Supermind style.", "stars": "4"}, {"name": "Sheriff", "url": "https://github.com/AndreaPontrandolfo/sheriff", "description": "Comprehensive and highly opinionated Eslint configuration. Typescript oriented.", "stars": "177"}, {"name": "Node.js Standard Style", "url": "https://github.com/geek/node-style", "description": "Node.js core config.", "stars": "6"}, {"name": "eslint-config-prettier", "url": "https://github.com/prettier/eslint-config-prettier", "description": "Prettier config for ESlint maintained by Prettier team.", "stars": "5.8k"}, {"name": "Standard", "url": "https://github.com/feross/standard", "description": "JavaScript Standard Style.", "stars": "29k"}, {"name": "Superlint", "url": "https://github.com/supermind/superlint", "description": "JavaScript Supermind Style.", "stars": "5"}, {"name": "XO", "url": "https://github.com/sindresorhus/xo", "description": "JavaScript happiness style linter ❤️.", "stars": "7.9k"}]}, {"name": "Code Quality", "parent": "Plugins", "entries": [{"name": "depend", "url": "https://github.com/es-tooling/eslint-plugin-depend", "description": "Helps detect dependency tree bloat and redundant polyfills.", "stars": "470"}, {"name": "GitHub", "url": "https://github.com/github/eslint-plugin-github", "description": "Misc. rules from GitHub.", "stars": "325"}, {"name": "SonarJS", "url": "https://github.com/SonarSource/SonarJS/blob/master/packages/jsts/src/rules/README.md", "description": "Rules detecting bugs and suspicious patterns.", "stars": "1.2k"}, {"name": "Unicorn", "url": "https://github.com/sindresorhus/eslint-plugin-unicorn", "description": "Various awesome ESLint rules.", "stars": "4.9k"}, {"name": "@mysticatea/eslint-plugin", "url": "https://github.com/mysticatea/eslint-plugin", "description": "Misc. rules.", "stars": "26"}, {"name": "@brettz9/eslint-plugin", "url": "https://github.com/brettz9/eslint-plugin", "description": "Misc. rules. of `@mysticatea` without the personal config.", "stars": "2"}, {"name": "De Morgan", "url": "https://github.com/azat-io/eslint-plugin-de-morgan", "description": "Transforms logical expressions in code to make them easier to understand.", "stars": "299"}, {"name": "eslint-plugin-code-complete", "url": "https://github.com/aryelu/eslint-plugin-code-complete", "description": "A custom ESLint plugin that enforces principles of clean, maintainable software design — inspired by Code Complete.", "stars": "11"}]}, {"name": "Compatibility", "parent": "Plugins", "entries": [{"name": "Compat", "url": "https://github.com/amilajack/eslint-plugin-compat", "description": "Lint browser compatibility of APIs used ([caniuse](http://caniuse.com/#search=fetch) as an ESLint plugin).", "stars": "3.2k"}, {"name": "ecmascript-compat", "url": "https://github.com/robatwilliams/es-compat", "description": "Disable ECMAScript language features not supported by your browserslist targets.", "stars": "70"}, {"name": "es-x", "url": "https://github.com/eslint-community/eslint-plugin-es-x", "description": "Disable specific ECMAScript language versions or individual features. Properly maintained fork of no longer maintained `eslint-plugin-es`.", "stars": "148"}, {"name": "es5", "url": "https://github.com/nkt/eslint-plugin-es5", "description": "ESLint plugin for ES5 users (forbid ES2015+ usage).", "stars": "55"}, {"name": "ie11", "url": "https://github.com/Volox/eslint-plugin-ie11", "description": "Detect unsupported ES6 features in IE11.", "stars": "15"}]}, {"name": "CSS in JS", "parent": "Plugins", "entries": [{"name": "CSS-modules", "url": "https://github.com/atfzl/eslint-plugin-css-modules", "description": "Lint undefined or unused rules for css modules.", "stars": "154"}, {"name": "Emotion", "url": "https://github.com/emotion-js/emotion/tree/master/packages/eslint-plugin", "description": "ESLint rules for emotion.", "stars": "18k"}, {"name": "vanilla-extract", "url": "https://github.com/antebudimir/eslint-plugin-vanilla-extract", "description": "An ESLint plugin for enforcing CSS property ordering in [vanilla-extract CSS (⭐10k)](https://github.com/vanilla-extract-css/vanilla-extract) styles.", "stars": "31"}]}, {"name": "Deprecation", "parent": "Plugins", "entries": [{"name": "deprecate", "url": "https://github.com/AlexMost/eslint-plugin-deprecate", "description": "Mark functions or modules as deprecated and get lint messages when they are used.", "stars": "84"}, {"name": "disable", "url": "https://github.com/mradionov/eslint-plugin-disable", "description": "Disable specified plugins using file path patterns and inline comments.", "stars": "56"}]}, {"name": "Embedded", "parent": "Plugins", "entries": [{"name": "HTML", "url": "https://github.com/BenoitZugmeyer/eslint-plugin-html", "description": "Linting for JavaScript inside of HTML `<script>` tags.", "stars": "449"}, {"name": "Markdown", "url": "https://github.com/eslint/eslint-plugin-markdown", "description": "Linting for JavaScript inside of Markdown.", "stars": "532"}]}, {"name": "Frameworks", "parent": "Plugins", "entries": [{"name": "Angular", "url": "https://github.com/angular-eslint/angular-eslint", "description": "Linting rules for Angular (v2+).", "stars": "1.8k"}, {"name": "AngularJS", "url": "https://github.com/Gillespie59/eslint-plugin-angular", "description": "Linting rules to adhere to the [John Papa's AngularJS Styleguide (⭐24k)](https://github.com/johnpapa/angular-styleguide).", "stars": "620"}, {"name": "Astro", "url": "https://github.com/ota-meshi/eslint-plugin-astro", "description": "Plugin for [Astro components](https://docs.astro.build/en/core-concepts/astro-components/).", "stars": "391"}, {"name": "Backbone", "url": "https://github.com/ilyavolodin/eslint-plugin-backbone", "description": "Linting rules for Backbone.", "stars": "93"}, {"name": "Ember", "url": "https://github.com/ember-cli/eslint-plugin-ember", "description": "Linting rules for Ember.", "stars": "261"}, {"name": "Hapi", "url": "https://github.com/continuationlabs/eslint-plugin-hapi", "description": "Linting rules for hapi.", "stars": "22"}, {"name": "Meteor", "url": "https://github.com/meteor/meteor/tree/devel/npm-packages/eslint-plugin-meteor", "description": "Meteor specific linting rules for ESLint.", "stars": "45k"}, {"name": "Solid", "url": "https://github.com/joshwilsonvu/eslint-plugin-solid", "description": "Linting rules for Solid and JSX.", "stars": "254"}, {"name": "Svelte", "url": "https://github.com/sveltejs/eslint-plugin-svelte", "description": "Linting rules for Svelte v3 Components.", "stars": "381"}]}, {"name": "Languages and Environments", "parent": "Plugins", "entries": [{"name": "Babel", "url": "https://github.com/babel/babel/tree/main/eslint/babel-eslint-plugin", "description": "Adds replacements for built-in rules to include Babel features.", "stars": "44k"}, {"name": "eslint-plugin-eslint-plugin", "url": "https://github.com/not-an-aardvark/eslint-plugin-eslint-plugin", "description": "An ESLint plugin for linting ESLint plugins.", "stars": "225"}, {"name": "HTML", "url": "https://github.com/yeonjuan/html-eslint", "description": "ESLint plugin for HTML.", "stars": "250"}, {"name": "MDX", "url": "https://github.com/mdx-js/eslint-mdx/tree/master/packages/eslint-plugin-mdx", "description": "ESLint Parser/Plugin for MDX.", "stars": "297"}, {"name": "N", "url": "https://github.com/eslint-community/eslint-plugin-n", "description": "Additional ESLint's rules for Node.js. Properly maintained fork of no longer maintained `eslint-plugin-node`.", "stars": "320"}, {"name": "SQL", "url": "https://github.com/gajus/eslint-plugin-sql", "description": "SQL linting rules for ESLint.", "stars": "110"}, {"name": "TOML", "url": "https://github.com/ota-meshi/eslint-plugin-toml", "description": "ESLint plugin for TOML.", "stars": "30"}, {"name": "TypeScript", "url": "https://typescript-eslint.io", "description": "Linting rules for TypeScript."}, {"name": "YAML", "url": "https://github.com/ota-meshi/eslint-plugin-yml", "description": "ESLint plugin for YAML.", "stars": "164"}]}, {"name": "Libraries", "parent": "Plugins", "entries": [{"name": "TypeGraphQL", "url": "https://github.com/borremosch/eslint-plugin-type-graphql", "description": "Linting rules for TypeGraphQL, targeted at finding common mistakes.", "stars": "19"}, {"name": "jQuery", "url": "https://github.com/wikimedia/eslint-plugin-no-jquery", "description": "Linting rules for jQuery, including versioned configs for deprecated features.", "stars": "32"}, {"name": "JSDoc", "url": "https://github.com/gajus/eslint-plugin-jsdoc", "description": "Linting rules for JSDoc comments (including the JavaScript within `@example`).", "stars": "1.2k"}, {"name": "Mongodb", "url": "https://github.com/nfroidure/eslint-plugin-mongodb", "description": "Mongodb native Node.js driver linting rules.", "stars": "20"}, {"name": "Ramda", "url": "https://github.com/ramda/eslint-plugin-ramda", "description": "Ramda specific linting rules.", "stars": "117"}, {"name": "RequireJS", "url": "https://github.com/cvisco/eslint-plugin-requirejs", "description": "Linting rules for RequireJS.", "stars": "29"}, {"name": "Tailwind CSS", "url": "https://github.com/francoismassart/eslint-plugin-tailwindcss", "description": "Linting rules for Tailwind CSS classnames.", "stars": "2k"}, {"name": "Tailwind CSS v4", "url": "https://github.com/schoero/eslint-plugin-better-tailwindcss", "description": "ESLint plugin to help you write better tailwindcss by improving readability with formatting rules and enforcing best practices with linting rules.", "stars": "632"}]}, {"name": "Misc", "parent": "Plugins", "entries": [{"name": "Diff", "url": "https://github.com/paleite/eslint-plugin-diff", "description": "Run ESLint on your changed lines only. Also supports CI!", "stars": "208"}, {"name": "Misc", "url": "https://github.com/ilyub/eslint-plugin-misc", "description": "Miscellaneous rules including rules for creating custom checks and wrapping (modifying) third-party rules.", "stars": "12"}, {"name": "Notice", "url": "https://github.com/nickdeis/eslint-plugin-notice", "description": "An eslint rule that checks the top of files and fixes them too!", "stars": "27"}, {"name": "Only-Error", "url": "https://github.com/davidjbradshaw/eslint-plugin-only-error", "description": "Convert all rules to errors.", "stars": "17"}, {"name": "Only-Warn", "url": "https://github.com/bfanger/eslint-plugin-only-warn", "description": "Convert all rules to warnings.", "stars": "182"}, {"name": "PutOut", "url": "https://github.com/coderaiser/putout/tree/master/packages/eslint-plugin-putout", "description": "an ESLint plugin integrates [putout (⭐778)](https://github.com/coderaiser/putout) linter into ESLint.", "stars": "778"}, {"name": "TypeLint", "url": "https://github.com/yarax/eslint-plugin-typelint", "description": "Introduces types, based on existing schemas (Swagger, Redux) and linting access to object properties, preventing `undefined` errors.", "stars": "173"}, {"name": "Woke", "url": "https://github.com/amwmedia/eslint-plugin-woke", "description": "Helps catch insensitive words, promoting an inclusive codebase.", "stars": "38"}]}, {"name": "Practices and Specific ES Features", "parent": "Plugins", "entries": [{"name": "array-func", "url": "https://github.com/freaktechnik/eslint-plugin-array-func", "description": "Avoid redundancy when using es2015 array methods and functions.", "stars": "96"}, {"name": "arrow functions", "url": "https://github.com/getify/eslint-plugin-proper-arrows", "description": "ESLint rules to ensure proper arrow function definitions.", "stars": "311"}, {"name": "boundaries", "url": "https://github.com/javierbrea/eslint-plugin-boundaries", "description": "Ensures that your architecture boundaries are respected by the elements in your project checking file structure and dependencies.", "stars": "764"}, {"name": "@eslint-community/eslint-plugin-eslint-comments", "url": "https://github.com/eslint-community/eslint-plugin-eslint-comments", "description": "Best practices about ESLint directive comments (`/*eslint-disable*/`, etc.). Properly maintained fork of no longer maintained `eslint-plugin-eslint-comments`.", "stars": "85"}, {"name": "eslint-plugin-error-cause", "url": "https://github.com/Amnish04/eslint-plugin-error-cause", "description": "A plugin to preserve original error context when re-throwing exceptions.", "stars": "19"}, {"name": "eslint-plugin-hexagonal-architecture", "url": "https://github.com/CodelyTV/eslint-plugin-hexagonal-architecture", "description": "A plugin that helps you to enforce hexagonal architecture best practices.", "stars": "311"}, {"name": "eslint-plugin-signature-design", "url": "https://github.com/Vladyslav-Soldatenko/eslint-plugin-signature-design", "description": "Forbids functions with too many parameters of the same type, encouraging object-based signatures and preventing primitive obsession.", "stars": "1"}, {"name": "eslint-plugin-write-good-comments", "url": "https://github.com/kantord/eslint-plugin-write-good-comments", "description": "Enforce good writing style in comments.", "stars": "41"}, {"name": "eslint-plugin-exception-handling", "url": "https://github.com/Akronae/eslint-plugin-exception-handling", "description": "Lints unhandled functions that might throw errors.", "stars": "56"}, {"name": "fp", "url": "https://github.com/jfmengels/eslint-plugin-fp", "description": "ESLint rules for functional programming.", "stars": "972"}, {"name": "functional", "url": "https://github.com/jonaskello/eslint-plugin-functional", "description": "ESLint rules to disable mutation and promote fp in JavaScript and TypeScript.", "stars": "953"}, {"name": "mutate", "url": "https://github.com/gchumillas/eslint-plugin-mutate", "description": "Prevent accidental parameter mutations by enforcing explicit `mut` prefix (JavaScript) or `Mut<T>` type annotation (TypeScript).", "stars": "0"}, {"name": "Immutable", "url": "https://github.com/jhusain/eslint-plugin-immutable", "description": "Disable all mutation in JavaScript.", "stars": "912"}, {"name": "import", "url": "https://github.com/benmosher/eslint-plugin-import", "description": "Linting of ES2015+ import/export syntax, and prevent issues with misspelling of file paths and import names.", "stars": "5.9k"}, {"name": "import-x", "url": "https://github.com/un-ts/eslint-plugin-import-x", "description": "Linting of ES2015+ import/export syntax, and prevent issues with misspelling of file paths and import names. Lightweight fork of `eslint-plugin-import`, but which breaks backwards compatibility.", "stars": "634"}, {"name": "Math", "url": "https://github.com/ota-meshi/eslint-plugin-math", "description": "ESLint plugin related to Math object and Number.", "stars": "15"}, {"name": "new-with-error", "url": "https://github.com/Trott/eslint-plugin-new-with-error", "description": "Require errors to be thrown using `new`.", "stars": "26"}, {"name": "no-argument-spread", "url": "https://github.com/causalhq/eslint-plugin-no-argument-spread", "description": "Lints against expressions like `Math.max(...args)` that can lead to a stack overflow for large arrays.", "stars": "3"}, {"name": "no-comments", "url": "https://github.com/wisniewski94/eslint-plugin-no-comments", "description": "Prevents leaking comments into production if bundler is not used and stops developers from commenting out old lines of code.", "stars": "16"}, {"name": "no-constructor-bind", "url": "https://github.com/markalfred/eslint-plugin-no-constructor-bind", "description": "Encourages use of class properties by reporting use of `this` with `bind` or setting state in constructors.", "stars": "12"}, {"name": "no-inferred-method-name", "url": "https://github.com/johnstonbl01/eslint-no-inferred-method-name", "description": "Custom rule for ESLint that checks for inferred method names within object literals.", "stars": "27"}, {"name": "no-loops", "url": "https://github.com/buildo/eslint-plugin-no-loops", "description": "It's 2019 and you still use loops?", "stars": "130"}, {"name": "no-restricted-syntax", "url": "https://github.com/brettz9/eslint-plugin-query", "description": "Show queried syntax's content in messages.", "stars": "5"}, {"name": "no-use-extend-native", "url": "https://github.com/dustinspecker/eslint-plugin-no-use-extend-native", "description": "Prevent using extended native objects.", "stars": "57"}, {"name": "Promise", "url": "https://github.com/xjamundx/eslint-plugin-promise", "description": "Best practices when working with promises.", "stars": "984"}, {"name": "pure", "url": "https://github.com/purely-functional/eslint-plugin-pure", "description": "Enforce pure functions (without side effects).", "stars": "32"}, {"name": "ReDoS", "url": "https://makenowjust-labs.github.io/recheck/docs/usage/as-eslint-plugin/", "description": "ESLint plugin for finding possible ReDoS vulnerabilities."}, {"name": "ReDoSDetector", "url": "https://github.com/tjenkinson/eslint-plugin-redos-detector", "description": "ESLint plugin for finding possible ReDoS vulnerabilities.", "stars": "12"}, {"name": "RegExp", "url": "https://github.com/ota-meshi/eslint-plugin-regexp", "description": "ESLint plugin for finding regexp mistakes and style guide violations.", "stars": "749"}, {"name": "sort-keys-fix", "url": "https://github.com/leo-buneev/eslint-plugin-sort-keys-fix", "description": "Adds fixer for ESLint `sort-keys` rule.", "stars": "102"}, {"name": "this", "url": "https://github.com/matijs/eslint-plugin-this", "description": "Write pure functions, don't allow `this`.", "stars": "16"}, {"name": "toplevel", "url": "https://github.com/HKalbasi/eslint-plugin-toplevel", "description": "An eslint plugin for disallow side effect at module toplevel.", "stars": "20"}]}, {"name": "Performance", "parent": "Plugins", "entries": [{"name": "DOM", "url": "https://github.com/amilajack/eslint-plugin-dom", "description": "", "stars": "9"}, {"name": "Optimize Regex", "url": "https://github.com/BrainMaestro/eslint-plugin-optimize-regex", "description": "Optimize regex literals.", "stars": "76"}]}, {"name": "Security", "parent": "Plugins", "entries": [{"name": "no-secrets", "url": "https://github.com/nickdeis/eslint-plugin-no-secrets", "description": "An eslint plugin that detects potential secrets/credentials.", "stars": "162"}, {"name": "no-unsanitized", "url": "https://github.com/mozilla/eslint-plugin-no-unsanitized", "description": "Checks for `innerHTML`, `outerHTML`, etc.", "stars": "239"}, {"name": "pii", "url": "https://github.com/shiva-hack/eslint-plugin-pii", "description": "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.", "stars": "11"}, {"name": "pg", "url": "https://github.com/interlace-collie/eslint/tree/main/packages/eslint-plugin-pg", "description": "PostgreSQL/node-postgres security: SQL injection prevention (CWE-89), connection pool leak detection (CWE-772), transaction safety. 13 rules with CWE mapping."}, {"name": "Security", "url": "https://github.com/nodesecurity/eslint-plugin-security", "description": "ESLint rules for Node Security.", "stars": "2.3k"}, {"name": "xss", "url": "https://github.com/Rantanen/eslint-plugin-xss", "description": "Tries to detect XSS issues in codebase before they end up in production.", "stars": "69"}]}, {"name": "Style", "parent": "Plugins", "entries": [{"name": "ESLint Stylistic", "url": "https://eslint.style/", "description": "[Formatting and stylistic ESLint core rules moved to this project and are maintained by the community.](https://eslint.org/blog/2023/10/deprecating-formatting-rules/)"}, {"name": "const case", "url": "https://www.npmjs.com/package/eslint-plugin-const-case", "description": "Enforce capitalization of constant primitive literals."}, {"name": "editorconfig", "url": "https://github.com/platinumazure/eslint-plugin-editorconfig", "description": "Derive rules from [`.editorconfig`](https://editorconfig.org/).", "stars": "17"}, {"name": "filenames", "url": "https://github.com/selaux/eslint-plugin-filenames", "description": "Ensure consistent filenames for your JavaScript files. No longer maintained and does not work with ESlint 9 at all.", "stars": "323"}, {"name": "Simple import sort", "url": "https://github.com/lydell/eslint-plugin-simple-import-sort", "description": "Easy autofixable import sorting.", "stars": "2.4k"}, {"name": "perfectionist sorting", "url": "https://github.com/azat-io/eslint-plugin-perfectionist", "description": "Sort objects, imports, TypeScript types, enums, JSX props, etc.", "stars": "2.8k"}, {"name": "split-and-sort-imports", "url": "https://github.com/sngn/eslint-plugin-split-and-sort-imports", "description": "Sorts imports and splits 'multiple' imports into single line imports.", "stars": "0"}, {"name": "Switch case", "url": "https://github.com/lukeapage/eslint-plugin-switch-case", "description": "Switch-case-specific linting rules for ESLint.", "stars": "18"}, {"name": "padding", "url": "https://github.com/mu-io/eslint-plugin-padding", "description": "Allows/disallows padding between statements.", "stars": "6"}, {"name": "paths", "url": "https://github.com/vitonsky/eslint-plugin-paths", "description": "Use paths from tsconfig/jsconfig and auto fix relative paths to aliases.", "stars": "86"}, {"name": "@gitbutler/no-relative-imports", "url": "https://www.npmjs.com/package/@gitbutler/no-relative-imports", "description": "Use paths from tsconfig and auto fix relative paths to aliases. Observes tsconfig inheritance."}]}, {"name": "Testing Tools", "parent": "Plugins", "entries": [{"name": "AVA", "url": "https://github.com/avajs/eslint-plugin-ava", "description": "Linting rules for AVA.", "stars": "230"}, {"name": "Cucumber", "url": "https://github.com/darrinholst/eslint-plugin-cucumber", "description": "Linting rules for Cucumber.", "stars": "8"}, {"name": "Cypress", "url": "https://github.com/cypress-io/eslint-plugin-cypress", "description": "Linting rules for Cypress.", "stars": "722"}, {"name": "Jasmine", "url": "https://github.com/tlvince/eslint-plugin-jasmine", "description": "Linting rules for Jasmine.", "stars": "101"}, {"name": "Playwright", "url": "https://github.com/playwright-community/eslint-plugin-playwright", "description": "Linting rules for Playwright.", "stars": "358"}, {"name": "QUnit", "url": "https://github.com/platinumazure/eslint-plugin-qunit", "description": "Linting rules for QUnit.", "stars": "31"}, {"name": "TestCafe-Community", "url": "https://github.com/testcafe-community/eslint-plugin-testcafe-community", "description": "TestCafe linting rules with env globals (fork from [TestCafe globals (⭐15)](https://github.com/miherlosev/eslint-plugin-testcafe)).", "stars": "4"}, {"name": "Testing Library", "url": "https://github.com/testing-library/eslint-plugin-testing-library", "description": "Linting rules for Testing Library.", "stars": "1k"}, {"name": "babel-eslint-parser", "url": "https://github.com/babel/babel/tree/main/eslint/babel-eslint-parser", "description": "Allows you to lint ALL valid Babel code with the fantastic ESLint.", "stars": "44k"}, {"name": "TypeScript", "url": "https://typescript-eslint.io/packages/parser", "description": "A TypeScript parser that produces output compatible with ESLint."}, {"name": "BrightScript", "url": "https://github.com/RokuRoad/eslint-plugin-roku", "description": "BrightScript plugin for Roku development. Includes Parser and Rules.", "stars": "48"}, {"name": "GraphQL", "url": "https://github.com/dotansimha/graphql-eslint", "description": "Parser for the GraphQL AST. Includes parser, plugin, processor (for non-graphql files) and rules.", "stars": "832"}, {"name": "html", "url": "https://github.com/shuoshubao/eslint-formatter-html", "description": "A enhanced ESLint formatter.", "stars": "39"}, {"name": "badger", "url": "https://github.com/brettz9/eslint-formatter-badger", "description": "Make SVG-based badges summarizing ESLint results (e.g., for use on a README).", "stars": "7"}, {"name": "git-log", "url": "https://github.com/JamieMason/eslint-formatter-git-log", "description": "ESLint Formatter featuring Git Author, Date, and Hash.", "stars": "42"}, {"name": "github", "url": "https://github.com/hipstersmoothie/eslint-formatter-github", "description": "See ESLint errors and warnings directly in pull requests.", "stars": "109"}, {"name": "gitlab", "url": "https://gitlab.com/remcohaszing/eslint-formatter-gitlab", "description": "Output ESLint results in the GitLab code quality results."}, {"name": "mo", "url": "https://github.com/fengzilong/eslint-formatter-mo", "description": "Good-lookin' ESLint formatter and also for delightful reading experience.", "stars": "136"}, {"name": "SARIF", "url": "https://www.npmjs.com/package/@microsoft/eslint-formatter-sarif", "description": "Generate a results in a SARIF format so it can be imported into tools like GitHub Advanced Security."}, {"name": "summary-chart", "url": "https://github.com/davidjbradshaw/eslint-formatter-summary-chart", "description": "Format ESLint output into a bar chart.", "stars": "13"}, {"name": "confusing-browser-globals", "url": "https://github.com/facebook/create-react-app/tree/main/packages/confusing-browser-globals", "description": "A curated list of browser globals that commonly cause confusion and are not recommended to use without an explicit window. qualifier.", "stars": "104k"}, {"name": "ES and browser globals", "url": "https://github.com/sindresorhus/globals", "description": "", "stars": "550"}, {"name": "chai globals", "url": "https://github.com/t-huth/eslint-plugin-chai-assert-bdd", "description": "", "stars": "2"}, {"name": "TestCafe globals", "url": "https://github.com/miherlosev/eslint-plugin-testcafe", "description": "`fixture` & `test` globals for TestCafe.", "stars": "15"}, {"name": "es-file-traverse", "url": "https://github.com/brettz9/es-file-traverse", "description": "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.", "stars": "2"}, {"name": "eslint-find-rules", "url": "https://github.com/sarbbottam/eslint-find-rules", "description": "Find built-in ESLint rules you don't have in your custom config.", "stars": "214"}, {"name": "eslint-index", "url": "https://github.com/wagerfield/eslint-index", "description": "CLI for finding and managing rules in ESLint config files.", "stars": "21"}, {"name": "eslint-interactive", "url": "https://github.com/mizdra/eslint-interactive", "description": "The CLI tool to fix huge number of ESLint errors.", "stars": "442"}, {"name": "eslint-multiplexer", "url": "https://github.com/pimlie/eslint-multiplexer", "description": "Multiplex eslint results and merge results for common files.", "stars": "7"}, {"name": "eslint-nibble", "url": "https://github.com/IanVS/eslint-nibble", "description": "Ease into ESLint, by fixing one rule at a time.", "stars": "880"}, {"name": "eslint-plugin-rule-adoption", "url": "https://github.com/Jugbot/eslint-plugin-rule-adoption", "description": "An eslint plugin for incremental rule adoption, when `--fix` and codemods don't cut it.", "stars": "1"}, {"name": "eslint-rule-documentation", "url": "https://github.com/jfmengels/eslint-rule-documentation", "description": "Find the url for the documentation of an ESLint rule.", "stars": "31"}, {"name": "eslint-watch", "url": "https://github.com/rizowski/eslint-watch", "description": "Run ESLint with watch mode.", "stars": "199"}, {"name": "codacy-eslint", "url": "https://github.com/codacy/codacy-eslint", "description": "Docker used at [Codacy](https://www.codacy.com) to run ESLint.", "stars": "16"}, {"name": "esprint", "url": "https://github.com/pinterest/esprint", "description": "Run ESLint across multiple threads.", "stars": "658"}, {"name": "generator-eslint", "url": "https://github.com/eslint/generator-eslint", "description": "Generate ESLint", "stars": "244"}, {"name": "editor-info", "url": "https://github.com/fisker/editor-info", "description": "Detect whether one is within an editor/IDE and which type, allowing one to tweak ESLint configuration accordingly.", "stars": "7"}, {"name": "eslint-dashboard", "url": "https://github.com/fengzilong/eslint-dashboard", "description": "Interactive ESLint workflow that lives in your terminal.", "stars": "20"}, {"name": "eslint-remote-tester", "url": "https://github.com/AriPerkkio/eslint-remote-tester", "description": "CLI tool for testing given ESlint rules against multiple repositories at once.", "stars": "131"}, {"name": "eslint-disable-autofix", "url": "https://github.com/MorevM/eslint-disable-autofix/", "description": "Utility to disable autofix for specific ESLint rules.", "stars": "2"}, {"name": "eslint-doc-generator", "url": "https://github.com/bmish/eslint-doc-generator", "description": "Generate documentation for your ESLint plugin including a rules table for your readme and header for your rule docs.", "stars": "106"}, {"name": "eslint-docgen", "url": "https://github.com/wikimedia/eslint-docgen", "description": "Automatically generate ESLint plugin documentation from rule metadata and test cases.", "stars": "11"}, {"name": "Creating an ESLint Plugin", "url": "https://medium.com/tumblbug-engineering/creating-an-eslint-plugin-87f1cb42767f", "description": "Article walking through the creation of an ESLint rule and plugin."}, {"name": "Lint Like It's 2015", "url": "https://medium.com/@dan_abramov/lint-like-it-s-2015-6987d44c5b48#.5p3yk0b03", "description": "Article walking through the benefits of using ESLint."}, {"name": "Writing a rule to spot undeclared props hiding in plain sight", "url": "http://blog.cowchimp.com/writing-a-custom-eslint-rule-to-spot-undeclared-props/", "description": "Article about creating rules that require scope analysis."}, {"name": "Dear Old ESLint", "url": "https://adropincalm.com/blog/dear-old-eslint/", "description": "Quick intro article on ESLint."}, {"name": "Lintier", "url": "https://github.com/josh-stillman/lintier", "description": "CLI to quickly scaffold an ESLint & Prettier setup in a TypeScript project.", "stars": "33"}]}]} |