Skip to content

Conversation

@birkskyum
Copy link
Member

@birkskyum birkskyum commented Nov 20, 2025

vite preview launches the server on the ./dist production build
vite serve launches the dev server, since it's mapping to vite just like vite dev

It's therefore confusing if we use "serve": "vite preview"

This PR makes it consistently for the router projects to have:
"preview": "vite preview"

This also prepares for adding the vite preview to start, now that it's supported:

Summary by CodeRabbit

  • Chores
    • Standardized preview script naming across project configurations by renaming "serve" scripts to "preview" for consistency.
    • Updated test configurations to use the updated script names when starting preview servers.

✏️ Tip: You can customize this high-level summary in your review settings.

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Nov 20, 2025

Walkthrough

Systematically renames npm scripts from "serve" to "preview" across 100+ package.json files in e2e test directories and example projects, updating corresponding Playwright configurations to invoke the renamed "preview" script instead of "serve".

Changes

Cohort / File(s) Summary
E2E React Router Package Scripts
e2e/react-router/basepath-file-based/package.json, e2e/react-router/basic-file-based-code-splitting/package.json, e2e/react-router/basic-file-based/package.json, e2e/react-router/basic-react-query-file-based/package.json, e2e/react-router/basic-react-query/package.json, e2e/react-router/basic-scroll-restoration/package.json, e2e/react-router/basic-virtual-file-based/package.json, e2e/react-router/basic-virtual-named-export-config-file-based/package.json, e2e/react-router/basic/package.json, e2e/react-router/generator-cli-only/package.json, e2e/react-router/js-only-file-based/package.json, e2e/react-router/scroll-restoration-sandbox-vite/package.json, e2e/react-router/sentry-integration/package.json, e2e/react-router/view-transitions/package.json
Script renamed: "serve": "vite preview" → "preview": "vite preview"
E2E React Router Playwright Configs
e2e/react-router/basepath-file-based/playwright.config.ts, e2e/react-router/basic-file-based-code-splitting/playwright.config.ts, e2e/react-router/basic-file-based/playwright.config.ts, e2e/react-router/basic-react-query-file-based/playwright.config.ts, e2e/react-router/basic-react-query/playwright.config.ts, e2e/react-router/basic-scroll-restoration/playwright.config.ts, e2e/react-router/basic-virtual-file-based/playwright.config.ts, e2e/react-router/basic-virtual-named-export-config-file-based/playwright.config.ts, e2e/react-router/basic/playwright.config.ts, e2e/react-router/generator-cli-only/playwright.config.ts, e2e/react-router/js-only-file-based/playwright.config.ts, e2e/react-router/scroll-restoration-sandbox-vite/playwright.browser.config.ts, e2e/react-router/scroll-restoration-sandbox-vite/playwright.hash.config.ts, e2e/react-router/sentry-integration/playwright.config.ts, e2e/react-router/view-transitions/playwright.config.ts
Web server command updated: pnpm serve → pnpm preview
E2E Solid Router Package Scripts
e2e/solid-router/basepath-file-based/package.json, e2e/solid-router/basic-file-based-code-splitting/package.json, e2e/solid-router/basic-file-based/package.json, e2e/solid-router/basic-scroll-restoration/package.json, e2e/solid-router/basic-solid-query-file-based/package.json, e2e/solid-router/basic-solid-query/package.json, e2e/solid-router/basic-virtual-file-based/package.json, e2e/solid-router/basic-virtual-named-export-config-file-based/package.json, e2e/solid-router/basic/package.json, e2e/solid-router/generator-cli-only/package.json, e2e/solid-router/js-only-file-based/package.json, e2e/solid-router/scroll-restoration-sandbox-vite/package.json, e2e/solid-router/sentry-integration/package.json, e2e/solid-router/view-transitions/package.json
Script renamed: "serve": "vite preview" → "preview": "vite preview"
E2E Solid Router Playwright Configs
e2e/solid-router/basepath-file-based/playwright.config.ts, e2e/solid-router/basic-file-based-code-splitting/playwright.config.ts, e2e/solid-router/basic-file-based/playwright.config.ts, e2e/solid-router/basic-scroll-restoration/playwright.config.ts, e2e/solid-router/basic-solid-query-file-based/playwright.config.ts, e2e/solid-router/basic-solid-query/playwright.config.ts, e2e/solid-router/basic-virtual-file-based/playwright.config.ts, e2e/solid-router/basic-virtual-named-export-config-file-based/playwright.config.ts, e2e/solid-router/basic/playwright.config.ts, e2e/solid-router/generator-cli-only/playwright.config.ts, e2e/solid-router/js-only-file-based/playwright.config.ts, e2e/solid-router/scroll-restoration-sandbox-vite/playwright.browser.config.ts, e2e/solid-router/scroll-restoration-sandbox-vite/playwright.hash.config.ts, e2e/solid-router/sentry-integration/playwright.config.ts, e2e/solid-router/view-transitions/playwright.config.ts
Web server command updated: pnpm serve → pnpm preview
Examples React Package Scripts
examples/react/authenticated-routes-firebase/package.json, examples/react/authenticated-routes/package.json, examples/react/basic-default-search-params/package.json, examples/react/basic-devtools-panel/package.json, examples/react/basic-file-based/package.json, examples/react/basic-non-nested-devtools/package.json, examples/react/basic-react-query-file-based/package.json, examples/react/basic-react-query/package.json, examples/react/basic-virtual-file-based/package.json, examples/react/basic-virtual-inside-file-based/package.json, examples/react/basic/package.json, examples/react/deferred-data/package.json, examples/react/i18n-paraglide/package.json, examples/react/kitchen-sink-file-based/package.json, examples/react/kitchen-sink-react-query-file-based/package.json, examples/react/kitchen-sink-react-query/package.json, examples/react/kitchen-sink/package.json, examples/react/large-file-based/package.json, examples/react/location-masking/package.json, examples/react/navigation-blocking/package.json, examples/react/quickstart-file-based/package.json, examples/react/quickstart/package.json, examples/react/router-monorepo-react-query/packages/app/package.json, examples/react/router-monorepo-simple-lazy/packages/app/package.json, examples/react/router-monorepo-simple/packages/app/package.json, examples/react/scroll-restoration/package.json, examples/react/search-validator-adapters/package.json, examples/react/start-bun/package.json, examples/react/start-i18n-paraglide/package.json, examples/react/view-transitions/package.json, examples/react/with-framer-motion/package.json
Script renamed: "serve": "vite preview" → "preview": "vite preview"
Examples Solid Package Scripts
examples/solid/authenticated-routes-firebase/package.json, examples/solid/authenticated-routes/package.json, examples/solid/basic-default-search-params/package.json, examples/solid/basic-devtools-panel/package.json, examples/solid/basic-file-based/package.json, examples/solid/basic-non-nested-devtools/package.json, examples/solid/basic-solid-query-file-based/package.json, examples/solid/basic-solid-query/package.json, examples/solid/basic-virtual-file-based/package.json, examples/solid/basic-virtual-inside-file-based/package.json, examples/solid/basic/package.json, examples/solid/deferred-data/package.json, examples/solid/i18n-paraglide/package.json, examples/solid/kitchen-sink-file-based/package.json, examples/solid/kitchen-sink-solid-query-file-based/package.json, examples/solid/kitchen-sink-solid-query/package.json, examples/solid/kitchen-sink/package.json, examples/solid/large-file-based/package.json
Script renamed: "serve": "vite preview" → "preview": "vite preview"

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~12 minutes

  • Repetitive pattern: All changes follow an identical pattern—renaming "serve" script to "preview" (and updating Playwright commands accordingly)
  • No logic changes: Script commands remain unchanged; only identifiers are modified
  • High file count: Approximately 100+ files affected, but low complexity per file due to homogeneous changes
  • Potential attention areas:
    • Verify Playwright config command strings are correctly updated across both browser and hash configs (e.g., scroll-restoration-sandbox-vite/playwright.browser.config.ts and .hash.config.ts)
    • Confirm files with multiple scripts (e.g., basic-file-based/package.json with preview:nonnested) are correctly renamed in both package.json and Playwright config

