@rushstack/eslint-bulk
This package provides the command-line interface (CLI) for the ESLint bulk suppressions
feature from @rushstack/eslint-patch.
Setting it up
👉 Before using this tool, you will first need to install and configure the
@rushstack/eslint-patch package.
See the eslint-bulk-suppressions documentation
for details.
Typical workflow
- Checkout your
main branch, which is in a clean state where ESLint reports no violations.
- Update your configuration to enable the latest lint rules; ESLint now reports thousands of legacy violations.
- Run
eslint-bulk suppress --all ./src to update .eslint-bulk-suppressions.json.
- ESLint now no longer reports violations, so commit the results to Git and merge your pull request.
- Over time, engineers may improve some of the suppressed code, in which case the associated suppressions are no longer needed.
- Run
eslint-bulk prune periodically to find and remove unnecessary suppressions from .eslint-bulk-suppressions.json, ensuring that new violations will now get caught in those scopes.
"eslint-bulk suppress" command
eslint-bulk suppress --rule NAME1 [--rule NAME2...] PATH1 [PATH2...]
eslint-bulk suppress --all PATH1 [PATH2...]
Use this command to automatically generate bulk suppressions for the specified lint rules and file paths.
The path argument is a glob pattern with the same syntax
as path arguments for the eslint command.
"eslint-bulk prune" command
Use this command to automatically delete all unnecessary suppression entries in all
.eslint-bulk-suppressions.json files under the current working directory.
eslint-bulk prune
Links
@rushstack/eslint-bulk is part of the Rush Stack family of projects.