Problem
This is filed as a needs-human-decision item, not a mechanical maintenance fix — see below for why.
package.json:43 pins "eslint": "^8.33.0" (locked to 8.57.1, the last release on the 8.x line). npm install itself emits npm warn deprecated eslint@8.57.1: This version is no longer supported. Please see (eslint.org/redacted) for other options. ESLint's own support policy ((eslint.org/redacted) confirms 8.x is unsupported now that 9.x and 10.x exist.
The straightforward fix — bump to eslint 9 or 10 — is not a drop-in dependency bump for this repo:
- ESLint 9 removed support for the legacy
.eslintrc.* config format (this repo's .eslintrc.cjs) in favor of flat config (eslint.config.js) by default.
eslint-config-airbnb-base@15.0.0 (latest published version, used as the base of .eslintrc.cjs) pins peerDependencies.eslint: "^7.32.0 || ^8.2.0" — it has never been updated for ESLint 9/10 and there is no newer release. It structurally cannot be used with ESLint 9+.
So upgrading off the unsupported ESLint 8.x line requires replacing the Airbnb-based lint config (e.g. with @eslint/js + typescript-eslint's recommended flat configs, or another actively-maintained flat-config preset) rather than bumping a version — a rule-set/style decision that belongs to a maintainer, not something a Fixer should decide unilaterally.
What a maintainer needs to decide
- Whether to replace
eslint-config-airbnb-base with a different rule preset (and which one), and migrate .eslintrc.cjs to flat config (eslint.config.js) as part of the same change.
- Whether to accept the resulting rule-set/style changes across
src/ and tests/ (a preset swap will change which rules fire, unlike a same-preset version bump).
Once that direction is chosen, the actual mechanical work (config migration, dependency bumps for eslint, @typescript-eslint/*, eslint-plugin-import, eslint-plugin-prettier, eslint-config-prettier to their ESLint-9/10-compatible majors, and fixing any newly-surfaced lint errors) is normal maintenance and can be filed as a scoped follow-up issue.
Scope
This issue is informational/decision-seeking only. No acceptance criteria are given because the fix requires a maintainer choice first; do not attempt an automated flat-config migration against this issue.
Generated by GitHub Maintenance Audit · sonnet50 · 81 AIC · ⌖ 6.12 AIC · ⊞ 7.3K · ◷
Problem
This is filed as a needs-human-decision item, not a mechanical maintenance fix — see below for why.
package.json:43pins"eslint": "^8.33.0"(locked to8.57.1, the last release on the 8.x line).npm installitself emitsnpm warn deprecated eslint@8.57.1: This version is no longer supported. Please see (eslint.org/redacted) for other options.ESLint's own support policy ((eslint.org/redacted) confirms 8.x is unsupported now that 9.x and 10.x exist.The straightforward fix — bump to eslint 9 or 10 — is not a drop-in dependency bump for this repo:
.eslintrc.*config format (this repo's.eslintrc.cjs) in favor of flat config (eslint.config.js) by default.eslint-config-airbnb-base@15.0.0(latest published version, used as the base of.eslintrc.cjs) pinspeerDependencies.eslint: "^7.32.0 || ^8.2.0"— it has never been updated for ESLint 9/10 and there is no newer release. It structurally cannot be used with ESLint 9+.So upgrading off the unsupported ESLint 8.x line requires replacing the Airbnb-based lint config (e.g. with
@eslint/js+typescript-eslint's recommended flat configs, or another actively-maintained flat-config preset) rather than bumping a version — a rule-set/style decision that belongs to a maintainer, not something a Fixer should decide unilaterally.What a maintainer needs to decide
eslint-config-airbnb-basewith a different rule preset (and which one), and migrate.eslintrc.cjsto flat config (eslint.config.js) as part of the same change.src/andtests/(a preset swap will change which rules fire, unlike a same-preset version bump).Once that direction is chosen, the actual mechanical work (config migration, dependency bumps for
eslint,@typescript-eslint/*,eslint-plugin-import,eslint-plugin-prettier,eslint-config-prettierto their ESLint-9/10-compatible majors, and fixing any newly-surfaced lint errors) is normal maintenance and can be filed as a scoped follow-up issue.Scope
This issue is informational/decision-seeking only. No acceptance criteria are given because the fix requires a maintainer choice first; do not attempt an automated flat-config migration against this issue.