Possibly related PRs

Suggested reviewers

  • schiller-manuel

Poem

🐰 From serve to preview, the scripts dance and play,
Vite's preview takes the stage in every e2e way!
A hundred files renamed, the pattern stays the same,
Hopping through each folder, refactoring the game! ✨

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The PR title accurately describes the main change: renaming npm scripts from 'serve' to 'preview' across all package.json files while preserving the underlying 'vite preview' command.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch use-preview-to-refer-to-vite-preview

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@nx-cloud
Copy link

nx-cloud bot commented Nov 20, 2025

View your CI Pipeline Execution ↗ for commit 5e96e70

Command Status Duration Result
nx affected --targets=test:eslint,test:unit,tes... ✅ Succeeded 3m 59s View ↗
nx run-many --target=build --exclude=examples/*... ✅ Succeeded 18s View ↗

☁️ Nx Cloud last updated this comment at 2025-11-20 03:56:29 UTC

@pkg-pr-new
Copy link

pkg-pr-new bot commented Nov 20, 2025

More templates

@tanstack/arktype-adapter

npm i https://pkg.pr.new/TanStack/router/@tanstack/arktype-adapter@5917

@tanstack/directive-functions-plugin

npm i https://pkg.pr.new/TanStack/router/@tanstack/directive-functions-plugin@5917

@tanstack/eslint-plugin-router

npm i https://pkg.pr.new/TanStack/router/@tanstack/eslint-plugin-router@5917

@tanstack/history

npm i https://pkg.pr.new/TanStack/router/@tanstack/history@5917

@tanstack/nitro-v2-vite-plugin

npm i https://pkg.pr.new/TanStack/router/@tanstack/nitro-v2-vite-plugin@5917

@tanstack/react-router

npm i https://pkg.pr.new/TanStack/router/@tanstack/react-router@5917

@tanstack/react-router-devtools

npm i https://pkg.pr.new/TanStack/router/@tanstack/react-router-devtools@5917

@tanstack/react-router-ssr-query

npm i https://pkg.pr.new/TanStack/router/@tanstack/react-router-ssr-query@5917

@tanstack/react-start

npm i https://pkg.pr.new/TanStack/router/@tanstack/react-start@5917

@tanstack/react-start-client

npm i https://pkg.pr.new/TanStack/router/@tanstack/react-start-client@5917

@tanstack/react-start-server

npm i https://pkg.pr.new/TanStack/router/@tanstack/react-start-server@5917

@tanstack/router-cli

npm i https://pkg.pr.new/TanStack/router/@tanstack/router-cli@5917

@tanstack/router-core

npm i https://pkg.pr.new/TanStack/router/@tanstack/router-core@5917

@tanstack/router-devtools

npm i https://pkg.pr.new/TanStack/router/@tanstack/router-devtools@5917

@tanstack/router-devtools-core

npm i https://pkg.pr.new/TanStack/router/@tanstack/router-devtools-core@5917

@tanstack/router-generator

npm i https://pkg.pr.new/TanStack/router/@tanstack/router-generator@5917

@tanstack/router-plugin

npm i https://pkg.pr.new/TanStack/router/@tanstack/router-plugin@5917

@tanstack/router-ssr-query-core

npm i https://pkg.pr.new/TanStack/router/@tanstack/router-ssr-query-core@5917

@tanstack/router-utils

npm i https://pkg.pr.new/TanStack/router/@tanstack/router-utils@5917

@tanstack/router-vite-plugin

npm i https://pkg.pr.new/TanStack/router/@tanstack/router-vite-plugin@5917

@tanstack/server-functions-plugin

npm i https://pkg.pr.new/TanStack/router/@tanstack/server-functions-plugin@5917

@tanstack/solid-router

npm i https://pkg.pr.new/TanStack/router/@tanstack/solid-router@5917

@tanstack/solid-router-devtools

npm i https://pkg.pr.new/TanStack/router/@tanstack/solid-router-devtools@5917

@tanstack/solid-router-ssr-query

npm i https://pkg.pr.new/TanStack/router/@tanstack/solid-router-ssr-query@5917

@tanstack/solid-start

npm i https://pkg.pr.new/TanStack/router/@tanstack/solid-start@5917

@tanstack/solid-start-client

npm i https://pkg.pr.new/TanStack/router/@tanstack/solid-start-client@5917

@tanstack/solid-start-server

npm i https://pkg.pr.new/TanStack/router/@tanstack/solid-start-server@5917

@tanstack/start-client-core

npm i https://pkg.pr.new/TanStack/router/@tanstack/start-client-core@5917

@tanstack/start-plugin-core

npm i https://pkg.pr.new/TanStack/router/@tanstack/start-plugin-core@5917

@tanstack/start-server-core

npm i https://pkg.pr.new/TanStack/router/@tanstack/start-server-core@5917

@tanstack/start-static-server-functions

npm i https://pkg.pr.new/TanStack/router/@tanstack/start-static-server-functions@5917

@tanstack/start-storage-context

npm i https://pkg.pr.new/TanStack/router/@tanstack/start-storage-context@5917

@tanstack/valibot-adapter

npm i https://pkg.pr.new/TanStack/router/@tanstack/valibot-adapter@5917

@tanstack/virtual-file-routes

npm i https://pkg.pr.new/TanStack/router/@tanstack/virtual-file-routes@5917

@tanstack/zod-adapter

npm i https://pkg.pr.new/TanStack/router/@tanstack/zod-adapter@5917

commit: 5e96e70

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

🧹 Nitpick comments (2)
e2e/solid-router/js-only-file-based/playwright.config.ts (1)

30-30: Confirm whether VITE_ vars are needed by pnpm preview as well*

As written, VITE_NODE_ENV, VITE_EXTERNAL_PORT, and VITE_SERVER_PORT are only applied to pnpm build; in most shells, they won’t be set for the pnpm preview step in cmd1 && cmd2.

If the runtime app/tests rely on these VITE_* vars during preview (similar to how e2e/solid-router/basic-virtual-file-based/playwright.config.ts prefixes both commands), consider mirroring that pattern:

-    command: `VITE_NODE_ENV="test" VITE_EXTERNAL_PORT=${EXTERNAL_PORT} VITE_SERVER_PORT=${PORT} pnpm build && pnpm preview --port ${PORT}`,
+    command: `VITE_NODE_ENV="test" VITE_EXTERNAL_PORT=${EXTERNAL_PORT} VITE_SERVER_PORT=${PORT} pnpm build && VITE_NODE_ENV="test" VITE_EXTERNAL_PORT=${EXTERNAL_PORT} VITE_SERVER_PORT=${PORT} pnpm preview --port ${PORT}`,
e2e/react-router/view-transitions/playwright.config.ts (1)

29-29: Double-check env propagation to pnpm preview

Here too, VITE_NODE_ENV, VITE_SERVER_PORT, and VITE_EXTERNAL_PORT are only applied to pnpm build; the pnpm preview step will typically not inherit these inline assignments.

If your view-transitions tests depend on these VITE_* values at runtime, consider mirroring the pattern used in e2e/solid-router/basic-virtual-file-based/playwright.config.ts:

-    command: `VITE_NODE_ENV="test" VITE_SERVER_PORT=${PORT} VITE_EXTERNAL_PORT=${EXTERNAL_PORT} pnpm build && pnpm preview --port ${PORT}`,
+    command: `VITE_NODE_ENV="test" VITE_SERVER_PORT=${PORT} VITE_EXTERNAL_PORT=${EXTERNAL_PORT} pnpm build && VITE_NODE_ENV="test" VITE_SERVER_PORT=${PORT} VITE_EXTERNAL_PORT=${EXTERNAL_PORT} pnpm preview --port ${PORT}`,
📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 09de996 and 5e96e70.

📒 Files selected for processing (107)
  • e2e/react-router/basepath-file-based/package.json (1 hunks)
  • e2e/react-router/basepath-file-based/playwright.config.ts (1 hunks)
  • e2e/react-router/basic-file-based-code-splitting/package.json (1 hunks)
  • e2e/react-router/basic-file-based-code-splitting/playwright.config.ts (1 hunks)
  • e2e/react-router/basic-file-based/package.json (1 hunks)
  • e2e/react-router/basic-file-based/playwright.config.ts (1 hunks)
  • e2e/react-router/basic-react-query-file-based/package.json (1 hunks)
  • e2e/react-router/basic-react-query-file-based/playwright.config.ts (1 hunks)
  • e2e/react-router/basic-react-query/package.json (1 hunks)
  • e2e/react-router/basic-react-query/playwright.config.ts (1 hunks)
  • e2e/react-router/basic-scroll-restoration/package.json (1 hunks)
  • e2e/react-router/basic-scroll-restoration/playwright.config.ts (1 hunks)
  • e2e/react-router/basic-virtual-file-based/package.json (1 hunks)
  • e2e/react-router/basic-virtual-file-based/playwright.config.ts (1 hunks)
  • e2e/react-router/basic-virtual-named-export-config-file-based/package.json (1 hunks)
  • e2e/react-router/basic-virtual-named-export-config-file-based/playwright.config.ts (1 hunks)
  • e2e/react-router/basic/package.json (1 hunks)
  • e2e/react-router/basic/playwright.config.ts (1 hunks)
  • e2e/react-router/generator-cli-only/package.json (1 hunks)
  • e2e/react-router/generator-cli-only/playwright.config.ts (1 hunks)
  • e2e/react-router/js-only-file-based/package.json (1 hunks)
  • e2e/react-router/js-only-file-based/playwright.config.ts (1 hunks)
  • e2e/react-router/scroll-restoration-sandbox-vite/package.json (1 hunks)
  • e2e/react-router/scroll-restoration-sandbox-vite/playwright.browser.config.ts (1 hunks)
  • e2e/react-router/scroll-restoration-sandbox-vite/playwright.hash.config.ts (1 hunks)
  • e2e/react-router/sentry-integration/package.json (1 hunks)
  • e2e/react-router/sentry-integration/playwright.config.ts (1 hunks)
  • e2e/react-router/view-transitions/package.json (1 hunks)
  • e2e/react-router/view-transitions/playwright.config.ts (1 hunks)
  • e2e/solid-router/basepath-file-based/package.json (1 hunks)
  • e2e/solid-router/basepath-file-based/playwright.config.ts (1 hunks)
  • e2e/solid-router/basic-file-based-code-splitting/package.json (1 hunks)
  • e2e/solid-router/basic-file-based-code-splitting/playwright.config.ts (1 hunks)
  • e2e/solid-router/basic-file-based/package.json (1 hunks)
  • e2e/solid-router/basic-file-based/playwright.config.ts (1 hunks)
  • e2e/solid-router/basic-scroll-restoration/package.json (1 hunks)
  • e2e/solid-router/basic-scroll-restoration/playwright.config.ts (1 hunks)
  • e2e/solid-router/basic-solid-query-file-based/package.json (1 hunks)
  • e2e/solid-router/basic-solid-query-file-based/playwright.config.ts (1 hunks)
  • e2e/solid-router/basic-solid-query/package.json (1 hunks)
  • e2e/solid-router/basic-solid-query/playwright.config.ts (1 hunks)
  • e2e/solid-router/basic-virtual-file-based/package.json (1 hunks)
  • e2e/solid-router/basic-virtual-file-based/playwright.config.ts (1 hunks)
  • e2e/solid-router/basic-virtual-named-export-config-file-based/package.json (1 hunks)
  • e2e/solid-router/basic-virtual-named-export-config-file-based/playwright.config.ts (1 hunks)
  • e2e/solid-router/basic/package.json (1 hunks)
  • e2e/solid-router/basic/playwright.config.ts (1 hunks)
  • e2e/solid-router/generator-cli-only/package.json (1 hunks)
  • e2e/solid-router/generator-cli-only/playwright.config.ts (1 hunks)
  • e2e/solid-router/js-only-file-based/package.json (1 hunks)
  • e2e/solid-router/js-only-file-based/playwright.config.ts (1 hunks)
  • e2e/solid-router/scroll-restoration-sandbox-vite/package.json (1 hunks)
  • e2e/solid-router/scroll-restoration-sandbox-vite/playwright.browser.config.ts (1 hunks)
  • e2e/solid-router/scroll-restoration-sandbox-vite/playwright.hash.config.ts (1 hunks)
  • e2e/solid-router/sentry-integration/package.json (1 hunks)
  • e2e/solid-router/sentry-integration/playwright.config.ts (1 hunks)
  • e2e/solid-router/view-transitions/package.json (1 hunks)
  • e2e/solid-router/view-transitions/playwright.config.ts (1 hunks)
  • examples/react/authenticated-routes-firebase/package.json (1 hunks)
  • examples/react/authenticated-routes/package.json (1 hunks)
  • examples/react/basic-default-search-params/package.json (1 hunks)
  • examples/react/basic-devtools-panel/package.json (1 hunks)
  • examples/react/basic-file-based/package.json (1 hunks)
  • examples/react/basic-non-nested-devtools/package.json (1 hunks)
  • examples/react/basic-react-query-file-based/package.json (1 hunks)
  • examples/react/basic-react-query/package.json (1 hunks)
  • examples/react/basic-virtual-file-based/package.json (1 hunks)
  • examples/react/basic-virtual-inside-file-based/package.json (1 hunks)
  • examples/react/basic/package.json (1 hunks)
  • examples/react/deferred-data/package.json (1 hunks)
  • examples/react/i18n-paraglide/package.json (1 hunks)
  • examples/react/kitchen-sink-file-based/package.json (1 hunks)
  • examples/react/kitchen-sink-react-query-file-based/package.json (1 hunks)
  • examples/react/kitchen-sink-react-query/package.json (1 hunks)
  • examples/react/kitchen-sink/package.json (1 hunks)
  • examples/react/large-file-based/package.json (1 hunks)
  • examples/react/location-masking/package.json (1 hunks)
  • examples/react/navigation-blocking/package.json (1 hunks)
  • examples/react/quickstart-file-based/package.json (1 hunks)
  • examples/react/quickstart/package.json (1 hunks)
  • examples/react/router-monorepo-react-query/packages/app/package.json (1 hunks)
  • examples/react/router-monorepo-simple-lazy/packages/app/package.json (1 hunks)
  • examples/react/router-monorepo-simple/packages/app/package.json (1 hunks)
  • examples/react/scroll-restoration/package.json (1 hunks)
  • examples/react/search-validator-adapters/package.json (1 hunks)
  • examples/react/start-bun/package.json (1 hunks)
  • examples/react/start-i18n-paraglide/package.json (1 hunks)
  • examples/react/view-transitions/package.json (1 hunks)
  • examples/react/with-framer-motion/package.json (1 hunks)
  • examples/solid/authenticated-routes-firebase/package.json (1 hunks)
  • examples/solid/authenticated-routes/package.json (1 hunks)
  • examples/solid/basic-default-search-params/package.json (1 hunks)
  • examples/solid/basic-devtools-panel/package.json (1 hunks)
  • examples/solid/basic-file-based/package.json (1 hunks)
  • examples/solid/basic-non-nested-devtools/package.json (1 hunks)
  • examples/solid/basic-solid-query-file-based/package.json (1 hunks)
  • examples/solid/basic-solid-query/package.json (1 hunks)
  • examples/solid/basic-virtual-file-based/package.json (1 hunks)
  • examples/solid/basic-virtual-inside-file-based/package.json (1 hunks)
  • examples/solid/basic/package.json (1 hunks)
  • examples/solid/deferred-data/package.json (1 hunks)
  • examples/solid/i18n-paraglide/package.json (1 hunks)
  • examples/solid/kitchen-sink-file-based/package.json (1 hunks)
  • examples/solid/kitchen-sink-solid-query-file-based/package.json (1 hunks)
  • examples/solid/kitchen-sink-solid-query/package.json (1 hunks)
  • examples/solid/kitchen-sink/package.json (1 hunks)
  • examples/solid/large-file-based/package.json (1 hunks)
⛔ Files not processed due to max files limit (13)
  • examples/solid/location-masking/package.json
  • examples/solid/navigation-blocking/package.json
  • examples/solid/quickstart-file-based/package.json
  • examples/solid/quickstart/package.json
  • examples/solid/router-monorepo-simple-lazy/packages/app/package.json
  • examples/solid/router-monorepo-simple/packages/app/package.json
  • examples/solid/router-monorepo-solid-query/packages/app/package.json
  • examples/solid/scroll-restoration/package.json
  • examples/solid/search-validator-adapters/package.json
  • examples/solid/start-bun/package.json
  • examples/solid/start-i18n-paraglide/package.json
  • examples/solid/view-transitions/package.json
  • examples/solid/with-framer-motion/package.json
🧰 Additional context used
🧠 Learnings (1)
📚 Learning: 2025-10-08T08:11:47.088Z
Learnt from: nlynzaad
Repo: TanStack/router PR: 5402
File: packages/router-generator/tests/generator/no-formatted-route-tree/routeTree.nonnested.snapshot.ts:19-21
Timestamp: 2025-10-08T08:11:47.088Z
Learning: Test snapshot files in the router-generator tests directory (e.g., files matching the pattern `packages/router-generator/tests/generator/**/routeTree*.snapshot.ts` or `routeTree*.snapshot.js`) should not be modified or have issues flagged, as they are fixtures used to verify the generator's output and are intentionally preserved as-is.

Applied to files:

  • e2e/solid-router/basic/playwright.config.ts
  • e2e/solid-router/basepath-file-based/playwright.config.ts
  • e2e/solid-router/basic-file-based/playwright.config.ts
  • e2e/solid-router/generator-cli-only/playwright.config.ts
🧬 Code graph analysis (20)
e2e/react-router/basic-react-query-file-based/playwright.config.ts (2)
e2e/react-start/server-functions/playwright.config.ts (1)
  • PORT (5-5)
e2e/solid-start/server-functions/playwright.config.ts (1)
  • PORT (5-5)
e2e/react-router/basic-scroll-restoration/playwright.config.ts (2)
e2e/react-start/server-functions/playwright.config.ts (1)
  • PORT (5-5)
e2e/solid-start/server-functions/playwright.config.ts (1)
  • PORT (5-5)
e2e/solid-router/basic/playwright.config.ts (2)
e2e/react-start/server-functions/playwright.config.ts (1)
  • PORT (5-5)
e2e/solid-start/server-functions/playwright.config.ts (1)
  • PORT (5-5)
e2e/solid-router/basic-scroll-restoration/playwright.config.ts (2)
e2e/react-start/server-functions/playwright.config.ts (1)
  • PORT (5-5)
e2e/solid-start/server-functions/playwright.config.ts (1)
  • PORT (5-5)
e2e/react-router/sentry-integration/playwright.config.ts (2)
e2e/react-start/server-functions/playwright.config.ts (1)
  • PORT (5-5)
e2e/solid-start/server-functions/playwright.config.ts (1)
  • PORT (5-5)
e2e/react-router/scroll-restoration-sandbox-vite/playwright.browser.config.ts (2)
e2e/react-start/server-functions/playwright.config.ts (1)
  • PORT (5-5)
e2e/solid-start/server-functions/playwright.config.ts (1)
  • PORT (5-5)
e2e/react-router/basic-virtual-named-export-config-file-based/playwright.config.ts (2)
e2e/react-start/server-functions/playwright.config.ts (1)
  • PORT (5-5)
e2e/solid-start/server-functions/playwright.config.ts (1)
  • PORT (5-5)
e2e/solid-router/basic-virtual-file-based/playwright.config.ts (2)
e2e/react-start/server-functions/playwright.config.ts (1)
  • PORT (5-5)
e2e/solid-start/server-functions/playwright.config.ts (1)
  • PORT (5-5)
e2e/react-router/scroll-restoration-sandbox-vite/playwright.hash.config.ts (2)
e2e/react-start/server-functions/playwright.config.ts (1)
  • PORT (5-5)
e2e/solid-start/server-functions/playwright.config.ts (1)
  • PORT (5-5)
e2e/react-router/basic-virtual-file-based/playwright.config.ts (2)
e2e/react-start/server-functions/playwright.config.ts (1)
  • PORT (5-5)
e2e/solid-start/server-functions/playwright.config.ts (1)
  • PORT (5-5)
e2e/solid-router/basic-file-based-code-splitting/playwright.config.ts (2)
e2e/react-start/server-functions/playwright.config.ts (1)
  • PORT (5-5)
e2e/solid-start/server-functions/playwright.config.ts (1)
  • PORT (5-5)
e2e/solid-router/basic-solid-query-file-based/playwright.config.ts (2)
e2e/react-start/server-functions/playwright.config.ts (1)
  • PORT (5-5)
e2e/solid-start/server-functions/playwright.config.ts (1)
  • PORT (5-5)
e2e/react-router/js-only-file-based/playwright.config.ts (2)
e2e/react-start/server-functions/playwright.config.ts (1)
  • PORT (5-5)
e2e/solid-start/server-functions/playwright.config.ts (1)
  • PORT (5-5)
e2e/react-router/basic-file-based-code-splitting/playwright.config.ts (2)
e2e/react-start/server-functions/playwright.config.ts (1)
  • PORT (5-5)
e2e/solid-start/server-functions/playwright.config.ts (1)
  • PORT (5-5)
e2e/react-router/basic-react-query/playwright.config.ts (2)
e2e/react-start/server-functions/playwright.config.ts (1)
  • PORT (5-5)
e2e/solid-start/server-functions/playwright.config.ts (1)
  • PORT (5-5)
e2e/solid-router/basic-solid-query/playwright.config.ts (2)
e2e/react-start/server-functions/playwright.config.ts (1)
  • PORT (5-5)
e2e/solid-start/server-functions/playwright.config.ts (1)
  • PORT (5-5)
e2e/solid-router/basic-virtual-named-export-config-file-based/playwright.config.ts (2)
e2e/react-start/server-functions/playwright.config.ts (1)
  • PORT (5-5)
e2e/solid-start/server-functions/playwright.config.ts (1)
  • PORT (5-5)
e2e/react-router/generator-cli-only/playwright.config.ts (2)
e2e/react-start/server-functions/playwright.config.ts (1)
  • PORT (5-5)
e2e/solid-start/server-functions/playwright.config.ts (1)
  • PORT (5-5)
e2e/react-router/basic/playwright.config.ts (2)
e2e/react-start/server-functions/playwright.config.ts (1)
  • PORT (5-5)
e2e/solid-start/server-functions/playwright.config.ts (1)
  • PORT (5-5)
e2e/solid-router/scroll-restoration-sandbox-vite/playwright.hash.config.ts (2)
e2e/react-start/server-functions/playwright.config.ts (1)
  • PORT (5-5)
e2e/solid-start/server-functions/playwright.config.ts (1)
  • PORT (5-5)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
  • GitHub Check: Preview
  • GitHub Check: Test
🔇 Additional comments (107)
examples/react/start-i18n-paraglide/package.json (1)

9-9: LGTM!

The script rename from "serve" to "preview" is a straightforward, low-risk change that aligns with Vite's naming convention and the PR objectives. The underlying command (vite preview) remains unchanged, preserving the intended behavior for this example project.

examples/react/quickstart-file-based/package.json (1)

8-8: Script rename is semantically appropriate and aligns with PR objectives.

Renaming "serve" to "preview" accurately reflects the command's purpose (vite preview serves the production build for preview, distinct from the dev server). The change is consistent with the broader systematic updates across the repository.

examples/solid/large-file-based/package.json (1)

8-8: Script naming aligns with Vite terminology.

The renamed "preview" script correctly points to vite preview, which is Vite's standard command for previewing production builds. This naming change improves clarity and consistency with Vite's vocabulary throughout the codebase.

examples/react/basic-devtools-panel/package.json (1)

8-8: Script renamed for terminology alignment.

Renaming serve to preview better reflects Vite's terminology and intent—this script runs the Vite preview server, not a general-purpose development server.

examples/solid/basic-solid-query-file-based/package.json (1)

9-9: Terminology alignment looks good.

The rename from "serve" to "preview" correctly reflects Vite's conventions for production preview builds, improving script naming clarity and consistency.

examples/solid/authenticated-routes/package.json (1)

8-8: LGTM!

Renaming the script from "serve" to "preview" correctly aligns with Vite's native command terminology and improves clarity for developers familiar with Vite's CLI.

examples/react/location-masking/package.json (1)

8-8: Script rename is semantically accurate.

Renaming the script from "serve" to "preview" aligns with Vite's CLI terminology and clarifies intent.

Please verify that all references to the "serve" script have been updated elsewhere in the codebase (e.g., Playwright configurations, CI/CD scripts, documentation, or test runners that may invoke this script). Since this is part of a systematic rename across 100+ files, ensure consistency across the entire PR scope.

examples/solid/basic-non-nested-devtools/package.json (1)

8-8: Script rename aligns with Vite terminology.

The rename from "serve" to "preview" accurately reflects the underlying command (vite preview) and aligns with the broader PR objective to standardize terminology across the repository.

Please confirm that all Playwright/e2e configurations and other test/build tooling that previously invoked pnpm serve (or npm run serve) in this example have been similarly updated to invoke pnpm preview (or npm run preview). The AI-generated summary indicates this is a coordinated 100+ file rename; ensure no orphaned references remain.

examples/solid/basic-solid-query/package.json (1)

8-8: Script rename from "serve" to "preview" looks good.

Renaming to "preview" better aligns with Vite's terminology (vite preview command). The change is appropriate for this example project.

Since this is part of a systematic rename across 100+ files, please verify that all corresponding Playwright test configurations for this example have been updated to reference the renamed "preview" script instead of "serve".

examples/react/router-monorepo-react-query/packages/app/package.json (1)

8-8: Naming improvement aligns with Vite's standard terminology.

Renaming the script from "serve" to "preview" improves semantic clarity and aligns with Vite's standard CLI naming convention for the vite preview command. The underlying functionality remains unchanged, and this change is consistent with the broader systematic updates across the project.

e2e/solid-router/scroll-restoration-sandbox-vite/package.json (1)

10-10: Script rename aligns with PR objectives.

The renaming of "serve" to "preview" correctly mirrors the underlying vite preview command and improves semantic clarity across the codebase.

Verify that the Playwright config files referenced in this package.json (playwright.browser.config.ts and playwright.hash.config.ts) have been updated to invoke pnpm preview instead of pnpm serve, ensuring consistency across the e2e test setup.

examples/solid/basic/package.json (1)

8-8: Script rename looks good.

The "serve" → "preview" rename aligns with the PR objective and is semantically more accurate for vite preview. Ensure any Playwright configurations in this directory were also updated to call the new "preview" script instead of "serve".

examples/react/search-validator-adapters/package.json (1)

8-8: Script rename aligns with Vite conventions.

The change from "serve" to "preview" standardizes the script naming to match Vite's native vite preview command, improving clarity and consistency across the project.

examples/react/basic-react-query-file-based/package.json (1)

8-8: ✓ Semantic naming improvement.

Renaming the script from "serve" to "preview" is appropriate since vite preview previews the production build rather than serving a dev server. This aligns with Vite's CLI conventions and improves clarity.

examples/solid/i18n-paraglide/package.json (1)

9-9: LGTM!

The rename from "serve" to "preview" aligns with Vite's command naming convention and is consistent with the PR objective. The underlying command remains correct, and the vite dependency is present.

examples/react/basic-virtual-file-based/package.json (1)

8-8: Script rename is semantically correct.

The change from "serve" to "preview" aligns with Vite conventions and clearly indicates the script invokes vite preview.

Verify that all corresponding Playwright configuration files and documentation have been updated to reference the renamed "preview" script instead of "serve", ensuring consistency across the entire PR scope (reported as 100+ files).

examples/react/basic-virtual-inside-file-based/package.json (1)

8-8: Consistent renaming across example projects.

This change mirrors the pattern in the sibling example project and maintains consistency throughout the refactor.

examples/react/basic-react-query/package.json (1)

8-8: ✓ Script rename is correct and aligns with PR objectives.

The addition of the "preview" script using the vite preview command is appropriate and consistent with the broader systematic rename across the codebase. The naming now aligns with Vite's terminology and conventions.

e2e/solid-router/basic-virtual-named-export-config-file-based/playwright.config.ts (1)

28-33: webServer now correctly targets the renamed preview script

Switching the command to pnpm preview --port ${PORT} while keeping the same env vars and build step is consistent with the new preview script and the PR’s intent. No issues spotted.

e2e/solid-router/basic-virtual-named-export-config-file-based/package.json (1)

5-12: preview script aligns with Vite and Playwright usage

Defining "preview": "vite preview" matches Vite’s standard naming and the updated Playwright command (pnpm preview). This keeps scripts consistent and clear.

examples/react/router-monorepo-simple-lazy/packages/app/package.json (1)

5-10: Script rename from "serve" to "preview" improves alignment with Vite terminology.

The change correctly renames the npm script key from "serve" to "preview" while preserving the underlying "vite preview" command. This improves clarity and aligns the script name with Vite's own naming conventions.

Verify that all references to this package's "serve" script have been updated: Since this is a breaking change for anyone calling pnpm serve from this package, please confirm that:

  1. All e2e/Playwright configuration files that invoke this script have been updated to use pnpm preview instead.
  2. No other files in the codebase continue to reference npm run serve for this package.
examples/react/router-monorepo-simple/packages/app/package.json (1)

5-10: Script rename from "serve" to "preview" improves alignment with Vite terminology.

The change correctly renames the npm script key from "serve" to "preview" while preserving the underlying "vite preview" command. This improves clarity and aligns the script name with Vite's own naming conventions.

Verify that all references to this package's "serve" script have been updated: Since this is a breaking change for anyone calling pnpm serve from this package, please confirm that:

  1. All e2e/Playwright configuration files that invoke this script have been updated to use pnpm preview instead.
  2. No other files in the codebase continue to reference npm run serve for this package.
e2e/react-router/basic-scroll-restoration/playwright.config.ts (1)

22-22: LGTM! Script reference updated correctly.

The command now correctly references pnpm preview to match the renamed script in package.json, while preserving all environment variables and port configurations.

e2e/react-router/basic-scroll-restoration/package.json (1)

9-9: LGTM! Script name now matches Vite's terminology.

The script key has been correctly renamed from "serve" to "preview", which better reflects the actual vite preview command being executed. The corresponding playwright.config.ts has also been updated consistently.

e2e/solid-router/basic-scroll-restoration/package.json (1)

9-9: LGTM! Script rename aligns with Vite conventions.

The rename from "serve" to "preview" better reflects Vite's official naming and improves semantic clarity throughout the codebase.

e2e/solid-router/basic-scroll-restoration/playwright.config.ts (1)

22-22: LGTM! Command correctly updated to match renamed script.

The Playwright webServer command now correctly invokes pnpm preview, maintaining consistency with the package.json script rename.

e2e/solid-router/scroll-restoration-sandbox-vite/playwright.browser.config.ts (1)

32-32: LGTM! The preview script is properly defined in package.json.

Verification confirms that e2e/solid-router/scroll-restoration-sandbox-vite/package.json contains the preview script (vite preview), making the command update on line 32 valid and consistent with the PR objectives.

e2e/react-router/basic-virtual-file-based/playwright.config.ts (1)

29-29: LGTM! Script name updated correctly.

The change from pnpm serve to pnpm preview correctly reflects the script rename in package.json while preserving all functionality (build step, environment variables, and port configuration).

e2e/react-router/basic-virtual-file-based/package.json (1)

9-9: LGTM! Terminology aligned with Vite conventions.

The rename from "serve" to "preview" correctly aligns with Vite's official terminology for serving production builds locally, while maintaining the same underlying command.

e2e/react-router/scroll-restoration-sandbox-vite/playwright.hash.config.ts (1)

33-33: Verification confirmed: package.json is correctly updated.

The package.json contains the "preview" script (vite preview) and the "serve" script has been removed. The change in playwright.hash.config.ts is safe and will execute correctly.

examples/solid/basic-devtools-panel/package.json (1)

8-8: Script rename is correctly applied with no lingering references.

The package.json change to "preview": "vite preview" is properly implemented. Verification confirms no "serve" script references remain in the example directory, and there are no integrated Playwright configurations at this level requiring updates.

examples/react/start-bun/package.json (1)

9-9: No consuming code found; change is isolated and safe.

The "start-bun" example package is not referenced by any e2e tests, CI/CD workflows, or orchestration code. Search results show references only in the dependency lock file, package metadata, and documentation links—none of which invoke npm scripts. The rename from "serve" to "preview" is isolated to this single file and aligns with Vite conventions.

examples/solid/basic-virtual-file-based/package.json (1)

8-8: Script rename correctly implemented across example and e2e tests.

The change in examples/solid/basic-virtual-file-based/package.json aligns with Vite conventions. Verification confirms that the corresponding e2e test configuration (e2e/solid-router/basic-virtual-file-based/) has been consistently updated: both the e2e package.json and playwright.config.ts now reference pnpm preview instead of the old serve script. No further action needed.

e2e/solid-router/scroll-restoration-sandbox-vite/playwright.hash.config.ts (1)

32-32: The --outDir flag is not recognized by vite preview and will not work as intended.

The preview script is the standard vite preview command, which does not accept --outDir as a CLI argument. The flag will be silently ignored, causing the preview to serve from the default dist directory instead of dist-hash where the build artifacts were placed.

Fix: Add build.outDir = 'dist-hash' to your vite.config.ts so that both the build and preview commands reference the same output directory. Alternatively, remove the --outDir dist-hash flag from the preview command if the vite config is properly configured.

export default defineConfig({
  build: {
    outDir: 'dist-hash',
  },
  plugins: [tanstackRouter({ target: 'solid' }), solid()],
})
⛔ Skipped due to learnings
Learnt from: nlynzaad
Repo: TanStack/router PR: 5402
File: packages/router-generator/tests/generator/no-formatted-route-tree/routeTree.nonnested.snapshot.ts:19-21
Timestamp: 2025-10-08T08:11:47.088Z
Learning: Test snapshot files in the router-generator tests directory (e.g., files matching the pattern `packages/router-generator/tests/generator/**/routeTree*.snapshot.ts` or `routeTree*.snapshot.js`) should not be modified or have issues flagged, as they are fixtures used to verify the generator's output and are intentionally preserved as-is.
Learnt from: schiller-manuel
Repo: TanStack/router PR: 5330
File: e2e/react-start/custom-basepath/src/routeTree.gen.ts:58-61
Timestamp: 2025-10-01T18:31:35.420Z
Learning: Do not review files named `routeTree.gen.ts` in TanStack Router repositories, as these are autogenerated files that should not be manually modified.
Learnt from: schiller-manuel
Repo: TanStack/router PR: 5330
File: packages/router-core/src/router.ts:2231-2245
Timestamp: 2025-10-01T18:30:26.591Z
Learning: In `packages/router-core/src/router.ts`, the `resolveRedirect` method intentionally strips the router's origin from redirect URLs when they match (e.g., `https://foo.com/bar` → `/bar` for same-origin redirects) while preserving the full URL for cross-origin redirects. This logic should not be removed or simplified to use `location.publicHref` directly.
Learnt from: hokkyss
Repo: TanStack/router PR: 5418
File: e2e/react-start/custom-identifier-prefix/public/site.webmanifest:2-3
Timestamp: 2025-10-09T12:59:14.842Z
Learning: In e2e test fixtures (files under e2e directories), empty or placeholder values in configuration files like site.webmanifest are acceptable and should not be flagged unless the test specifically validates those fields.
examples/react/authenticated-routes/package.json (1)

