JavaScript > ESLint
Linter.
Configs
Configs by Well-Known Companies/Organizations
Other Prominent Configs (100 stars or so)
Other Configs
A reasonable collection of plugins to use alongside your main ESLint configuration.
Enforce classic JavaScript featuress in TypeScript codebase by banning excessive keywords.
Preconfigured Configs with ESLint Set up
Plugins
Code Quality
Transforms logical expressions in code to make them easier to understand.
A custom ESLint plugin that enforces principles of clean, maintainable software design — inspired by Code Complete.
Compatibility
CSS in JS
Deprecation
Embedded
Frameworks
Languages and Environments
Lint, format, and auto-fix your JSON files. Sort your package.json.
Validates data defined in JavaScript, JSON, YAML and TOML using JSON Schema Validator.
Rules for consistent, readable, and valid package.json files.
Additional ESLint's rules for Node.js. Properly maintained fork of no longer maintained eslint-plugin-node.
Granularly enforces TypeScript's erasableSyntaxOnly flag.
Libraries
Check your GraphQL query strings against a schema.
Linting rules for jQuery, including versioned configs for deprecated features.
Misc
Practices and Specific ES Features
Ensures that your architecture boundaries are respected by the elements in your project checking file structure and dependencies.
Best practices about ESLint directive comments (/eslint-disable/, etc.). Properly maintained fork of no longer maintained eslint-plugin-eslint-comments.
A plugin to preserve original error context when re-throwing exceptions.
A plugin that helps you to enforce hexagonal architecture best practices.
Forbids functions with too many parameters of the same type, encouraging object-based signatures and preventing primitive obsession.
Lints unhandled functions that might throw errors.
ESLint rules to disable mutation and promote fp in JavaScript and TypeScript.
Prevent accidental parameter mutations by enforcing explicit mut prefix (JavaScript) or Mut<T> type annotation (TypeScript).
Linting of ES2015+ import/export syntax, and prevent issues with misspelling of file paths and import names.
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.
Lints against expressions like Math.max(...args) that can lead to a stack overflow for large arrays.
Prevents leaking comments into production if bundler is not used and stops developers from commenting out old lines of code.
Encourages use of class properties by reporting use of this with bind or setting state in constructors.
Custom rule for ESLint that checks for inferred method names within object literals.
A plugin to prove that a hexadecimal number is less than a specified value.
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.
Ensure consistent filenames for your JavaScript files. No longer maintained and does not work with ESlint 9 at all.
Sort objects, imports, TypeScript types, enums, JSX props, etc.
Sorts imports and splits 'multiple' imports into single line imports.
Security
Chai
Jest
Mocha
Parsers
Globals
Formatters
Tools
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.
Find built-in ESLint rules you don't have in your custom config.
An eslint plugin for incremental rule adoption, when --fix and codemods don't cut it.
Detect whether one is within an editor/IDE and which type, allowing one to tweak ESLint configuration accordingly.