chore: no-issue: upgrade eslint to 9#10078
Conversation
|
🦸 Review Hero Summary Local fix prompt (copy to your coding agent)Fix these issues identified on the pull request. One commit per issue fixed.
|
1728ec7 to
30dde44
Compare
|
🦸 Review Hero Summary No issues found. Looks good! Below consensus threshold (1 unique issue not confirmed by majority)
|
a11598c to
76626f7
Compare
218d72b to
82abd26
Compare
84714de to
5e9ce08
Compare
82abd26 to
016db80
Compare
5e9ce08 to
001b139
Compare
7250af1 to
9cd0639
Compare
001b139 to
ab6c999
Compare
9cd0639 to
ebc04e9
Compare
ab6c999 to
6cad6e1
Compare
ebc04e9 to
efad4eb
Compare
6b88ba6 to
d3be99d
Compare
efad4eb to
b822d32
Compare
d3be99d to
643c7c8
Compare
b822d32 to
382ad04
Compare
643c7c8 to
311dcf9
Compare
382ad04 to
1382377
Compare
311dcf9 to
5282d39
Compare
6960135 to
f33ada5
Compare
5282d39 to
4cd97fb
Compare
f33ada5 to
41443f3
Compare
4cd97fb to
3f1a756
Compare
3f1a756 to
6294f4d
Compare
41443f3 to
6ea738e
Compare
Bump the root flat-config eslint stack to v9 (eslint, @eslint/js, typescript-eslint v8, react-hooks v5, eslint-plugin-markdown v5). Clears the deprecated @humanwhocodes/config-array + object-schema and rimraf@3 (flat-cache) that eslint 8 pulled in. Also drops the unused @beyondessential/eslint-config-beyondessential and redundant per-package eslint devDeps from settings (no .eslintrc references them; the root flat config already lints those packages).
6ea738e to
c06ddf1
Compare
Changes
🤖 Upgrade the root flat-config eslint stack to v9 (eslint, @eslint/js, typescript-eslint v8, eslint-plugin-react-hooks v5, eslint-plugin-markdown v5, eslint-plugin-react 7.37). This clears the deprecated
@humanwhocodes/config-array+@humanwhocodes/object-schemaandrimraf@3(via flat-cache) that eslint 8 pulled in (123 packages removed from the lockfile). Also drops the unused@beyondessential/eslint-config-beyondessential+ redundant eslint devDeps fromsettings(no.eslintrcreferences them — the root flat config already lints those packages).Config changes the bump required:
no-unused-vars: eslint 9 changed thecaughtErrorsdefault to'all'; restored the pre-9 behaviour of not flagging unusedcatchbindings (the TS rule keeps its own pattern).rules-of-hooksotherwise false-positives on anyuse()call — e.g. Playwright'susefixtures in e2e-tests, orSequelize.useCLS()in the database package (whose now-obsoleteeslint-disablewas removed). The react plugin stays repo-wide (its rules only act on JSX, which also appears in non-app packages like the react-pdf certificates in shared).packages/database/src/models/Setting.ts: replaced a runtimeconst … = Object.values(SETTINGS_SCOPES)that was only ever used in type position with a pure type alias (ts-eslint v8 correctly flagged the dead runtime value).npm run lint-allpasses with 0 errors.Stacked on #10069 (Node 24).
Auto-Deploy
Options
Tests
Review Hero
.github/review-hero/suppressions.yml. Also runs automatically at the end of any auto-fix run.Remember to...