8-8: Preview script aligns with PR intent

"preview": "vite preview" is consistent with the rest of the scripts and the PR’s rename goal; no issues here.

examples/solid/deferred-data/package.json (1)

8-8: Script rename is consistent and non-breaking

Using "preview": "vite preview" here keeps behavior the same while standardizing the script name.

examples/solid/basic-virtual-inside-file-based/package.json (1)

8-8: Preview script matches other Solid examples

The "preview": "vite preview" script is correct and consistent with the rest of the repo’s convention in this PR.

e2e/solid-router/basic/playwright.config.ts (1)

29-29: Web server command correctly switched to pnpm preview

The command keeps the same env vars, build step, and port while replacing serve with preview, which is exactly what we want.

e2e/solid-router/sentry-integration/playwright.config.ts (1)

22-22: Preview server usage is consistent with other e2e configs

Switching to pnpm preview here maintains the same build and port wiring and aligns with the rest of the suite.

e2e/solid-router/basic-solid-query/package.json (1)

9-9: Preview script wired correctly for this e2e package

The "preview": "vite preview" entry fits with the existing dev/build/test scripts and supports the Playwright config changes.

e2e/solid-router/basic-solid-query/playwright.config.ts (1)

30-30: Playwright webServer now correctly targets pnpm preview

