Skip to content

Conversation

@schiller-manuel
Copy link
Contributor

@schiller-manuel schiller-manuel commented Dec 30, 2025

…) routes

fixes #5421

Summary by CodeRabbit

  • Bug Fixes

    • Improved layout route fallback path handling to correctly resolve empty paths for layout routes.
  • Tests

    • Added comprehensive test scenario for layout routes combined with virtual and physical route configurations.

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

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Dec 30, 2025

📝 Walkthrough

Walkthrough

Adds layout-aware fallback path handling in route node generation and introduces a comprehensive test case for the virtual-physical-layout-and-index scenario, enabling both route.tsx and index.tsx to coexist in physical virtual routes.

Changes

Cohort / File(s) Summary
Layout-aware fallback logic
packages/router-generator/src/filesystem/physical/getRouteNodes.ts
Introduces isLayoutRoute check to modify default fallback from '/' to '' (empty string) for routePath and originalRoutePath when layout routes have index tokens at the end; preserves existing behavior for non-layout routes.
Virtual-physical test fixtures
packages/router-generator/tests/generator/virtual-physical-layout-and-index/tsr.config.json
Adds router configuration specifying routesDirectory, generatedRouteTree, and virtualRouteConfig paths.
Virtual route definition
packages/router-generator/tests/generator/virtual-physical-layout-and-index/routes.ts
Defines routes constant with root route and two child routes: index and physical-mounted /feature path.
Root and index routes
packages/router-generator/tests/generator/virtual-physical-layout-and-index/routes/index.tsx, routes/__root.tsx
Establishes root route with Outlet for nested rendering and home index route.
Feature layout and index routes
packages/router-generator/tests/generator/virtual-physical-layout-and-index/routes/feature/route.tsx, routes/feature/index.tsx
Implements feature layout route with heading and Outlet, plus nested feature index component.
Generated route tree snapshot
packages/router-generator/tests/generator/virtual-physical-layout-and-index/routeTree.snapshot.ts
Defines static route tree with interfaces (FileRoutesByFullPath, FileRoutesByTo, FileRoutesById, FileRouteTypes, route children), type-safe route mappings, module augmentation for @tanstack/react-router, and composited routeTree constant.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

Suggested labels

package: router-generator

Suggested reviewers

  • nlynzaad

Poem

🐰 A layout and index, side by side,
No longer clashing in conflict's tide!
Virtual routes now dance in harmony sweet,
Feature folders finally complete.
The fallback falls to emptiness bright,
Layout-aware paths get it right! ✨

Pre-merge checks and finishing touches

❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. You can run @coderabbitai generate docstrings to improve docstring coverage.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly identifies the main fix: addressing a layout/index conflict in virtual physical routes, which directly matches the bug fix described in issue #5421.
Linked Issues check ✅ Passed The PR implements the expected behavior from #5421: when using physical() to mount directories containing both route.tsx and index.tsx, the route tree now generates correctly with proper parent-child relationships and no path conflicts.
Out of Scope Changes check ✅ Passed All changes are directly scoped to fixing the layout/index conflict: the core fix modifies getRouteNodes.ts to handle layout routes specially, and new test files comprehensively validate the fix with a virtual-physical-layout-and-index test case.
✨ Finishing touches
  • 📝 Generate docstrings

📜 Recent review details

Configuration used: defaults

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between baa3d1d and a678587.

📒 Files selected for processing (8)
  • packages/router-generator/src/filesystem/physical/getRouteNodes.ts
  • packages/router-generator/tests/generator/virtual-physical-layout-and-index/routeTree.snapshot.ts
  • packages/router-generator/tests/generator/virtual-physical-layout-and-index/routes.ts
  • packages/router-generator/tests/generator/virtual-physical-layout-and-index/routes/__root.tsx
  • packages/router-generator/tests/generator/virtual-physical-layout-and-index/routes/feature/index.tsx
  • packages/router-generator/tests/generator/virtual-physical-layout-and-index/routes/feature/route.tsx
  • packages/router-generator/tests/generator/virtual-physical-layout-and-index/routes/index.tsx
  • packages/router-generator/tests/generator/virtual-physical-layout-and-index/tsr.config.json
