From b1684db7004fce4fd946799a059b769cea1d809f Mon Sep 17 00:00:00 2001 From: Abdullahi Mohamed <126521894+WaryaWayne@users.noreply.github.com> Date: Tue, 28 Jul 2026 23:33:09 -0400 Subject: [PATCH 1/2] fix: drop unused React Query imports from generated router MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The tanstack-query branch of the router template imports ReactNode, QueryClient and the TanstackQueryProvider default export whenever the add-on is enabled, but ReactNode and TanstackQueryProvider are only referenced inside the tRPC `Wrap` block and QueryClient is never referenced at all. Generated projects set `noUnusedLocals: true`, so a fresh scaffold ships code that violates its own tsconfig. Gates the two tRPC-only imports behind `addOnEnabled.tRPC` and removes the QueryClient import outright. setupRouterSsrQueryIntegration is deliberately left alone — it is used, and removing it silently breaks SSR query dehydration. --- .changeset/router-unused-imports.md | 12 ++++++++++++ .../frameworks/react/project/base/src/router.tsx.ejs | 7 +++---- 2 files changed, 15 insertions(+), 4 deletions(-) create mode 100644 .changeset/router-unused-imports.md diff --git a/.changeset/router-unused-imports.md b/.changeset/router-unused-imports.md new file mode 100644 index 00000000..81d81b22 --- /dev/null +++ b/.changeset/router-unused-imports.md @@ -0,0 +1,12 @@ +--- +'@tanstack/create': patch +--- + +Drop unused React Query imports from the generated React `router.tsx`. The +`tanstack-query` branch imported `ReactNode`, `QueryClient` and the +`TanstackQueryProvider` default export whenever the add-on was enabled, but +`ReactNode` and `TanstackQueryProvider` are only referenced inside the tRPC +`Wrap` block and `QueryClient` was never referenced at all. Generated projects +set `noUnusedLocals: true`, so a fresh scaffold shipped code that violates its +own tsconfig. The two tRPC-only imports are now gated behind +`addOnEnabled.tRPC` and the `QueryClient` import is removed. diff --git a/packages/create/src/frameworks/react/project/base/src/router.tsx.ejs b/packages/create/src/frameworks/react/project/base/src/router.tsx.ejs index 96459e0c..f7d18159 100644 --- a/packages/create/src/frameworks/react/project/base/src/router.tsx.ejs +++ b/packages/create/src/frameworks/react/project/base/src/router.tsx.ejs @@ -1,10 +1,9 @@ import { createRouter as createTanStackRouter } from '@tanstack/react-router' import { routeTree } from './routeTree.gen' -<% if (addOnEnabled['tanstack-query']) { %> -import type { ReactNode } from 'react' -import { QueryClient } from '@tanstack/react-query' +<% if (addOnEnabled['tanstack-query']) { %><% if (addOnEnabled.tRPC) { %> +import type { ReactNode } from 'react'<% } %> import { setupRouterSsrQueryIntegration } from "@tanstack/react-router-ssr-query"; -import TanstackQueryProvider, { getContext } from './integrations/tanstack-query/root-provider' +import <% if (addOnEnabled.tRPC) { %>TanstackQueryProvider, <% } %>{ getContext } from './integrations/tanstack-query/root-provider' <% } %> export function getRouter() { From 9738b2f0eb219ece6bcfbef044ecd606d6399b28 Mon Sep 17 00:00:00 2001 From: Abdullahi Mohamed <126521894+WaryaWayne@users.noreply.github.com> Date: Tue, 28 Jul 2026 23:33:23 -0400 Subject: [PATCH 2/2] fix: drop dead imports from the generated tRPC integration api.trpc.$.tsx imports createServerFileRoute from '@tanstack/react-start/server'. The route already uses `createFileRoute(...)({ server: { handlers } })`, and that symbol is no longer exported, so the import is both unused (TS6133) and unresolvable (TS2305). The tRPC branch of root-provider.tsx imports QueryClientProvider but renders TRPCProvider; setupRouterSsrQueryIntegration is what supplies the query client. Generated projects set `noUnusedLocals: true`, so both surface as errors in a fresh `--add-ons tanstack-query,tRPC` scaffold. --- .changeset/trpc-dead-imports.md | 12 ++++++++++++ .../add-ons/tRPC/assets/src/routes/api.trpc.$.tsx | 1 - .../tanstack-query/root-provider.tsx.ejs | 2 +- 3 files changed, 13 insertions(+), 2 deletions(-) create mode 100644 .changeset/trpc-dead-imports.md diff --git a/.changeset/trpc-dead-imports.md b/.changeset/trpc-dead-imports.md new file mode 100644 index 00000000..df243388 --- /dev/null +++ b/.changeset/trpc-dead-imports.md @@ -0,0 +1,12 @@ +--- +'@tanstack/create': patch +--- + +Drop two dead imports from the generated tRPC integration. `api.trpc.$.tsx` +imported `createServerFileRoute` from `@tanstack/react-start/server`, but the +route was already migrated to `createFileRoute(...)({ server: { handlers } })` +and that symbol is no longer exported, so the leftover import was both unused +and unresolvable. The tRPC branch of `root-provider.tsx` imported +`QueryClientProvider`, which it never renders — +`setupRouterSsrQueryIntegration` supplies the query client. Generated projects +set `noUnusedLocals: true`, so both showed up as errors in a fresh scaffold. diff --git a/packages/create/src/frameworks/react/add-ons/tRPC/assets/src/routes/api.trpc.$.tsx b/packages/create/src/frameworks/react/add-ons/tRPC/assets/src/routes/api.trpc.$.tsx index 6a59a9b5..e0bbb0a8 100644 --- a/packages/create/src/frameworks/react/add-ons/tRPC/assets/src/routes/api.trpc.$.tsx +++ b/packages/create/src/frameworks/react/add-ons/tRPC/assets/src/routes/api.trpc.$.tsx @@ -1,4 +1,3 @@ -import { createServerFileRoute } from '@tanstack/react-start/server' import { fetchRequestHandler } from '@trpc/server/adapters/fetch' import { trpcRouter } from '#/integrations/trpc/router' import { createFileRoute } from '@tanstack/react-router' diff --git a/packages/create/src/frameworks/react/add-ons/tanstack-query/assets/src/integrations/tanstack-query/root-provider.tsx.ejs b/packages/create/src/frameworks/react/add-ons/tanstack-query/assets/src/integrations/tanstack-query/root-provider.tsx.ejs index 1f74d9df..27d50ea2 100644 --- a/packages/create/src/frameworks/react/add-ons/tanstack-query/assets/src/integrations/tanstack-query/root-provider.tsx.ejs +++ b/packages/create/src/frameworks/react/add-ons/tanstack-query/assets/src/integrations/tanstack-query/root-provider.tsx.ejs @@ -1,6 +1,6 @@ <% if (addOnEnabled.tRPC) { %> import type { ReactNode } from 'react' -import { QueryClient, QueryClientProvider } from '@tanstack/react-query' +import { QueryClient } from '@tanstack/react-query' import superjson from "superjson"; import { createTRPCClient, httpBatchStreamLink } from "@trpc/client"; import { createTRPCOptionsProxy } from "@trpc/tanstack-react-query";