The updated command mirrors the pattern used in other configs and preserves env/port handling.

examples/react/basic/package.json (1)

8-8: React example’s preview script matches the new convention

Defining "preview": "vite preview" here aligns this example with the rest of the repo’s script naming.

e2e/react-router/scroll-restoration-sandbox-vite/playwright.browser.config.ts (1)

33-33: LGTM! Consistent rename to "preview".

The change from pnpm serve to pnpm preview aligns with Vite's naming convention and matches the corresponding package.json update.

examples/solid/kitchen-sink-file-based/package.json (1)

8-8: LGTM! Script name now matches Vite convention.

The rename from "serve" to "preview" better reflects that this runs vite preview, which previews the production build.

e2e/react-router/basic/playwright.config.ts (1)

29-29: LGTM! Consistent with the "preview" naming convention.

The command correctly switches to pnpm preview while preserving all environment variables and build steps.

e2e/react-router/generator-cli-only/playwright.config.ts (1)

29-29: LGTM! Playwright config updated correctly.

The server command now uses pnpm preview, matching the renamed package.json script.

e2e/react-router/basic-virtual-named-export-config-file-based/playwright.config.ts (1)

29-29: LGTM! Webserver command updated appropriately.

e2e/solid-router/view-transitions/package.json (1)

9-9: LGTM! Script naming now aligns with Vite.