🧰 Additional context used
📓 Path-based instructions (2)
**/*.{ts,tsx}

📄 CodeRabbit inference engine (AGENTS.md)

Use TypeScript strict mode with extensive type safety for all code

Files:

  • packages/router-generator/tests/generator/virtual-physical-layout-and-index/routes/index.tsx
  • packages/router-generator/tests/generator/virtual-physical-layout-and-index/routes/feature/route.tsx
  • packages/router-generator/tests/generator/virtual-physical-layout-and-index/routes/__root.tsx
  • packages/router-generator/tests/generator/virtual-physical-layout-and-index/routes.ts
  • packages/router-generator/tests/generator/virtual-physical-layout-and-index/routes/feature/index.tsx
  • packages/router-generator/tests/generator/virtual-physical-layout-and-index/routeTree.snapshot.ts
  • packages/router-generator/src/filesystem/physical/getRouteNodes.ts
**/*.{js,ts,tsx}

📄 CodeRabbit inference engine (AGENTS.md)

Implement ESLint rules for router best practices using the ESLint plugin router

Files:

  • packages/router-generator/tests/generator/virtual-physical-layout-and-index/routes/index.tsx
  • packages/router-generator/tests/generator/virtual-physical-layout-and-index/routes/feature/route.tsx
  • packages/router-generator/tests/generator/virtual-physical-layout-and-index/routes/__root.tsx
  • packages/router-generator/tests/generator/virtual-physical-layout-and-index/routes.ts
  • packages/router-generator/tests/generator/virtual-physical-layout-and-index/routes/feature/index.tsx
  • packages/router-generator/tests/generator/virtual-physical-layout-and-index/routeTree.snapshot.ts
  • packages/router-generator/src/filesystem/physical/getRouteNodes.ts
🧠 Learnings (9)
📓 Common learnings
Learnt from: schiller-manuel
Repo: TanStack/router PR: 6120
File: packages/router-generator/src/generator.ts:654-657
Timestamp: 2025-12-17T02:17:55.086Z
Learning: In `packages/router-generator/src/generator.ts`, pathless_layout routes must receive a `path` property when they have a `cleanedPath`, even though they are non-path routes. This is necessary because child routes inherit the path from their parent, and without this property, child routes would not have the correct full path at runtime.
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: Sheraff
Repo: TanStack/router PR: 6171
File: packages/router-core/src/new-process-route-tree.ts:898-898
Timestamp: 2025-12-21T12:52:35.231Z
Learning: In `packages/router-core/src/new-process-route-tree.ts`, the matching logic intentionally allows paths without trailing slashes to match index routes with trailing slashes (e.g., `/a` can match `/a/` route), but not vice-versa (e.g., `/a/` cannot match `/a` layout route). This is implemented via the condition `!pathIsIndex || node.kind === SEGMENT_TYPE_INDEX` and is a deliberate design decision to provide better UX by being permissive with missing trailing slashes.
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.
📚 Learning: 2025-12-17T02:17:55.086Z
Learnt from: schiller-manuel
Repo: TanStack/router PR: 6120
File: packages/router-generator/src/generator.ts:654-657
Timestamp: 2025-12-17T02:17:55.086Z
Learning: In `packages/router-generator/src/generator.ts`, pathless_layout routes must receive a `path` property when they have a `cleanedPath`, even though they are non-path routes. This is necessary because child routes inherit the path from their parent, and without this property, child routes would not have the correct full path at runtime.

Applied to files:

  • packages/router-generator/tests/generator/virtual-physical-layout-and-index/routes/index.tsx
  • packages/router-generator/tests/generator/virtual-physical-layout-and-index/routes/feature/route.tsx
  • packages/router-generator/tests/generator/virtual-physical-layout-and-index/routes/__root.tsx
  • packages/router-generator/tests/generator/virtual-physical-layout-and-index/routes.ts
  • packages/router-generator/tests/generator/virtual-physical-layout-and-index/routes/feature/index.tsx
  • packages/router-generator/tests/generator/virtual-physical-layout-and-index/routeTree.snapshot.ts
  • packages/router-generator/src/filesystem/physical/getRouteNodes.ts
  • packages/router-generator/tests/generator/virtual-physical-layout-and-index/tsr.config.json
