Skip to content

Refactor: Move core SSR functions into its own packages #4495

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

Open
wants to merge 31 commits into
base: main
Choose a base branch
from

Conversation

nlynzaad
Copy link

@nlynzaad nlynzaad commented Jun 21, 2025

This centralizes the SSR generic logic into its own package and enables pure Tanstack Router projects to not depend on Start imports for SSR functions.

This should also be non-breaking as all Start core packages either re-exports these or implements its own functionalities.

Going forward this should enable Start specific changes to the rendering functions to be isolated to Start without adversely affecting Router packages/projects that depends on the SSR functionality.

This PR currently adds 2 new packages: router-core-ssr and react-router-ssr. A similar package, to react-router-ssr, can be created for solid-router going forward if required.

@nlynzaad
Copy link
Author

@schiller-manuel as discussed in #4429. Herewith proposed refactor of the generic SSR functions into its own packages

@nlynzaad nlynzaad marked this pull request as ready for review June 21, 2025 15:19
SeanCassiere

This comment was marked as resolved.

Copy link

nx-cloud bot commented Jun 22, 2025

View your CI Pipeline Execution ↗ for commit 06b39e4.

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

☁️ Nx Cloud last updated this comment at 2025-06-22 22:29:01 UTC

@nlynzaad nlynzaad requested a review from SeanCassiere June 22, 2025 12:21
@nlynzaad
Copy link
Author

Apologies for the pipeline failures.

Hope the lock file was the last of the build issues.

Tests and builds run fine locally.

Copy link

pkg-pr-new bot commented Jun 22, 2025

More templates

@tanstack/arktype-adapter

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

@tanstack/directive-functions-plugin

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

@tanstack/eslint-plugin-router

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

@tanstack/history

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

@tanstack/react-router

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

@tanstack/react-router-devtools

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

@tanstack/react-router-ssr

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

@tanstack/react-router-with-query

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

@tanstack/react-start

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

@tanstack/react-start-client

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

@tanstack/react-start-plugin

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

@tanstack/react-start-server

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

@tanstack/router-cli

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

@tanstack/router-core

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

@tanstack/router-devtools

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

@tanstack/router-devtools-core

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

@tanstack/router-generator

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

@tanstack/router-plugin

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

@tanstack/router-ssr-core

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

@tanstack/router-utils

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

@tanstack/router-vite-plugin

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

@tanstack/server-functions-plugin

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

@tanstack/solid-router

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

@tanstack/solid-router-devtools

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

@tanstack/solid-router-ssr

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

@tanstack/solid-start

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

@tanstack/solid-start-client

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

@tanstack/solid-start-plugin

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

@tanstack/solid-start-server

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

@tanstack/start-client-core

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

@tanstack/start-plugin-core

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

@tanstack/start-server-core

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

@tanstack/start-server-functions-client

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

@tanstack/start-server-functions-fetcher

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

@tanstack/start-server-functions-server

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

@tanstack/valibot-adapter

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

@tanstack/virtual-file-routes

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

@tanstack/zod-adapter

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

commit: 06b39e4

rename the render functions for `toString` and `toStream`
to drop the `react` and `solid` prefixes

reactRenderToStream -> renderRouterToStream
reactRenderToString -> renderRouterToString
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.

2 participants