examples/react/large-file-based/package.json (1)

8-8: LGTM! Consistent script rename.

e2e/react-router/scroll-restoration-sandbox-vite/package.json (1)

10-10: Verification complete—no issues found, changes are consistent.

The verification confirms the script rename is correct and complete. All playwright configs that reference scripts have corresponding definitions in their package.json files. The two remaining "serve" references are in esbuild-based projects (not Vite), where the "serve" script legitimately uses esbuild --servedir rather than vite preview, so these are intentionally preserved and not part of the rename scope.

e2e/solid-router/basic-file-based-code-splitting/playwright.config.ts (1)

29-29: LGTM! Script reference updated correctly.

The command now correctly references pnpm preview instead of pnpm serve, aligning with Vite's terminology. Port and environment variable configurations are preserved.

e2e/solid-router/basic-solid-query-file-based/playwright.config.ts (1)

29-29: LGTM! Script reference updated correctly.

The command now references pnpm preview instead of pnpm serve. Configuration remains otherwise unchanged.

e2e/solid-router/view-transitions/playwright.config.ts (1)

29-29: LGTM! Script reference updated correctly.

The webServer command now uses pnpm preview instead of pnpm serve, consistent with the PR's renaming objective.

e2e/solid-router/generator-cli-only/playwright.config.ts (1)

