What is @eslint-community/eslint-plugin-eslint-comments?
@eslint-community/eslint-plugin-eslint-comments is an ESLint plugin that provides rules for managing ESLint directive comments (e.g., `// eslint-disable`, `// eslint-enable`, `// eslint-disable-next-line`). It helps ensure that these comments are used correctly and consistently throughout your codebase.
What are @eslint-community/eslint-plugin-eslint-comments's main functionalities?
Disallow unused eslint-disable comments
This feature ensures that `eslint-disable` comments are not left in the code if they are not actually disabling any rules. It helps keep the code clean and free of unnecessary comments.
/* eslint-disable no-unused-vars */
// eslint-disable-next-line no-console
console.log('Hello, world!');
/* eslint-enable no-unused-vars */
Require eslint-enable comments
This feature enforces that every `eslint-disable` comment is followed by a corresponding `eslint-enable` comment, ensuring that rules are only disabled for specific sections of code and not indefinitely.
/* eslint-disable no-console */
console.log('Hello, world!');
/* eslint-enable no-console */
Disallow eslint-disable comments without description
This feature requires that `eslint-disable` comments include a description explaining why the rule is being disabled. This helps provide context and justification for disabling rules, making the code more maintainable.
/* eslint-disable no-console -- needed for debugging */
console.log('Hello, world!');
/* eslint-enable no-console */
Other packages similar to @eslint-community/eslint-plugin-eslint-comments
eslint-plugin-disable
eslint-plugin-disable provides similar functionality by allowing you to disable specific ESLint rules for certain files or lines of code. However, it does not enforce the same level of strictness and consistency as @eslint-community/eslint-plugin-eslint-comments.
Additional ESLint rules for ESLint directive comments (e.g. //eslint-disable-line
).
📖 Usage
🚥 Semantic Versioning Policy
@eslint-community/eslint-plugin-eslint-comments
follows semantic versioning and ESLint's Semantic Versioning Policy.
📰 Changelog
🍻 Contributing
Welcome contributing!
Please use GitHub's Issues/PRs.
Development Tools
npm test
runs tests and measures coverage.npm run build
updates README.md
, index.js
, and the header of all rule's documents.npm run clean
removes the coverage of the last npm test
command.npm run coverage
shows the coverage of the last npm test
command.npm run lint
runs ESLint for this codebase.npm run watch
runs tests and measures coverage when source code are changed.