📚 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:

  • packages/router-generator/tests/generator/virtual-physical-layout-and-index/routes/index.tsx
  • packages/router-generator/tests/generator/virtual-physical-layout-and-index/routes/feature/route.tsx
  • packages/router-generator/tests/generator/virtual-physical-layout-and-index/routes/__root.tsx
  • packages/router-generator/tests/generator/virtual-physical-layout-and-index/routes.ts
  • packages/router-generator/tests/generator/virtual-physical-layout-and-index/routes/feature/index.tsx
  • packages/router-generator/tests/generator/virtual-physical-layout-and-index/routeTree.snapshot.ts
  • packages/router-generator/src/filesystem/physical/getRouteNodes.ts
  • packages/router-generator/tests/generator/virtual-physical-layout-and-index/tsr.config.json
📚 Learning: 2025-10-01T18:31:35.420Z
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.

Applied to files:

  • packages/router-generator/tests/generator/virtual-physical-layout-and-index/routes/index.tsx
  • packages/router-generator/tests/generator/virtual-physical-layout-and-index/routes.ts
  • packages/router-generator/tests/generator/virtual-physical-layout-and-index/routes/feature/index.tsx
  • packages/router-generator/tests/generator/virtual-physical-layout-and-index/routeTree.snapshot.ts
  • packages/router-generator/tests/generator/virtual-physical-layout-and-index/tsr.config.json
📚 Learning: 2025-12-21T12:52:35.231Z
Learnt from: Sheraff
Repo: TanStack/router PR: 6171
File: packages/router-core/src/new-process-route-tree.ts:898-898
Timestamp: 2025-12-21T12:52:35.231Z
Learning: In `packages/router-core/src/new-process-route-tree.ts`, the matching logic intentionally allows paths without trailing slashes to match index routes with trailing slashes (e.g., `/a` can match `/a/` route), but not vice-versa (e.g., `/a/` cannot match `/a` layout route). This is implemented via the condition `!pathIsIndex || node.kind === SEGMENT_TYPE_INDEX` and is a deliberate design decision to provide better UX by being permissive with missing trailing slashes.

Applied to files:

  • packages/router-generator/tests/generator/virtual-physical-layout-and-index/routes/index.tsx
  • packages/router-generator/tests/generator/virtual-physical-layout-and-index/routes/feature/route.tsx
  • packages/router-generator/tests/generator/virtual-physical-layout-and-index/routes/__root.tsx
  • packages/router-generator/tests/generator/virtual-physical-layout-and-index/routes.ts
  • packages/router-generator/tests/generator/virtual-physical-layout-and-index/routes/feature/index.tsx
  • packages/router-generator/tests/generator/virtual-physical-layout-and-index/routeTree.snapshot.ts
  • packages/router-generator/src/filesystem/physical/getRouteNodes.ts