29-29: LGTM! Script reference updated correctly.

The command now uses pnpm preview, aligning with the renamed script in the corresponding package.json.

e2e/solid-router/basic-file-based/playwright.config.ts (1)

12-13: LGTM! Command variables renamed correctly.

Both command variables now reference the renamed preview and preview:nonnested scripts instead of serve. The logic and configuration remain unchanged.

examples/react/with-framer-motion/package.json (1)

8-8: LGTM! Script renamed correctly.

The script has been renamed from serve to preview, maintaining the same vite preview command. This change aligns with Vite's naming conventions.

examples/react/view-transitions/package.json (1)

8-8: LGTM! Script renamed correctly.

The script has been renamed from serve to preview while keeping the underlying vite preview command unchanged. This aligns with Vite's official terminology.

e2e/solid-router/basic-file-based/package.json (1)

11-12: Verification complete: Script renaming is correctly implemented throughout the codebase.

The playwright.config.ts correctly references the renamed scripts:

  • Lines 13-14 use pnpm preview:nonnested and pnpm preview (updated from old serve variants)
  • Global search found no remaining references to old script names
  • No broken references exist
e2e/react-router/basic-file-based/playwright.config.ts (1)

12-13: Switch to pnpm preview for Playwright webServer is consistent

Using pnpm build(:nonnested) && pnpm preview(:nonnested) --port ${PORT} matches the PR intent and keeps behavior aligned with the configured env/ports.

