build(front): pin the TanStack versions and align the route generator #535

Merged
root merged 1 commit from claude/implement-411-2776aa into main 2026-10-15 14:07:11 +00:00
root commented 2026-10-15 13:58:42 +00:00 (Migrated from gitlab.core-project.space)

Summary

Closes #411.

apps/front/package.json, TanStack entries only:

 dependencies
-  @tanstack/react-devtools         latest
-  @tanstack/react-query            ^5.101.4
-  @tanstack/react-router           latest
-  @tanstack/react-router-devtools  latest
-  @tanstack/router-plugin          ^1.132.0
+  @tanstack/react-devtools         0.10.5
+  @tanstack/react-query            5.101.4
+  @tanstack/react-router           1.170.15
+  @tanstack/react-router-devtools  1.167.0
 devDependencies
-  @tanstack/devtools-vite          latest
-  @tanstack/react-query-devtools   ^5.101.4
-  @tanstack/router-cli             ^1.132.0
-  @tanstack/router-plugin          latest
+  @tanstack/devtools-vite          0.7.0
+  @tanstack/react-query-devtools   5.101.4
+  @tanstack/router-cli             1.167.17
+  @tanstack/router-plugin          1.168.18

Each pin is the version already locked, so nothing is upgraded. The route generator's CLI config now matches the Vite plugin:

 // apps/front/tsr.config.json
 {
   "target": "react",
+  "quoteStyle": "double",
+  "semicolons": true
 }

The lockfile also collapses a few transitive duplicates onto versions it already had: @babel/types and @babel/parser 7.29.7, seroval 1.5.6, ws 8.21.3, and @napi-rs/wasm-runtime 1.2.3. That is pnpm re-resolving after the specifier change, not a separate upgrade.

Open choices for the owner:

  • Exact versions vs carets. The issue asks for exact versions, but the repo uses carets for stable packages, and the front audit lists this as open question 5. Switching to carets at the same versions is a one-line change per package.
  • Generator options in two places. The options now live in both vite.config.ts and tsr.config.json. The Vite plugin also reads tsr.config.json, so they could live there alone. That only holds if Vite runs from apps/front, which I didn't check for every entry point, so both copies stay.

Evidence

  • Before: with the old tsr.config.json, pnpm --filter front generate-routes rewrites src/routeTree.gen.ts (414 lines changed).
    After: the same command leaves git status clean.
  • The gate (lint, typecheck, test, build, format:check) is green: all test files in engine, api and front pass, and the build leaves the committed route tree as it is.

Merge Danger

Door: two-way

Revert the commit and nothing else needs undoing.

Blast Radius: tooling

Players see nothing change: every resolved TanStack version stays the same. The only effects are on route generation and on future installs, which no longer pick up whatever latest happens to be.

