From 88621b3cd85b0a6a201f659dee6798fda33c7b6d Mon Sep 17 00:00:00 2001 From: Sheraff Date: Mon, 31 Aug 2026 22:22:06 +0200 Subject: [PATCH 1/4] fix(router-core): strip internal SSR globals from declarations --- packages/router-core/src/load-client.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/router-core/src/load-client.ts b/packages/router-core/src/load-client.ts index 8a4c85c0aa..d69a3c3dce 100644 --- a/packages/router-core/src/load-client.ts +++ b/packages/router-core/src/load-client.ts @@ -2141,6 +2141,7 @@ export async function preloadClientRoute< // --- SSR hydration (client entry via @tanstack/router-core/ssr/client) --- +/** @internal */ declare global { interface Window { [GLOBAL_TSR]?: TsrSsrGlobal From 2bc6b552552e1357c4e7636290af1c5c3a50c73e Mon Sep 17 00:00:00 2001 From: Sheraff Date: Mon, 31 Aug 2026 22:27:38 +0200 Subject: [PATCH 2/4] fix(router-core): avoid stripped SSR type reference --- packages/router-core/src/load-client.ts | 1 - packages/router-core/src/ssr/types.ts | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/packages/router-core/src/load-client.ts b/packages/router-core/src/load-client.ts index d69a3c3dce..8a4c85c0aa 100644 --- a/packages/router-core/src/load-client.ts +++ b/packages/router-core/src/load-client.ts @@ -2141,7 +2141,6 @@ export async function preloadClientRoute< // --- SSR hydration (client entry via @tanstack/router-core/ssr/client) --- -/** @internal */ declare global { interface Window { [GLOBAL_TSR]?: TsrSsrGlobal diff --git a/packages/router-core/src/ssr/types.ts b/packages/router-core/src/ssr/types.ts index 27bf111843..b24c7800ae 100644 --- a/packages/router-core/src/ssr/types.ts +++ b/packages/router-core/src/ssr/types.ts @@ -3,7 +3,7 @@ import type { MakeRouteMatch } from '../Matches' export interface DehydratedMatch { i: MakeRouteMatch['id'] - b?: MakeRouteMatch['__beforeLoadContext'] + b?: Record l?: MakeRouteMatch['loaderData'] e?: MakeRouteMatch['error'] u: MakeRouteMatch['updatedAt'] From 549d684a71398296c7ac4fc840ea2ee638c1c047 Mon Sep 17 00:00:00 2001 From: Sheraff Date: Mon, 31 Aug 2026 22:29:50 +0200 Subject: [PATCH 3/4] Revert "fix(router-core): avoid stripped SSR type reference" This reverts commit 2bc6b552552e1357c4e7636290af1c5c3a50c73e. --- packages/router-core/src/load-client.ts | 1 + packages/router-core/src/ssr/types.ts | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/router-core/src/load-client.ts b/packages/router-core/src/load-client.ts index 8a4c85c0aa..d69a3c3dce 100644 --- a/packages/router-core/src/load-client.ts +++ b/packages/router-core/src/load-client.ts @@ -2141,6 +2141,7 @@ export async function preloadClientRoute< // --- SSR hydration (client entry via @tanstack/router-core/ssr/client) --- +/** @internal */ declare global { interface Window { [GLOBAL_TSR]?: TsrSsrGlobal diff --git a/packages/router-core/src/ssr/types.ts b/packages/router-core/src/ssr/types.ts index b24c7800ae..27bf111843 100644 --- a/packages/router-core/src/ssr/types.ts +++ b/packages/router-core/src/ssr/types.ts @@ -3,7 +3,7 @@ import type { MakeRouteMatch } from '../Matches' export interface DehydratedMatch { i: MakeRouteMatch['id'] - b?: Record + b?: MakeRouteMatch['__beforeLoadContext'] l?: MakeRouteMatch['loaderData'] e?: MakeRouteMatch['error'] u: MakeRouteMatch['updatedAt'] From 94e3bf04c1a767010a054acb798ac327a714d0aa Mon Sep 17 00:00:00 2001 From: Sheraff Date: Mon, 31 Aug 2026 22:56:56 +0200 Subject: [PATCH 4/4] fix(router-core): strip internal dehydrated context type --- packages/router-core/src/load-client.ts | 1 - packages/router-core/src/ssr/types.ts | 1 + 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/router-core/src/load-client.ts b/packages/router-core/src/load-client.ts index d69a3c3dce..8a4c85c0aa 100644 --- a/packages/router-core/src/load-client.ts +++ b/packages/router-core/src/load-client.ts @@ -2141,7 +2141,6 @@ export async function preloadClientRoute< // --- SSR hydration (client entry via @tanstack/router-core/ssr/client) --- -/** @internal */ declare global { interface Window { [GLOBAL_TSR]?: TsrSsrGlobal diff --git a/packages/router-core/src/ssr/types.ts b/packages/router-core/src/ssr/types.ts index 27bf111843..48b8c8d0e9 100644 --- a/packages/router-core/src/ssr/types.ts +++ b/packages/router-core/src/ssr/types.ts @@ -3,6 +3,7 @@ import type { MakeRouteMatch } from '../Matches' export interface DehydratedMatch { i: MakeRouteMatch['id'] + /** @internal */ b?: MakeRouteMatch['__beforeLoadContext'] l?: MakeRouteMatch['loaderData'] e?: MakeRouteMatch['error']