React Router 8 needs React 19.2.7+ and Vite 7+ (we have React 19.3 and
Vite 8). Its breaking changes do not touch our single-route single-page
app: no Cloudflare, no loaders or actions, no future flags in use.
- entry.server.tsx: remove the unused loadContext parameter; React
Router 8 no longer exports AppLoadContext.
- .npmignore: React Router 8 keeps the small server build that renders
index.html (build/server, 8 KB); the CLI only serves build/client, so
build/server is not published.
React Router 8 needs Node.js 22.22+ to build the reporter (CI uses
Node.js 24). The built report is pixel-identical to the React Router 7
build, also under the GitHub Pages base path, and the filters work.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Summary
Moves the visual reporter from React Router 7.18 to 8.4 (released 2026-06-17).
React Router is a development dependency of the reporter: it is bundled into the static report UI (
build/client). Users do not install it, and their own projects are not affected.Requirements
.nvmrc). Contributors on Node.js 22.19–22.21 get an engine warning when they build the reporter. Users of the published package are not affected (they get the built files).Changes
react-router,@react-router/dev,@react-router/node:^7.18.4→^8.4.0.app/entry.server.tsx: remove the unusedloadContextparameter; React Router 8 no longer exportsAppLoadContext(replaced by the middleware context)..npmignore: React Router 8 keeps the small server build that rendersindex.htmlin single-page app mode (build/server, 8 KB; React Router 7 removed it). The CLI only servesbuild/client, sobuild/serveris not published (npm pack --dry-run: nobuild/server).The other breaking changes of React Router 8 (Cloudflare proxy,
future.*flags removed,splitRouteModulesdefault, Vite Environment API always on) do not touch this app: one route, no loaders or actions, no future flags. The "future flag" warnings of the React Router 7 build are gone.Test
main: the demo report served and opened in headless Chrome, home view and comparison overlay: 0 different pixels. Also under the GitHub Pages base path (/visual-testing/).typecheck, Oxlint,pnpm test(1079 unit tests), frozen install: pass.No changeset of its own: the built UI does not change. The pending reporter changeset (UI rebuilt with new libraries) will mention React Router 8.
🤖 Generated with Claude Code