## Summary Closes #411. `apps/front/package.json`, TanStack entries only: ```diff dependencies - @tanstack/react-devtools latest - @tanstack/react-query ^5.101.4 - @tanstack/react-router latest - @tanstack/react-router-devtools latest - @tanstack/router-plugin ^1.132.0 + @tanstack/react-devtools 0.10.5 + @tanstack/react-query 5.101.4 + @tanstack/react-router 1.170.15 + @tanstack/react-router-devtools 1.167.0 devDependencies - @tanstack/devtools-vite latest - @tanstack/react-query-devtools ^5.101.4 - @tanstack/router-cli ^1.132.0 - @tanstack/router-plugin latest + @tanstack/devtools-vite 0.7.0 + @tanstack/react-query-devtools 5.101.4 + @tanstack/router-cli 1.167.17 + @tanstack/router-plugin 1.168.18 ``` Each pin is the version already locked, so nothing is upgraded. The route generator's CLI config now matches the Vite plugin: ```diff // apps/front/tsr.config.json { "target": "react", + "quoteStyle": "double", + "semicolons": true } ``` The lockfile also collapses a few transitive duplicates onto versions it already had: `@babel/types` and `@babel/parser` 7.29.7, `seroval` 1.5.6, `ws` 8.21.3, and `@napi-rs/wasm-runtime` 1.2.3. That is pnpm re-resolving after the specifier change, not a separate upgrade. Open choices for the owner: - **Exact versions vs carets.** The issue asks for exact versions, but the repo uses carets for stable packages, and the front audit lists this as open question 5. Switching to carets at the same versions is a one-line change per package. - **Generator options in two places.** The options now live in both `vite.config.ts` and `tsr.config.json`. The Vite plugin also reads `tsr.config.json`, so they could live there alone. That only holds if Vite runs from `apps/front`, which I didn't check for every entry point, so both copies stay. ## Evidence - **Before:** with the old `tsr.config.json`, `pnpm --filter front generate-routes` rewrites `src/routeTree.gen.ts` (414 lines changed). **After:** the same command leaves `git status` clean. - The gate (`lint`, `typecheck`, `test`, `build`, `format:check`) is green: all test files in engine, api and front pass, and the build leaves the committed route tree as it is. ## Merge Danger **Door:** two-way Revert the commit and nothing else needs undoing. **Blast Radius:** tooling Players see nothing change: every resolved TanStack version stays the same. The only effects are on route generation and on future installs, which no longer pick up whatever `latest` happens to be.
root (Migrated from gitlab.core-project.space) scheduled this pull request to auto merge when all checks succeed 2026-10-15 14:03:37 +00:00
project_1_bot_a8dd9262857d850eef8dca5206e61de5 commented 2026-10-15 14:05:16 +00:00 (Migrated from gitlab.core-project.space)

Screenshots

Before is production, after is this merge request's review app at 68c95e4.

Desktop

Page Before After
Home
Local game
Room

Mobile

Page Before After
Home
Local game
Room
<!-- chess-screenshots --> ### Screenshots Before is production, after is this merge request's review app at 68c95e4. #### Desktop | Page | Before | After | | --- | --- | --- | | Home | <img src="https://gitlab.core-project.space/amaurycoudr/chess-project/-/jobs/1348/artifacts/raw/review-screenshots/before/home-desktop.png" width="400"> | <img src="https://gitlab.core-project.space/amaurycoudr/chess-project/-/jobs/1348/artifacts/raw/review-screenshots/after/home-desktop.png" width="400"> | | Local game | <img src="https://gitlab.core-project.space/amaurycoudr/chess-project/-/jobs/1348/artifacts/raw/review-screenshots/before/local-desktop.png" width="400"> | <img src="https://gitlab.core-project.space/amaurycoudr/chess-project/-/jobs/1348/artifacts/raw/review-screenshots/after/local-desktop.png" width="400"> | | Room | <img src="https://gitlab.core-project.space/amaurycoudr/chess-project/-/jobs/1348/artifacts/raw/review-screenshots/before/room-desktop.png" width="400"> | <img src="https://gitlab.core-project.space/amaurycoudr/chess-project/-/jobs/1348/artifacts/raw/review-screenshots/after/room-desktop.png" width="400"> | #### Mobile | Page | Before | After | | --- | --- | --- | | Home | <img src="https://gitlab.core-project.space/amaurycoudr/chess-project/-/jobs/1348/artifacts/raw/review-screenshots/before/home-mobile.png" width="200"> | <img src="https://gitlab.core-project.space/amaurycoudr/chess-project/-/jobs/1348/artifacts/raw/review-screenshots/after/home-mobile.png" width="200"> | | Local game | <img src="https://gitlab.core-project.space/amaurycoudr/chess-project/-/jobs/1348/artifacts/raw/review-screenshots/before/local-mobile.png" width="200"> | <img src="https://gitlab.core-project.space/amaurycoudr/chess-project/-/jobs/1348/artifacts/raw/review-screenshots/after/local-mobile.png" width="200"> | | Room | <img src="https://gitlab.core-project.space/amaurycoudr/chess-project/-/jobs/1348/artifacts/raw/review-screenshots/before/room-mobile.png" width="200"> | <img src="https://gitlab.core-project.space/amaurycoudr/chess-project/-/jobs/1348/artifacts/raw/review-screenshots/after/room-mobile.png" width="200"> |
root (Migrated from gitlab.core-project.space) merged commit into main 2026-10-15 14:07:11 +00:00
Sign in to join this conversation.
No description provided.