import { createRouter as createTanstackRouter } from '@tanstack/react-router'; import { setupRouterSsrQueryIntegration } from '@tanstack/react-router-ssr-query'; import * as TanstackQuery from './integrations/tanstack-query/root-provider'; import { routeTree } from './routeTree.gen'; import { getServerEnvs } from './server/get-envs'; export const getRouter = async () => { const envs = await getServerEnvs(); const rqContext = TanstackQuery.getContext(envs.apiUrl); const router = createTanstackRouter({ routeTree, context: { ...rqContext, ...envs, }, defaultPreload: 'intent', Wrap: (props: { children: React.ReactNode }) => { return ( {props.children} ); }, }); setupRouterSsrQueryIntegration({ router, queryClient: rqContext.queryClient, }); return router; }; declare module '@tanstack/react-router' { interface Register { router: ReturnType; } }