From 93351058bf3126879a81be581e2c8fb57d02847f Mon Sep 17 00:00:00 2001 From: SeanCassiere <33615041+SeanCassiere@users.noreply.github.com> Date: Mon, 18 May 2026 11:15:21 +1200 Subject: [PATCH 1/9] refactor(start-client-core): make Start register augmentable via react-start Add a Start-owned Register interface that extends router-core's Register, then export and consume it from `start-client-core`. This lets declarations against `@tanstack/react-start`, including `server.requestContext`, flow into Start-specific type consumers instead of requiring users to augment `@tanstack/router-core` or `@tanstack/react-router` directly. Router-core Register augmentations remain compatible because Start's Register extends the core Register. --- packages/start-client-core/src/createMiddleware.ts | 2 +- packages/start-client-core/src/createStart.ts | 2 +- packages/start-client-core/src/index.tsx | 2 +- packages/start-client-core/src/register.ts | 3 +++ 4 files changed, 6 insertions(+), 3 deletions(-) create mode 100644 packages/start-client-core/src/register.ts diff --git a/packages/start-client-core/src/createMiddleware.ts b/packages/start-client-core/src/createMiddleware.ts index 8f4ff474fc..af54b5bdcd 100644 --- a/packages/start-client-core/src/createMiddleware.ts +++ b/packages/start-client-core/src/createMiddleware.ts @@ -12,11 +12,11 @@ import type { Constrain, Expand, IntersectAssign, - Register, ResolveValidatorInput, ResolveValidatorOutput, ValidateSerializableInput, } from '@tanstack/router-core' +import type { Register } from './register' export type CreateMiddlewareFn = ( options?: { diff --git a/packages/start-client-core/src/createStart.ts b/packages/start-client-core/src/createStart.ts index e59adb452b..39113beab0 100644 --- a/packages/start-client-core/src/createStart.ts +++ b/packages/start-client-core/src/createStart.ts @@ -1,5 +1,6 @@ import { createMiddleware } from './createMiddleware' import type { TSS_SERVER_FUNCTION } from './constants' +import type { Register } from './register' import type { AnyFunctionMiddleware, AnyRequestMiddleware, @@ -8,7 +9,6 @@ import type { import type { CustomFetch } from './createServerFn' import type { AnySerializationAdapter, - Register, SSROption, } from '@tanstack/router-core' diff --git a/packages/start-client-core/src/index.tsx b/packages/start-client-core/src/index.tsx index 5bf09c4440..ac83ff177c 100644 --- a/packages/start-client-core/src/index.tsx +++ b/packages/start-client-core/src/index.tsx @@ -126,7 +126,7 @@ export type { StartInstance, StartInstanceOptions, } from './createStart' -export type { Register } from '@tanstack/router-core' +export type { Register } from './register' export { getRouterInstance } from './getRouterInstance' export { getDefaultSerovalPlugins } from './getDefaultSerovalPlugins' diff --git a/packages/start-client-core/src/register.ts b/packages/start-client-core/src/register.ts new file mode 100644 index 0000000000..1821c69c6c --- /dev/null +++ b/packages/start-client-core/src/register.ts @@ -0,0 +1,3 @@ +import type { Register as RouterCoreRegister } from '@tanstack/router-core' + +export interface Register extends RouterCoreRegister {} From f8692b78b45bb58dac947ae38cb195a13f277eb6 Mon Sep 17 00:00:00 2001 From: SeanCassiere <33615041+SeanCassiere@users.noreply.github.com> Date: Mon, 18 May 2026 11:16:25 +1200 Subject: [PATCH 2/9] refactor(start-server-core): use Start register in start handler types Import Register from `@tanstack/start-client-core` in `createStartHandler` instead of `@tanstack/router-core`. This makes the server handler default to Start's augmentation surface, allowing `@tanstack/react-start` Register declarations such as `server.requestContext` to flow into RequestHandler typing. --- packages/start-server-core/src/createStartHandler.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/start-server-core/src/createStartHandler.ts b/packages/start-server-core/src/createStartHandler.ts index 7d47388a3c..5c498b4395 100644 --- a/packages/start-server-core/src/createStartHandler.ts +++ b/packages/start-server-core/src/createStartHandler.ts @@ -36,6 +36,7 @@ import type { AnyFunctionMiddleware, AnyRequestMiddleware, AnyStartInstanceOptions, + Register, RouteMethod, RouteMethodHandlerFn, RouterEntry, @@ -46,7 +47,6 @@ import type { AnyRoute, AnyRouter, AnySerializationAdapter, - Register, } from '@tanstack/router-core' import type { HandlerCallback } from '@tanstack/router-core/ssr/server' import type { FinalManifestOptions } from './finalManifest' From 5f684868068f15eeabda8df74bf09a1886620ac3 Mon Sep 17 00:00:00 2001 From: SeanCassiere <33615041+SeanCassiere@users.noreply.github.com> Date: Mon, 18 May 2026 11:18:50 +1200 Subject: [PATCH 3/9] refactor(react-start,solid-start,vue-start): default entry to use Start's Register type --- packages/react-start/src/default-entry/server.ts | 2 +- packages/solid-start/src/default-entry/server.ts | 2 +- packages/vue-start/src/default-entry/server.ts | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/react-start/src/default-entry/server.ts b/packages/react-start/src/default-entry/server.ts index 8e734a7e49..32e023fe92 100644 --- a/packages/react-start/src/default-entry/server.ts +++ b/packages/react-start/src/default-entry/server.ts @@ -2,7 +2,7 @@ import { createStartHandler, defaultStreamHandler, } from '@tanstack/react-start/server' -import type { Register } from '@tanstack/react-router' +import type { Register } from '@tanstack/react-start' import type { RequestHandler } from '@tanstack/react-start/server' const fetch = createStartHandler(defaultStreamHandler) diff --git a/packages/solid-start/src/default-entry/server.ts b/packages/solid-start/src/default-entry/server.ts index b8f3105c6a..0b452ada3c 100644 --- a/packages/solid-start/src/default-entry/server.ts +++ b/packages/solid-start/src/default-entry/server.ts @@ -2,7 +2,7 @@ import { createStartHandler, defaultStreamHandler, } from '@tanstack/solid-start/server' -import type { Register } from '@tanstack/solid-router' +import type { Register } from '@tanstack/solid-start' import type { RequestHandler } from '@tanstack/solid-start/server' const fetch = createStartHandler(defaultStreamHandler) diff --git a/packages/vue-start/src/default-entry/server.ts b/packages/vue-start/src/default-entry/server.ts index 5729a469d3..94ac3011ec 100644 --- a/packages/vue-start/src/default-entry/server.ts +++ b/packages/vue-start/src/default-entry/server.ts @@ -2,7 +2,7 @@ import { createStartHandler, defaultStreamHandler, } from '@tanstack/vue-start/server' -import type { Register } from '@tanstack/vue-router' +import type { Register } from '@tanstack/vue-start' import type { RequestHandler } from '@tanstack/vue-start/server' const fetch = createStartHandler(defaultStreamHandler) From 088cf4975adb7f286ac47312f65211600731ce8d Mon Sep 17 00:00:00 2001 From: SeanCassiere <33615041+SeanCassiere@users.noreply.github.com> Date: Mon, 18 May 2026 11:21:38 +1200 Subject: [PATCH 4/9] test(e2e): add checks for this type declaration to the build of basic e2e sandboxes --- e2e/react-start/basic/src/server.ts | 15 ++++++++++++++- e2e/solid-start/basic/src/server.ts | 15 ++++++++++++++- e2e/vue-start/basic/src/server.ts | 15 ++++++++++++++- 3 files changed, 42 insertions(+), 3 deletions(-) diff --git a/e2e/react-start/basic/src/server.ts b/e2e/react-start/basic/src/server.ts index 00d13b4d17..c89ad5e942 100644 --- a/e2e/react-start/basic/src/server.ts +++ b/e2e/react-start/basic/src/server.ts @@ -4,8 +4,21 @@ import handler from '@tanstack/react-start/server-entry' console.log("[server-entry]: using custom server entry in 'src/server.ts'") +declare module '@tanstack/react-start' { + interface Register { + server: { + /** + * This is just a test to make sure that the typing of the request context is working correctly in the custom server entry. + */ + requestContext: { + foo: string + } + } + } +} + export default { fetch(request: Request) { - return handler.fetch(request) + return handler.fetch(request, { context: { foo: 'bar' } }) }, } diff --git a/e2e/solid-start/basic/src/server.ts b/e2e/solid-start/basic/src/server.ts index d48e6df349..a6095893b6 100644 --- a/e2e/solid-start/basic/src/server.ts +++ b/e2e/solid-start/basic/src/server.ts @@ -4,8 +4,21 @@ import handler from '@tanstack/solid-start/server-entry' console.log("[server-entry]: using custom server entry in 'src/server.ts'") +declare module '@tanstack/solid-start' { + interface Register { + server: { + /** + * This is just a test to make sure that the typing of the request context is working correctly in the custom server entry. + */ + requestContext: { + foo: string + } + } + } +} + export default { fetch(request: Request) { - return handler.fetch(request) + return handler.fetch(request, { context: { foo: 'bar' } }) }, } diff --git a/e2e/vue-start/basic/src/server.ts b/e2e/vue-start/basic/src/server.ts index 8195b0ae95..249f259356 100644 --- a/e2e/vue-start/basic/src/server.ts +++ b/e2e/vue-start/basic/src/server.ts @@ -4,8 +4,21 @@ import handler from '@tanstack/vue-start/server-entry' console.log("[server-entry]: using custom server entry in 'src/server.ts'") +declare module '@tanstack/vue-start' { + interface Register { + server: { + /** + * This is just a test to make sure that the typing of the request context is working correctly in the custom server entry. + */ + requestContext: { + foo: string + } + } + } +} + export default { fetch(request: Request) { - return handler.fetch(request) + return handler.fetch(request, { context: { foo: 'bar' } }) }, } From d3a6b5031a9f3b0e582b4f7207c7779b2efcf171 Mon Sep 17 00:00:00 2001 From: SeanCassiere <33615041+SeanCassiere@users.noreply.github.com> Date: Mon, 18 May 2026 11:22:14 +1200 Subject: [PATCH 5/9] revert: docs(start): use router package for module declaration to type the request context (#7427) This reverts commit 2506478fa81f8603eb69d7ce4b17d3280dececfb since these changes now can infer the types off of Start's Register interface --- docs/start/framework/react/guide/server-entry-point.md | 4 ++-- docs/start/framework/solid/guide/server-entry-point.md | 6 +----- 2 files changed, 3 insertions(+), 7 deletions(-) diff --git a/docs/start/framework/react/guide/server-entry-point.md b/docs/start/framework/react/guide/server-entry-point.md index 5acc8ee550..90d6b2270c 100644 --- a/docs/start/framework/react/guide/server-entry-point.md +++ b/docs/start/framework/react/guide/server-entry-point.md @@ -64,7 +64,7 @@ export default createServerEntry({ When your server needs to pass additional, typed data into request handlers (for example, authenticated user info, a database connection, or per-request flags), register a request context type via TypeScript module augmentation. The registered context is delivered as the second argument to the server `fetch` handler and is available throughout the server-side middleware chain — including global middleware, request/function middleware, server routes, server functions, and the router itself. -To add types for your request context, augment the `Register` interface from `@tanstack/react-router` with a `server.requestContext` property. The runtime `context` you pass to `handler.fetch` will then match that type. Example: +To add types for your request context, augment the `Register` interface from `@tanstack/react-start` with a `server.requestContext` property. The runtime `context` you pass to `handler.fetch` will then match that type. Example: ```tsx import handler, { createServerEntry } from '@tanstack/react-start/server-entry' @@ -74,7 +74,7 @@ type MyRequestContext = { foo: number } -declare module '@tanstack/react-router' { +declare module '@tanstack/react-start' { interface Register { server: { requestContext: MyRequestContext diff --git a/docs/start/framework/solid/guide/server-entry-point.md b/docs/start/framework/solid/guide/server-entry-point.md index 80c226eaae..ef261fe9b6 100644 --- a/docs/start/framework/solid/guide/server-entry-point.md +++ b/docs/start/framework/solid/guide/server-entry-point.md @@ -1,9 +1,5 @@ --- ref: docs/start/framework/react/guide/server-entry-point.md replace: - { - '@tanstack/react-start': '@tanstack/solid-start', - '@tanstack/react-router': '@tanstack/solid-router', - 'React': 'SolidJS', - } + { '@tanstack/react-start': '@tanstack/solid-start', 'React': 'SolidJS' } --- From ebebc9ca4b43a6ba30b6651ed9356c47e4e09d3b Mon Sep 17 00:00:00 2001 From: SeanCassiere <33615041+SeanCassiere@users.noreply.github.com> Date: Fri, 22 May 2026 11:43:23 +1200 Subject: [PATCH 6/9] fix(start): align request handler types with registered server context Use the shared router-core Register for Start request handler types while preserving the documented custom server entry shape. Request options now derive required context from Register.server.requestContext, but framework ServerEntry wrappers still accept the universal fetch handler form with optional request options. --- .../react-start/src/default-entry/server.ts | 14 ++++++---- .../solid-start/src/default-entry/server.ts | 14 ++++++---- .../start-client-core/src/createMiddleware.ts | 2 +- packages/start-client-core/src/createStart.ts | 2 +- packages/start-client-core/src/index.tsx | 2 +- packages/start-client-core/src/register.ts | 3 --- .../src/createStartHandler.ts | 10 +++---- packages/start-server-core/src/index.tsx | 5 +++- .../start-server-core/src/request-handler.ts | 26 ++++++------------- .../start-server-core/src/request-response.ts | 10 ++++--- .../vue-start/src/default-entry/server.ts | 14 ++++++---- 11 files changed, 54 insertions(+), 48 deletions(-) delete mode 100644 packages/start-client-core/src/register.ts diff --git a/packages/react-start/src/default-entry/server.ts b/packages/react-start/src/default-entry/server.ts index 32e023fe92..155194f9e9 100644 --- a/packages/react-start/src/default-entry/server.ts +++ b/packages/react-start/src/default-entry/server.ts @@ -3,17 +3,21 @@ import { defaultStreamHandler, } from '@tanstack/react-start/server' import type { Register } from '@tanstack/react-start' -import type { RequestHandler } from '@tanstack/react-start/server' +import type { RequestOptions } from '@tanstack/react-start/server' const fetch = createStartHandler(defaultStreamHandler) -// Providing `RequestHandler` from `@tanstack/react-start/server` is required so that the output types don't import it from `@tanstack/start-server-core` -export type ServerEntry = { fetch: RequestHandler } +export type ServerEntry = { + fetch: ( + request: Request, + opts?: RequestOptions, + ) => Promise | Response +} export function createServerEntry(entry: ServerEntry): ServerEntry { return { - async fetch(...args) { - return await entry.fetch(...args) + async fetch(request, opts) { + return await entry.fetch(request, opts) }, } } diff --git a/packages/solid-start/src/default-entry/server.ts b/packages/solid-start/src/default-entry/server.ts index 0b452ada3c..aefdc14702 100644 --- a/packages/solid-start/src/default-entry/server.ts +++ b/packages/solid-start/src/default-entry/server.ts @@ -3,17 +3,21 @@ import { defaultStreamHandler, } from '@tanstack/solid-start/server' import type { Register } from '@tanstack/solid-start' -import type { RequestHandler } from '@tanstack/solid-start/server' +import type { RequestOptions } from '@tanstack/solid-start/server' const fetch = createStartHandler(defaultStreamHandler) -// Providing `RequestHandler` from `@tanstack/solid-start/server` is required so that the output types don't import it from `@tanstack/start-server-core` -export type ServerEntry = { fetch: RequestHandler } +export type ServerEntry = { + fetch: ( + request: Request, + opts?: RequestOptions, + ) => Promise | Response +} export function createServerEntry(entry: ServerEntry): ServerEntry { return { - async fetch(...args) { - return await entry.fetch(...args) + async fetch(request, opts) { + return await entry.fetch(request, opts) }, } } diff --git a/packages/start-client-core/src/createMiddleware.ts b/packages/start-client-core/src/createMiddleware.ts index af54b5bdcd..8f4ff474fc 100644 --- a/packages/start-client-core/src/createMiddleware.ts +++ b/packages/start-client-core/src/createMiddleware.ts @@ -12,11 +12,11 @@ import type { Constrain, Expand, IntersectAssign, + Register, ResolveValidatorInput, ResolveValidatorOutput, ValidateSerializableInput, } from '@tanstack/router-core' -import type { Register } from './register' export type CreateMiddlewareFn = ( options?: { diff --git a/packages/start-client-core/src/createStart.ts b/packages/start-client-core/src/createStart.ts index 39113beab0..e59adb452b 100644 --- a/packages/start-client-core/src/createStart.ts +++ b/packages/start-client-core/src/createStart.ts @@ -1,6 +1,5 @@ import { createMiddleware } from './createMiddleware' import type { TSS_SERVER_FUNCTION } from './constants' -import type { Register } from './register' import type { AnyFunctionMiddleware, AnyRequestMiddleware, @@ -9,6 +8,7 @@ import type { import type { CustomFetch } from './createServerFn' import type { AnySerializationAdapter, + Register, SSROption, } from '@tanstack/router-core' diff --git a/packages/start-client-core/src/index.tsx b/packages/start-client-core/src/index.tsx index ac83ff177c..5bf09c4440 100644 --- a/packages/start-client-core/src/index.tsx +++ b/packages/start-client-core/src/index.tsx @@ -126,7 +126,7 @@ export type { StartInstance, StartInstanceOptions, } from './createStart' -export type { Register } from './register' +export type { Register } from '@tanstack/router-core' export { getRouterInstance } from './getRouterInstance' export { getDefaultSerovalPlugins } from './getDefaultSerovalPlugins' diff --git a/packages/start-client-core/src/register.ts b/packages/start-client-core/src/register.ts deleted file mode 100644 index 1821c69c6c..0000000000 --- a/packages/start-client-core/src/register.ts +++ /dev/null @@ -1,3 +0,0 @@ -import type { Register as RouterCoreRegister } from '@tanstack/router-core' - -export interface Register extends RouterCoreRegister {} diff --git a/packages/start-server-core/src/createStartHandler.ts b/packages/start-server-core/src/createStartHandler.ts index 5c498b4395..c3a934c1a7 100644 --- a/packages/start-server-core/src/createStartHandler.ts +++ b/packages/start-server-core/src/createStartHandler.ts @@ -42,7 +42,7 @@ import type { RouterEntry, StartEntry, } from '@tanstack/start-client-core' -import type { RequestHandler } from './request-handler' +import type { RequestHandler, RequestOptions } from './request-handler' import type { AnyRoute, AnyRouter, @@ -300,7 +300,7 @@ function handlerToMiddleware( * }) * ``` */ -export function createStartHandler( +export function createStartHandler( cbOrOptions: HandlerCallback | CreateStartHandlerOptions, ): RequestHandler { const handlerOptions: FinalManifestOptions = @@ -323,8 +323,8 @@ export function createStartHandler( } const startRequestResolver: RequestHandler = async ( - request, - requestOpts, + request: Request, + requestOpts?: RequestOptions, ) => { let router: AnyRouter | null = null as AnyRouter | null let cbWillCleanup = false as boolean @@ -585,7 +585,7 @@ export function createStartHandler( } } - return requestHandler(startRequestResolver) + return requestHandler(startRequestResolver) as RequestHandler } async function handleRedirectResponse( diff --git a/packages/start-server-core/src/index.tsx b/packages/start-server-core/src/index.tsx index ee818e0cf1..e7a6d235c4 100644 --- a/packages/start-server-core/src/index.tsx +++ b/packages/start-server-core/src/index.tsx @@ -28,7 +28,10 @@ export * from './virtual-modules' export { HEADERS } from './constants' -export type { RequestHandler, RequestOptions } from './request-handler' +export type { + RequestHandler, + RequestOptions, +} from './request-handler' export type { SessionConfig } from './session' diff --git a/packages/start-server-core/src/request-handler.ts b/packages/start-server-core/src/request-handler.ts index e6729cd137..7479b2eeb4 100644 --- a/packages/start-server-core/src/request-handler.ts +++ b/packages/start-server-core/src/request-handler.ts @@ -1,4 +1,5 @@ import type { OnEarlyHints, ResponseLinkHeaderOptions } from './early-hints' +import type { Register } from '@tanstack/start-client-core' type BaseContext = { nonce?: string @@ -66,22 +67,11 @@ export type RequestOptions = EarlyHintsOptions & : { context: TRequestContext & BaseContext } : { context?: BaseContext }) -// Utility type: true if T has any required keys, else false -type HasRequired = keyof T extends never - ? false - : { - [K in keyof T]-?: undefined extends T[K] ? never : K - }[keyof T] extends never - ? false - : true +export type RequestHandlerParameters = + {} extends RequestOptions + ? [request: Request, opts?: RequestOptions] + : [request: Request, opts: RequestOptions] -export type RequestHandler = - HasRequired> extends true - ? ( - request: Request, - opts: RequestOptions, - ) => Promise | Response - : ( - request: Request, - opts?: RequestOptions, - ) => Promise | Response +export type RequestHandler = ( + ...args: RequestHandlerParameters +) => Promise | Response diff --git a/packages/start-server-core/src/request-response.ts b/packages/start-server-core/src/request-response.ts index e0ad8a336a..4f0b87d786 100644 --- a/packages/start-server-core/src/request-response.ts +++ b/packages/start-server-core/src/request-response.ts @@ -37,6 +37,7 @@ import type { SessionUpdate, } from './session' import type { StandardSchemaV1 } from '@standard-schema/spec' +import type { Register } from '@tanstack/start-client-core' import type { RequestHandler } from './request-handler' interface StartEvent { @@ -118,10 +119,13 @@ function attachResponseHeaders( return value } -export function requestHandler( +export function requestHandler( handler: RequestHandler, ) { - return (request: Request, requestOpts: any): Promise | Response => { + return (( + request: Request, + requestOpts?: any, + ): Promise | Response => { let h3Event: H3Event try { h3Event = new H3Event(request) @@ -139,7 +143,7 @@ export function requestHandler( handler(request, requestOpts), ) return h3_toResponse(attachResponseHeaders(response, h3Event), h3Event) - } + }) as RequestHandler } function getH3Event() { diff --git a/packages/vue-start/src/default-entry/server.ts b/packages/vue-start/src/default-entry/server.ts index 94ac3011ec..6bc0b0c415 100644 --- a/packages/vue-start/src/default-entry/server.ts +++ b/packages/vue-start/src/default-entry/server.ts @@ -3,17 +3,21 @@ import { defaultStreamHandler, } from '@tanstack/vue-start/server' import type { Register } from '@tanstack/vue-start' -import type { RequestHandler } from '@tanstack/vue-start/server' +import type { RequestOptions } from '@tanstack/vue-start/server' const fetch = createStartHandler(defaultStreamHandler) -// Providing `RequestHandler` from `@tanstack/vue-start/server` is required so that the output types don't import it from `@tanstack/start-server-core` -export type ServerEntry = { fetch: RequestHandler } +export type ServerEntry = { + fetch: ( + request: Request, + opts?: RequestOptions, + ) => Promise | Response +} export function createServerEntry(entry: ServerEntry): ServerEntry { return { - async fetch(...args) { - return await entry.fetch(...args) + async fetch(request, opts) { + return await entry.fetch(request, opts) }, } } From d6b063512670ff8896dff9a3e7d87f1df6930659 Mon Sep 17 00:00:00 2001 From: SeanCassiere <33615041+SeanCassiere@users.noreply.github.com> Date: Fri, 22 May 2026 11:43:30 +1200 Subject: [PATCH 7/9] chore: add changeset --- .changeset/thick-sloths-write.md | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 .changeset/thick-sloths-write.md diff --git a/.changeset/thick-sloths-write.md b/.changeset/thick-sloths-write.md new file mode 100644 index 0000000000..de7726c728 --- /dev/null +++ b/.changeset/thick-sloths-write.md @@ -0,0 +1,9 @@ +--- +'@tanstack/start-client-core': patch +'@tanstack/start-server-core': patch +'@tanstack/react-start': patch +'@tanstack/solid-start': patch +'@tanstack/vue-start': patch +--- + +fix(start): align request handler types with registered server context From 714d5e2e9ed95cc6782ada24a94a9e19b4e879da Mon Sep 17 00:00:00 2001 From: SeanCassiere <33615041+SeanCassiere@users.noreply.github.com> Date: Fri, 22 May 2026 12:37:37 +1200 Subject: [PATCH 8/9] test(e2e): update type-only request handler import --- .../src/routes/type-only-protected-import.tsx | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/e2e/react-start/import-protection/src/routes/type-only-protected-import.tsx b/e2e/react-start/import-protection/src/routes/type-only-protected-import.tsx index 8f20802637..75c4b38945 100644 --- a/e2e/react-start/import-protection/src/routes/type-only-protected-import.tsx +++ b/e2e/react-start/import-protection/src/routes/type-only-protected-import.tsx @@ -1,9 +1,10 @@ import { createFileRoute } from '@tanstack/react-router' -import { type RequestHandler } from '@tanstack/react-start/server' +import type { Register } from '@tanstack/react-start' +import type { RequestHandler } from '@tanstack/react-start/server' import type { TypeOnlySecret } from '../violations/type-only.server' type TypeOnlyStatus = TypeOnlySecret & { - requestHandler?: RequestHandler> + requestHandler?: RequestHandler } const status: TypeOnlyStatus = { From 73a9c6db5bfd854b81715cf3610ea4976fc14211 Mon Sep 17 00:00:00 2001 From: "autofix-ci[bot]" <114827586+autofix-ci[bot]@users.noreply.github.com> Date: Fri, 22 May 2026 00:39:22 +0000 Subject: [PATCH 9/9] ci: apply automated fixes --- packages/start-server-core/src/index.tsx | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/packages/start-server-core/src/index.tsx b/packages/start-server-core/src/index.tsx index e7a6d235c4..ee818e0cf1 100644 --- a/packages/start-server-core/src/index.tsx +++ b/packages/start-server-core/src/index.tsx @@ -28,10 +28,7 @@ export * from './virtual-modules' export { HEADERS } from './constants' -export type { - RequestHandler, - RequestOptions, -} from './request-handler' +export type { RequestHandler, RequestOptions } from './request-handler' export type { SessionConfig } from './session'