📚 Learning: 2025-12-06T15:03:07.223Z
Learnt from: CR
Repo: TanStack/router PR: 0
File: AGENTS.md:0-0
Timestamp: 2025-12-06T15:03:07.223Z
Learning: Applies to **/*.{js,ts,tsx} : Implement ESLint rules for router best practices using the ESLint plugin router

Applied to files:

  • packages/router-generator/tests/generator/virtual-physical-layout-and-index/routes/index.tsx
  • packages/router-generator/tests/generator/virtual-physical-layout-and-index/routes.ts
  • packages/router-generator/tests/generator/virtual-physical-layout-and-index/routes/feature/index.tsx
  • packages/router-generator/tests/generator/virtual-physical-layout-and-index/routeTree.snapshot.ts
  • packages/router-generator/tests/generator/virtual-physical-layout-and-index/tsr.config.json
📚 Learning: 2025-12-06T15:03:07.223Z
Learnt from: CR
Repo: TanStack/router PR: 0
File: AGENTS.md:0-0
Timestamp: 2025-12-06T15:03:07.223Z
Learning: Use file-based routing in `src/routes/` directories or code-based routing with route definitions

Applied to files:

  • packages/router-generator/tests/generator/virtual-physical-layout-and-index/routes/feature/route.tsx
  • packages/router-generator/tests/generator/virtual-physical-layout-and-index/routes.ts
  • packages/router-generator/tests/generator/virtual-physical-layout-and-index/routes/feature/index.tsx
  • packages/router-generator/tests/generator/virtual-physical-layout-and-index/routeTree.snapshot.ts
📚 Learning: 2025-11-02T16:16:24.898Z
Learnt from: nlynzaad
Repo: TanStack/router PR: 5732
File: packages/start-client-core/src/client/hydrateStart.ts:6-9
Timestamp: 2025-11-02T16:16:24.898Z
Learning: In packages/start-client-core/src/client/hydrateStart.ts, the `import/no-duplicates` ESLint disable is necessary for imports from `#tanstack-router-entry` and `#tanstack-start-entry` because both aliases resolve to the same placeholder file (`fake-start-entry.js`) in package.json during static analysis, even though they resolve to different files at runtime.

Applied to files:

  • packages/router-generator/tests/generator/virtual-physical-layout-and-index/routeTree.snapshot.ts
📚 Learning: 2025-10-01T18:30:26.591Z
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.

Applied to files:

  • packages/router-generator/src/filesystem/physical/getRouteNodes.ts
🧬 Code graph analysis (3)
packages/router-generator/tests/generator/virtual-physical-layout-and-index/routes/index.tsx (3)
packages/router-generator/tests/generator/virtual-physical-layout-and-index/routes/__root.tsx (1)
  • Route (3-5)
packages/router-generator/tests/generator/virtual-physical-layout-and-index/routes/feature/index.tsx (1)
  • Route (3-5)
packages/router-generator/tests/generator/virtual-physical-layout-and-index/routes/feature/route.tsx (1)
  • Route (3-10)
packages/router-generator/tests/generator/virtual-physical-layout-and-index/routes/feature/route.tsx (3)
packages/router-generator/tests/generator/virtual-physical-layout-and-index/routes/__root.tsx (1)
  • Route (3-5)
packages/router-generator/tests/generator/virtual-physical-layout-and-index/routes/feature/index.tsx (1)
  • Route (3-5)
packages/router-generator/tests/generator/virtual-physical-layout-and-index/routes/index.tsx (1)
  • Route (3-5)
packages/router-generator/tests/generator/virtual-physical-layout-and-index/routes/__root.tsx (3)
packages/router-generator/tests/generator/virtual-physical-layout-and-index/routes/feature/index.tsx (1)
  • Route (3-5)
packages/router-generator/tests/generator/virtual-physical-layout-and-index/routes/feature/route.tsx (1)
  • Route (3-10)
packages/router-generator/tests/generator/virtual-physical-layout-and-index/routes/index.tsx (1)
  • Route (3-5)
🪛 ast-grep (0.40.3)
packages/router-generator/src/filesystem/physical/getRouteNodes.ts

[warning] 252-252: Regular expression constructed from variable input detected. This can lead to Regular Expression Denial of Service (ReDoS) attacks if the variable contains malicious patterns. Use libraries like 'recheck' to validate regex safety or use static patterns.
Context: new RegExp(/${config.indexToken}$)
Note: [CWE-1333] Inefficient Regular Expression Complexity [REFERENCES]
- https://owasp.org/www-community/attacks/Regular_expression_Denial_of_Service_-_ReDoS
- https://cwe.mitre.org/data/definitions/1333.html

(regexp-from-variable)


[warning] 257-257: Regular expression constructed from variable input detected. This can lead to Regular Expression Denial of Service (ReDoS) attacks if the variable contains malicious patterns. Use libraries like 'recheck' to validate regex safety or use static patterns.
Context: new RegExp(/${config.indexToken}$)
Note: [CWE-1333] Inefficient Regular Expression Complexity [REFERENCES]
- https://owasp.org/www-community/attacks/Regular_expression_Denial_of_Service_-_ReDoS
- https://cwe.mitre.org/data/definitions/1333.html

(regexp-from-variable)

⏰ 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 (8)
packages/router-generator/tests/generator/virtual-physical-layout-and-index/routes/feature/route.tsx (1)

1-10: LGTM!

This test fixture correctly sets up a layout route for /feature with an Outlet to render child routes. The path without trailing slash (/feature) is the correct convention for layout routes, which will serve as the parent for the index route at /feature/.

packages/router-generator/tests/generator/virtual-physical-layout-and-index/routes/feature/index.tsx (1)

1-5: LGTM!

This test fixture correctly defines the index route for /feature/ with a trailing slash, which is the proper convention for index routes. Combined with route.tsx, this accurately reproduces the issue #5421 scenario where both files coexist in the same directory.

packages/router-generator/src/filesystem/physical/getRouteNodes.ts (1)

247-260: Well-implemented fix for the layout/index conflict.

The logic correctly differentiates layout routes from other route types. When a route.tsx file exists at the root of a physical() mount (e.g., feature/route.tsx), it should receive an empty path '' rather than '/', allowing the sibling index.tsx to correctly claim the '/' path as the index child.

The inline comments clearly explain the rationale, which helps future maintainability. Based on learnings, this aligns with how pathless_layout routes handle path inheritance for child routes.

packages/router-generator/tests/generator/virtual-physical-layout-and-index/routes/index.tsx (1)

1-5: LGTM!

Standard root index route fixture for the test scenario.

packages/router-generator/tests/generator/virtual-physical-layout-and-index/routes/__root.tsx (1)

1-5: LGTM!

Standard root route setup with Outlet for rendering child routes.

packages/router-generator/tests/generator/virtual-physical-layout-and-index/routes.ts (1)

1-6: LGTM!

This configuration correctly sets up the reproduction scenario from issue #5421. The physical('/feature', 'feature') mount should now work correctly with both route.tsx (layout) and index.tsx (index child) in the feature directory, thanks to the fix in getRouteNodes.ts.

packages/router-generator/tests/generator/virtual-physical-layout-and-index/tsr.config.json (1)

1-5: LGTM!

Standard test configuration for the virtual-physical-layout-and-index scenario.

packages/router-generator/tests/generator/virtual-physical-layout-and-index/routeTree.snapshot.ts (1)

1-104: Snapshot validates the fix.

Based on learnings, this test snapshot file is a fixture that verifies the generator's output and should be preserved as-is. The snapshot correctly shows:

  • FeatureRouteRoute with path: '/feature' as the layout route
  • FeatureIndexRoute with path: '/' as a child of FeatureRouteRoute

This confirms the fix resolves the layout/index conflict described in issue #5421.


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

@nx-cloud
Copy link

nx-cloud bot commented Dec 30, 2025

🤖 Nx Cloud AI Fix Eligible

An automatically generated fix could have helped fix failing tasks for this run, but Self-healing CI is disabled for this workspace. Visit workspace settings to enable it and get automatic fixes in future runs.

To disable these notifications, a workspace admin can disable them in workspace settings.


View your CI Pipeline Execution ↗ for commit a678587

Command Status Duration Result
nx affected --targets=test:eslint,test:unit,tes... ❌ Failed 16m 1s View ↗
nx run-many --target=build --exclude=examples/*... ✅ Succeeded 34s View ↗

☁️ Nx Cloud last updated this comment at 2025-12-30 01:56:46 UTC

@pkg-pr-new
Copy link

pkg-pr-new bot commented Dec 30, 2025

More templates

@tanstack/arktype-adapter

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

@tanstack/eslint-plugin-router

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

@tanstack/history

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

@tanstack/nitro-v2-vite-plugin

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

@tanstack/react-router

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

@tanstack/react-router-devtools

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

@tanstack/react-router-ssr-query

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

@tanstack/react-start

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

@tanstack/react-start-client

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

@tanstack/react-start-server

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

@tanstack/router-cli

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

@tanstack/router-core

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

@tanstack/router-devtools

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

@tanstack/router-devtools-core

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

@tanstack/router-generator

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

@tanstack/router-plugin

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

@tanstack/router-ssr-query-core

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

@tanstack/router-utils

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

@tanstack/router-vite-plugin

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

@tanstack/solid-router

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

@tanstack/solid-router-devtools

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

@tanstack/solid-router-ssr-query

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

@tanstack/solid-start

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

@tanstack/solid-start-client

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

@tanstack/solid-start-server

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

@tanstack/start-client-core

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

@tanstack/start-fn-stubs

npm i https://pkg.pr.new/TanStack/router/@tanstack/start-fn-stubs@6252

@tanstack/start-plugin-core

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

@tanstack/start-server-core

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

@tanstack/start-static-server-functions

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

@tanstack/start-storage-context

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

@tanstack/valibot-adapter

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

@tanstack/virtual-file-routes

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

@tanstack/vue-router

npm i https://pkg.pr.new/TanStack/router/@tanstack/vue-router@6252

@tanstack/vue-router-devtools

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

@tanstack/vue-router-ssr-query

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

@tanstack/vue-start

npm i https://pkg.pr.new/TanStack/router/@tanstack/vue-start@6252

@tanstack/vue-start-client

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

@tanstack/vue-start-server

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

@tanstack/zod-adapter

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

commit: a678587

@schiller-manuel schiller-manuel merged commit 78d626f into main Dec 30, 2025
5 of 6 checks passed
@schiller-manuel schiller-manuel deleted the fix-5421 branch December 30, 2025 02:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

route.tsx and index.tsx conflict when using virtual routing and physical()

2 participants