examples/react/quickstart/package.json (1)

8-8: preview script rename looks good

Renaming the script key to "preview" while keeping "vite preview" preserves behavior and matches the new naming convention.

examples/solid/basic-default-search-params/package.json (1)

8-8: Solid example preview script rename is correct

Using "preview": "vite preview" matches the new convention and keeps the same Vite behavior.

e2e/solid-router/basic-virtual-file-based/playwright.config.ts (1)

29-29: pnpm preview switch with duplicated env prefix is appropriate

Repeating the VITE_* assignments for both pnpm build and pnpm preview keeps runtime env consistent while achieving the serve→preview rename.

examples/react/kitchen-sink-file-based/package.json (1)

8-8: React kitchen-sink preview script rename matches convention

The new "preview": "vite preview" script aligns with the rest of the repo and doesn’t change functionality.

e2e/react-router/view-transitions/package.json (1)

9-9: E2E preview script is consistent with updated Playwright config

Exposing "preview": "vite preview" matches the new server command used by the Playwright config for this suite.

examples/react/kitchen-sink-react-query/package.json (1)

8-8: LGTM! Script rename aligns with Vite terminology.

The rename from "serve" to "preview" better reflects Vite's official documentation and improves clarity.

examples/react/kitchen-sink/package.json (1)

8-8: LGTM!

Consistent with the PR-wide refactor to standardize on "preview" terminology.

examples/react/kitchen-sink-react-query-file-based/package.json (1)

8-8: LGTM!

Script rename is consistent with the repository-wide standardization effort.

e2e/react-router/js-only-file-based/package.json (1)

9-9: LGTM!

The script rename maintains consistency across e2e test packages.

e2e/solid-router/js-only-file-based/package.json (1)

9-9: LGTM!

Change is consistent across both React and Solid router test suites.

e2e/react-router/sentry-integration/playwright.config.ts (1)

22-22: LGTM! Command updated to match renamed script.

The webServer command correctly references the new "preview" script, maintaining alignment with the package.json changes.

examples/react/i18n-paraglide/package.json (1)

9-9: LGTM!

Script rename maintains consistency across example projects.

e2e/react-router/sentry-integration/package.json (1)

9-9: I need to verify whether the sentry-integration playwright configuration still references the old "serve" script. Let me search for that:

Based on the verification script output, there are two remaining inconsistencies that need attention:

Update playwright.config.ts files in:

  • e2e/solid-router/basic-esbuild-file-based/playwright.config.ts:22
  • e2e/react-router/basic-esbuild-file-based/playwright.config.ts:29

Both still reference pnpm run serve in their webServer.command configuration, but the corresponding package.json files in these directories still define a "serve" script (not "preview"), so these are actually consistent within their own directories.

However, the core issue is: if e2e/react-router/sentry-integration/package.json renamed "serve" to "preview", verify that its playwright.config.ts was also updated. The script output doesn't show a reference to sentry-integration's playwright.config.ts file specifically, which suggests either it doesn't exist yet or the search didn't capture it.

Recommend verifying:

  1. Does e2e/react-router/sentry-integration/playwright.config.ts exist?
  2. If it exists, what command does it specify in the webServer configuration?
  3. Ensure it matches the renamed "preview" script if that's the intended change.
examples/react/basic-non-nested-devtools/package.json (1)

