Skip to content

fix(ci): unblock frontend matrix after dependabot major bumps#19

Merged
rxf-sys merged 1 commit into
mainfrom
claude/setup-workflow-process-knX5t
May 19, 2026
Merged

fix(ci): unblock frontend matrix after dependabot major bumps#19
rxf-sys merged 1 commit into
mainfrom
claude/setup-workflow-process-knX5t

Conversation

@rxf-sys

@rxf-sys rxf-sys commented May 19, 2026

Copy link
Copy Markdown
Owner

The dependabot frontend-dependencies group bump (#17) jumped four eslint plugins, vite, vitest, typescript and react in one shot. Several of those hops broke the CI matrix in ways the bot couldn't see:

  • eslint 8 → 10: eslint-plugin-react@7.37.5 still peers on eslint ^9.7, so npm ci failed with ERESOLVE on every run. Pin eslint to ^9.39 — the newest line all four plugins accept.

  • @testing-library/react 16 promoted @testing-library/dom from a bundled dep to a peer. It was missing from devDependencies, so tsc failed with TS2305 on every screen / fireEvent / waitFor import. Add @testing-library/dom.

  • typescript 6 stopped silently allowing CSS side-effect imports, so main.tsx failed with TS2882 on the three styles/*.css imports. Add the standard src/vite-env.d.ts shim (/// <reference types="vite/client" />).

  • eslint 9 dropped .eslintrc.* — migrate to the flat eslint.config.js. no-undef is turned off because @typescript-eslint already covers it, and the old config implicitly relied on that via the recommended preset.

  • eslint-plugin-react-hooks 4 → 7 added experimental rules (set-state-in-effect, refs) that flag standard ref/effect patterns as errors. Pin back to ^5.2 — the last line whose recommended matches the rule set the project was written against. v6/v7 can be revisited deliberately, not via the bot's grouped bump.

Also drops two now-redundant // eslint-disable-next-line no-console comments in Drawer.tsx that became "Unused eslint-disable" warnings.

Verified locally: backend ruff + 54 pytest, frontend tsc -b + eslint

  • 31 vitest + vite build all green. npm ci reproduces cleanly from the new lockfile.

The dependabot frontend-dependencies group bump (#17) jumped four eslint
plugins, vite, vitest, typescript and react in one shot. Several of those
hops broke the CI matrix in ways the bot couldn't see:

- eslint 8 → 10: eslint-plugin-react@7.37.5 still peers on eslint ^9.7,
  so npm ci failed with ERESOLVE on every run. Pin eslint to ^9.39 — the
  newest line all four plugins accept.

- @testing-library/react 16 promoted @testing-library/dom from a bundled
  dep to a peer. It was missing from devDependencies, so tsc failed with
  TS2305 on every screen / fireEvent / waitFor import. Add @testing-library/dom.

- typescript 6 stopped silently allowing CSS side-effect imports, so
  main.tsx failed with TS2882 on the three styles/*.css imports. Add the
  standard src/vite-env.d.ts shim (`/// <reference types="vite/client" />`).

- eslint 9 dropped .eslintrc.* — migrate to the flat eslint.config.js.
  no-undef is turned off because @typescript-eslint already covers it,
  and the old config implicitly relied on that via the recommended preset.

- eslint-plugin-react-hooks 4 → 7 added experimental rules (set-state-in-effect,
  refs) that flag standard ref/effect patterns as errors. Pin back to ^5.2
  — the last line whose `recommended` matches the rule set the project
  was written against. v6/v7 can be revisited deliberately, not via the
  bot's grouped bump.

Also drops two now-redundant `// eslint-disable-next-line no-console`
comments in Drawer.tsx that became "Unused eslint-disable" warnings.

Verified locally: backend ruff + 54 pytest, frontend tsc -b + eslint
+ 31 vitest + vite build all green. npm ci reproduces cleanly from the
new lockfile.
@rxf-sys rxf-sys merged commit 7a5d530 into main May 19, 2026
4 checks passed
@rxf-sys rxf-sys deleted the claude/setup-workflow-process-knX5t branch May 26, 2026 06:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants