@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.