-
-
Notifications
You must be signed in to change notification settings - Fork 329
feat: first draft of tanstack-start-solid-v2 #817
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
LadyBluenotes
merged 27 commits into
TanStack:main
from
brenelz:tanstack-start-solid-v2
Apr 10, 2026
Merged
Changes from 18 commits
Commits
Show all changes
27 commits
Select commit
Hold shift + click to select a range
6fd0965
feat: first draft of tanstack-start-solid-v2
brenelz 1237e8d
vite-plugin-solid devDependencies
birkskyum be12f5f
vite-plugin-solid pnpm
birkskyum ed69cec
author list
birkskyum c8ac5db
add note on solid-query
birkskyum 712f36f
spaces
birkskyum f0c575f
@tanstack/solid-router-ssr-query
birkskyum ad57c15
use package manager comp
birkskyum 8c513a5
adjust ranges
birkskyum 7334bec
grammar
birkskyum 91abc48
elaborate on solid v2 highligts
birkskyum 13ac2b4
bump pre-release and add devtools
birkskyum 17f9ff5
revert list
birkskyum 6c3343a
add header
birkskyum 2bfc9f0
query
birkskyum b1931cf
9th
birkskyum 196e5b8
fix package manager tabs for single-framework posts
brenelz 1cfe831
2026-04-10
birkskyum e360bd9
polish
birkskyum c4c97eb
lands
birkskyum 169f020
support
birkskyum ddc7755
solid v2 beta
birkskyum 8ef9a95
excerpt
birkskyum 6c4399d
Solid 2.0 Beta Support in TanStack Router, Start, and Query
birkskyum 4584e94
excited
birkskyum 6c79e49
lockstep
birkskyum fe153a2
tweaks
birkskyum File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,67 @@ | ||
| --- | ||
| title: 'Solid 2.0 Beta Support in TanStack Router, Start and Query' | ||
| published: 2026-04-10 | ||
| excerpt: Solid 2.0 beta support is now available in TanStack Router, Start and Query, so you can start experimenting with Solid's next major release in real applications today. | ||
| authors: | ||
| - Brenley Dueck | ||
| - Birk Skyum | ||
| --- | ||
|
|
||
|  | ||
|
|
||
| Today we're excited to release support for the Solid 2.0 beta in TanStack Router, Start and Query! | ||
|
|
||
| Solid 2.0 introduces some genuinely exciting new capabilities, and we wanted to make sure you could try them in real applications, not just small demos. If you're experimenting with Solid 2.0 and need a full-stack app framework, you have come to the right place. | ||
|
|
||
| ## How to Use It Today | ||
|
|
||
| You can try it today in one of two ways: | ||
|
|
||
| - Start from one of our [Solid examples](https://github.com/TanStack/router/tree/solid-router-v2-pre/examples/solid) | ||
| - Upgrade an existing TanStack Router or TanStack Start app to the beta versions below | ||
|
|
||
| If you're upgrading an existing app, update your dependencies to: | ||
|
|
||
| <!-- ::start:tabs variant="package-manager" mode="install" --> | ||
|
|
||
| solid: @tanstack/solid-router@^2.0.0-beta.11 @tanstack/solid-start@^2.0.0-beta.12 @tanstack/solid-router-devtools@^2.0.0-beta.8 solid-js@^2.0.0-beta.5 @solidjs/web@^2.0.0-beta.5 | ||
|
|
||
| <!-- ::end:tabs --> | ||
|
|
||
| <!-- ::start:tabs variant="package-manager" mode="dev-install" --> | ||
|
|
||
| solid: vite-plugin-solid@^3.0.0-next.4 | ||
|
|
||
| <!-- ::end:tabs --> | ||
|
|
||
| If you use TanStack Query, also add: | ||
|
|
||
| <!-- ::start:tabs variant="package-manager" mode="install" --> | ||
|
|
||
| solid: @tanstack/solid-query@^6.0.0-beta.3 @tanstack/solid-query-devtools@^6.0.0-beta.3 @tanstack/solid-router-ssr-query@^2.0.0-beta.12 | ||
|
|
||
| <!-- ::end:tabs --> | ||
|
|
||
| The TanStack APIs are mostly unchanged, but Solid 2.0 itself includes breaking changes. If you're upgrading an existing Solid app, make sure to read the official [Solid 2.0 migration guide](https://github.com/solidjs/solid/blob/next/documentation/solid-2.0/MIGRATION.md). | ||
|
|
||
| ## Why This Matters | ||
|
|
||
| Solid 2.0 is a major step forward for the framework. It unlocks capabilities that were difficult or impossible to express cleanly before, especially around async behavior, derived state, and SSR. | ||
|
|
||
| That makes this a great time to try Solid in larger applications, where routing, loading states, and server rendering start to matter a lot more. TanStack Router and TanStack Start are a natural fit there, and we wanted Solid users to be able to explore the new release without waiting around for app-level tooling to catch up. | ||
|
|
||
| Some of the highlights in Solid 2.0 include: | ||
|
|
||
| - Fine-grained non-nullable async | ||
| - Mutable derivations | ||
| - Derived signals | ||
| - Pull-based run-once SSR | ||
| - Pending UI is an expression | ||
|
|
||
| If you want to dig deeper into what's changing in Solid itself, check out the [Solid 2.0 beta discussion](https://github.com/solidjs/solid/discussions/2596) and the [Road to 2.0 discussion](https://github.com/solidjs/solid/discussions/2425). | ||
|
|
||
| ## Still Early, Please Tell Us What Breaks | ||
|
|
||
| This support is still early, and that's exactly why we want feedback now. If you try TanStack Router or TanStack Start with Solid 2.0 beta, let us know how it goes. | ||
|
|
||
| [Join the Discord](https://tlinz.com/discord) and tell us what worked, what felt rough, and what you'd like to see next. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fallback is skipped when the requested framework exists but has zero package groups.
At Line 59,
packagesByFramework[normalizedFramework]can be[](truthy), so the fallback is never used; then Line 63 returnsnull. That contradicts the fallback intent in Line 62.Proposed fix
const fallbackFramework = Object.keys(packagesByFramework).find( (framework) => packagesByFramework[framework]?.length, ) - const packageGroups = - packagesByFramework[normalizedFramework] || - (fallbackFramework ? packagesByFramework[fallbackFramework] : undefined) + const requestedPackageGroups = packagesByFramework[normalizedFramework] + const packageGroups = + requestedPackageGroups && requestedPackageGroups.length > 0 + ? requestedPackageGroups + : fallbackFramework + ? packagesByFramework[fallbackFramework] + : undefined📝 Committable suggestion
🤖 Prompt for AI Agents