Skip to content

chore: build the visual reporter with Vite 8 - #1294

Merged
plum117 merged 4 commits into
webdriverio:mainfrom
plum117:chore/reporter-vite-8
Oct 9, 2026
Merged

plum117 merged 4 commits into
webdriverio:mainfrom
plum117:chore/reporter-vite-8

Conversation

@plum117

@plum117 plum117 commented Oct 9, 2026

Copy link
Copy Markdown
Contributor

Summary

Step 4 (last) of the visual reporter upgrade: Vite 6 → 8 (replaces Dependabot #1263).

Depends on #1293 (React 19) → #1292 (React Router 7) → #1291 (Vite 6). Their commits are included here; after they are merged, this PR shows only the Vite 8 commit.

React Router 7 supports Vite 5 to 8. Vite is a development dependency of the reporter (it builds the static report UI); users do not install it.

Changes

  • vite ^6.4.4 → ^8.3.3 (8.3.4 was published today and is blocked by the 1-day minimumReleaseAge).
  • vite-tsconfig-paths is removed: Vite 8 resolves the tsconfig paths itself (resolve.tsconfigPaths: true) for our ~/* alias. This also removes the last TypeScript 6 peer warning, which came from its tsconfck dependency (typescript ^5).

Test

  • The built UI is pixel-identical: the demo report served on a fresh port and opened in headless Chrome (WebdriverIO), home view and comparison overlay: 0 different pixels compared with the Vite 5 / Remix build. Also under the GitHub Pages base path (/visual-testing/).
  • The Status filter (react-select) works ("Passed" → 19 cards, "Failed" → 17). No browser console errors.
  • Reporter typecheck, Oxlint, pnpm test (1077 unit tests), frozen install: pass. pnpm peers check: no TypeScript peer warning any more.
  • The SelectHeader.tsx sourcemap message of the old builds is gone with Vite 8.

No changeset: development dependencies only, and the built UI does not change.

The whole reporter track

PR Step
#1291 Vite 5 → 6
#1292 Remix 2 → React Router 7
#1293 React 18 → 19
this PR Vite 6 → 8, built-in tsconfig paths

After all of them: close #1267, #1264 and #1263 (Dependabot), which these PRs replace.

🤖 Generated with Claude Code

dprevost-LMI and others added 4 commits October 8, 2026 20:41
Remix 2 supports Vite 5 and 6 (peer ^5.1.0 || ^6.0.0), so Vite 6 is the
first step before the move to React Router. The built report is
pixel-identical to the Vite 5 build (home view and comparison overlay of
the demo report), and the GitHub Pages build keeps its base path.

Replaces Dependabot webdriverio#1267, which did not update pnpm-lock.yaml.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Remix 2 is in maintenance and supports only React 18, Vite 5/6 and
TypeScript 5. React Router 7 is its successor (framework mode) and
supports React 18/19, Vite 5 to 8 and TypeScript 5/6.

- @remix-run/* -> react-router, @react-router/dev, @react-router/node.
- react-router.config.ts (ssr: false, the GitHub Pages basename) and
  app/routes.ts (the single index route).
- Entries: HydratedRouter / ServerRouter; abortDelay -> streamTimeout.
- Scripts: react-router build / dev; start serves build/client with
  sirv, like the CLI (remix-serve needed a server build, which a
  single-page app does not have, so start did not work).

The built report is pixel-identical to the Remix build (home view and
comparison overlay of the demo report), also under the GitHub Pages
base path.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
React Router 7 supports React 18 and 19, so React 19 is now possible.
react-select 5.10 and react-icons 5.7 accept React 19.

With @types/react 19, useRef<T>(null) returns RefObject<T | null>, so
the canvasRef type of the drawing hook allows null (the hook already
checks it).

The built report is pixel-identical (home view and comparison overlay of
the demo report), and the Status filter (react-select) works.

Replaces Dependabot webdriverio#1264.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
React Router 7 supports Vite 5 to 8. Vite 8 resolves the tsconfig paths
itself (resolve.tsconfigPaths), so the vite-tsconfig-paths plugin is
removed; that also removes the last TypeScript 6 peer warning (its
tsconfck dependency wanted TypeScript 5).

The built report is pixel-identical (home view and comparison overlay of
the demo report, also under the GitHub Pages base path), and the Status
filter works.

Replaces Dependabot webdriverio#1263.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@changeset-bot

changeset-bot Bot commented Oct 9, 2026

Copy link
Copy Markdown

⚠️ No Changeset found

Latest commit: 58fac14

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@plum117
plum117 marked this pull request as ready for review October 9, 2026 01:37
@greptile-apps

greptile-apps Bot commented Oct 9, 2026 •

Copy link
Copy Markdown

RetriggerConfidence Score: 5/5

[High impact] The PR appears safe to merge; no actionable issues were found.

Summary

Upgrades the visual reporter to Vite 8, React Router 7, and React 19.

  • The visual reporter builds and serves as a static React Router app.

Diagram

%%{init: {'theme': 'neutral'}}%%
flowchart LR
  A["React Router build with Vite 8"] --> B["build/client"]
  B --> C["CLI copies report files"]
  B --> D["GitHub Pages"]
  C --> E["Browser loads report"]
  D --> E
  E --> F["Fetch static/report/output.json"]
Loading

Reviews (1) · Last reviewed commit: "chore: build the visual reporter with Vi..." · Reviewed by Greptile

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