Update @beanbag/eslint-plugin for eslint 9+
Review Request #14562 — Created Aug. 19, 2025 and updated
The version of eslint that we use in most places (8) now spews a warning
about no longer being supported. eslint 9 made a few changes that
require us to update our plugin (which is more a shared configuration
than an actual plugin):All built-in rules that enforce style have been formally deprecated in
eslint, and actually removed from@typescript-eslint
. These now live
in a new plugin,@stylistic/eslint-plugin
.Converting to the new stylistic rules means we can actually simplify our
configuration a bit. Rules that had typescript-specific modes now no
longer require us to disable the JS rule and enable a typescript one,
and we can just include it all in our base configuration.The
indent
rule has some known issues with typescript, and it seems
like nobody is terribly willing to rewrite it to fix these. The impact
here seems limited to type parameters for generics. I've added a couple
ignored node types in order to work around this.For linting within this codebase itself, the eslint configuration now
lives ineslint.config.mjs
rather than.eslintrc
. This also required
new dependencies for@eslint/eslintrc
,@eslint/js
, andglobals
While I was here, I bumped our
babel
andtypescript
dependencies,
why not.
- Ran
npm build
- Ran linting.
- Set this up as a link in another package and updated that package to
use eslint 9. Verified that we got correct linting output.
Summary | ID |
---|---|
kvoyurwrsutsmpzqvnqnltslovopqlll |
- Commits:
-
Summary ID kvoyurwrsutsmpzqvnqnltslovopqlll kvoyurwrsutsmpzqvnqnltslovopqlll - Diff:
-
Revision 2 (+3976 -4070)