8-8: LGTM! Script rename aligns with Vite conventions.

The rename from "serve" to "preview" better reflects Vite's official terminology for previewing production builds.

examples/solid/kitchen-sink/package.json (1)

8-8: LGTM! Consistent script rename.

The change aligns with the PR's objective to standardize on "preview" terminology.

e2e/react-router/js-only-file-based/playwright.config.ts (1)

30-30: LGTM! Playwright config correctly updated.

The webServer command properly references the renamed "preview" script from package.json, ensuring E2E tests continue to work correctly.

examples/react/scroll-restoration/package.json (1)

8-8: LGTM! Script rename is correct.

Consistent with the broader refactoring to use "preview" terminology.

e2e/solid-router/basic-solid-query-file-based/package.json (1)

9-9: LGTM! E2E script updated correctly.

The rename ensures consistency with the corresponding Playwright configuration updates.

e2e/solid-router/basic-virtual-file-based/package.json (1)

9-9: LGTM! Script rename is consistent.

Properly aligns with the "preview" terminology used throughout the PR.

examples/solid/kitchen-sink-solid-query/package.json (1)

8-8: LGTM! Script rename applied correctly.

The change maintains consistency across all example projects.

examples/react/navigation-blocking/package.json (1)

8-8: LGTM! Script rename completed consistently with no lingering documentation references.

All reviewed files properly rename "serve" to "preview" while maintaining the same underlying command. Verification confirms that no README files or documentation reference the old "serve" script, so no further updates are needed.

e2e/solid-router/basic-file-based-code-splitting/package.json (1)

9-9: Script rename is correct and consistent.

The change from serve to preview aligns the npm script name with Vite's terminology and matches the underlying command. This is part of a coordinated refactor across the repository.

e2e/solid-router/generator-cli-only/package.json (1)

9-9: Consistent script rename.

examples/solid/basic-file-based/package.json (1)

8-8: Consistent script rename.

e2e/react-router/basic/package.json (1)

9-9: Consistent script rename.

examples/react/deferred-data/package.json (1)

8-8: Consistent script rename.

e2e/react-router/generator-cli-only/package.json (1)

9-9: Consistent script rename.

examples/solid/kitchen-sink-solid-query-file-based/package.json (1)

8-8: Consistent script rename.

e2e/react-router/basic-virtual-named-export-config-file-based/package.json (2)

9-9: Consistent script rename.


1-12: Playwright config updates verified across all 62 e2e suites.

All Playwright configurations have been properly updated to invoke appropriate preview/serve commands. No remaining references to the old pnpm serve pattern found. Variation in commands across suites is intentional and project-specific:

  • Vite-based projects: pnpm preview
  • esbuild projects: pnpm run serve (custom script)
  • rspack projects: pnpm start (aliases to preview in package.json)

All invoked scripts are defined in their respective package.json files. Test runner compatibility maintained.

examples/react/basic-default-search-params/package.json (1)

8-8: LGTM! Script rename aligns with Vite's terminology.

The script name change from "serve" to "preview" better reflects the underlying vite preview command and improves consistency across the codebase.

examples/react/basic-file-based/package.json (1)

8-8: LGTM! Consistent script rename.

The change from "serve" to "preview" maintains consistency with the Vite preview server terminology.

e2e/solid-router/basic/package.json (1)

9-9: LGTM! E2E script updated consistently.

The script rename aligns with the broader pattern across the repository and will work correctly with the updated Playwright configurations.

e2e/solid-router/sentry-integration/package.json (1)

9-9: LGTM! Sentry integration e2e script updated.

The change maintains consistency with other e2e packages in the repository.

examples/solid/authenticated-routes-firebase/package.json (1)

8-8: LGTM! Example script updated consistently.

The rename from "serve" to "preview" improves clarity and aligns with Vite's standard terminology.

examples/react/authenticated-routes-firebase/package.json (1)

8-8: LGTM! React example updated consistently.

The script rename maintains consistency across both React and Solid examples.

e2e/react-router/basic-file-based/package.json (1)

11-12: LGTM! Both preview scripts renamed consistently.

The rename of both "serve" and "serve:nonnested" to "preview" and "preview:nonnested" maintains the variant pattern while improving terminology consistency.

e2e/react-router/basic-file-based-code-splitting/playwright.config.ts (1)

29-29: LGTM! Playwright config updated to match script rename.

The command update from pnpm serve to pnpm preview correctly aligns with the script renames in the corresponding package.json files.

e2e/react-router/basepath-file-based/playwright.config.ts (1)

28-33: Switch to pnpm preview is consistent with scripts

The webServer command still builds first, preserves env/port wiring, and now correctly calls the preview script defined as "preview": "vite preview" in e2e/react-router/basepath-file-based/package.json (line 9).

e2e/react-router/basic-react-query/playwright.config.ts (1)

28-33: Updated web server command correctly targets pnpm preview

The Playwright webServer now runs pnpm preview --port ${PORT} after build, matching the "preview": "vite preview" script in e2e/react-router/basic-react-query/package.json (line 9) with no other behavior changes.

e2e/react-router/basic-react-query-file-based/playwright.config.ts (1)

27-32: Preview command matches package script and preserves behavior

The webServer command now calls pnpm preview --port ${PORT} with the same env vars as before, aligned with the "preview": "vite preview" script in e2e/react-router/basic-react-query-file-based/package.json (line 9).

e2e/solid-router/basepath-file-based/playwright.config.ts (1)

28-33: Serve-to-preview swap in Playwright config looks good

The config now uses pnpm preview --port ${PORT} after build, with unchanged env wiring, and matches the "preview": "vite preview" script in e2e/solid-router/basepath-file-based/package.json (line 9).

e2e/react-router/basepath-file-based/package.json (1)

5-12: preview script aligns with Playwright usage

Adding "preview": "vite preview" cleanly exposes the preview command and matches the pnpm preview invocation in e2e/react-router/basepath-file-based/playwright.config.ts.

e2e/react-router/basic-react-query-file-based/package.json (1)

5-12: Preview script is correctly defined for e2e

The "preview": "vite preview" script fits alongside the existing dev/build/test scripts and matches the pnpm preview command used in e2e/react-router/basic-react-query-file-based/playwright.config.ts.

e2e/solid-router/basepath-file-based/package.json (1)

5-12: Solid router e2e preview script matches test harness

Defining "preview": "vite preview" keeps behavior identical to the old serve alias while aligning with the pnpm preview command in the corresponding Playwright config.

e2e/react-router/basic-react-query/package.json (1)

5-12: React basic React Query e2e preview script is consistent

The "preview": "vite preview" entry cleanly replaces the old serve alias and matches the updated pnpm preview usage in e2e/react-router/basic-react-query/playwright.config.ts.

e2e/react-router/basic-file-based-code-splitting/package.json (2)

9-9: Script rename aligns with Vite conventions.

Renaming from "serve" to "preview" correctly reflects Vite's standard terminology for the preview command, which runs the production build locally.

Verify that all Playwright configurations in the e2e test suite have been updated to invoke pnpm preview instead of pnpm serve. Per the AI summary, related Playwright config files should be updated as part of this systematic change.


1-34: No lingering "serve" script references found—verification complete.

The search confirmed no stray references to pnpm serve or pnpm run serve exist in this e2e test directory. The playwright configuration correctly uses pnpm build && pnpm preview for the test server setup instead.

@birkskyum birkskyum merged commit 6f06558 into main Nov 20, 2025
6 checks passed
@birkskyum birkskyum deleted the use-preview-to-refer-to-vite-preview branch November 20, 2025 04:08
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