[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-tanstack-ssr":3,"mdc-635gd6-key":48,"related-repo-tanstack-ssr":7546,"related-org-tanstack-ssr":7650},{"slug":4,"name":4,"fn":5,"description":6,"org":7,"tags":11,"stars":22,"repoUrl":23,"updatedAt":24,"license":25,"forks":26,"topics":27,"repo":43,"sourceUrl":46,"mdContent":47},"ssr","implement SSR for TanStack Router","Non-streaming and streaming SSR, RouterClient\u002FRouterServer, renderRouterToString\u002FrenderRouterToStream, createRequestHandler, defaultRenderHandler\u002FdefaultStreamHandler, HeadContent\u002FScripts components, head route option (meta\u002Flinks\u002Fstyles\u002Fscripts), ScriptOnce, automatic loader dehydration\u002Fhydration, memory history on server, data serialization, document head management.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},"tanstack","TanStack","https:\u002F\u002Fpexgzepcugksgbtrxkhf.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Forg-logos\u002Ftanstack.png",[12,16,18,19],{"name":13,"slug":14,"type":15},"Performance","performance","tag",{"name":17,"slug":4,"type":15},"SSR",{"name":9,"slug":8,"type":15},{"name":20,"slug":21,"type":15},"Frontend","frontend",14787,"https:\u002F\u002Fgithub.com\u002FTanStack\u002Frouter","2026-07-30T05:27:10.477577",null,1761,[28,29,30,31,32,33,34,35,36,37,38,4,39,40,41,42],"framework","fullstack","javascript","react","route","router","routing","rpc","search","searchparams","server-functions","state-management","typesafe","typescript","url",{"repoUrl":23,"stars":22,"forks":26,"topics":44,"description":45},[28,29,30,31,32,33,34,35,36,37,38,4,39,40,41,42],"🤖 A client-first, server-capable, fully type-safe router and full-stack framework for the web (React and more).","https:\u002F\u002Fgithub.com\u002FTanStack\u002Frouter\u002Ftree\u002FHEAD\u002Fpackages\u002Frouter-core\u002Fskills\u002Frouter-core\u002Fssr","---\nname: ssr\ndescription: >-\n  Non-streaming and streaming SSR, RouterClient\u002FRouterServer,\n  renderRouterToString\u002FrenderRouterToStream, createRequestHandler,\n  defaultRenderHandler\u002FdefaultStreamHandler, HeadContent\u002FScripts\n  components, head route option (meta\u002Flinks\u002Fstyles\u002Fscripts),\n  ScriptOnce, automatic loader dehydration\u002Fhydration, memory\n  history on server, data serialization, document head management.\nmetadata:\n  type: sub-skill\n  library: tanstack-router\n  library_version: '1.171.15'\nrequires:\n  - router-core\n  - router-core\u002Fdata-loading\nsources:\n  - TanStack\u002Frouter:docs\u002Frouter\u002Fguide\u002Fssr.md\n  - TanStack\u002Frouter:docs\u002Frouter\u002Fguide\u002Fdocument-head-management.md\n  - TanStack\u002Frouter:docs\u002Frouter\u002Fhow-to\u002Fsetup-ssr.md\n---\n\n# SSR (Server-Side Rendering)\n\n> **WARNING**: SSR APIs are experimental. They share internal implementations with TanStack Start and may change. **TanStack Start is the recommended way to do SSR in production** — use manual SSR setup only when integrating with an existing server.\n\n> **CRITICAL**: TanStack Router is CLIENT-FIRST. Loaders run on the client by default. With SSR enabled, loaders run on BOTH client AND server. They are NOT server-only like Remix\u002FNext.js loaders. See [router-core\u002Fdata-loading](..\u002Fdata-loading\u002FSKILL.md).\n\n> **CRITICAL**: Do not generate Next.js patterns (`getServerSideProps`, App Router, server components) or Remix patterns (server-only loader exports). TanStack Router has its own SSR API.\n\n## Concepts\n\nThere are two SSR flavors:\n\n- **Non-streaming**: Full page rendered on server, sent as one HTML response, then hydrated on client.\n- **Streaming**: Critical first paint sent immediately; remaining content streamed incrementally as it resolves.\n\nKey behaviors:\n\n- Memory history is used automatically on the server (no `window`).\n- Loader data is automatically dehydrated on the server and hydrated on the client.\n- Data serialization supports `Date`, `Error`, `FormData`, and `undefined` out of the box.\n\n## Setup: Shared Router Factory\n\nThe router must be created identically on server and client. Export a factory function from a shared file:\n\n```tsx\n\u002F\u002F src\u002Frouter.tsx\nimport { createRouter as createTanstackRouter } from '@tanstack\u002Freact-router'\nimport { routeTree } from '.\u002FrouteTree.gen'\n\nexport function createRouter() {\n  return createTanstackRouter({ routeTree })\n}\n\ndeclare module '@tanstack\u002Freact-router' {\n  interface Register {\n    router: ReturnType\u003Ctypeof createRouter>\n  }\n}\n```\n\n## Non-Streaming SSR\n\n### Server Entry (using `defaultRenderHandler`)\n\n```tsx\n\u002F\u002F src\u002Fentry-server.tsx\nimport {\n  createRequestHandler,\n  defaultRenderHandler,\n} from '@tanstack\u002Freact-router\u002Fssr\u002Fserver'\nimport { createRouter } from '.\u002Frouter'\n\nexport async function render({ request }: { request: Request }) {\n  const handler = createRequestHandler({ request, createRouter })\n  return await handler(defaultRenderHandler)\n}\n```\n\n### Server Entry (using `renderRouterToString` for custom wrappers)\n\n```tsx\n\u002F\u002F src\u002Fentry-server.tsx\nimport {\n  createRequestHandler,\n  renderRouterToString,\n  RouterServer,\n} from '@tanstack\u002Freact-router\u002Fssr\u002Fserver'\nimport { createRouter } from '.\u002Frouter'\n\nexport function render({ request }: { request: Request }) {\n  const handler = createRequestHandler({ request, createRouter })\n\n  return handler(({ responseHeaders, router }) =>\n    renderRouterToString({\n      responseHeaders,\n      router,\n      children: \u003CRouterServer router={router} \u002F>,\n    }),\n  )\n}\n```\n\n### Client Entry\n\n```tsx\n\u002F\u002F src\u002Fentry-client.tsx\nimport { hydrateRoot } from 'react-dom\u002Fclient'\nimport { RouterClient } from '@tanstack\u002Freact-router\u002Fssr\u002Fclient'\nimport { createRouter } from '.\u002Frouter'\n\nconst router = createRouter()\n\nhydrateRoot(document, \u003CRouterClient router={router} \u002F>)\n```\n\n## Streaming SSR\n\n### Server Entry (using `defaultStreamHandler`)\n\n```tsx\n\u002F\u002F src\u002Fentry-server.tsx\nimport {\n  createRequestHandler,\n  defaultStreamHandler,\n} from '@tanstack\u002Freact-router\u002Fssr\u002Fserver'\nimport { createRouter } from '.\u002Frouter'\n\nexport async function render({ request }: { request: Request }) {\n  const handler = createRequestHandler({ request, createRouter })\n  return await handler(defaultStreamHandler)\n}\n```\n\n### Server Entry (using `renderRouterToStream` for custom wrappers)\n\n```tsx\n\u002F\u002F src\u002Fentry-server.tsx\nimport {\n  createRequestHandler,\n  renderRouterToStream,\n  RouterServer,\n} from '@tanstack\u002Freact-router\u002Fssr\u002Fserver'\nimport { createRouter } from '.\u002Frouter'\n\nexport function render({ request }: { request: Request }) {\n  const handler = createRequestHandler({ request, createRouter })\n\n  return handler(({ request, responseHeaders, router }) =>\n    renderRouterToStream({\n      request,\n      responseHeaders,\n      router,\n      children: \u003CRouterServer router={router} \u002F>,\n    }),\n  )\n}\n```\n\nStreaming is automatic — deferred data (unawaited promises from loaders) and streamed markup just work when using `defaultStreamHandler` or `renderRouterToStream`.\n\n## Document Head Management\n\nUse the `head` route option to manage `\u003Ctitle>`, `\u003Cmeta>`, `\u003Clink>`, and `\u003Cstyle>` tags. Render `\u003CHeadContent \u002F>` in `\u003Chead>` and `\u003CScripts \u002F>` in `\u003Cbody>`.\n\n### Root Route with Head\n\n```tsx\n\u002F\u002F src\u002Froutes\u002F__root.tsx\nimport {\n  createRootRoute,\n  HeadContent,\n  Outlet,\n  Scripts,\n} from '@tanstack\u002Freact-router'\n\nexport const Route = createRootRoute({\n  head: () => ({\n    meta: [\n      { charSet: 'UTF-8' },\n      { name: 'viewport', content: 'width=device-width, initial-scale=1.0' },\n      { title: 'My App' },\n    ],\n    links: [{ rel: 'icon', href: '\u002Ffavicon.ico' }],\n  }),\n  component: RootComponent,\n})\n\nfunction RootComponent() {\n  return (\n    \u003Chtml lang=\"en\">\n      \u003Chead>\n        \u003CHeadContent \u002F>\n      \u003C\u002Fhead>\n      \u003Cbody>\n        \u003COutlet \u002F>\n        \u003CScripts \u002F>\n      \u003C\u002Fbody>\n    \u003C\u002Fhtml>\n  )\n}\n```\n\n### Per-Route Head (Nested Deduplication)\n\nChild route `title` and `meta` tags override parent tags with the same `name`\u002F`property`:\n\n```tsx\n\u002F\u002F src\u002Froutes\u002Fposts\u002F$postId.tsx\nimport { createFileRoute } from '@tanstack\u002Freact-router'\n\nexport const Route = createFileRoute('\u002Fposts\u002F$postId')({\n  loader: async ({ params }) => {\n    const post = await fetchPost(params.postId)\n    return { post }\n  },\n  head: ({ loaderData }) => ({\n    meta: [\n      { title: loaderData.post.title },\n      { name: 'description', content: loaderData.post.excerpt },\n    ],\n  }),\n  component: PostPage,\n})\n\nfunction PostPage() {\n  const { post } = Route.useLoaderData()\n  return \u003Carticle>{post.content}\u003C\u002Farticle>\n}\n```\n\n### SPA Head (No Full HTML Control)\n\nFor SPAs without server-rendered HTML, render `\u003CHeadContent \u002F>` at the top of the component tree:\n\n```tsx\nimport { createRootRoute, HeadContent, Outlet } from '@tanstack\u002Freact-router'\n\nconst rootRoute = createRootRoute({\n  head: () => ({\n    meta: [{ title: 'My SPA' }],\n  }),\n  component: () => (\n    \u003C>\n      \u003CHeadContent \u002F>\n      \u003COutlet \u002F>\n    \u003C\u002F>\n  ),\n})\n```\n\n## Body Scripts\n\nUse `scripts` (separate from `head.scripts`) to inject scripts into `\u003Cbody>` before the app entry point:\n\n```tsx\nexport const Route = createRootRoute({\n  scripts: () => [{ children: 'console.log(\"runs before hydration\")' }],\n})\n```\n\nThe `\u003CScripts \u002F>` component renders these. Place it at the end of `\u003Cbody>`.\n\n## ScriptOnce for Pre-Hydration Scripts\n\n`ScriptOnce` renders a `\u003Cscript>` during SSR that executes immediately and self-removes. On client navigation, it does nothing (no duplicate execution).\n\n```tsx\nimport { ScriptOnce } from '@tanstack\u002Freact-router'\n\nconst themeScript = `(function() {\n  try {\n    const theme = localStorage.getItem('theme') || 'auto';\n    const resolved = theme === 'auto'\n      ? (matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light')\n      : theme;\n    document.documentElement.classList.add(resolved);\n  } catch (e) {}\n})();`\n\nfunction ThemeProvider({ children }: { children: React.ReactNode }) {\n  return (\n    \u003C>\n      \u003CScriptOnce children={themeScript} \u002F>\n      {children}\n    \u003C\u002F>\n  )\n}\n```\n\nIf the script modifies the DOM (e.g., adds a class to `\u003Chtml>`), use `suppressHydrationWarning` on the element:\n\n```tsx\n\u003Chtml lang=\"en\" suppressHydrationWarning>\n```\n\n## Express Integration Example\n\n`createRequestHandler` expects a Web API `Request` and returns a Web API `Response`. For Express, convert between formats:\n\n```tsx\n\u002F\u002F src\u002Fentry-server.tsx\nimport { pipeline } from 'node:stream\u002Fpromises'\nimport {\n  RouterServer,\n  createRequestHandler,\n  renderRouterToString,\n} from '@tanstack\u002Freact-router\u002Fssr\u002Fserver'\nimport { createRouter } from '.\u002Frouter'\nimport type express from 'express'\n\nexport async function render({\n  req,\n  res,\n}: {\n  req: express.Request\n  res: express.Response\n}) {\n  const protocol = req.get('x-forwarded-proto') ?? req.protocol\n  const host = req.get('x-forwarded-host') ?? req.get('host')\n  const url = new URL(req.originalUrl || req.url, `${protocol}:\u002F\u002F${host}`).href\n\n  const request = new Request(url, {\n    method: req.method,\n    headers: (() => {\n      const headers = new Headers()\n      for (const [key, value] of Object.entries(req.headers)) {\n        headers.set(key, value as any)\n      }\n      return headers\n    })(),\n  })\n\n  const handler = createRequestHandler({ request, createRouter })\n\n  const response = await handler(({ responseHeaders, router }) =>\n    renderRouterToString({\n      responseHeaders,\n      router,\n      children: \u003CRouterServer router={router} \u002F>,\n    }),\n  )\n\n  res.status(response.status)\n  response.headers.forEach((value, name) => {\n    res.setHeader(name, value)\n  })\n\n  return pipeline(response.body as any, res)\n}\n```\n\n## Common Mistakes\n\n### 1. HIGH: Using browser APIs in loaders without environment check\n\nLoaders run on BOTH client and server with SSR. Browser-only APIs (`window`, `document`, `localStorage`) throw on the server.\n\n```tsx\n\u002F\u002F WRONG — crashes on server\nloader: async () => {\n  const token = localStorage.getItem('token')\n  return fetchData(token)\n}\n\n\u002F\u002F CORRECT — guard with environment check\nloader: async () => {\n  const token =\n    typeof window !== 'undefined' ? localStorage.getItem('token') : null\n  return fetchData(token)\n}\n```\n\n### 2. MEDIUM: Using hash fragments for server-rendered content\n\nHash fragments (`#section`) are never sent to the server. Conditional rendering based on hash causes hydration mismatches.\n\n```tsx\n\u002F\u002F WRONG — server has no hash, client does → mismatch\ncomponent: () => {\n  const hash = window.location.hash\n  return hash === '#admin' ? \u003CAdminPanel \u002F> : \u003CUserPanel \u002F>\n}\n\n\u002F\u002F CORRECT — use search params for server-visible state\nvalidateSearch: z.object({ view: fallback(z.enum(['admin', 'user']), 'user') }),\ncomponent: () => {\n  const { view } = Route.useSearch()\n  return view === 'admin' ? \u003CAdminPanel \u002F> : \u003CUserPanel \u002F>\n}\n```\n\n### 3. CRITICAL: Generating Next.js, Remix, or React Router DOM patterns\n\nTanStack Router does NOT use `getServerSideProps`, `getStaticProps`, App Router `page.tsx`, Remix-style server-only `loader` exports, or anything from `react-router-dom`.\n\n#### Wrong file structures\n\n```text\nWRONG (Next.js Pages Router):\n  src\u002Fpages\u002Findex.tsx\n  src\u002Fpages\u002F_app.tsx\n  src\u002Fpages\u002Fposts\u002F[id].tsx\n\nWRONG (Next.js App Router):\n  app\u002Flayout.tsx\n  app\u002Fpage.tsx\n  app\u002Fposts\u002F[id]\u002Fpage.tsx\n\nWRONG (Next.js custom App):\n  _app\u002Findex.tsx\n  pages\u002F_app.tsx, pages\u002F_document.tsx\n\nCORRECT (TanStack Router file-based routing):\n  src\u002Froutes\u002F__root.tsx\n  src\u002Froutes\u002Findex.tsx\n  src\u002Froutes\u002Fposts\u002F$postId.tsx\n```\n\n#### Wrong imports\n\n```tsx\n\u002F\u002F WRONG — react-router-dom is a different library\nimport {\n  Link,\n  useNavigate,\n  BrowserRouter,\n  Route,\n  Routes,\n} from 'react-router-dom'\n\n\u002F\u002F WRONG — Next.js Link\u002Frouter\nimport Link from 'next\u002Flink'\nimport { useRouter } from 'next\u002Frouter' \u002F\u002F Pages Router\nimport { useRouter } from 'next\u002Fnavigation' \u002F\u002F App Router\n\n\u002F\u002F CORRECT — everything routing-related lives in @tanstack\u002Freact-router\nimport {\n  Link,\n  useNavigate,\n  useRouter,\n  useLocation,\n  redirect,\n} from '@tanstack\u002Freact-router'\n```\n\n#### Wrong loader\u002Fdata-fetching patterns\n\n```tsx\n\u002F\u002F WRONG — Next.js Pages Router\nexport async function getServerSideProps() {\n  return { props: { data: await fetchData() } }\n}\n\n\u002F\u002F WRONG — Remix\nexport async function loader({ request }: LoaderFunctionArgs) {\n  return json({ data: await fetchData() })\n}\n\n\u002F\u002F CORRECT — TanStack Router\nexport const Route = createFileRoute('\u002Fdata')({\n  loader: async () => {\n    const data = await fetchData()\n    return { data }\n  },\n  component: DataPage,\n})\n\nfunction DataPage() {\n  const { data } = Route.useLoaderData()\n  return \u003Cdiv>{data}\u003C\u002Fdiv>\n}\n```\n\nIf you see `src\u002Fpages\u002F`, `app\u002Flayout.tsx`, `react-router-dom`, or any of the above in agent output, the agent is generating for the wrong framework. The build will either fail or produce duplicate `\u002F` routes that conflict at runtime.\n\n## Tension: Client-First Loaders vs SSR\n\nTanStack Router loaders are client-first by design. When SSR is enabled, they run in both environments. This means:\n\n- Browser APIs work by default (client-only) but break under SSR\n- Database access does NOT belong in loaders (unlike Remix\u002FNext) — use API routes\n- For server-only data logic with SSR, use TanStack Start's server functions\n\nSee [router-core\u002Fdata-loading](..\u002Fdata-loading\u002FSKILL.md) for loader fundamentals.\n\n## Cross-References\n\n- [router-core\u002Fdata-loading](..\u002Fdata-loading\u002FSKILL.md) — SSR changes where loaders execute\n- [compositions\u002Frouter-query](..\u002F..\u002F..\u002F..\u002Freact-router\u002Fskills\u002Fcompositions\u002Frouter-query\u002FSKILL.md) — SSR dehydration\u002Fhydration with TanStack Query\n",{"data":49,"body":61},{"name":4,"description":6,"metadata":50,"requires":54,"sources":57},{"type":51,"library":52,"library_version":53},"sub-skill","tanstack-router","1.171.15",[55,56],"router-core","router-core\u002Fdata-loading",[58,59,60],"TanStack\u002Frouter:docs\u002Frouter\u002Fguide\u002Fssr.md","TanStack\u002Frouter:docs\u002Frouter\u002Fguide\u002Fdocument-head-management.md","TanStack\u002Frouter:docs\u002Frouter\u002Fhow-to\u002Fsetup-ssr.md",{"type":62,"children":63},"root",[64,73,96,117,138,145,150,175,180,237,243,248,561,567,582,851,864,1254,1260,1472,1478,1490,1739,1751,2142,2160,2166,2238,2244,2934,2940,2975,3533,3539,3551,3832,3838,3866,3977,3995,4001,4020,4314,4335,4383,4389,4416,5744,5750,5756,5782,6071,6077,6090,6517,6523,6564,6571,6581,6587,6930,6936,7438,7471,7477,7482,7500,7511,7517,7540],{"type":65,"tag":66,"props":67,"children":69},"element","h1",{"id":68},"ssr-server-side-rendering",[70],{"type":71,"value":72},"text","SSR (Server-Side Rendering)",{"type":65,"tag":74,"props":75,"children":76},"blockquote",{},[77],{"type":65,"tag":78,"props":79,"children":80},"p",{},[81,87,89,94],{"type":65,"tag":82,"props":83,"children":84},"strong",{},[85],{"type":71,"value":86},"WARNING",{"type":71,"value":88},": SSR APIs are experimental. They share internal implementations with TanStack Start and may change. ",{"type":65,"tag":82,"props":90,"children":91},{},[92],{"type":71,"value":93},"TanStack Start is the recommended way to do SSR in production",{"type":71,"value":95}," — use manual SSR setup only when integrating with an existing server.",{"type":65,"tag":74,"props":97,"children":98},{},[99],{"type":65,"tag":78,"props":100,"children":101},{},[102,107,109,115],{"type":65,"tag":82,"props":103,"children":104},{},[105],{"type":71,"value":106},"CRITICAL",{"type":71,"value":108},": TanStack Router is CLIENT-FIRST. Loaders run on the client by default. With SSR enabled, loaders run on BOTH client AND server. They are NOT server-only like Remix\u002FNext.js loaders. See ",{"type":65,"tag":110,"props":111,"children":113},"a",{"href":112},"..\u002Fdata-loading\u002FSKILL.md",[114],{"type":71,"value":56},{"type":71,"value":116},".",{"type":65,"tag":74,"props":118,"children":119},{},[120],{"type":65,"tag":78,"props":121,"children":122},{},[123,127,129,136],{"type":65,"tag":82,"props":124,"children":125},{},[126],{"type":71,"value":106},{"type":71,"value":128},": Do not generate Next.js patterns (",{"type":65,"tag":130,"props":131,"children":133},"code",{"className":132},[],[134],{"type":71,"value":135},"getServerSideProps",{"type":71,"value":137},", App Router, server components) or Remix patterns (server-only loader exports). TanStack Router has its own SSR API.",{"type":65,"tag":139,"props":140,"children":142},"h2",{"id":141},"concepts",[143],{"type":71,"value":144},"Concepts",{"type":65,"tag":78,"props":146,"children":147},{},[148],{"type":71,"value":149},"There are two SSR flavors:",{"type":65,"tag":151,"props":152,"children":153},"ul",{},[154,165],{"type":65,"tag":155,"props":156,"children":157},"li",{},[158,163],{"type":65,"tag":82,"props":159,"children":160},{},[161],{"type":71,"value":162},"Non-streaming",{"type":71,"value":164},": Full page rendered on server, sent as one HTML response, then hydrated on client.",{"type":65,"tag":155,"props":166,"children":167},{},[168,173],{"type":65,"tag":82,"props":169,"children":170},{},[171],{"type":71,"value":172},"Streaming",{"type":71,"value":174},": Critical first paint sent immediately; remaining content streamed incrementally as it resolves.",{"type":65,"tag":78,"props":176,"children":177},{},[178],{"type":71,"value":179},"Key behaviors:",{"type":65,"tag":151,"props":181,"children":182},{},[183,196,201],{"type":65,"tag":155,"props":184,"children":185},{},[186,188,194],{"type":71,"value":187},"Memory history is used automatically on the server (no ",{"type":65,"tag":130,"props":189,"children":191},{"className":190},[],[192],{"type":71,"value":193},"window",{"type":71,"value":195},").",{"type":65,"tag":155,"props":197,"children":198},{},[199],{"type":71,"value":200},"Loader data is automatically dehydrated on the server and hydrated on the client.",{"type":65,"tag":155,"props":202,"children":203},{},[204,206,212,214,220,221,227,229,235],{"type":71,"value":205},"Data serialization supports ",{"type":65,"tag":130,"props":207,"children":209},{"className":208},[],[210],{"type":71,"value":211},"Date",{"type":71,"value":213},", ",{"type":65,"tag":130,"props":215,"children":217},{"className":216},[],[218],{"type":71,"value":219},"Error",{"type":71,"value":213},{"type":65,"tag":130,"props":222,"children":224},{"className":223},[],[225],{"type":71,"value":226},"FormData",{"type":71,"value":228},", and ",{"type":65,"tag":130,"props":230,"children":232},{"className":231},[],[233],{"type":71,"value":234},"undefined",{"type":71,"value":236}," out of the box.",{"type":65,"tag":139,"props":238,"children":240},{"id":239},"setup-shared-router-factory",[241],{"type":71,"value":242},"Setup: Shared Router Factory",{"type":65,"tag":78,"props":244,"children":245},{},[246],{"type":71,"value":247},"The router must be created identically on server and client. Export a factory function from a shared file:",{"type":65,"tag":249,"props":250,"children":255},"pre",{"className":251,"code":252,"language":253,"meta":254,"style":254},"language-tsx shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","\u002F\u002F src\u002Frouter.tsx\nimport { createRouter as createTanstackRouter } from '@tanstack\u002Freact-router'\nimport { routeTree } from '.\u002FrouteTree.gen'\n\nexport function createRouter() {\n  return createTanstackRouter({ routeTree })\n}\n\ndeclare module '@tanstack\u002Freact-router' {\n  interface Register {\n    router: ReturnType\u003Ctypeof createRouter>\n  }\n}\n","tsx","",[256],{"type":65,"tag":130,"props":257,"children":258},{"__ignoreMap":254},[259,271,329,367,377,407,444,453,461,492,511,544,553],{"type":65,"tag":260,"props":261,"children":264},"span",{"class":262,"line":263},"line",1,[265],{"type":65,"tag":260,"props":266,"children":268},{"style":267},"--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic",[269],{"type":71,"value":270},"\u002F\u002F src\u002Frouter.tsx\n",{"type":65,"tag":260,"props":272,"children":274},{"class":262,"line":273},2,[275,281,287,293,298,303,308,313,318,324],{"type":65,"tag":260,"props":276,"children":278},{"style":277},"--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic",[279],{"type":71,"value":280},"import",{"type":65,"tag":260,"props":282,"children":284},{"style":283},"--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF",[285],{"type":71,"value":286}," {",{"type":65,"tag":260,"props":288,"children":290},{"style":289},"--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8",[291],{"type":71,"value":292}," createRouter",{"type":65,"tag":260,"props":294,"children":295},{"style":277},[296],{"type":71,"value":297}," as",{"type":65,"tag":260,"props":299,"children":300},{"style":289},[301],{"type":71,"value":302}," createTanstackRouter",{"type":65,"tag":260,"props":304,"children":305},{"style":283},[306],{"type":71,"value":307}," }",{"type":65,"tag":260,"props":309,"children":310},{"style":277},[311],{"type":71,"value":312}," from",{"type":65,"tag":260,"props":314,"children":315},{"style":283},[316],{"type":71,"value":317}," '",{"type":65,"tag":260,"props":319,"children":321},{"style":320},"--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D",[322],{"type":71,"value":323},"@tanstack\u002Freact-router",{"type":65,"tag":260,"props":325,"children":326},{"style":283},[327],{"type":71,"value":328},"'\n",{"type":65,"tag":260,"props":330,"children":332},{"class":262,"line":331},3,[333,337,341,346,350,354,358,363],{"type":65,"tag":260,"props":334,"children":335},{"style":277},[336],{"type":71,"value":280},{"type":65,"tag":260,"props":338,"children":339},{"style":283},[340],{"type":71,"value":286},{"type":65,"tag":260,"props":342,"children":343},{"style":289},[344],{"type":71,"value":345}," routeTree",{"type":65,"tag":260,"props":347,"children":348},{"style":283},[349],{"type":71,"value":307},{"type":65,"tag":260,"props":351,"children":352},{"style":277},[353],{"type":71,"value":312},{"type":65,"tag":260,"props":355,"children":356},{"style":283},[357],{"type":71,"value":317},{"type":65,"tag":260,"props":359,"children":360},{"style":320},[361],{"type":71,"value":362},".\u002FrouteTree.gen",{"type":65,"tag":260,"props":364,"children":365},{"style":283},[366],{"type":71,"value":328},{"type":65,"tag":260,"props":368,"children":370},{"class":262,"line":369},4,[371],{"type":65,"tag":260,"props":372,"children":374},{"emptyLinePlaceholder":373},true,[375],{"type":71,"value":376},"\n",{"type":65,"tag":260,"props":378,"children":380},{"class":262,"line":379},5,[381,386,392,397,402],{"type":65,"tag":260,"props":382,"children":383},{"style":277},[384],{"type":71,"value":385},"export",{"type":65,"tag":260,"props":387,"children":389},{"style":388},"--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA",[390],{"type":71,"value":391}," function",{"type":65,"tag":260,"props":393,"children":395},{"style":394},"--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF",[396],{"type":71,"value":292},{"type":65,"tag":260,"props":398,"children":399},{"style":283},[400],{"type":71,"value":401},"()",{"type":65,"tag":260,"props":403,"children":404},{"style":283},[405],{"type":71,"value":406}," {\n",{"type":65,"tag":260,"props":408,"children":410},{"class":262,"line":409},6,[411,416,420,426,431,435,439],{"type":65,"tag":260,"props":412,"children":413},{"style":277},[414],{"type":71,"value":415},"  return",{"type":65,"tag":260,"props":417,"children":418},{"style":394},[419],{"type":71,"value":302},{"type":65,"tag":260,"props":421,"children":423},{"style":422},"--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178",[424],{"type":71,"value":425},"(",{"type":65,"tag":260,"props":427,"children":428},{"style":283},[429],{"type":71,"value":430},"{",{"type":65,"tag":260,"props":432,"children":433},{"style":289},[434],{"type":71,"value":345},{"type":65,"tag":260,"props":436,"children":437},{"style":283},[438],{"type":71,"value":307},{"type":65,"tag":260,"props":440,"children":441},{"style":422},[442],{"type":71,"value":443},")\n",{"type":65,"tag":260,"props":445,"children":447},{"class":262,"line":446},7,[448],{"type":65,"tag":260,"props":449,"children":450},{"style":283},[451],{"type":71,"value":452},"}\n",{"type":65,"tag":260,"props":454,"children":456},{"class":262,"line":455},8,[457],{"type":65,"tag":260,"props":458,"children":459},{"emptyLinePlaceholder":373},[460],{"type":71,"value":376},{"type":65,"tag":260,"props":462,"children":464},{"class":262,"line":463},9,[465,470,475,479,483,488],{"type":65,"tag":260,"props":466,"children":467},{"style":388},[468],{"type":71,"value":469},"declare",{"type":65,"tag":260,"props":471,"children":472},{"style":388},[473],{"type":71,"value":474}," module",{"type":65,"tag":260,"props":476,"children":477},{"style":283},[478],{"type":71,"value":317},{"type":65,"tag":260,"props":480,"children":481},{"style":320},[482],{"type":71,"value":323},{"type":65,"tag":260,"props":484,"children":485},{"style":283},[486],{"type":71,"value":487},"'",{"type":65,"tag":260,"props":489,"children":490},{"style":283},[491],{"type":71,"value":406},{"type":65,"tag":260,"props":493,"children":495},{"class":262,"line":494},10,[496,501,507],{"type":65,"tag":260,"props":497,"children":498},{"style":388},[499],{"type":71,"value":500},"  interface",{"type":65,"tag":260,"props":502,"children":504},{"style":503},"--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B",[505],{"type":71,"value":506}," Register",{"type":65,"tag":260,"props":508,"children":509},{"style":283},[510],{"type":71,"value":406},{"type":65,"tag":260,"props":512,"children":514},{"class":262,"line":513},11,[515,520,525,530,535,539],{"type":65,"tag":260,"props":516,"children":517},{"style":422},[518],{"type":71,"value":519},"    router",{"type":65,"tag":260,"props":521,"children":522},{"style":283},[523],{"type":71,"value":524},":",{"type":65,"tag":260,"props":526,"children":527},{"style":503},[528],{"type":71,"value":529}," ReturnType",{"type":65,"tag":260,"props":531,"children":532},{"style":283},[533],{"type":71,"value":534},"\u003Ctypeof",{"type":65,"tag":260,"props":536,"children":537},{"style":289},[538],{"type":71,"value":292},{"type":65,"tag":260,"props":540,"children":541},{"style":283},[542],{"type":71,"value":543},">\n",{"type":65,"tag":260,"props":545,"children":547},{"class":262,"line":546},12,[548],{"type":65,"tag":260,"props":549,"children":550},{"style":283},[551],{"type":71,"value":552},"  }\n",{"type":65,"tag":260,"props":554,"children":556},{"class":262,"line":555},13,[557],{"type":65,"tag":260,"props":558,"children":559},{"style":283},[560],{"type":71,"value":452},{"type":65,"tag":139,"props":562,"children":564},{"id":563},"non-streaming-ssr",[565],{"type":71,"value":566},"Non-Streaming SSR",{"type":65,"tag":568,"props":569,"children":571},"h3",{"id":570},"server-entry-using-defaultrenderhandler",[572,574,580],{"type":71,"value":573},"Server Entry (using ",{"type":65,"tag":130,"props":575,"children":577},{"className":576},[],[578],{"type":71,"value":579},"defaultRenderHandler",{"type":71,"value":581},")",{"type":65,"tag":249,"props":583,"children":585},{"className":251,"code":584,"language":253,"meta":254,"style":254},"\u002F\u002F src\u002Fentry-server.tsx\nimport {\n  createRequestHandler,\n  defaultRenderHandler,\n} from '@tanstack\u002Freact-router\u002Fssr\u002Fserver'\nimport { createRouter } from '.\u002Frouter'\n\nexport async function render({ request }: { request: Request }) {\n  const handler = createRequestHandler({ request, createRouter })\n  return await handler(defaultRenderHandler)\n}\n",[586],{"type":65,"tag":130,"props":587,"children":588},{"__ignoreMap":254},[589,597,608,621,633,658,694,701,764,816,844],{"type":65,"tag":260,"props":590,"children":591},{"class":262,"line":263},[592],{"type":65,"tag":260,"props":593,"children":594},{"style":267},[595],{"type":71,"value":596},"\u002F\u002F src\u002Fentry-server.tsx\n",{"type":65,"tag":260,"props":598,"children":599},{"class":262,"line":273},[600,604],{"type":65,"tag":260,"props":601,"children":602},{"style":277},[603],{"type":71,"value":280},{"type":65,"tag":260,"props":605,"children":606},{"style":283},[607],{"type":71,"value":406},{"type":65,"tag":260,"props":609,"children":610},{"class":262,"line":331},[611,616],{"type":65,"tag":260,"props":612,"children":613},{"style":289},[614],{"type":71,"value":615},"  createRequestHandler",{"type":65,"tag":260,"props":617,"children":618},{"style":283},[619],{"type":71,"value":620},",\n",{"type":65,"tag":260,"props":622,"children":623},{"class":262,"line":369},[624,629],{"type":65,"tag":260,"props":625,"children":626},{"style":289},[627],{"type":71,"value":628},"  defaultRenderHandler",{"type":65,"tag":260,"props":630,"children":631},{"style":283},[632],{"type":71,"value":620},{"type":65,"tag":260,"props":634,"children":635},{"class":262,"line":379},[636,641,645,649,654],{"type":65,"tag":260,"props":637,"children":638},{"style":283},[639],{"type":71,"value":640},"}",{"type":65,"tag":260,"props":642,"children":643},{"style":277},[644],{"type":71,"value":312},{"type":65,"tag":260,"props":646,"children":647},{"style":283},[648],{"type":71,"value":317},{"type":65,"tag":260,"props":650,"children":651},{"style":320},[652],{"type":71,"value":653},"@tanstack\u002Freact-router\u002Fssr\u002Fserver",{"type":65,"tag":260,"props":655,"children":656},{"style":283},[657],{"type":71,"value":328},{"type":65,"tag":260,"props":659,"children":660},{"class":262,"line":409},[661,665,669,673,677,681,685,690],{"type":65,"tag":260,"props":662,"children":663},{"style":277},[664],{"type":71,"value":280},{"type":65,"tag":260,"props":666,"children":667},{"style":283},[668],{"type":71,"value":286},{"type":65,"tag":260,"props":670,"children":671},{"style":289},[672],{"type":71,"value":292},{"type":65,"tag":260,"props":674,"children":675},{"style":283},[676],{"type":71,"value":307},{"type":65,"tag":260,"props":678,"children":679},{"style":277},[680],{"type":71,"value":312},{"type":65,"tag":260,"props":682,"children":683},{"style":283},[684],{"type":71,"value":317},{"type":65,"tag":260,"props":686,"children":687},{"style":320},[688],{"type":71,"value":689},".\u002Frouter",{"type":65,"tag":260,"props":691,"children":692},{"style":283},[693],{"type":71,"value":328},{"type":65,"tag":260,"props":695,"children":696},{"class":262,"line":446},[697],{"type":65,"tag":260,"props":698,"children":699},{"emptyLinePlaceholder":373},[700],{"type":71,"value":376},{"type":65,"tag":260,"props":702,"children":703},{"class":262,"line":455},[704,708,713,717,722,727,733,738,742,746,750,755,760],{"type":65,"tag":260,"props":705,"children":706},{"style":277},[707],{"type":71,"value":385},{"type":65,"tag":260,"props":709,"children":710},{"style":388},[711],{"type":71,"value":712}," async",{"type":65,"tag":260,"props":714,"children":715},{"style":388},[716],{"type":71,"value":391},{"type":65,"tag":260,"props":718,"children":719},{"style":394},[720],{"type":71,"value":721}," render",{"type":65,"tag":260,"props":723,"children":724},{"style":283},[725],{"type":71,"value":726},"({",{"type":65,"tag":260,"props":728,"children":730},{"style":729},"--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#EEFFFF;--shiki-default-font-style:italic;--shiki-dark:#BABED8;--shiki-dark-font-style:italic",[731],{"type":71,"value":732}," request",{"type":65,"tag":260,"props":734,"children":735},{"style":283},[736],{"type":71,"value":737}," }:",{"type":65,"tag":260,"props":739,"children":740},{"style":283},[741],{"type":71,"value":286},{"type":65,"tag":260,"props":743,"children":744},{"style":422},[745],{"type":71,"value":732},{"type":65,"tag":260,"props":747,"children":748},{"style":283},[749],{"type":71,"value":524},{"type":65,"tag":260,"props":751,"children":752},{"style":503},[753],{"type":71,"value":754}," Request",{"type":65,"tag":260,"props":756,"children":757},{"style":283},[758],{"type":71,"value":759}," })",{"type":65,"tag":260,"props":761,"children":762},{"style":283},[763],{"type":71,"value":406},{"type":65,"tag":260,"props":765,"children":766},{"class":262,"line":463},[767,772,777,782,787,791,795,799,804,808,812],{"type":65,"tag":260,"props":768,"children":769},{"style":388},[770],{"type":71,"value":771},"  const",{"type":65,"tag":260,"props":773,"children":774},{"style":289},[775],{"type":71,"value":776}," handler",{"type":65,"tag":260,"props":778,"children":779},{"style":283},[780],{"type":71,"value":781}," =",{"type":65,"tag":260,"props":783,"children":784},{"style":394},[785],{"type":71,"value":786}," createRequestHandler",{"type":65,"tag":260,"props":788,"children":789},{"style":422},[790],{"type":71,"value":425},{"type":65,"tag":260,"props":792,"children":793},{"style":283},[794],{"type":71,"value":430},{"type":65,"tag":260,"props":796,"children":797},{"style":289},[798],{"type":71,"value":732},{"type":65,"tag":260,"props":800,"children":801},{"style":283},[802],{"type":71,"value":803},",",{"type":65,"tag":260,"props":805,"children":806},{"style":289},[807],{"type":71,"value":292},{"type":65,"tag":260,"props":809,"children":810},{"style":283},[811],{"type":71,"value":307},{"type":65,"tag":260,"props":813,"children":814},{"style":422},[815],{"type":71,"value":443},{"type":65,"tag":260,"props":817,"children":818},{"class":262,"line":494},[819,823,828,832,836,840],{"type":65,"tag":260,"props":820,"children":821},{"style":277},[822],{"type":71,"value":415},{"type":65,"tag":260,"props":824,"children":825},{"style":277},[826],{"type":71,"value":827}," await",{"type":65,"tag":260,"props":829,"children":830},{"style":394},[831],{"type":71,"value":776},{"type":65,"tag":260,"props":833,"children":834},{"style":422},[835],{"type":71,"value":425},{"type":65,"tag":260,"props":837,"children":838},{"style":289},[839],{"type":71,"value":579},{"type":65,"tag":260,"props":841,"children":842},{"style":422},[843],{"type":71,"value":443},{"type":65,"tag":260,"props":845,"children":846},{"class":262,"line":513},[847],{"type":65,"tag":260,"props":848,"children":849},{"style":283},[850],{"type":71,"value":452},{"type":65,"tag":568,"props":852,"children":854},{"id":853},"server-entry-using-renderroutertostring-for-custom-wrappers",[855,856,862],{"type":71,"value":573},{"type":65,"tag":130,"props":857,"children":859},{"className":858},[],[860],{"type":71,"value":861},"renderRouterToString",{"type":71,"value":863}," for custom wrappers)",{"type":65,"tag":249,"props":865,"children":867},{"className":251,"code":866,"language":253,"meta":254,"style":254},"\u002F\u002F src\u002Fentry-server.tsx\nimport {\n  createRequestHandler,\n  renderRouterToString,\n  RouterServer,\n} from '@tanstack\u002Freact-router\u002Fssr\u002Fserver'\nimport { createRouter } from '.\u002Frouter'\n\nexport function render({ request }: { request: Request }) {\n  const handler = createRequestHandler({ request, createRouter })\n\n  return handler(({ responseHeaders, router }) =>\n    renderRouterToString({\n      responseHeaders,\n      router,\n      children: \u003CRouterServer router={router} \u002F>,\n    }),\n  )\n}\n",[868],{"type":65,"tag":130,"props":869,"children":870},{"__ignoreMap":254},[871,878,889,900,912,924,947,982,989,1040,1087,1094,1136,1153,1166,1179,1220,1237,1246],{"type":65,"tag":260,"props":872,"children":873},{"class":262,"line":263},[874],{"type":65,"tag":260,"props":875,"children":876},{"style":267},[877],{"type":71,"value":596},{"type":65,"tag":260,"props":879,"children":880},{"class":262,"line":273},[881,885],{"type":65,"tag":260,"props":882,"children":883},{"style":277},[884],{"type":71,"value":280},{"type":65,"tag":260,"props":886,"children":887},{"style":283},[888],{"type":71,"value":406},{"type":65,"tag":260,"props":890,"children":891},{"class":262,"line":331},[892,896],{"type":65,"tag":260,"props":893,"children":894},{"style":289},[895],{"type":71,"value":615},{"type":65,"tag":260,"props":897,"children":898},{"style":283},[899],{"type":71,"value":620},{"type":65,"tag":260,"props":901,"children":902},{"class":262,"line":369},[903,908],{"type":65,"tag":260,"props":904,"children":905},{"style":289},[906],{"type":71,"value":907},"  renderRouterToString",{"type":65,"tag":260,"props":909,"children":910},{"style":283},[911],{"type":71,"value":620},{"type":65,"tag":260,"props":913,"children":914},{"class":262,"line":379},[915,920],{"type":65,"tag":260,"props":916,"children":917},{"style":289},[918],{"type":71,"value":919},"  RouterServer",{"type":65,"tag":260,"props":921,"children":922},{"style":283},[923],{"type":71,"value":620},{"type":65,"tag":260,"props":925,"children":926},{"class":262,"line":409},[927,931,935,939,943],{"type":65,"tag":260,"props":928,"children":929},{"style":283},[930],{"type":71,"value":640},{"type":65,"tag":260,"props":932,"children":933},{"style":277},[934],{"type":71,"value":312},{"type":65,"tag":260,"props":936,"children":937},{"style":283},[938],{"type":71,"value":317},{"type":65,"tag":260,"props":940,"children":941},{"style":320},[942],{"type":71,"value":653},{"type":65,"tag":260,"props":944,"children":945},{"style":283},[946],{"type":71,"value":328},{"type":65,"tag":260,"props":948,"children":949},{"class":262,"line":446},[950,954,958,962,966,970,974,978],{"type":65,"tag":260,"props":951,"children":952},{"style":277},[953],{"type":71,"value":280},{"type":65,"tag":260,"props":955,"children":956},{"style":283},[957],{"type":71,"value":286},{"type":65,"tag":260,"props":959,"children":960},{"style":289},[961],{"type":71,"value":292},{"type":65,"tag":260,"props":963,"children":964},{"style":283},[965],{"type":71,"value":307},{"type":65,"tag":260,"props":967,"children":968},{"style":277},[969],{"type":71,"value":312},{"type":65,"tag":260,"props":971,"children":972},{"style":283},[973],{"type":71,"value":317},{"type":65,"tag":260,"props":975,"children":976},{"style":320},[977],{"type":71,"value":689},{"type":65,"tag":260,"props":979,"children":980},{"style":283},[981],{"type":71,"value":328},{"type":65,"tag":260,"props":983,"children":984},{"class":262,"line":455},[985],{"type":65,"tag":260,"props":986,"children":987},{"emptyLinePlaceholder":373},[988],{"type":71,"value":376},{"type":65,"tag":260,"props":990,"children":991},{"class":262,"line":463},[992,996,1000,1004,1008,1012,1016,1020,1024,1028,1032,1036],{"type":65,"tag":260,"props":993,"children":994},{"style":277},[995],{"type":71,"value":385},{"type":65,"tag":260,"props":997,"children":998},{"style":388},[999],{"type":71,"value":391},{"type":65,"tag":260,"props":1001,"children":1002},{"style":394},[1003],{"type":71,"value":721},{"type":65,"tag":260,"props":1005,"children":1006},{"style":283},[1007],{"type":71,"value":726},{"type":65,"tag":260,"props":1009,"children":1010},{"style":729},[1011],{"type":71,"value":732},{"type":65,"tag":260,"props":1013,"children":1014},{"style":283},[1015],{"type":71,"value":737},{"type":65,"tag":260,"props":1017,"children":1018},{"style":283},[1019],{"type":71,"value":286},{"type":65,"tag":260,"props":1021,"children":1022},{"style":422},[1023],{"type":71,"value":732},{"type":65,"tag":260,"props":1025,"children":1026},{"style":283},[1027],{"type":71,"value":524},{"type":65,"tag":260,"props":1029,"children":1030},{"style":503},[1031],{"type":71,"value":754},{"type":65,"tag":260,"props":1033,"children":1034},{"style":283},[1035],{"type":71,"value":759},{"type":65,"tag":260,"props":1037,"children":1038},{"style":283},[1039],{"type":71,"value":406},{"type":65,"tag":260,"props":1041,"children":1042},{"class":262,"line":494},[1043,1047,1051,1055,1059,1063,1067,1071,1075,1079,1083],{"type":65,"tag":260,"props":1044,"children":1045},{"style":388},[1046],{"type":71,"value":771},{"type":65,"tag":260,"props":1048,"children":1049},{"style":289},[1050],{"type":71,"value":776},{"type":65,"tag":260,"props":1052,"children":1053},{"style":283},[1054],{"type":71,"value":781},{"type":65,"tag":260,"props":1056,"children":1057},{"style":394},[1058],{"type":71,"value":786},{"type":65,"tag":260,"props":1060,"children":1061},{"style":422},[1062],{"type":71,"value":425},{"type":65,"tag":260,"props":1064,"children":1065},{"style":283},[1066],{"type":71,"value":430},{"type":65,"tag":260,"props":1068,"children":1069},{"style":289},[1070],{"type":71,"value":732},{"type":65,"tag":260,"props":1072,"children":1073},{"style":283},[1074],{"type":71,"value":803},{"type":65,"tag":260,"props":1076,"children":1077},{"style":289},[1078],{"type":71,"value":292},{"type":65,"tag":260,"props":1080,"children":1081},{"style":283},[1082],{"type":71,"value":307},{"type":65,"tag":260,"props":1084,"children":1085},{"style":422},[1086],{"type":71,"value":443},{"type":65,"tag":260,"props":1088,"children":1089},{"class":262,"line":513},[1090],{"type":65,"tag":260,"props":1091,"children":1092},{"emptyLinePlaceholder":373},[1093],{"type":71,"value":376},{"type":65,"tag":260,"props":1095,"children":1096},{"class":262,"line":546},[1097,1101,1105,1109,1113,1118,1122,1127,1131],{"type":65,"tag":260,"props":1098,"children":1099},{"style":277},[1100],{"type":71,"value":415},{"type":65,"tag":260,"props":1102,"children":1103},{"style":394},[1104],{"type":71,"value":776},{"type":65,"tag":260,"props":1106,"children":1107},{"style":422},[1108],{"type":71,"value":425},{"type":65,"tag":260,"props":1110,"children":1111},{"style":283},[1112],{"type":71,"value":726},{"type":65,"tag":260,"props":1114,"children":1115},{"style":729},[1116],{"type":71,"value":1117}," responseHeaders",{"type":65,"tag":260,"props":1119,"children":1120},{"style":283},[1121],{"type":71,"value":803},{"type":65,"tag":260,"props":1123,"children":1124},{"style":729},[1125],{"type":71,"value":1126}," router",{"type":65,"tag":260,"props":1128,"children":1129},{"style":283},[1130],{"type":71,"value":759},{"type":65,"tag":260,"props":1132,"children":1133},{"style":388},[1134],{"type":71,"value":1135}," =>\n",{"type":65,"tag":260,"props":1137,"children":1138},{"class":262,"line":555},[1139,1144,1148],{"type":65,"tag":260,"props":1140,"children":1141},{"style":394},[1142],{"type":71,"value":1143},"    renderRouterToString",{"type":65,"tag":260,"props":1145,"children":1146},{"style":422},[1147],{"type":71,"value":425},{"type":65,"tag":260,"props":1149,"children":1150},{"style":283},[1151],{"type":71,"value":1152},"{\n",{"type":65,"tag":260,"props":1154,"children":1156},{"class":262,"line":1155},14,[1157,1162],{"type":65,"tag":260,"props":1158,"children":1159},{"style":289},[1160],{"type":71,"value":1161},"      responseHeaders",{"type":65,"tag":260,"props":1163,"children":1164},{"style":283},[1165],{"type":71,"value":620},{"type":65,"tag":260,"props":1167,"children":1169},{"class":262,"line":1168},15,[1170,1175],{"type":65,"tag":260,"props":1171,"children":1172},{"style":289},[1173],{"type":71,"value":1174},"      router",{"type":65,"tag":260,"props":1176,"children":1177},{"style":283},[1178],{"type":71,"value":620},{"type":65,"tag":260,"props":1180,"children":1182},{"class":262,"line":1181},16,[1183,1188,1192,1197,1202,1206,1211,1215],{"type":65,"tag":260,"props":1184,"children":1185},{"style":422},[1186],{"type":71,"value":1187},"      children",{"type":65,"tag":260,"props":1189,"children":1190},{"style":283},[1191],{"type":71,"value":524},{"type":65,"tag":260,"props":1193,"children":1194},{"style":283},[1195],{"type":71,"value":1196}," \u003C",{"type":65,"tag":260,"props":1198,"children":1199},{"style":503},[1200],{"type":71,"value":1201},"RouterServer",{"type":65,"tag":260,"props":1203,"children":1204},{"style":388},[1205],{"type":71,"value":1126},{"type":65,"tag":260,"props":1207,"children":1208},{"style":283},[1209],{"type":71,"value":1210},"={",{"type":65,"tag":260,"props":1212,"children":1213},{"style":289},[1214],{"type":71,"value":33},{"type":65,"tag":260,"props":1216,"children":1217},{"style":283},[1218],{"type":71,"value":1219},"} \u002F>,\n",{"type":65,"tag":260,"props":1221,"children":1223},{"class":262,"line":1222},17,[1224,1229,1233],{"type":65,"tag":260,"props":1225,"children":1226},{"style":283},[1227],{"type":71,"value":1228},"    }",{"type":65,"tag":260,"props":1230,"children":1231},{"style":422},[1232],{"type":71,"value":581},{"type":65,"tag":260,"props":1234,"children":1235},{"style":283},[1236],{"type":71,"value":620},{"type":65,"tag":260,"props":1238,"children":1240},{"class":262,"line":1239},18,[1241],{"type":65,"tag":260,"props":1242,"children":1243},{"style":422},[1244],{"type":71,"value":1245},"  )\n",{"type":65,"tag":260,"props":1247,"children":1249},{"class":262,"line":1248},19,[1250],{"type":65,"tag":260,"props":1251,"children":1252},{"style":283},[1253],{"type":71,"value":452},{"type":65,"tag":568,"props":1255,"children":1257},{"id":1256},"client-entry",[1258],{"type":71,"value":1259},"Client Entry",{"type":65,"tag":249,"props":1261,"children":1263},{"className":251,"code":1262,"language":253,"meta":254,"style":254},"\u002F\u002F src\u002Fentry-client.tsx\nimport { hydrateRoot } from 'react-dom\u002Fclient'\nimport { RouterClient } from '@tanstack\u002Freact-router\u002Fssr\u002Fclient'\nimport { createRouter } from '.\u002Frouter'\n\nconst router = createRouter()\n\nhydrateRoot(document, \u003CRouterClient router={router} \u002F>)\n",[1264],{"type":65,"tag":130,"props":1265,"children":1266},{"__ignoreMap":254},[1267,1275,1312,1349,1384,1391,1418,1425],{"type":65,"tag":260,"props":1268,"children":1269},{"class":262,"line":263},[1270],{"type":65,"tag":260,"props":1271,"children":1272},{"style":267},[1273],{"type":71,"value":1274},"\u002F\u002F src\u002Fentry-client.tsx\n",{"type":65,"tag":260,"props":1276,"children":1277},{"class":262,"line":273},[1278,1282,1286,1291,1295,1299,1303,1308],{"type":65,"tag":260,"props":1279,"children":1280},{"style":277},[1281],{"type":71,"value":280},{"type":65,"tag":260,"props":1283,"children":1284},{"style":283},[1285],{"type":71,"value":286},{"type":65,"tag":260,"props":1287,"children":1288},{"style":289},[1289],{"type":71,"value":1290}," hydrateRoot",{"type":65,"tag":260,"props":1292,"children":1293},{"style":283},[1294],{"type":71,"value":307},{"type":65,"tag":260,"props":1296,"children":1297},{"style":277},[1298],{"type":71,"value":312},{"type":65,"tag":260,"props":1300,"children":1301},{"style":283},[1302],{"type":71,"value":317},{"type":65,"tag":260,"props":1304,"children":1305},{"style":320},[1306],{"type":71,"value":1307},"react-dom\u002Fclient",{"type":65,"tag":260,"props":1309,"children":1310},{"style":283},[1311],{"type":71,"value":328},{"type":65,"tag":260,"props":1313,"children":1314},{"class":262,"line":331},[1315,1319,1323,1328,1332,1336,1340,1345],{"type":65,"tag":260,"props":1316,"children":1317},{"style":277},[1318],{"type":71,"value":280},{"type":65,"tag":260,"props":1320,"children":1321},{"style":283},[1322],{"type":71,"value":286},{"type":65,"tag":260,"props":1324,"children":1325},{"style":289},[1326],{"type":71,"value":1327}," RouterClient",{"type":65,"tag":260,"props":1329,"children":1330},{"style":283},[1331],{"type":71,"value":307},{"type":65,"tag":260,"props":1333,"children":1334},{"style":277},[1335],{"type":71,"value":312},{"type":65,"tag":260,"props":1337,"children":1338},{"style":283},[1339],{"type":71,"value":317},{"type":65,"tag":260,"props":1341,"children":1342},{"style":320},[1343],{"type":71,"value":1344},"@tanstack\u002Freact-router\u002Fssr\u002Fclient",{"type":65,"tag":260,"props":1346,"children":1347},{"style":283},[1348],{"type":71,"value":328},{"type":65,"tag":260,"props":1350,"children":1351},{"class":262,"line":369},[1352,1356,1360,1364,1368,1372,1376,1380],{"type":65,"tag":260,"props":1353,"children":1354},{"style":277},[1355],{"type":71,"value":280},{"type":65,"tag":260,"props":1357,"children":1358},{"style":283},[1359],{"type":71,"value":286},{"type":65,"tag":260,"props":1361,"children":1362},{"style":289},[1363],{"type":71,"value":292},{"type":65,"tag":260,"props":1365,"children":1366},{"style":283},[1367],{"type":71,"value":307},{"type":65,"tag":260,"props":1369,"children":1370},{"style":277},[1371],{"type":71,"value":312},{"type":65,"tag":260,"props":1373,"children":1374},{"style":283},[1375],{"type":71,"value":317},{"type":65,"tag":260,"props":1377,"children":1378},{"style":320},[1379],{"type":71,"value":689},{"type":65,"tag":260,"props":1381,"children":1382},{"style":283},[1383],{"type":71,"value":328},{"type":65,"tag":260,"props":1385,"children":1386},{"class":262,"line":379},[1387],{"type":65,"tag":260,"props":1388,"children":1389},{"emptyLinePlaceholder":373},[1390],{"type":71,"value":376},{"type":65,"tag":260,"props":1392,"children":1393},{"class":262,"line":409},[1394,1399,1404,1409,1413],{"type":65,"tag":260,"props":1395,"children":1396},{"style":388},[1397],{"type":71,"value":1398},"const",{"type":65,"tag":260,"props":1400,"children":1401},{"style":289},[1402],{"type":71,"value":1403}," router ",{"type":65,"tag":260,"props":1405,"children":1406},{"style":283},[1407],{"type":71,"value":1408},"=",{"type":65,"tag":260,"props":1410,"children":1411},{"style":394},[1412],{"type":71,"value":292},{"type":65,"tag":260,"props":1414,"children":1415},{"style":289},[1416],{"type":71,"value":1417},"()\n",{"type":65,"tag":260,"props":1419,"children":1420},{"class":262,"line":446},[1421],{"type":65,"tag":260,"props":1422,"children":1423},{"emptyLinePlaceholder":373},[1424],{"type":71,"value":376},{"type":65,"tag":260,"props":1426,"children":1427},{"class":262,"line":455},[1428,1433,1438,1442,1446,1451,1455,1459,1463,1468],{"type":65,"tag":260,"props":1429,"children":1430},{"style":394},[1431],{"type":71,"value":1432},"hydrateRoot",{"type":65,"tag":260,"props":1434,"children":1435},{"style":289},[1436],{"type":71,"value":1437},"(document",{"type":65,"tag":260,"props":1439,"children":1440},{"style":283},[1441],{"type":71,"value":803},{"type":65,"tag":260,"props":1443,"children":1444},{"style":283},[1445],{"type":71,"value":1196},{"type":65,"tag":260,"props":1447,"children":1448},{"style":503},[1449],{"type":71,"value":1450},"RouterClient",{"type":65,"tag":260,"props":1452,"children":1453},{"style":388},[1454],{"type":71,"value":1126},{"type":65,"tag":260,"props":1456,"children":1457},{"style":283},[1458],{"type":71,"value":1210},{"type":65,"tag":260,"props":1460,"children":1461},{"style":289},[1462],{"type":71,"value":33},{"type":65,"tag":260,"props":1464,"children":1465},{"style":283},[1466],{"type":71,"value":1467},"} \u002F>",{"type":65,"tag":260,"props":1469,"children":1470},{"style":289},[1471],{"type":71,"value":443},{"type":65,"tag":139,"props":1473,"children":1475},{"id":1474},"streaming-ssr",[1476],{"type":71,"value":1477},"Streaming SSR",{"type":65,"tag":568,"props":1479,"children":1481},{"id":1480},"server-entry-using-defaultstreamhandler",[1482,1483,1489],{"type":71,"value":573},{"type":65,"tag":130,"props":1484,"children":1486},{"className":1485},[],[1487],{"type":71,"value":1488},"defaultStreamHandler",{"type":71,"value":581},{"type":65,"tag":249,"props":1491,"children":1493},{"className":251,"code":1492,"language":253,"meta":254,"style":254},"\u002F\u002F src\u002Fentry-server.tsx\nimport {\n  createRequestHandler,\n  defaultStreamHandler,\n} from '@tanstack\u002Freact-router\u002Fssr\u002Fserver'\nimport { createRouter } from '.\u002Frouter'\n\nexport async function render({ request }: { request: Request }) {\n  const handler = createRequestHandler({ request, createRouter })\n  return await handler(defaultStreamHandler)\n}\n",[1494],{"type":65,"tag":130,"props":1495,"children":1496},{"__ignoreMap":254},[1497,1504,1515,1526,1538,1561,1596,1603,1658,1705,1732],{"type":65,"tag":260,"props":1498,"children":1499},{"class":262,"line":263},[1500],{"type":65,"tag":260,"props":1501,"children":1502},{"style":267},[1503],{"type":71,"value":596},{"type":65,"tag":260,"props":1505,"children":1506},{"class":262,"line":273},[1507,1511],{"type":65,"tag":260,"props":1508,"children":1509},{"style":277},[1510],{"type":71,"value":280},{"type":65,"tag":260,"props":1512,"children":1513},{"style":283},[1514],{"type":71,"value":406},{"type":65,"tag":260,"props":1516,"children":1517},{"class":262,"line":331},[1518,1522],{"type":65,"tag":260,"props":1519,"children":1520},{"style":289},[1521],{"type":71,"value":615},{"type":65,"tag":260,"props":1523,"children":1524},{"style":283},[1525],{"type":71,"value":620},{"type":65,"tag":260,"props":1527,"children":1528},{"class":262,"line":369},[1529,1534],{"type":65,"tag":260,"props":1530,"children":1531},{"style":289},[1532],{"type":71,"value":1533},"  defaultStreamHandler",{"type":65,"tag":260,"props":1535,"children":1536},{"style":283},[1537],{"type":71,"value":620},{"type":65,"tag":260,"props":1539,"children":1540},{"class":262,"line":379},[1541,1545,1549,1553,1557],{"type":65,"tag":260,"props":1542,"children":1543},{"style":283},[1544],{"type":71,"value":640},{"type":65,"tag":260,"props":1546,"children":1547},{"style":277},[1548],{"type":71,"value":312},{"type":65,"tag":260,"props":1550,"children":1551},{"style":283},[1552],{"type":71,"value":317},{"type":65,"tag":260,"props":1554,"children":1555},{"style":320},[1556],{"type":71,"value":653},{"type":65,"tag":260,"props":1558,"children":1559},{"style":283},[1560],{"type":71,"value":328},{"type":65,"tag":260,"props":1562,"children":1563},{"class":262,"line":409},[1564,1568,1572,1576,1580,1584,1588,1592],{"type":65,"tag":260,"props":1565,"children":1566},{"style":277},[1567],{"type":71,"value":280},{"type":65,"tag":260,"props":1569,"children":1570},{"style":283},[1571],{"type":71,"value":286},{"type":65,"tag":260,"props":1573,"children":1574},{"style":289},[1575],{"type":71,"value":292},{"type":65,"tag":260,"props":1577,"children":1578},{"style":283},[1579],{"type":71,"value":307},{"type":65,"tag":260,"props":1581,"children":1582},{"style":277},[1583],{"type":71,"value":312},{"type":65,"tag":260,"props":1585,"children":1586},{"style":283},[1587],{"type":71,"value":317},{"type":65,"tag":260,"props":1589,"children":1590},{"style":320},[1591],{"type":71,"value":689},{"type":65,"tag":260,"props":1593,"children":1594},{"style":283},[1595],{"type":71,"value":328},{"type":65,"tag":260,"props":1597,"children":1598},{"class":262,"line":446},[1599],{"type":65,"tag":260,"props":1600,"children":1601},{"emptyLinePlaceholder":373},[1602],{"type":71,"value":376},{"type":65,"tag":260,"props":1604,"children":1605},{"class":262,"line":455},[1606,1610,1614,1618,1622,1626,1630,1634,1638,1642,1646,1650,1654],{"type":65,"tag":260,"props":1607,"children":1608},{"style":277},[1609],{"type":71,"value":385},{"type":65,"tag":260,"props":1611,"children":1612},{"style":388},[1613],{"type":71,"value":712},{"type":65,"tag":260,"props":1615,"children":1616},{"style":388},[1617],{"type":71,"value":391},{"type":65,"tag":260,"props":1619,"children":1620},{"style":394},[1621],{"type":71,"value":721},{"type":65,"tag":260,"props":1623,"children":1624},{"style":283},[1625],{"type":71,"value":726},{"type":65,"tag":260,"props":1627,"children":1628},{"style":729},[1629],{"type":71,"value":732},{"type":65,"tag":260,"props":1631,"children":1632},{"style":283},[1633],{"type":71,"value":737},{"type":65,"tag":260,"props":1635,"children":1636},{"style":283},[1637],{"type":71,"value":286},{"type":65,"tag":260,"props":1639,"children":1640},{"style":422},[1641],{"type":71,"value":732},{"type":65,"tag":260,"props":1643,"children":1644},{"style":283},[1645],{"type":71,"value":524},{"type":65,"tag":260,"props":1647,"children":1648},{"style":503},[1649],{"type":71,"value":754},{"type":65,"tag":260,"props":1651,"children":1652},{"style":283},[1653],{"type":71,"value":759},{"type":65,"tag":260,"props":1655,"children":1656},{"style":283},[1657],{"type":71,"value":406},{"type":65,"tag":260,"props":1659,"children":1660},{"class":262,"line":463},[1661,1665,1669,1673,1677,1681,1685,1689,1693,1697,1701],{"type":65,"tag":260,"props":1662,"children":1663},{"style":388},[1664],{"type":71,"value":771},{"type":65,"tag":260,"props":1666,"children":1667},{"style":289},[1668],{"type":71,"value":776},{"type":65,"tag":260,"props":1670,"children":1671},{"style":283},[1672],{"type":71,"value":781},{"type":65,"tag":260,"props":1674,"children":1675},{"style":394},[1676],{"type":71,"value":786},{"type":65,"tag":260,"props":1678,"children":1679},{"style":422},[1680],{"type":71,"value":425},{"type":65,"tag":260,"props":1682,"children":1683},{"style":283},[1684],{"type":71,"value":430},{"type":65,"tag":260,"props":1686,"children":1687},{"style":289},[1688],{"type":71,"value":732},{"type":65,"tag":260,"props":1690,"children":1691},{"style":283},[1692],{"type":71,"value":803},{"type":65,"tag":260,"props":1694,"children":1695},{"style":289},[1696],{"type":71,"value":292},{"type":65,"tag":260,"props":1698,"children":1699},{"style":283},[1700],{"type":71,"value":307},{"type":65,"tag":260,"props":1702,"children":1703},{"style":422},[1704],{"type":71,"value":443},{"type":65,"tag":260,"props":1706,"children":1707},{"class":262,"line":494},[1708,1712,1716,1720,1724,1728],{"type":65,"tag":260,"props":1709,"children":1710},{"style":277},[1711],{"type":71,"value":415},{"type":65,"tag":260,"props":1713,"children":1714},{"style":277},[1715],{"type":71,"value":827},{"type":65,"tag":260,"props":1717,"children":1718},{"style":394},[1719],{"type":71,"value":776},{"type":65,"tag":260,"props":1721,"children":1722},{"style":422},[1723],{"type":71,"value":425},{"type":65,"tag":260,"props":1725,"children":1726},{"style":289},[1727],{"type":71,"value":1488},{"type":65,"tag":260,"props":1729,"children":1730},{"style":422},[1731],{"type":71,"value":443},{"type":65,"tag":260,"props":1733,"children":1734},{"class":262,"line":513},[1735],{"type":65,"tag":260,"props":1736,"children":1737},{"style":283},[1738],{"type":71,"value":452},{"type":65,"tag":568,"props":1740,"children":1742},{"id":1741},"server-entry-using-renderroutertostream-for-custom-wrappers",[1743,1744,1750],{"type":71,"value":573},{"type":65,"tag":130,"props":1745,"children":1747},{"className":1746},[],[1748],{"type":71,"value":1749},"renderRouterToStream",{"type":71,"value":863},{"type":65,"tag":249,"props":1752,"children":1754},{"className":251,"code":1753,"language":253,"meta":254,"style":254},"\u002F\u002F src\u002Fentry-server.tsx\nimport {\n  createRequestHandler,\n  renderRouterToStream,\n  RouterServer,\n} from '@tanstack\u002Freact-router\u002Fssr\u002Fserver'\nimport { createRouter } from '.\u002Frouter'\n\nexport function render({ request }: { request: Request }) {\n  const handler = createRequestHandler({ request, createRouter })\n\n  return handler(({ request, responseHeaders, router }) =>\n    renderRouterToStream({\n      request,\n      responseHeaders,\n      router,\n      children: \u003CRouterServer router={router} \u002F>,\n    }),\n  )\n}\n",[1755],{"type":65,"tag":130,"props":1756,"children":1757},{"__ignoreMap":254},[1758,1765,1776,1787,1799,1810,1833,1868,1875,1926,1973,1980,2027,2043,2055,2066,2077,2112,2127,2134],{"type":65,"tag":260,"props":1759,"children":1760},{"class":262,"line":263},[1761],{"type":65,"tag":260,"props":1762,"children":1763},{"style":267},[1764],{"type":71,"value":596},{"type":65,"tag":260,"props":1766,"children":1767},{"class":262,"line":273},[1768,1772],{"type":65,"tag":260,"props":1769,"children":1770},{"style":277},[1771],{"type":71,"value":280},{"type":65,"tag":260,"props":1773,"children":1774},{"style":283},[1775],{"type":71,"value":406},{"type":65,"tag":260,"props":1777,"children":1778},{"class":262,"line":331},[1779,1783],{"type":65,"tag":260,"props":1780,"children":1781},{"style":289},[1782],{"type":71,"value":615},{"type":65,"tag":260,"props":1784,"children":1785},{"style":283},[1786],{"type":71,"value":620},{"type":65,"tag":260,"props":1788,"children":1789},{"class":262,"line":369},[1790,1795],{"type":65,"tag":260,"props":1791,"children":1792},{"style":289},[1793],{"type":71,"value":1794},"  renderRouterToStream",{"type":65,"tag":260,"props":1796,"children":1797},{"style":283},[1798],{"type":71,"value":620},{"type":65,"tag":260,"props":1800,"children":1801},{"class":262,"line":379},[1802,1806],{"type":65,"tag":260,"props":1803,"children":1804},{"style":289},[1805],{"type":71,"value":919},{"type":65,"tag":260,"props":1807,"children":1808},{"style":283},[1809],{"type":71,"value":620},{"type":65,"tag":260,"props":1811,"children":1812},{"class":262,"line":409},[1813,1817,1821,1825,1829],{"type":65,"tag":260,"props":1814,"children":1815},{"style":283},[1816],{"type":71,"value":640},{"type":65,"tag":260,"props":1818,"children":1819},{"style":277},[1820],{"type":71,"value":312},{"type":65,"tag":260,"props":1822,"children":1823},{"style":283},[1824],{"type":71,"value":317},{"type":65,"tag":260,"props":1826,"children":1827},{"style":320},[1828],{"type":71,"value":653},{"type":65,"tag":260,"props":1830,"children":1831},{"style":283},[1832],{"type":71,"value":328},{"type":65,"tag":260,"props":1834,"children":1835},{"class":262,"line":446},[1836,1840,1844,1848,1852,1856,1860,1864],{"type":65,"tag":260,"props":1837,"children":1838},{"style":277},[1839],{"type":71,"value":280},{"type":65,"tag":260,"props":1841,"children":1842},{"style":283},[1843],{"type":71,"value":286},{"type":65,"tag":260,"props":1845,"children":1846},{"style":289},[1847],{"type":71,"value":292},{"type":65,"tag":260,"props":1849,"children":1850},{"style":283},[1851],{"type":71,"value":307},{"type":65,"tag":260,"props":1853,"children":1854},{"style":277},[1855],{"type":71,"value":312},{"type":65,"tag":260,"props":1857,"children":1858},{"style":283},[1859],{"type":71,"value":317},{"type":65,"tag":260,"props":1861,"children":1862},{"style":320},[1863],{"type":71,"value":689},{"type":65,"tag":260,"props":1865,"children":1866},{"style":283},[1867],{"type":71,"value":328},{"type":65,"tag":260,"props":1869,"children":1870},{"class":262,"line":455},[1871],{"type":65,"tag":260,"props":1872,"children":1873},{"emptyLinePlaceholder":373},[1874],{"type":71,"value":376},{"type":65,"tag":260,"props":1876,"children":1877},{"class":262,"line":463},[1878,1882,1886,1890,1894,1898,1902,1906,1910,1914,1918,1922],{"type":65,"tag":260,"props":1879,"children":1880},{"style":277},[1881],{"type":71,"value":385},{"type":65,"tag":260,"props":1883,"children":1884},{"style":388},[1885],{"type":71,"value":391},{"type":65,"tag":260,"props":1887,"children":1888},{"style":394},[1889],{"type":71,"value":721},{"type":65,"tag":260,"props":1891,"children":1892},{"style":283},[1893],{"type":71,"value":726},{"type":65,"tag":260,"props":1895,"children":1896},{"style":729},[1897],{"type":71,"value":732},{"type":65,"tag":260,"props":1899,"children":1900},{"style":283},[1901],{"type":71,"value":737},{"type":65,"tag":260,"props":1903,"children":1904},{"style":283},[1905],{"type":71,"value":286},{"type":65,"tag":260,"props":1907,"children":1908},{"style":422},[1909],{"type":71,"value":732},{"type":65,"tag":260,"props":1911,"children":1912},{"style":283},[1913],{"type":71,"value":524},{"type":65,"tag":260,"props":1915,"children":1916},{"style":503},[1917],{"type":71,"value":754},{"type":65,"tag":260,"props":1919,"children":1920},{"style":283},[1921],{"type":71,"value":759},{"type":65,"tag":260,"props":1923,"children":1924},{"style":283},[1925],{"type":71,"value":406},{"type":65,"tag":260,"props":1927,"children":1928},{"class":262,"line":494},[1929,1933,1937,1941,1945,1949,1953,1957,1961,1965,1969],{"type":65,"tag":260,"props":1930,"children":1931},{"style":388},[1932],{"type":71,"value":771},{"type":65,"tag":260,"props":1934,"children":1935},{"style":289},[1936],{"type":71,"value":776},{"type":65,"tag":260,"props":1938,"children":1939},{"style":283},[1940],{"type":71,"value":781},{"type":65,"tag":260,"props":1942,"children":1943},{"style":394},[1944],{"type":71,"value":786},{"type":65,"tag":260,"props":1946,"children":1947},{"style":422},[1948],{"type":71,"value":425},{"type":65,"tag":260,"props":1950,"children":1951},{"style":283},[1952],{"type":71,"value":430},{"type":65,"tag":260,"props":1954,"children":1955},{"style":289},[1956],{"type":71,"value":732},{"type":65,"tag":260,"props":1958,"children":1959},{"style":283},[1960],{"type":71,"value":803},{"type":65,"tag":260,"props":1962,"children":1963},{"style":289},[1964],{"type":71,"value":292},{"type":65,"tag":260,"props":1966,"children":1967},{"style":283},[1968],{"type":71,"value":307},{"type":65,"tag":260,"props":1970,"children":1971},{"style":422},[1972],{"type":71,"value":443},{"type":65,"tag":260,"props":1974,"children":1975},{"class":262,"line":513},[1976],{"type":65,"tag":260,"props":1977,"children":1978},{"emptyLinePlaceholder":373},[1979],{"type":71,"value":376},{"type":65,"tag":260,"props":1981,"children":1982},{"class":262,"line":546},[1983,1987,1991,1995,1999,2003,2007,2011,2015,2019,2023],{"type":65,"tag":260,"props":1984,"children":1985},{"style":277},[1986],{"type":71,"value":415},{"type":65,"tag":260,"props":1988,"children":1989},{"style":394},[1990],{"type":71,"value":776},{"type":65,"tag":260,"props":1992,"children":1993},{"style":422},[1994],{"type":71,"value":425},{"type":65,"tag":260,"props":1996,"children":1997},{"style":283},[1998],{"type":71,"value":726},{"type":65,"tag":260,"props":2000,"children":2001},{"style":729},[2002],{"type":71,"value":732},{"type":65,"tag":260,"props":2004,"children":2005},{"style":283},[2006],{"type":71,"value":803},{"type":65,"tag":260,"props":2008,"children":2009},{"style":729},[2010],{"type":71,"value":1117},{"type":65,"tag":260,"props":2012,"children":2013},{"style":283},[2014],{"type":71,"value":803},{"type":65,"tag":260,"props":2016,"children":2017},{"style":729},[2018],{"type":71,"value":1126},{"type":65,"tag":260,"props":2020,"children":2021},{"style":283},[2022],{"type":71,"value":759},{"type":65,"tag":260,"props":2024,"children":2025},{"style":388},[2026],{"type":71,"value":1135},{"type":65,"tag":260,"props":2028,"children":2029},{"class":262,"line":555},[2030,2035,2039],{"type":65,"tag":260,"props":2031,"children":2032},{"style":394},[2033],{"type":71,"value":2034},"    renderRouterToStream",{"type":65,"tag":260,"props":2036,"children":2037},{"style":422},[2038],{"type":71,"value":425},{"type":65,"tag":260,"props":2040,"children":2041},{"style":283},[2042],{"type":71,"value":1152},{"type":65,"tag":260,"props":2044,"children":2045},{"class":262,"line":1155},[2046,2051],{"type":65,"tag":260,"props":2047,"children":2048},{"style":289},[2049],{"type":71,"value":2050},"      request",{"type":65,"tag":260,"props":2052,"children":2053},{"style":283},[2054],{"type":71,"value":620},{"type":65,"tag":260,"props":2056,"children":2057},{"class":262,"line":1168},[2058,2062],{"type":65,"tag":260,"props":2059,"children":2060},{"style":289},[2061],{"type":71,"value":1161},{"type":65,"tag":260,"props":2063,"children":2064},{"style":283},[2065],{"type":71,"value":620},{"type":65,"tag":260,"props":2067,"children":2068},{"class":262,"line":1181},[2069,2073],{"type":65,"tag":260,"props":2070,"children":2071},{"style":289},[2072],{"type":71,"value":1174},{"type":65,"tag":260,"props":2074,"children":2075},{"style":283},[2076],{"type":71,"value":620},{"type":65,"tag":260,"props":2078,"children":2079},{"class":262,"line":1222},[2080,2084,2088,2092,2096,2100,2104,2108],{"type":65,"tag":260,"props":2081,"children":2082},{"style":422},[2083],{"type":71,"value":1187},{"type":65,"tag":260,"props":2085,"children":2086},{"style":283},[2087],{"type":71,"value":524},{"type":65,"tag":260,"props":2089,"children":2090},{"style":283},[2091],{"type":71,"value":1196},{"type":65,"tag":260,"props":2093,"children":2094},{"style":503},[2095],{"type":71,"value":1201},{"type":65,"tag":260,"props":2097,"children":2098},{"style":388},[2099],{"type":71,"value":1126},{"type":65,"tag":260,"props":2101,"children":2102},{"style":283},[2103],{"type":71,"value":1210},{"type":65,"tag":260,"props":2105,"children":2106},{"style":289},[2107],{"type":71,"value":33},{"type":65,"tag":260,"props":2109,"children":2110},{"style":283},[2111],{"type":71,"value":1219},{"type":65,"tag":260,"props":2113,"children":2114},{"class":262,"line":1239},[2115,2119,2123],{"type":65,"tag":260,"props":2116,"children":2117},{"style":283},[2118],{"type":71,"value":1228},{"type":65,"tag":260,"props":2120,"children":2121},{"style":422},[2122],{"type":71,"value":581},{"type":65,"tag":260,"props":2124,"children":2125},{"style":283},[2126],{"type":71,"value":620},{"type":65,"tag":260,"props":2128,"children":2129},{"class":262,"line":1248},[2130],{"type":65,"tag":260,"props":2131,"children":2132},{"style":422},[2133],{"type":71,"value":1245},{"type":65,"tag":260,"props":2135,"children":2137},{"class":262,"line":2136},20,[2138],{"type":65,"tag":260,"props":2139,"children":2140},{"style":283},[2141],{"type":71,"value":452},{"type":65,"tag":78,"props":2143,"children":2144},{},[2145,2147,2152,2154,2159],{"type":71,"value":2146},"Streaming is automatic — deferred data (unawaited promises from loaders) and streamed markup just work when using ",{"type":65,"tag":130,"props":2148,"children":2150},{"className":2149},[],[2151],{"type":71,"value":1488},{"type":71,"value":2153}," or ",{"type":65,"tag":130,"props":2155,"children":2157},{"className":2156},[],[2158],{"type":71,"value":1749},{"type":71,"value":116},{"type":65,"tag":139,"props":2161,"children":2163},{"id":2162},"document-head-management",[2164],{"type":71,"value":2165},"Document Head Management",{"type":65,"tag":78,"props":2167,"children":2168},{},[2169,2171,2177,2179,2185,2186,2192,2193,2199,2200,2206,2208,2214,2216,2222,2224,2230,2231,2237],{"type":71,"value":2170},"Use the ",{"type":65,"tag":130,"props":2172,"children":2174},{"className":2173},[],[2175],{"type":71,"value":2176},"head",{"type":71,"value":2178}," route option to manage ",{"type":65,"tag":130,"props":2180,"children":2182},{"className":2181},[],[2183],{"type":71,"value":2184},"\u003Ctitle>",{"type":71,"value":213},{"type":65,"tag":130,"props":2187,"children":2189},{"className":2188},[],[2190],{"type":71,"value":2191},"\u003Cmeta>",{"type":71,"value":213},{"type":65,"tag":130,"props":2194,"children":2196},{"className":2195},[],[2197],{"type":71,"value":2198},"\u003Clink>",{"type":71,"value":228},{"type":65,"tag":130,"props":2201,"children":2203},{"className":2202},[],[2204],{"type":71,"value":2205},"\u003Cstyle>",{"type":71,"value":2207}," tags. Render ",{"type":65,"tag":130,"props":2209,"children":2211},{"className":2210},[],[2212],{"type":71,"value":2213},"\u003CHeadContent \u002F>",{"type":71,"value":2215}," in ",{"type":65,"tag":130,"props":2217,"children":2219},{"className":2218},[],[2220],{"type":71,"value":2221},"\u003Chead>",{"type":71,"value":2223}," and ",{"type":65,"tag":130,"props":2225,"children":2227},{"className":2226},[],[2228],{"type":71,"value":2229},"\u003CScripts \u002F>",{"type":71,"value":2215},{"type":65,"tag":130,"props":2232,"children":2234},{"className":2233},[],[2235],{"type":71,"value":2236},"\u003Cbody>",{"type":71,"value":116},{"type":65,"tag":568,"props":2239,"children":2241},{"id":2240},"root-route-with-head",[2242],{"type":71,"value":2243},"Root Route with Head",{"type":65,"tag":249,"props":2245,"children":2247},{"className":251,"code":2246,"language":253,"meta":254,"style":254},"\u002F\u002F src\u002Froutes\u002F__root.tsx\nimport {\n  createRootRoute,\n  HeadContent,\n  Outlet,\n  Scripts,\n} from '@tanstack\u002Freact-router'\n\nexport const Route = createRootRoute({\n  head: () => ({\n    meta: [\n      { charSet: 'UTF-8' },\n      { name: 'viewport', content: 'width=device-width, initial-scale=1.0' },\n      { title: 'My App' },\n    ],\n    links: [{ rel: 'icon', href: '\u002Ffavicon.ico' }],\n  }),\n  component: RootComponent,\n})\n\nfunction RootComponent() {\n  return (\n    \u003Chtml lang=\"en\">\n      \u003Chead>\n        \u003CHeadContent \u002F>\n      \u003C\u002Fhead>\n      \u003Cbody>\n        \u003COutlet \u002F>\n        \u003CScripts \u002F>\n      \u003C\u002Fbody>\n    \u003C\u002Fhtml>\n  )\n}\n",[2248],{"type":65,"tag":130,"props":2249,"children":2250},{"__ignoreMap":254},[2251,2259,2270,2282,2294,2306,2318,2341,2348,2382,2413,2430,2465,2524,2557,2569,2651,2667,2688,2699,2706,2727,2740,2781,2798,2817,2834,2851,2868,2885,2901,2918,2926],{"type":65,"tag":260,"props":2252,"children":2253},{"class":262,"line":263},[2254],{"type":65,"tag":260,"props":2255,"children":2256},{"style":267},[2257],{"type":71,"value":2258},"\u002F\u002F src\u002Froutes\u002F__root.tsx\n",{"type":65,"tag":260,"props":2260,"children":2261},{"class":262,"line":273},[2262,2266],{"type":65,"tag":260,"props":2263,"children":2264},{"style":277},[2265],{"type":71,"value":280},{"type":65,"tag":260,"props":2267,"children":2268},{"style":283},[2269],{"type":71,"value":406},{"type":65,"tag":260,"props":2271,"children":2272},{"class":262,"line":331},[2273,2278],{"type":65,"tag":260,"props":2274,"children":2275},{"style":289},[2276],{"type":71,"value":2277},"  createRootRoute",{"type":65,"tag":260,"props":2279,"children":2280},{"style":283},[2281],{"type":71,"value":620},{"type":65,"tag":260,"props":2283,"children":2284},{"class":262,"line":369},[2285,2290],{"type":65,"tag":260,"props":2286,"children":2287},{"style":289},[2288],{"type":71,"value":2289},"  HeadContent",{"type":65,"tag":260,"props":2291,"children":2292},{"style":283},[2293],{"type":71,"value":620},{"type":65,"tag":260,"props":2295,"children":2296},{"class":262,"line":379},[2297,2302],{"type":65,"tag":260,"props":2298,"children":2299},{"style":289},[2300],{"type":71,"value":2301},"  Outlet",{"type":65,"tag":260,"props":2303,"children":2304},{"style":283},[2305],{"type":71,"value":620},{"type":65,"tag":260,"props":2307,"children":2308},{"class":262,"line":409},[2309,2314],{"type":65,"tag":260,"props":2310,"children":2311},{"style":289},[2312],{"type":71,"value":2313},"  Scripts",{"type":65,"tag":260,"props":2315,"children":2316},{"style":283},[2317],{"type":71,"value":620},{"type":65,"tag":260,"props":2319,"children":2320},{"class":262,"line":446},[2321,2325,2329,2333,2337],{"type":65,"tag":260,"props":2322,"children":2323},{"style":283},[2324],{"type":71,"value":640},{"type":65,"tag":260,"props":2326,"children":2327},{"style":277},[2328],{"type":71,"value":312},{"type":65,"tag":260,"props":2330,"children":2331},{"style":283},[2332],{"type":71,"value":317},{"type":65,"tag":260,"props":2334,"children":2335},{"style":320},[2336],{"type":71,"value":323},{"type":65,"tag":260,"props":2338,"children":2339},{"style":283},[2340],{"type":71,"value":328},{"type":65,"tag":260,"props":2342,"children":2343},{"class":262,"line":455},[2344],{"type":65,"tag":260,"props":2345,"children":2346},{"emptyLinePlaceholder":373},[2347],{"type":71,"value":376},{"type":65,"tag":260,"props":2349,"children":2350},{"class":262,"line":463},[2351,2355,2360,2365,2369,2374,2378],{"type":65,"tag":260,"props":2352,"children":2353},{"style":277},[2354],{"type":71,"value":385},{"type":65,"tag":260,"props":2356,"children":2357},{"style":388},[2358],{"type":71,"value":2359}," const",{"type":65,"tag":260,"props":2361,"children":2362},{"style":289},[2363],{"type":71,"value":2364}," Route ",{"type":65,"tag":260,"props":2366,"children":2367},{"style":283},[2368],{"type":71,"value":1408},{"type":65,"tag":260,"props":2370,"children":2371},{"style":394},[2372],{"type":71,"value":2373}," createRootRoute",{"type":65,"tag":260,"props":2375,"children":2376},{"style":289},[2377],{"type":71,"value":425},{"type":65,"tag":260,"props":2379,"children":2380},{"style":283},[2381],{"type":71,"value":1152},{"type":65,"tag":260,"props":2383,"children":2384},{"class":262,"line":494},[2385,2390,2394,2399,2404,2409],{"type":65,"tag":260,"props":2386,"children":2387},{"style":394},[2388],{"type":71,"value":2389},"  head",{"type":65,"tag":260,"props":2391,"children":2392},{"style":283},[2393],{"type":71,"value":524},{"type":65,"tag":260,"props":2395,"children":2396},{"style":283},[2397],{"type":71,"value":2398}," ()",{"type":65,"tag":260,"props":2400,"children":2401},{"style":388},[2402],{"type":71,"value":2403}," =>",{"type":65,"tag":260,"props":2405,"children":2406},{"style":289},[2407],{"type":71,"value":2408}," (",{"type":65,"tag":260,"props":2410,"children":2411},{"style":283},[2412],{"type":71,"value":1152},{"type":65,"tag":260,"props":2414,"children":2415},{"class":262,"line":513},[2416,2421,2425],{"type":65,"tag":260,"props":2417,"children":2418},{"style":422},[2419],{"type":71,"value":2420},"    meta",{"type":65,"tag":260,"props":2422,"children":2423},{"style":283},[2424],{"type":71,"value":524},{"type":65,"tag":260,"props":2426,"children":2427},{"style":289},[2428],{"type":71,"value":2429}," [\n",{"type":65,"tag":260,"props":2431,"children":2432},{"class":262,"line":546},[2433,2438,2443,2447,2451,2456,2460],{"type":65,"tag":260,"props":2434,"children":2435},{"style":283},[2436],{"type":71,"value":2437},"      {",{"type":65,"tag":260,"props":2439,"children":2440},{"style":422},[2441],{"type":71,"value":2442}," charSet",{"type":65,"tag":260,"props":2444,"children":2445},{"style":283},[2446],{"type":71,"value":524},{"type":65,"tag":260,"props":2448,"children":2449},{"style":283},[2450],{"type":71,"value":317},{"type":65,"tag":260,"props":2452,"children":2453},{"style":320},[2454],{"type":71,"value":2455},"UTF-8",{"type":65,"tag":260,"props":2457,"children":2458},{"style":283},[2459],{"type":71,"value":487},{"type":65,"tag":260,"props":2461,"children":2462},{"style":283},[2463],{"type":71,"value":2464}," },\n",{"type":65,"tag":260,"props":2466,"children":2467},{"class":262,"line":555},[2468,2472,2477,2481,2485,2490,2494,2498,2503,2507,2511,2516,2520],{"type":65,"tag":260,"props":2469,"children":2470},{"style":283},[2471],{"type":71,"value":2437},{"type":65,"tag":260,"props":2473,"children":2474},{"style":422},[2475],{"type":71,"value":2476}," name",{"type":65,"tag":260,"props":2478,"children":2479},{"style":283},[2480],{"type":71,"value":524},{"type":65,"tag":260,"props":2482,"children":2483},{"style":283},[2484],{"type":71,"value":317},{"type":65,"tag":260,"props":2486,"children":2487},{"style":320},[2488],{"type":71,"value":2489},"viewport",{"type":65,"tag":260,"props":2491,"children":2492},{"style":283},[2493],{"type":71,"value":487},{"type":65,"tag":260,"props":2495,"children":2496},{"style":283},[2497],{"type":71,"value":803},{"type":65,"tag":260,"props":2499,"children":2500},{"style":422},[2501],{"type":71,"value":2502}," content",{"type":65,"tag":260,"props":2504,"children":2505},{"style":283},[2506],{"type":71,"value":524},{"type":65,"tag":260,"props":2508,"children":2509},{"style":283},[2510],{"type":71,"value":317},{"type":65,"tag":260,"props":2512,"children":2513},{"style":320},[2514],{"type":71,"value":2515},"width=device-width, initial-scale=1.0",{"type":65,"tag":260,"props":2517,"children":2518},{"style":283},[2519],{"type":71,"value":487},{"type":65,"tag":260,"props":2521,"children":2522},{"style":283},[2523],{"type":71,"value":2464},{"type":65,"tag":260,"props":2525,"children":2526},{"class":262,"line":1155},[2527,2531,2536,2540,2544,2549,2553],{"type":65,"tag":260,"props":2528,"children":2529},{"style":283},[2530],{"type":71,"value":2437},{"type":65,"tag":260,"props":2532,"children":2533},{"style":422},[2534],{"type":71,"value":2535}," title",{"type":65,"tag":260,"props":2537,"children":2538},{"style":283},[2539],{"type":71,"value":524},{"type":65,"tag":260,"props":2541,"children":2542},{"style":283},[2543],{"type":71,"value":317},{"type":65,"tag":260,"props":2545,"children":2546},{"style":320},[2547],{"type":71,"value":2548},"My App",{"type":65,"tag":260,"props":2550,"children":2551},{"style":283},[2552],{"type":71,"value":487},{"type":65,"tag":260,"props":2554,"children":2555},{"style":283},[2556],{"type":71,"value":2464},{"type":65,"tag":260,"props":2558,"children":2559},{"class":262,"line":1168},[2560,2565],{"type":65,"tag":260,"props":2561,"children":2562},{"style":289},[2563],{"type":71,"value":2564},"    ]",{"type":65,"tag":260,"props":2566,"children":2567},{"style":283},[2568],{"type":71,"value":620},{"type":65,"tag":260,"props":2570,"children":2571},{"class":262,"line":1181},[2572,2577,2581,2586,2590,2595,2599,2603,2608,2612,2616,2621,2625,2629,2634,2638,2642,2647],{"type":65,"tag":260,"props":2573,"children":2574},{"style":422},[2575],{"type":71,"value":2576},"    links",{"type":65,"tag":260,"props":2578,"children":2579},{"style":283},[2580],{"type":71,"value":524},{"type":65,"tag":260,"props":2582,"children":2583},{"style":289},[2584],{"type":71,"value":2585}," [",{"type":65,"tag":260,"props":2587,"children":2588},{"style":283},[2589],{"type":71,"value":430},{"type":65,"tag":260,"props":2591,"children":2592},{"style":422},[2593],{"type":71,"value":2594}," rel",{"type":65,"tag":260,"props":2596,"children":2597},{"style":283},[2598],{"type":71,"value":524},{"type":65,"tag":260,"props":2600,"children":2601},{"style":283},[2602],{"type":71,"value":317},{"type":65,"tag":260,"props":2604,"children":2605},{"style":320},[2606],{"type":71,"value":2607},"icon",{"type":65,"tag":260,"props":2609,"children":2610},{"style":283},[2611],{"type":71,"value":487},{"type":65,"tag":260,"props":2613,"children":2614},{"style":283},[2615],{"type":71,"value":803},{"type":65,"tag":260,"props":2617,"children":2618},{"style":422},[2619],{"type":71,"value":2620}," href",{"type":65,"tag":260,"props":2622,"children":2623},{"style":283},[2624],{"type":71,"value":524},{"type":65,"tag":260,"props":2626,"children":2627},{"style":283},[2628],{"type":71,"value":317},{"type":65,"tag":260,"props":2630,"children":2631},{"style":320},[2632],{"type":71,"value":2633},"\u002Ffavicon.ico",{"type":65,"tag":260,"props":2635,"children":2636},{"style":283},[2637],{"type":71,"value":487},{"type":65,"tag":260,"props":2639,"children":2640},{"style":283},[2641],{"type":71,"value":307},{"type":65,"tag":260,"props":2643,"children":2644},{"style":289},[2645],{"type":71,"value":2646},"]",{"type":65,"tag":260,"props":2648,"children":2649},{"style":283},[2650],{"type":71,"value":620},{"type":65,"tag":260,"props":2652,"children":2653},{"class":262,"line":1222},[2654,2659,2663],{"type":65,"tag":260,"props":2655,"children":2656},{"style":283},[2657],{"type":71,"value":2658},"  }",{"type":65,"tag":260,"props":2660,"children":2661},{"style":289},[2662],{"type":71,"value":581},{"type":65,"tag":260,"props":2664,"children":2665},{"style":283},[2666],{"type":71,"value":620},{"type":65,"tag":260,"props":2668,"children":2669},{"class":262,"line":1239},[2670,2675,2679,2684],{"type":65,"tag":260,"props":2671,"children":2672},{"style":422},[2673],{"type":71,"value":2674},"  component",{"type":65,"tag":260,"props":2676,"children":2677},{"style":283},[2678],{"type":71,"value":524},{"type":65,"tag":260,"props":2680,"children":2681},{"style":289},[2682],{"type":71,"value":2683}," RootComponent",{"type":65,"tag":260,"props":2685,"children":2686},{"style":283},[2687],{"type":71,"value":620},{"type":65,"tag":260,"props":2689,"children":2690},{"class":262,"line":1248},[2691,2695],{"type":65,"tag":260,"props":2692,"children":2693},{"style":283},[2694],{"type":71,"value":640},{"type":65,"tag":260,"props":2696,"children":2697},{"style":289},[2698],{"type":71,"value":443},{"type":65,"tag":260,"props":2700,"children":2701},{"class":262,"line":2136},[2702],{"type":65,"tag":260,"props":2703,"children":2704},{"emptyLinePlaceholder":373},[2705],{"type":71,"value":376},{"type":65,"tag":260,"props":2707,"children":2709},{"class":262,"line":2708},21,[2710,2715,2719,2723],{"type":65,"tag":260,"props":2711,"children":2712},{"style":388},[2713],{"type":71,"value":2714},"function",{"type":65,"tag":260,"props":2716,"children":2717},{"style":394},[2718],{"type":71,"value":2683},{"type":65,"tag":260,"props":2720,"children":2721},{"style":283},[2722],{"type":71,"value":401},{"type":65,"tag":260,"props":2724,"children":2725},{"style":283},[2726],{"type":71,"value":406},{"type":65,"tag":260,"props":2728,"children":2730},{"class":262,"line":2729},22,[2731,2735],{"type":65,"tag":260,"props":2732,"children":2733},{"style":277},[2734],{"type":71,"value":415},{"type":65,"tag":260,"props":2736,"children":2737},{"style":422},[2738],{"type":71,"value":2739}," (\n",{"type":65,"tag":260,"props":2741,"children":2743},{"class":262,"line":2742},23,[2744,2749,2754,2759,2763,2768,2773,2777],{"type":65,"tag":260,"props":2745,"children":2746},{"style":283},[2747],{"type":71,"value":2748},"    \u003C",{"type":65,"tag":260,"props":2750,"children":2751},{"style":422},[2752],{"type":71,"value":2753},"html",{"type":65,"tag":260,"props":2755,"children":2756},{"style":388},[2757],{"type":71,"value":2758}," lang",{"type":65,"tag":260,"props":2760,"children":2761},{"style":283},[2762],{"type":71,"value":1408},{"type":65,"tag":260,"props":2764,"children":2765},{"style":283},[2766],{"type":71,"value":2767},"\"",{"type":65,"tag":260,"props":2769,"children":2770},{"style":320},[2771],{"type":71,"value":2772},"en",{"type":65,"tag":260,"props":2774,"children":2775},{"style":283},[2776],{"type":71,"value":2767},{"type":65,"tag":260,"props":2778,"children":2779},{"style":283},[2780],{"type":71,"value":543},{"type":65,"tag":260,"props":2782,"children":2784},{"class":262,"line":2783},24,[2785,2790,2794],{"type":65,"tag":260,"props":2786,"children":2787},{"style":283},[2788],{"type":71,"value":2789},"      \u003C",{"type":65,"tag":260,"props":2791,"children":2792},{"style":422},[2793],{"type":71,"value":2176},{"type":65,"tag":260,"props":2795,"children":2796},{"style":283},[2797],{"type":71,"value":543},{"type":65,"tag":260,"props":2799,"children":2801},{"class":262,"line":2800},25,[2802,2807,2812],{"type":65,"tag":260,"props":2803,"children":2804},{"style":283},[2805],{"type":71,"value":2806},"        \u003C",{"type":65,"tag":260,"props":2808,"children":2809},{"style":503},[2810],{"type":71,"value":2811},"HeadContent",{"type":65,"tag":260,"props":2813,"children":2814},{"style":283},[2815],{"type":71,"value":2816}," \u002F>\n",{"type":65,"tag":260,"props":2818,"children":2820},{"class":262,"line":2819},26,[2821,2826,2830],{"type":65,"tag":260,"props":2822,"children":2823},{"style":283},[2824],{"type":71,"value":2825},"      \u003C\u002F",{"type":65,"tag":260,"props":2827,"children":2828},{"style":422},[2829],{"type":71,"value":2176},{"type":65,"tag":260,"props":2831,"children":2832},{"style":283},[2833],{"type":71,"value":543},{"type":65,"tag":260,"props":2835,"children":2837},{"class":262,"line":2836},27,[2838,2842,2847],{"type":65,"tag":260,"props":2839,"children":2840},{"style":283},[2841],{"type":71,"value":2789},{"type":65,"tag":260,"props":2843,"children":2844},{"style":422},[2845],{"type":71,"value":2846},"body",{"type":65,"tag":260,"props":2848,"children":2849},{"style":283},[2850],{"type":71,"value":543},{"type":65,"tag":260,"props":2852,"children":2854},{"class":262,"line":2853},28,[2855,2859,2864],{"type":65,"tag":260,"props":2856,"children":2857},{"style":283},[2858],{"type":71,"value":2806},{"type":65,"tag":260,"props":2860,"children":2861},{"style":503},[2862],{"type":71,"value":2863},"Outlet",{"type":65,"tag":260,"props":2865,"children":2866},{"style":283},[2867],{"type":71,"value":2816},{"type":65,"tag":260,"props":2869,"children":2871},{"class":262,"line":2870},29,[2872,2876,2881],{"type":65,"tag":260,"props":2873,"children":2874},{"style":283},[2875],{"type":71,"value":2806},{"type":65,"tag":260,"props":2877,"children":2878},{"style":503},[2879],{"type":71,"value":2880},"Scripts",{"type":65,"tag":260,"props":2882,"children":2883},{"style":283},[2884],{"type":71,"value":2816},{"type":65,"tag":260,"props":2886,"children":2888},{"class":262,"line":2887},30,[2889,2893,2897],{"type":65,"tag":260,"props":2890,"children":2891},{"style":283},[2892],{"type":71,"value":2825},{"type":65,"tag":260,"props":2894,"children":2895},{"style":422},[2896],{"type":71,"value":2846},{"type":65,"tag":260,"props":2898,"children":2899},{"style":283},[2900],{"type":71,"value":543},{"type":65,"tag":260,"props":2902,"children":2904},{"class":262,"line":2903},31,[2905,2910,2914],{"type":65,"tag":260,"props":2906,"children":2907},{"style":283},[2908],{"type":71,"value":2909},"    \u003C\u002F",{"type":65,"tag":260,"props":2911,"children":2912},{"style":422},[2913],{"type":71,"value":2753},{"type":65,"tag":260,"props":2915,"children":2916},{"style":283},[2917],{"type":71,"value":543},{"type":65,"tag":260,"props":2919,"children":2921},{"class":262,"line":2920},32,[2922],{"type":65,"tag":260,"props":2923,"children":2924},{"style":422},[2925],{"type":71,"value":1245},{"type":65,"tag":260,"props":2927,"children":2929},{"class":262,"line":2928},33,[2930],{"type":65,"tag":260,"props":2931,"children":2932},{"style":283},[2933],{"type":71,"value":452},{"type":65,"tag":568,"props":2935,"children":2937},{"id":2936},"per-route-head-nested-deduplication",[2938],{"type":71,"value":2939},"Per-Route Head (Nested Deduplication)",{"type":65,"tag":78,"props":2941,"children":2942},{},[2943,2945,2951,2952,2958,2960,2966,2968,2974],{"type":71,"value":2944},"Child route ",{"type":65,"tag":130,"props":2946,"children":2948},{"className":2947},[],[2949],{"type":71,"value":2950},"title",{"type":71,"value":2223},{"type":65,"tag":130,"props":2953,"children":2955},{"className":2954},[],[2956],{"type":71,"value":2957},"meta",{"type":71,"value":2959}," tags override parent tags with the same ",{"type":65,"tag":130,"props":2961,"children":2963},{"className":2962},[],[2964],{"type":71,"value":2965},"name",{"type":71,"value":2967},"\u002F",{"type":65,"tag":130,"props":2969,"children":2971},{"className":2970},[],[2972],{"type":71,"value":2973},"property",{"type":71,"value":524},{"type":65,"tag":249,"props":2976,"children":2978},{"className":251,"code":2977,"language":253,"meta":254,"style":254},"\u002F\u002F src\u002Froutes\u002Fposts\u002F$postId.tsx\nimport { createFileRoute } from '@tanstack\u002Freact-router'\n\nexport const Route = createFileRoute('\u002Fposts\u002F$postId')({\n  loader: async ({ params }) => {\n    const post = await fetchPost(params.postId)\n    return { post }\n  },\n  head: ({ loaderData }) => ({\n    meta: [\n      { title: loaderData.post.title },\n      { name: 'description', content: loaderData.post.excerpt },\n    ],\n  }),\n  component: PostPage,\n})\n\nfunction PostPage() {\n  const { post } = Route.useLoaderData()\n  return \u003Carticle>{post.content}\u003C\u002Farticle>\n}\n",[2979],{"type":65,"tag":130,"props":2980,"children":2981},{"__ignoreMap":254},[2982,2990,3026,3033,3082,3120,3168,3189,3197,3233,3248,3290,3355,3366,3381,3401,3412,3419,3438,3479,3526],{"type":65,"tag":260,"props":2983,"children":2984},{"class":262,"line":263},[2985],{"type":65,"tag":260,"props":2986,"children":2987},{"style":267},[2988],{"type":71,"value":2989},"\u002F\u002F src\u002Froutes\u002Fposts\u002F$postId.tsx\n",{"type":65,"tag":260,"props":2991,"children":2992},{"class":262,"line":273},[2993,2997,3001,3006,3010,3014,3018,3022],{"type":65,"tag":260,"props":2994,"children":2995},{"style":277},[2996],{"type":71,"value":280},{"type":65,"tag":260,"props":2998,"children":2999},{"style":283},[3000],{"type":71,"value":286},{"type":65,"tag":260,"props":3002,"children":3003},{"style":289},[3004],{"type":71,"value":3005}," createFileRoute",{"type":65,"tag":260,"props":3007,"children":3008},{"style":283},[3009],{"type":71,"value":307},{"type":65,"tag":260,"props":3011,"children":3012},{"style":277},[3013],{"type":71,"value":312},{"type":65,"tag":260,"props":3015,"children":3016},{"style":283},[3017],{"type":71,"value":317},{"type":65,"tag":260,"props":3019,"children":3020},{"style":320},[3021],{"type":71,"value":323},{"type":65,"tag":260,"props":3023,"children":3024},{"style":283},[3025],{"type":71,"value":328},{"type":65,"tag":260,"props":3027,"children":3028},{"class":262,"line":331},[3029],{"type":65,"tag":260,"props":3030,"children":3031},{"emptyLinePlaceholder":373},[3032],{"type":71,"value":376},{"type":65,"tag":260,"props":3034,"children":3035},{"class":262,"line":369},[3036,3040,3044,3048,3052,3056,3060,3064,3069,3073,3078],{"type":65,"tag":260,"props":3037,"children":3038},{"style":277},[3039],{"type":71,"value":385},{"type":65,"tag":260,"props":3041,"children":3042},{"style":388},[3043],{"type":71,"value":2359},{"type":65,"tag":260,"props":3045,"children":3046},{"style":289},[3047],{"type":71,"value":2364},{"type":65,"tag":260,"props":3049,"children":3050},{"style":283},[3051],{"type":71,"value":1408},{"type":65,"tag":260,"props":3053,"children":3054},{"style":394},[3055],{"type":71,"value":3005},{"type":65,"tag":260,"props":3057,"children":3058},{"style":289},[3059],{"type":71,"value":425},{"type":65,"tag":260,"props":3061,"children":3062},{"style":283},[3063],{"type":71,"value":487},{"type":65,"tag":260,"props":3065,"children":3066},{"style":320},[3067],{"type":71,"value":3068},"\u002Fposts\u002F$postId",{"type":65,"tag":260,"props":3070,"children":3071},{"style":283},[3072],{"type":71,"value":487},{"type":65,"tag":260,"props":3074,"children":3075},{"style":289},[3076],{"type":71,"value":3077},")(",{"type":65,"tag":260,"props":3079,"children":3080},{"style":283},[3081],{"type":71,"value":1152},{"type":65,"tag":260,"props":3083,"children":3084},{"class":262,"line":379},[3085,3090,3094,3098,3103,3108,3112,3116],{"type":65,"tag":260,"props":3086,"children":3087},{"style":394},[3088],{"type":71,"value":3089},"  loader",{"type":65,"tag":260,"props":3091,"children":3092},{"style":283},[3093],{"type":71,"value":524},{"type":65,"tag":260,"props":3095,"children":3096},{"style":388},[3097],{"type":71,"value":712},{"type":65,"tag":260,"props":3099,"children":3100},{"style":283},[3101],{"type":71,"value":3102}," ({",{"type":65,"tag":260,"props":3104,"children":3105},{"style":729},[3106],{"type":71,"value":3107}," params",{"type":65,"tag":260,"props":3109,"children":3110},{"style":283},[3111],{"type":71,"value":759},{"type":65,"tag":260,"props":3113,"children":3114},{"style":388},[3115],{"type":71,"value":2403},{"type":65,"tag":260,"props":3117,"children":3118},{"style":283},[3119],{"type":71,"value":406},{"type":65,"tag":260,"props":3121,"children":3122},{"class":262,"line":409},[3123,3128,3133,3137,3141,3146,3150,3155,3159,3164],{"type":65,"tag":260,"props":3124,"children":3125},{"style":388},[3126],{"type":71,"value":3127},"    const",{"type":65,"tag":260,"props":3129,"children":3130},{"style":289},[3131],{"type":71,"value":3132}," post",{"type":65,"tag":260,"props":3134,"children":3135},{"style":283},[3136],{"type":71,"value":781},{"type":65,"tag":260,"props":3138,"children":3139},{"style":277},[3140],{"type":71,"value":827},{"type":65,"tag":260,"props":3142,"children":3143},{"style":394},[3144],{"type":71,"value":3145}," fetchPost",{"type":65,"tag":260,"props":3147,"children":3148},{"style":422},[3149],{"type":71,"value":425},{"type":65,"tag":260,"props":3151,"children":3152},{"style":289},[3153],{"type":71,"value":3154},"params",{"type":65,"tag":260,"props":3156,"children":3157},{"style":283},[3158],{"type":71,"value":116},{"type":65,"tag":260,"props":3160,"children":3161},{"style":289},[3162],{"type":71,"value":3163},"postId",{"type":65,"tag":260,"props":3165,"children":3166},{"style":422},[3167],{"type":71,"value":443},{"type":65,"tag":260,"props":3169,"children":3170},{"class":262,"line":446},[3171,3176,3180,3184],{"type":65,"tag":260,"props":3172,"children":3173},{"style":277},[3174],{"type":71,"value":3175},"    return",{"type":65,"tag":260,"props":3177,"children":3178},{"style":283},[3179],{"type":71,"value":286},{"type":65,"tag":260,"props":3181,"children":3182},{"style":289},[3183],{"type":71,"value":3132},{"type":65,"tag":260,"props":3185,"children":3186},{"style":283},[3187],{"type":71,"value":3188}," }\n",{"type":65,"tag":260,"props":3190,"children":3191},{"class":262,"line":455},[3192],{"type":65,"tag":260,"props":3193,"children":3194},{"style":283},[3195],{"type":71,"value":3196},"  },\n",{"type":65,"tag":260,"props":3198,"children":3199},{"class":262,"line":463},[3200,3204,3208,3212,3217,3221,3225,3229],{"type":65,"tag":260,"props":3201,"children":3202},{"style":394},[3203],{"type":71,"value":2389},{"type":65,"tag":260,"props":3205,"children":3206},{"style":283},[3207],{"type":71,"value":524},{"type":65,"tag":260,"props":3209,"children":3210},{"style":283},[3211],{"type":71,"value":3102},{"type":65,"tag":260,"props":3213,"children":3214},{"style":729},[3215],{"type":71,"value":3216}," loaderData",{"type":65,"tag":260,"props":3218,"children":3219},{"style":283},[3220],{"type":71,"value":759},{"type":65,"tag":260,"props":3222,"children":3223},{"style":388},[3224],{"type":71,"value":2403},{"type":65,"tag":260,"props":3226,"children":3227},{"style":289},[3228],{"type":71,"value":2408},{"type":65,"tag":260,"props":3230,"children":3231},{"style":283},[3232],{"type":71,"value":1152},{"type":65,"tag":260,"props":3234,"children":3235},{"class":262,"line":494},[3236,3240,3244],{"type":65,"tag":260,"props":3237,"children":3238},{"style":422},[3239],{"type":71,"value":2420},{"type":65,"tag":260,"props":3241,"children":3242},{"style":283},[3243],{"type":71,"value":524},{"type":65,"tag":260,"props":3245,"children":3246},{"style":289},[3247],{"type":71,"value":2429},{"type":65,"tag":260,"props":3249,"children":3250},{"class":262,"line":513},[3251,3255,3259,3263,3267,3271,3276,3280,3285],{"type":65,"tag":260,"props":3252,"children":3253},{"style":283},[3254],{"type":71,"value":2437},{"type":65,"tag":260,"props":3256,"children":3257},{"style":422},[3258],{"type":71,"value":2535},{"type":65,"tag":260,"props":3260,"children":3261},{"style":283},[3262],{"type":71,"value":524},{"type":65,"tag":260,"props":3264,"children":3265},{"style":289},[3266],{"type":71,"value":3216},{"type":65,"tag":260,"props":3268,"children":3269},{"style":283},[3270],{"type":71,"value":116},{"type":65,"tag":260,"props":3272,"children":3273},{"style":289},[3274],{"type":71,"value":3275},"post",{"type":65,"tag":260,"props":3277,"children":3278},{"style":283},[3279],{"type":71,"value":116},{"type":65,"tag":260,"props":3281,"children":3282},{"style":289},[3283],{"type":71,"value":3284},"title ",{"type":65,"tag":260,"props":3286,"children":3287},{"style":283},[3288],{"type":71,"value":3289},"},\n",{"type":65,"tag":260,"props":3291,"children":3292},{"class":262,"line":546},[3293,3297,3301,3305,3309,3314,3318,3322,3326,3330,3334,3338,3342,3346,3351],{"type":65,"tag":260,"props":3294,"children":3295},{"style":283},[3296],{"type":71,"value":2437},{"type":65,"tag":260,"props":3298,"children":3299},{"style":422},[3300],{"type":71,"value":2476},{"type":65,"tag":260,"props":3302,"children":3303},{"style":283},[3304],{"type":71,"value":524},{"type":65,"tag":260,"props":3306,"children":3307},{"style":283},[3308],{"type":71,"value":317},{"type":65,"tag":260,"props":3310,"children":3311},{"style":320},[3312],{"type":71,"value":3313},"description",{"type":65,"tag":260,"props":3315,"children":3316},{"style":283},[3317],{"type":71,"value":487},{"type":65,"tag":260,"props":3319,"children":3320},{"style":283},[3321],{"type":71,"value":803},{"type":65,"tag":260,"props":3323,"children":3324},{"style":422},[3325],{"type":71,"value":2502},{"type":65,"tag":260,"props":3327,"children":3328},{"style":283},[3329],{"type":71,"value":524},{"type":65,"tag":260,"props":3331,"children":3332},{"style":289},[3333],{"type":71,"value":3216},{"type":65,"tag":260,"props":3335,"children":3336},{"style":283},[3337],{"type":71,"value":116},{"type":65,"tag":260,"props":3339,"children":3340},{"style":289},[3341],{"type":71,"value":3275},{"type":65,"tag":260,"props":3343,"children":3344},{"style":283},[3345],{"type":71,"value":116},{"type":65,"tag":260,"props":3347,"children":3348},{"style":289},[3349],{"type":71,"value":3350},"excerpt ",{"type":65,"tag":260,"props":3352,"children":3353},{"style":283},[3354],{"type":71,"value":3289},{"type":65,"tag":260,"props":3356,"children":3357},{"class":262,"line":555},[3358,3362],{"type":65,"tag":260,"props":3359,"children":3360},{"style":289},[3361],{"type":71,"value":2564},{"type":65,"tag":260,"props":3363,"children":3364},{"style":283},[3365],{"type":71,"value":620},{"type":65,"tag":260,"props":3367,"children":3368},{"class":262,"line":1155},[3369,3373,3377],{"type":65,"tag":260,"props":3370,"children":3371},{"style":283},[3372],{"type":71,"value":2658},{"type":65,"tag":260,"props":3374,"children":3375},{"style":289},[3376],{"type":71,"value":581},{"type":65,"tag":260,"props":3378,"children":3379},{"style":283},[3380],{"type":71,"value":620},{"type":65,"tag":260,"props":3382,"children":3383},{"class":262,"line":1168},[3384,3388,3392,3397],{"type":65,"tag":260,"props":3385,"children":3386},{"style":422},[3387],{"type":71,"value":2674},{"type":65,"tag":260,"props":3389,"children":3390},{"style":283},[3391],{"type":71,"value":524},{"type":65,"tag":260,"props":3393,"children":3394},{"style":289},[3395],{"type":71,"value":3396}," PostPage",{"type":65,"tag":260,"props":3398,"children":3399},{"style":283},[3400],{"type":71,"value":620},{"type":65,"tag":260,"props":3402,"children":3403},{"class":262,"line":1181},[3404,3408],{"type":65,"tag":260,"props":3405,"children":3406},{"style":283},[3407],{"type":71,"value":640},{"type":65,"tag":260,"props":3409,"children":3410},{"style":289},[3411],{"type":71,"value":443},{"type":65,"tag":260,"props":3413,"children":3414},{"class":262,"line":1222},[3415],{"type":65,"tag":260,"props":3416,"children":3417},{"emptyLinePlaceholder":373},[3418],{"type":71,"value":376},{"type":65,"tag":260,"props":3420,"children":3421},{"class":262,"line":1239},[3422,3426,3430,3434],{"type":65,"tag":260,"props":3423,"children":3424},{"style":388},[3425],{"type":71,"value":2714},{"type":65,"tag":260,"props":3427,"children":3428},{"style":394},[3429],{"type":71,"value":3396},{"type":65,"tag":260,"props":3431,"children":3432},{"style":283},[3433],{"type":71,"value":401},{"type":65,"tag":260,"props":3435,"children":3436},{"style":283},[3437],{"type":71,"value":406},{"type":65,"tag":260,"props":3439,"children":3440},{"class":262,"line":1248},[3441,3445,3449,3453,3457,3461,3466,3470,3475],{"type":65,"tag":260,"props":3442,"children":3443},{"style":388},[3444],{"type":71,"value":771},{"type":65,"tag":260,"props":3446,"children":3447},{"style":283},[3448],{"type":71,"value":286},{"type":65,"tag":260,"props":3450,"children":3451},{"style":289},[3452],{"type":71,"value":3132},{"type":65,"tag":260,"props":3454,"children":3455},{"style":283},[3456],{"type":71,"value":307},{"type":65,"tag":260,"props":3458,"children":3459},{"style":283},[3460],{"type":71,"value":781},{"type":65,"tag":260,"props":3462,"children":3463},{"style":289},[3464],{"type":71,"value":3465}," Route",{"type":65,"tag":260,"props":3467,"children":3468},{"style":283},[3469],{"type":71,"value":116},{"type":65,"tag":260,"props":3471,"children":3472},{"style":394},[3473],{"type":71,"value":3474},"useLoaderData",{"type":65,"tag":260,"props":3476,"children":3477},{"style":422},[3478],{"type":71,"value":1417},{"type":65,"tag":260,"props":3480,"children":3481},{"class":262,"line":2136},[3482,3486,3490,3495,3500,3504,3508,3513,3518,3522],{"type":65,"tag":260,"props":3483,"children":3484},{"style":277},[3485],{"type":71,"value":415},{"type":65,"tag":260,"props":3487,"children":3488},{"style":283},[3489],{"type":71,"value":1196},{"type":65,"tag":260,"props":3491,"children":3492},{"style":422},[3493],{"type":71,"value":3494},"article",{"type":65,"tag":260,"props":3496,"children":3497},{"style":283},[3498],{"type":71,"value":3499},">{",{"type":65,"tag":260,"props":3501,"children":3502},{"style":289},[3503],{"type":71,"value":3275},{"type":65,"tag":260,"props":3505,"children":3506},{"style":283},[3507],{"type":71,"value":116},{"type":65,"tag":260,"props":3509,"children":3510},{"style":289},[3511],{"type":71,"value":3512},"content",{"type":65,"tag":260,"props":3514,"children":3515},{"style":283},[3516],{"type":71,"value":3517},"}\u003C\u002F",{"type":65,"tag":260,"props":3519,"children":3520},{"style":422},[3521],{"type":71,"value":3494},{"type":65,"tag":260,"props":3523,"children":3524},{"style":283},[3525],{"type":71,"value":543},{"type":65,"tag":260,"props":3527,"children":3528},{"class":262,"line":2708},[3529],{"type":65,"tag":260,"props":3530,"children":3531},{"style":283},[3532],{"type":71,"value":452},{"type":65,"tag":568,"props":3534,"children":3536},{"id":3535},"spa-head-no-full-html-control",[3537],{"type":71,"value":3538},"SPA Head (No Full HTML Control)",{"type":65,"tag":78,"props":3540,"children":3541},{},[3542,3544,3549],{"type":71,"value":3543},"For SPAs without server-rendered HTML, render ",{"type":65,"tag":130,"props":3545,"children":3547},{"className":3546},[],[3548],{"type":71,"value":2213},{"type":71,"value":3550}," at the top of the component tree:",{"type":65,"tag":249,"props":3552,"children":3554},{"className":251,"code":3553,"language":253,"meta":254,"style":254},"import { createRootRoute, HeadContent, Outlet } from '@tanstack\u002Freact-router'\n\nconst rootRoute = createRootRoute({\n  head: () => ({\n    meta: [{ title: 'My SPA' }],\n  }),\n  component: () => (\n    \u003C>\n      \u003CHeadContent \u002F>\n      \u003COutlet \u002F>\n    \u003C\u002F>\n  ),\n})\n",[3555],{"type":65,"tag":130,"props":3556,"children":3557},{"__ignoreMap":254},[3558,3611,3618,3646,3673,3725,3740,3763,3771,3786,3801,3809,3821],{"type":65,"tag":260,"props":3559,"children":3560},{"class":262,"line":263},[3561,3565,3569,3573,3577,3582,3586,3591,3595,3599,3603,3607],{"type":65,"tag":260,"props":3562,"children":3563},{"style":277},[3564],{"type":71,"value":280},{"type":65,"tag":260,"props":3566,"children":3567},{"style":283},[3568],{"type":71,"value":286},{"type":65,"tag":260,"props":3570,"children":3571},{"style":289},[3572],{"type":71,"value":2373},{"type":65,"tag":260,"props":3574,"children":3575},{"style":283},[3576],{"type":71,"value":803},{"type":65,"tag":260,"props":3578,"children":3579},{"style":289},[3580],{"type":71,"value":3581}," HeadContent",{"type":65,"tag":260,"props":3583,"children":3584},{"style":283},[3585],{"type":71,"value":803},{"type":65,"tag":260,"props":3587,"children":3588},{"style":289},[3589],{"type":71,"value":3590}," Outlet",{"type":65,"tag":260,"props":3592,"children":3593},{"style":283},[3594],{"type":71,"value":307},{"type":65,"tag":260,"props":3596,"children":3597},{"style":277},[3598],{"type":71,"value":312},{"type":65,"tag":260,"props":3600,"children":3601},{"style":283},[3602],{"type":71,"value":317},{"type":65,"tag":260,"props":3604,"children":3605},{"style":320},[3606],{"type":71,"value":323},{"type":65,"tag":260,"props":3608,"children":3609},{"style":283},[3610],{"type":71,"value":328},{"type":65,"tag":260,"props":3612,"children":3613},{"class":262,"line":273},[3614],{"type":65,"tag":260,"props":3615,"children":3616},{"emptyLinePlaceholder":373},[3617],{"type":71,"value":376},{"type":65,"tag":260,"props":3619,"children":3620},{"class":262,"line":331},[3621,3625,3630,3634,3638,3642],{"type":65,"tag":260,"props":3622,"children":3623},{"style":388},[3624],{"type":71,"value":1398},{"type":65,"tag":260,"props":3626,"children":3627},{"style":289},[3628],{"type":71,"value":3629}," rootRoute ",{"type":65,"tag":260,"props":3631,"children":3632},{"style":283},[3633],{"type":71,"value":1408},{"type":65,"tag":260,"props":3635,"children":3636},{"style":394},[3637],{"type":71,"value":2373},{"type":65,"tag":260,"props":3639,"children":3640},{"style":289},[3641],{"type":71,"value":425},{"type":65,"tag":260,"props":3643,"children":3644},{"style":283},[3645],{"type":71,"value":1152},{"type":65,"tag":260,"props":3647,"children":3648},{"class":262,"line":369},[3649,3653,3657,3661,3665,3669],{"type":65,"tag":260,"props":3650,"children":3651},{"style":394},[3652],{"type":71,"value":2389},{"type":65,"tag":260,"props":3654,"children":3655},{"style":283},[3656],{"type":71,"value":524},{"type":65,"tag":260,"props":3658,"children":3659},{"style":283},[3660],{"type":71,"value":2398},{"type":65,"tag":260,"props":3662,"children":3663},{"style":388},[3664],{"type":71,"value":2403},{"type":65,"tag":260,"props":3666,"children":3667},{"style":289},[3668],{"type":71,"value":2408},{"type":65,"tag":260,"props":3670,"children":3671},{"style":283},[3672],{"type":71,"value":1152},{"type":65,"tag":260,"props":3674,"children":3675},{"class":262,"line":379},[3676,3680,3684,3688,3692,3696,3700,3704,3709,3713,3717,3721],{"type":65,"tag":260,"props":3677,"children":3678},{"style":422},[3679],{"type":71,"value":2420},{"type":65,"tag":260,"props":3681,"children":3682},{"style":283},[3683],{"type":71,"value":524},{"type":65,"tag":260,"props":3685,"children":3686},{"style":289},[3687],{"type":71,"value":2585},{"type":65,"tag":260,"props":3689,"children":3690},{"style":283},[3691],{"type":71,"value":430},{"type":65,"tag":260,"props":3693,"children":3694},{"style":422},[3695],{"type":71,"value":2535},{"type":65,"tag":260,"props":3697,"children":3698},{"style":283},[3699],{"type":71,"value":524},{"type":65,"tag":260,"props":3701,"children":3702},{"style":283},[3703],{"type":71,"value":317},{"type":65,"tag":260,"props":3705,"children":3706},{"style":320},[3707],{"type":71,"value":3708},"My SPA",{"type":65,"tag":260,"props":3710,"children":3711},{"style":283},[3712],{"type":71,"value":487},{"type":65,"tag":260,"props":3714,"children":3715},{"style":283},[3716],{"type":71,"value":307},{"type":65,"tag":260,"props":3718,"children":3719},{"style":289},[3720],{"type":71,"value":2646},{"type":65,"tag":260,"props":3722,"children":3723},{"style":283},[3724],{"type":71,"value":620},{"type":65,"tag":260,"props":3726,"children":3727},{"class":262,"line":409},[3728,3732,3736],{"type":65,"tag":260,"props":3729,"children":3730},{"style":283},[3731],{"type":71,"value":2658},{"type":65,"tag":260,"props":3733,"children":3734},{"style":289},[3735],{"type":71,"value":581},{"type":65,"tag":260,"props":3737,"children":3738},{"style":283},[3739],{"type":71,"value":620},{"type":65,"tag":260,"props":3741,"children":3742},{"class":262,"line":446},[3743,3747,3751,3755,3759],{"type":65,"tag":260,"props":3744,"children":3745},{"style":394},[3746],{"type":71,"value":2674},{"type":65,"tag":260,"props":3748,"children":3749},{"style":283},[3750],{"type":71,"value":524},{"type":65,"tag":260,"props":3752,"children":3753},{"style":283},[3754],{"type":71,"value":2398},{"type":65,"tag":260,"props":3756,"children":3757},{"style":388},[3758],{"type":71,"value":2403},{"type":65,"tag":260,"props":3760,"children":3761},{"style":289},[3762],{"type":71,"value":2739},{"type":65,"tag":260,"props":3764,"children":3765},{"class":262,"line":455},[3766],{"type":65,"tag":260,"props":3767,"children":3768},{"style":283},[3769],{"type":71,"value":3770},"    \u003C>\n",{"type":65,"tag":260,"props":3772,"children":3773},{"class":262,"line":463},[3774,3778,3782],{"type":65,"tag":260,"props":3775,"children":3776},{"style":283},[3777],{"type":71,"value":2789},{"type":65,"tag":260,"props":3779,"children":3780},{"style":503},[3781],{"type":71,"value":2811},{"type":65,"tag":260,"props":3783,"children":3784},{"style":283},[3785],{"type":71,"value":2816},{"type":65,"tag":260,"props":3787,"children":3788},{"class":262,"line":494},[3789,3793,3797],{"type":65,"tag":260,"props":3790,"children":3791},{"style":283},[3792],{"type":71,"value":2789},{"type":65,"tag":260,"props":3794,"children":3795},{"style":503},[3796],{"type":71,"value":2863},{"type":65,"tag":260,"props":3798,"children":3799},{"style":283},[3800],{"type":71,"value":2816},{"type":65,"tag":260,"props":3802,"children":3803},{"class":262,"line":513},[3804],{"type":65,"tag":260,"props":3805,"children":3806},{"style":283},[3807],{"type":71,"value":3808},"    \u003C\u002F>\n",{"type":65,"tag":260,"props":3810,"children":3811},{"class":262,"line":546},[3812,3817],{"type":65,"tag":260,"props":3813,"children":3814},{"style":289},[3815],{"type":71,"value":3816},"  )",{"type":65,"tag":260,"props":3818,"children":3819},{"style":283},[3820],{"type":71,"value":620},{"type":65,"tag":260,"props":3822,"children":3823},{"class":262,"line":555},[3824,3828],{"type":65,"tag":260,"props":3825,"children":3826},{"style":283},[3827],{"type":71,"value":640},{"type":65,"tag":260,"props":3829,"children":3830},{"style":289},[3831],{"type":71,"value":443},{"type":65,"tag":139,"props":3833,"children":3835},{"id":3834},"body-scripts",[3836],{"type":71,"value":3837},"Body Scripts",{"type":65,"tag":78,"props":3839,"children":3840},{},[3841,3843,3849,3851,3857,3859,3864],{"type":71,"value":3842},"Use ",{"type":65,"tag":130,"props":3844,"children":3846},{"className":3845},[],[3847],{"type":71,"value":3848},"scripts",{"type":71,"value":3850}," (separate from ",{"type":65,"tag":130,"props":3852,"children":3854},{"className":3853},[],[3855],{"type":71,"value":3856},"head.scripts",{"type":71,"value":3858},") to inject scripts into ",{"type":65,"tag":130,"props":3860,"children":3862},{"className":3861},[],[3863],{"type":71,"value":2236},{"type":71,"value":3865}," before the app entry point:",{"type":65,"tag":249,"props":3867,"children":3869},{"className":251,"code":3868,"language":253,"meta":254,"style":254},"export const Route = createRootRoute({\n  scripts: () => [{ children: 'console.log(\"runs before hydration\")' }],\n})\n",[3870],{"type":65,"tag":130,"props":3871,"children":3872},{"__ignoreMap":254},[3873,3904,3966],{"type":65,"tag":260,"props":3874,"children":3875},{"class":262,"line":263},[3876,3880,3884,3888,3892,3896,3900],{"type":65,"tag":260,"props":3877,"children":3878},{"style":277},[3879],{"type":71,"value":385},{"type":65,"tag":260,"props":3881,"children":3882},{"style":388},[3883],{"type":71,"value":2359},{"type":65,"tag":260,"props":3885,"children":3886},{"style":289},[3887],{"type":71,"value":2364},{"type":65,"tag":260,"props":3889,"children":3890},{"style":283},[3891],{"type":71,"value":1408},{"type":65,"tag":260,"props":3893,"children":3894},{"style":394},[3895],{"type":71,"value":2373},{"type":65,"tag":260,"props":3897,"children":3898},{"style":289},[3899],{"type":71,"value":425},{"type":65,"tag":260,"props":3901,"children":3902},{"style":283},[3903],{"type":71,"value":1152},{"type":65,"tag":260,"props":3905,"children":3906},{"class":262,"line":273},[3907,3912,3916,3920,3924,3928,3932,3937,3941,3945,3950,3954,3958,3962],{"type":65,"tag":260,"props":3908,"children":3909},{"style":394},[3910],{"type":71,"value":3911},"  scripts",{"type":65,"tag":260,"props":3913,"children":3914},{"style":283},[3915],{"type":71,"value":524},{"type":65,"tag":260,"props":3917,"children":3918},{"style":283},[3919],{"type":71,"value":2398},{"type":65,"tag":260,"props":3921,"children":3922},{"style":388},[3923],{"type":71,"value":2403},{"type":65,"tag":260,"props":3925,"children":3926},{"style":289},[3927],{"type":71,"value":2585},{"type":65,"tag":260,"props":3929,"children":3930},{"style":283},[3931],{"type":71,"value":430},{"type":65,"tag":260,"props":3933,"children":3934},{"style":422},[3935],{"type":71,"value":3936}," children",{"type":65,"tag":260,"props":3938,"children":3939},{"style":283},[3940],{"type":71,"value":524},{"type":65,"tag":260,"props":3942,"children":3943},{"style":283},[3944],{"type":71,"value":317},{"type":65,"tag":260,"props":3946,"children":3947},{"style":320},[3948],{"type":71,"value":3949},"console.log(\"runs before hydration\")",{"type":65,"tag":260,"props":3951,"children":3952},{"style":283},[3953],{"type":71,"value":487},{"type":65,"tag":260,"props":3955,"children":3956},{"style":283},[3957],{"type":71,"value":307},{"type":65,"tag":260,"props":3959,"children":3960},{"style":289},[3961],{"type":71,"value":2646},{"type":65,"tag":260,"props":3963,"children":3964},{"style":283},[3965],{"type":71,"value":620},{"type":65,"tag":260,"props":3967,"children":3968},{"class":262,"line":331},[3969,3973],{"type":65,"tag":260,"props":3970,"children":3971},{"style":283},[3972],{"type":71,"value":640},{"type":65,"tag":260,"props":3974,"children":3975},{"style":289},[3976],{"type":71,"value":443},{"type":65,"tag":78,"props":3978,"children":3979},{},[3980,3982,3987,3989,3994],{"type":71,"value":3981},"The ",{"type":65,"tag":130,"props":3983,"children":3985},{"className":3984},[],[3986],{"type":71,"value":2229},{"type":71,"value":3988}," component renders these. Place it at the end of ",{"type":65,"tag":130,"props":3990,"children":3992},{"className":3991},[],[3993],{"type":71,"value":2236},{"type":71,"value":116},{"type":65,"tag":139,"props":3996,"children":3998},{"id":3997},"scriptonce-for-pre-hydration-scripts",[3999],{"type":71,"value":4000},"ScriptOnce for Pre-Hydration Scripts",{"type":65,"tag":78,"props":4002,"children":4003},{},[4004,4010,4012,4018],{"type":65,"tag":130,"props":4005,"children":4007},{"className":4006},[],[4008],{"type":71,"value":4009},"ScriptOnce",{"type":71,"value":4011}," renders a ",{"type":65,"tag":130,"props":4013,"children":4015},{"className":4014},[],[4016],{"type":71,"value":4017},"\u003Cscript>",{"type":71,"value":4019}," during SSR that executes immediately and self-removes. On client navigation, it does nothing (no duplicate execution).",{"type":65,"tag":249,"props":4021,"children":4023},{"className":251,"code":4022,"language":253,"meta":254,"style":254},"import { ScriptOnce } from '@tanstack\u002Freact-router'\n\nconst themeScript = `(function() {\n  try {\n    const theme = localStorage.getItem('theme') || 'auto';\n    const resolved = theme === 'auto'\n      ? (matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light')\n      : theme;\n    document.documentElement.classList.add(resolved);\n  } catch (e) {}\n})();`\n\nfunction ThemeProvider({ children }: { children: React.ReactNode }) {\n  return (\n    \u003C>\n      \u003CScriptOnce children={themeScript} \u002F>\n      {children}\n    \u003C\u002F>\n  )\n}\n",[4024],{"type":65,"tag":130,"props":4025,"children":4026},{"__ignoreMap":254},[4027,4063,4070,4096,4104,4112,4120,4128,4136,4144,4152,4165,4172,4230,4241,4248,4277,4293,4300,4307],{"type":65,"tag":260,"props":4028,"children":4029},{"class":262,"line":263},[4030,4034,4038,4043,4047,4051,4055,4059],{"type":65,"tag":260,"props":4031,"children":4032},{"style":277},[4033],{"type":71,"value":280},{"type":65,"tag":260,"props":4035,"children":4036},{"style":283},[4037],{"type":71,"value":286},{"type":65,"tag":260,"props":4039,"children":4040},{"style":289},[4041],{"type":71,"value":4042}," ScriptOnce",{"type":65,"tag":260,"props":4044,"children":4045},{"style":283},[4046],{"type":71,"value":307},{"type":65,"tag":260,"props":4048,"children":4049},{"style":277},[4050],{"type":71,"value":312},{"type":65,"tag":260,"props":4052,"children":4053},{"style":283},[4054],{"type":71,"value":317},{"type":65,"tag":260,"props":4056,"children":4057},{"style":320},[4058],{"type":71,"value":323},{"type":65,"tag":260,"props":4060,"children":4061},{"style":283},[4062],{"type":71,"value":328},{"type":65,"tag":260,"props":4064,"children":4065},{"class":262,"line":273},[4066],{"type":65,"tag":260,"props":4067,"children":4068},{"emptyLinePlaceholder":373},[4069],{"type":71,"value":376},{"type":65,"tag":260,"props":4071,"children":4072},{"class":262,"line":331},[4073,4077,4082,4086,4091],{"type":65,"tag":260,"props":4074,"children":4075},{"style":388},[4076],{"type":71,"value":1398},{"type":65,"tag":260,"props":4078,"children":4079},{"style":289},[4080],{"type":71,"value":4081}," themeScript ",{"type":65,"tag":260,"props":4083,"children":4084},{"style":283},[4085],{"type":71,"value":1408},{"type":65,"tag":260,"props":4087,"children":4088},{"style":283},[4089],{"type":71,"value":4090}," `",{"type":65,"tag":260,"props":4092,"children":4093},{"style":320},[4094],{"type":71,"value":4095},"(function() {\n",{"type":65,"tag":260,"props":4097,"children":4098},{"class":262,"line":369},[4099],{"type":65,"tag":260,"props":4100,"children":4101},{"style":320},[4102],{"type":71,"value":4103},"  try {\n",{"type":65,"tag":260,"props":4105,"children":4106},{"class":262,"line":379},[4107],{"type":65,"tag":260,"props":4108,"children":4109},{"style":320},[4110],{"type":71,"value":4111},"    const theme = localStorage.getItem('theme') || 'auto';\n",{"type":65,"tag":260,"props":4113,"children":4114},{"class":262,"line":409},[4115],{"type":65,"tag":260,"props":4116,"children":4117},{"style":320},[4118],{"type":71,"value":4119},"    const resolved = theme === 'auto'\n",{"type":65,"tag":260,"props":4121,"children":4122},{"class":262,"line":446},[4123],{"type":65,"tag":260,"props":4124,"children":4125},{"style":320},[4126],{"type":71,"value":4127},"      ? (matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light')\n",{"type":65,"tag":260,"props":4129,"children":4130},{"class":262,"line":455},[4131],{"type":65,"tag":260,"props":4132,"children":4133},{"style":320},[4134],{"type":71,"value":4135},"      : theme;\n",{"type":65,"tag":260,"props":4137,"children":4138},{"class":262,"line":463},[4139],{"type":65,"tag":260,"props":4140,"children":4141},{"style":320},[4142],{"type":71,"value":4143},"    document.documentElement.classList.add(resolved);\n",{"type":65,"tag":260,"props":4145,"children":4146},{"class":262,"line":494},[4147],{"type":65,"tag":260,"props":4148,"children":4149},{"style":320},[4150],{"type":71,"value":4151},"  } catch (e) {}\n",{"type":65,"tag":260,"props":4153,"children":4154},{"class":262,"line":513},[4155,4160],{"type":65,"tag":260,"props":4156,"children":4157},{"style":320},[4158],{"type":71,"value":4159},"})();",{"type":65,"tag":260,"props":4161,"children":4162},{"style":283},[4163],{"type":71,"value":4164},"`\n",{"type":65,"tag":260,"props":4166,"children":4167},{"class":262,"line":546},[4168],{"type":65,"tag":260,"props":4169,"children":4170},{"emptyLinePlaceholder":373},[4171],{"type":71,"value":376},{"type":65,"tag":260,"props":4173,"children":4174},{"class":262,"line":555},[4175,4179,4184,4188,4192,4196,4200,4204,4208,4213,4217,4222,4226],{"type":65,"tag":260,"props":4176,"children":4177},{"style":388},[4178],{"type":71,"value":2714},{"type":65,"tag":260,"props":4180,"children":4181},{"style":394},[4182],{"type":71,"value":4183}," ThemeProvider",{"type":65,"tag":260,"props":4185,"children":4186},{"style":283},[4187],{"type":71,"value":726},{"type":65,"tag":260,"props":4189,"children":4190},{"style":729},[4191],{"type":71,"value":3936},{"type":65,"tag":260,"props":4193,"children":4194},{"style":283},[4195],{"type":71,"value":737},{"type":65,"tag":260,"props":4197,"children":4198},{"style":283},[4199],{"type":71,"value":286},{"type":65,"tag":260,"props":4201,"children":4202},{"style":422},[4203],{"type":71,"value":3936},{"type":65,"tag":260,"props":4205,"children":4206},{"style":283},[4207],{"type":71,"value":524},{"type":65,"tag":260,"props":4209,"children":4210},{"style":503},[4211],{"type":71,"value":4212}," React",{"type":65,"tag":260,"props":4214,"children":4215},{"style":283},[4216],{"type":71,"value":116},{"type":65,"tag":260,"props":4218,"children":4219},{"style":503},[4220],{"type":71,"value":4221},"ReactNode",{"type":65,"tag":260,"props":4223,"children":4224},{"style":283},[4225],{"type":71,"value":759},{"type":65,"tag":260,"props":4227,"children":4228},{"style":283},[4229],{"type":71,"value":406},{"type":65,"tag":260,"props":4231,"children":4232},{"class":262,"line":1155},[4233,4237],{"type":65,"tag":260,"props":4234,"children":4235},{"style":277},[4236],{"type":71,"value":415},{"type":65,"tag":260,"props":4238,"children":4239},{"style":422},[4240],{"type":71,"value":2739},{"type":65,"tag":260,"props":4242,"children":4243},{"class":262,"line":1168},[4244],{"type":65,"tag":260,"props":4245,"children":4246},{"style":283},[4247],{"type":71,"value":3770},{"type":65,"tag":260,"props":4249,"children":4250},{"class":262,"line":1181},[4251,4255,4259,4263,4267,4272],{"type":65,"tag":260,"props":4252,"children":4253},{"style":283},[4254],{"type":71,"value":2789},{"type":65,"tag":260,"props":4256,"children":4257},{"style":503},[4258],{"type":71,"value":4009},{"type":65,"tag":260,"props":4260,"children":4261},{"style":388},[4262],{"type":71,"value":3936},{"type":65,"tag":260,"props":4264,"children":4265},{"style":283},[4266],{"type":71,"value":1210},{"type":65,"tag":260,"props":4268,"children":4269},{"style":289},[4270],{"type":71,"value":4271},"themeScript",{"type":65,"tag":260,"props":4273,"children":4274},{"style":283},[4275],{"type":71,"value":4276},"} \u002F>\n",{"type":65,"tag":260,"props":4278,"children":4279},{"class":262,"line":1222},[4280,4284,4289],{"type":65,"tag":260,"props":4281,"children":4282},{"style":283},[4283],{"type":71,"value":2437},{"type":65,"tag":260,"props":4285,"children":4286},{"style":289},[4287],{"type":71,"value":4288},"children",{"type":65,"tag":260,"props":4290,"children":4291},{"style":283},[4292],{"type":71,"value":452},{"type":65,"tag":260,"props":4294,"children":4295},{"class":262,"line":1239},[4296],{"type":65,"tag":260,"props":4297,"children":4298},{"style":283},[4299],{"type":71,"value":3808},{"type":65,"tag":260,"props":4301,"children":4302},{"class":262,"line":1248},[4303],{"type":65,"tag":260,"props":4304,"children":4305},{"style":422},[4306],{"type":71,"value":1245},{"type":65,"tag":260,"props":4308,"children":4309},{"class":262,"line":2136},[4310],{"type":65,"tag":260,"props":4311,"children":4312},{"style":283},[4313],{"type":71,"value":452},{"type":65,"tag":78,"props":4315,"children":4316},{},[4317,4319,4325,4327,4333],{"type":71,"value":4318},"If the script modifies the DOM (e.g., adds a class to ",{"type":65,"tag":130,"props":4320,"children":4322},{"className":4321},[],[4323],{"type":71,"value":4324},"\u003Chtml>",{"type":71,"value":4326},"), use ",{"type":65,"tag":130,"props":4328,"children":4330},{"className":4329},[],[4331],{"type":71,"value":4332},"suppressHydrationWarning",{"type":71,"value":4334}," on the element:",{"type":65,"tag":249,"props":4336,"children":4338},{"className":251,"code":4337,"language":253,"meta":254,"style":254},"\u003Chtml lang=\"en\" suppressHydrationWarning>\n",[4339],{"type":65,"tag":130,"props":4340,"children":4341},{"__ignoreMap":254},[4342],{"type":65,"tag":260,"props":4343,"children":4344},{"class":262,"line":263},[4345,4350,4354,4358,4362,4366,4370,4374,4379],{"type":65,"tag":260,"props":4346,"children":4347},{"style":283},[4348],{"type":71,"value":4349},"\u003C",{"type":65,"tag":260,"props":4351,"children":4352},{"style":422},[4353],{"type":71,"value":2753},{"type":65,"tag":260,"props":4355,"children":4356},{"style":388},[4357],{"type":71,"value":2758},{"type":65,"tag":260,"props":4359,"children":4360},{"style":283},[4361],{"type":71,"value":1408},{"type":65,"tag":260,"props":4363,"children":4364},{"style":283},[4365],{"type":71,"value":2767},{"type":65,"tag":260,"props":4367,"children":4368},{"style":320},[4369],{"type":71,"value":2772},{"type":65,"tag":260,"props":4371,"children":4372},{"style":283},[4373],{"type":71,"value":2767},{"type":65,"tag":260,"props":4375,"children":4376},{"style":388},[4377],{"type":71,"value":4378}," suppressHydrationWarning",{"type":65,"tag":260,"props":4380,"children":4381},{"style":283},[4382],{"type":71,"value":543},{"type":65,"tag":139,"props":4384,"children":4386},{"id":4385},"express-integration-example",[4387],{"type":71,"value":4388},"Express Integration Example",{"type":65,"tag":78,"props":4390,"children":4391},{},[4392,4398,4400,4406,4408,4414],{"type":65,"tag":130,"props":4393,"children":4395},{"className":4394},[],[4396],{"type":71,"value":4397},"createRequestHandler",{"type":71,"value":4399}," expects a Web API ",{"type":65,"tag":130,"props":4401,"children":4403},{"className":4402},[],[4404],{"type":71,"value":4405},"Request",{"type":71,"value":4407}," and returns a Web API ",{"type":65,"tag":130,"props":4409,"children":4411},{"className":4410},[],[4412],{"type":71,"value":4413},"Response",{"type":71,"value":4415},". For Express, convert between formats:",{"type":65,"tag":249,"props":4417,"children":4419},{"className":251,"code":4418,"language":253,"meta":254,"style":254},"\u002F\u002F src\u002Fentry-server.tsx\nimport { pipeline } from 'node:stream\u002Fpromises'\nimport {\n  RouterServer,\n  createRequestHandler,\n  renderRouterToString,\n} from '@tanstack\u002Freact-router\u002Fssr\u002Fserver'\nimport { createRouter } from '.\u002Frouter'\nimport type express from 'express'\n\nexport async function render({\n  req,\n  res,\n}: {\n  req: express.Request\n  res: express.Response\n}) {\n  const protocol = req.get('x-forwarded-proto') ?? req.protocol\n  const host = req.get('x-forwarded-host') ?? req.get('host')\n  const url = new URL(req.originalUrl || req.url, `${protocol}:\u002F\u002F${host}`).href\n\n  const request = new Request(url, {\n    method: req.method,\n    headers: (() => {\n      const headers = new Headers()\n      for (const [key, value] of Object.entries(req.headers)) {\n        headers.set(key, value as any)\n      }\n      return headers\n    })(),\n  })\n\n  const handler = createRequestHandler({ request, createRouter })\n\n  const response = await handler(({ responseHeaders, router }) =>\n    renderRouterToString({\n      responseHeaders,\n      router,\n      children: \u003CRouterServer router={router} \u002F>,\n    }),\n  )\n\n  res.status(response.status)\n  response.headers.forEach((value, name) => {\n    res.setHeader(name, value)\n  })\n\n  return pipeline(response.body as any, res)\n}\n",[4420],{"type":65,"tag":130,"props":4421,"children":4422},{"__ignoreMap":254},[4423,4430,4467,4478,4489,4500,4511,4534,4569,4604,4611,4635,4647,4659,4671,4696,4720,4732,4802,4888,4999,5006,5045,5074,5102,5132,5215,5261,5269,5282,5298,5309,5316,5363,5371,5424,5440,5452,5464,5500,5516,5524,5532,5570,5629,5667,5679,5687,5736],{"type":65,"tag":260,"props":4424,"children":4425},{"class":262,"line":263},[4426],{"type":65,"tag":260,"props":4427,"children":4428},{"style":267},[4429],{"type":71,"value":596},{"type":65,"tag":260,"props":4431,"children":4432},{"class":262,"line":273},[4433,4437,4441,4446,4450,4454,4458,4463],{"type":65,"tag":260,"props":4434,"children":4435},{"style":277},[4436],{"type":71,"value":280},{"type":65,"tag":260,"props":4438,"children":4439},{"style":283},[4440],{"type":71,"value":286},{"type":65,"tag":260,"props":4442,"children":4443},{"style":289},[4444],{"type":71,"value":4445}," pipeline",{"type":65,"tag":260,"props":4447,"children":4448},{"style":283},[4449],{"type":71,"value":307},{"type":65,"tag":260,"props":4451,"children":4452},{"style":277},[4453],{"type":71,"value":312},{"type":65,"tag":260,"props":4455,"children":4456},{"style":283},[4457],{"type":71,"value":317},{"type":65,"tag":260,"props":4459,"children":4460},{"style":320},[4461],{"type":71,"value":4462},"node:stream\u002Fpromises",{"type":65,"tag":260,"props":4464,"children":4465},{"style":283},[4466],{"type":71,"value":328},{"type":65,"tag":260,"props":4468,"children":4469},{"class":262,"line":331},[4470,4474],{"type":65,"tag":260,"props":4471,"children":4472},{"style":277},[4473],{"type":71,"value":280},{"type":65,"tag":260,"props":4475,"children":4476},{"style":283},[4477],{"type":71,"value":406},{"type":65,"tag":260,"props":4479,"children":4480},{"class":262,"line":369},[4481,4485],{"type":65,"tag":260,"props":4482,"children":4483},{"style":289},[4484],{"type":71,"value":919},{"type":65,"tag":260,"props":4486,"children":4487},{"style":283},[4488],{"type":71,"value":620},{"type":65,"tag":260,"props":4490,"children":4491},{"class":262,"line":379},[4492,4496],{"type":65,"tag":260,"props":4493,"children":4494},{"style":289},[4495],{"type":71,"value":615},{"type":65,"tag":260,"props":4497,"children":4498},{"style":283},[4499],{"type":71,"value":620},{"type":65,"tag":260,"props":4501,"children":4502},{"class":262,"line":409},[4503,4507],{"type":65,"tag":260,"props":4504,"children":4505},{"style":289},[4506],{"type":71,"value":907},{"type":65,"tag":260,"props":4508,"children":4509},{"style":283},[4510],{"type":71,"value":620},{"type":65,"tag":260,"props":4512,"children":4513},{"class":262,"line":446},[4514,4518,4522,4526,4530],{"type":65,"tag":260,"props":4515,"children":4516},{"style":283},[4517],{"type":71,"value":640},{"type":65,"tag":260,"props":4519,"children":4520},{"style":277},[4521],{"type":71,"value":312},{"type":65,"tag":260,"props":4523,"children":4524},{"style":283},[4525],{"type":71,"value":317},{"type":65,"tag":260,"props":4527,"children":4528},{"style":320},[4529],{"type":71,"value":653},{"type":65,"tag":260,"props":4531,"children":4532},{"style":283},[4533],{"type":71,"value":328},{"type":65,"tag":260,"props":4535,"children":4536},{"class":262,"line":455},[4537,4541,4545,4549,4553,4557,4561,4565],{"type":65,"tag":260,"props":4538,"children":4539},{"style":277},[4540],{"type":71,"value":280},{"type":65,"tag":260,"props":4542,"children":4543},{"style":283},[4544],{"type":71,"value":286},{"type":65,"tag":260,"props":4546,"children":4547},{"style":289},[4548],{"type":71,"value":292},{"type":65,"tag":260,"props":4550,"children":4551},{"style":283},[4552],{"type":71,"value":307},{"type":65,"tag":260,"props":4554,"children":4555},{"style":277},[4556],{"type":71,"value":312},{"type":65,"tag":260,"props":4558,"children":4559},{"style":283},[4560],{"type":71,"value":317},{"type":65,"tag":260,"props":4562,"children":4563},{"style":320},[4564],{"type":71,"value":689},{"type":65,"tag":260,"props":4566,"children":4567},{"style":283},[4568],{"type":71,"value":328},{"type":65,"tag":260,"props":4570,"children":4571},{"class":262,"line":463},[4572,4576,4581,4586,4591,4595,4600],{"type":65,"tag":260,"props":4573,"children":4574},{"style":277},[4575],{"type":71,"value":280},{"type":65,"tag":260,"props":4577,"children":4578},{"style":277},[4579],{"type":71,"value":4580}," type",{"type":65,"tag":260,"props":4582,"children":4583},{"style":289},[4584],{"type":71,"value":4585}," express ",{"type":65,"tag":260,"props":4587,"children":4588},{"style":277},[4589],{"type":71,"value":4590},"from",{"type":65,"tag":260,"props":4592,"children":4593},{"style":283},[4594],{"type":71,"value":317},{"type":65,"tag":260,"props":4596,"children":4597},{"style":320},[4598],{"type":71,"value":4599},"express",{"type":65,"tag":260,"props":4601,"children":4602},{"style":283},[4603],{"type":71,"value":328},{"type":65,"tag":260,"props":4605,"children":4606},{"class":262,"line":494},[4607],{"type":65,"tag":260,"props":4608,"children":4609},{"emptyLinePlaceholder":373},[4610],{"type":71,"value":376},{"type":65,"tag":260,"props":4612,"children":4613},{"class":262,"line":513},[4614,4618,4622,4626,4630],{"type":65,"tag":260,"props":4615,"children":4616},{"style":277},[4617],{"type":71,"value":385},{"type":65,"tag":260,"props":4619,"children":4620},{"style":388},[4621],{"type":71,"value":712},{"type":65,"tag":260,"props":4623,"children":4624},{"style":388},[4625],{"type":71,"value":391},{"type":65,"tag":260,"props":4627,"children":4628},{"style":394},[4629],{"type":71,"value":721},{"type":65,"tag":260,"props":4631,"children":4632},{"style":283},[4633],{"type":71,"value":4634},"({\n",{"type":65,"tag":260,"props":4636,"children":4637},{"class":262,"line":546},[4638,4643],{"type":65,"tag":260,"props":4639,"children":4640},{"style":729},[4641],{"type":71,"value":4642},"  req",{"type":65,"tag":260,"props":4644,"children":4645},{"style":283},[4646],{"type":71,"value":620},{"type":65,"tag":260,"props":4648,"children":4649},{"class":262,"line":555},[4650,4655],{"type":65,"tag":260,"props":4651,"children":4652},{"style":729},[4653],{"type":71,"value":4654},"  res",{"type":65,"tag":260,"props":4656,"children":4657},{"style":283},[4658],{"type":71,"value":620},{"type":65,"tag":260,"props":4660,"children":4661},{"class":262,"line":1155},[4662,4667],{"type":65,"tag":260,"props":4663,"children":4664},{"style":283},[4665],{"type":71,"value":4666},"}:",{"type":65,"tag":260,"props":4668,"children":4669},{"style":283},[4670],{"type":71,"value":406},{"type":65,"tag":260,"props":4672,"children":4673},{"class":262,"line":1168},[4674,4678,4682,4687,4691],{"type":65,"tag":260,"props":4675,"children":4676},{"style":422},[4677],{"type":71,"value":4642},{"type":65,"tag":260,"props":4679,"children":4680},{"style":283},[4681],{"type":71,"value":524},{"type":65,"tag":260,"props":4683,"children":4684},{"style":503},[4685],{"type":71,"value":4686}," express",{"type":65,"tag":260,"props":4688,"children":4689},{"style":283},[4690],{"type":71,"value":116},{"type":65,"tag":260,"props":4692,"children":4693},{"style":503},[4694],{"type":71,"value":4695},"Request\n",{"type":65,"tag":260,"props":4697,"children":4698},{"class":262,"line":1181},[4699,4703,4707,4711,4715],{"type":65,"tag":260,"props":4700,"children":4701},{"style":422},[4702],{"type":71,"value":4654},{"type":65,"tag":260,"props":4704,"children":4705},{"style":283},[4706],{"type":71,"value":524},{"type":65,"tag":260,"props":4708,"children":4709},{"style":503},[4710],{"type":71,"value":4686},{"type":65,"tag":260,"props":4712,"children":4713},{"style":283},[4714],{"type":71,"value":116},{"type":65,"tag":260,"props":4716,"children":4717},{"style":503},[4718],{"type":71,"value":4719},"Response\n",{"type":65,"tag":260,"props":4721,"children":4722},{"class":262,"line":1222},[4723,4728],{"type":65,"tag":260,"props":4724,"children":4725},{"style":283},[4726],{"type":71,"value":4727},"})",{"type":65,"tag":260,"props":4729,"children":4730},{"style":283},[4731],{"type":71,"value":406},{"type":65,"tag":260,"props":4733,"children":4734},{"class":262,"line":1239},[4735,4739,4744,4748,4753,4757,4762,4766,4770,4775,4779,4784,4789,4793,4797],{"type":65,"tag":260,"props":4736,"children":4737},{"style":388},[4738],{"type":71,"value":771},{"type":65,"tag":260,"props":4740,"children":4741},{"style":289},[4742],{"type":71,"value":4743}," protocol",{"type":65,"tag":260,"props":4745,"children":4746},{"style":283},[4747],{"type":71,"value":781},{"type":65,"tag":260,"props":4749,"children":4750},{"style":289},[4751],{"type":71,"value":4752}," req",{"type":65,"tag":260,"props":4754,"children":4755},{"style":283},[4756],{"type":71,"value":116},{"type":65,"tag":260,"props":4758,"children":4759},{"style":394},[4760],{"type":71,"value":4761},"get",{"type":65,"tag":260,"props":4763,"children":4764},{"style":422},[4765],{"type":71,"value":425},{"type":65,"tag":260,"props":4767,"children":4768},{"style":283},[4769],{"type":71,"value":487},{"type":65,"tag":260,"props":4771,"children":4772},{"style":320},[4773],{"type":71,"value":4774},"x-forwarded-proto",{"type":65,"tag":260,"props":4776,"children":4777},{"style":283},[4778],{"type":71,"value":487},{"type":65,"tag":260,"props":4780,"children":4781},{"style":422},[4782],{"type":71,"value":4783},") ",{"type":65,"tag":260,"props":4785,"children":4786},{"style":283},[4787],{"type":71,"value":4788},"??",{"type":65,"tag":260,"props":4790,"children":4791},{"style":289},[4792],{"type":71,"value":4752},{"type":65,"tag":260,"props":4794,"children":4795},{"style":283},[4796],{"type":71,"value":116},{"type":65,"tag":260,"props":4798,"children":4799},{"style":289},[4800],{"type":71,"value":4801},"protocol\n",{"type":65,"tag":260,"props":4803,"children":4804},{"class":262,"line":1248},[4805,4809,4814,4818,4822,4826,4830,4834,4838,4843,4847,4851,4855,4859,4863,4867,4871,4875,4880,4884],{"type":65,"tag":260,"props":4806,"children":4807},{"style":388},[4808],{"type":71,"value":771},{"type":65,"tag":260,"props":4810,"children":4811},{"style":289},[4812],{"type":71,"value":4813}," host",{"type":65,"tag":260,"props":4815,"children":4816},{"style":283},[4817],{"type":71,"value":781},{"type":65,"tag":260,"props":4819,"children":4820},{"style":289},[4821],{"type":71,"value":4752},{"type":65,"tag":260,"props":4823,"children":4824},{"style":283},[4825],{"type":71,"value":116},{"type":65,"tag":260,"props":4827,"children":4828},{"style":394},[4829],{"type":71,"value":4761},{"type":65,"tag":260,"props":4831,"children":4832},{"style":422},[4833],{"type":71,"value":425},{"type":65,"tag":260,"props":4835,"children":4836},{"style":283},[4837],{"type":71,"value":487},{"type":65,"tag":260,"props":4839,"children":4840},{"style":320},[4841],{"type":71,"value":4842},"x-forwarded-host",{"type":65,"tag":260,"props":4844,"children":4845},{"style":283},[4846],{"type":71,"value":487},{"type":65,"tag":260,"props":4848,"children":4849},{"style":422},[4850],{"type":71,"value":4783},{"type":65,"tag":260,"props":4852,"children":4853},{"style":283},[4854],{"type":71,"value":4788},{"type":65,"tag":260,"props":4856,"children":4857},{"style":289},[4858],{"type":71,"value":4752},{"type":65,"tag":260,"props":4860,"children":4861},{"style":283},[4862],{"type":71,"value":116},{"type":65,"tag":260,"props":4864,"children":4865},{"style":394},[4866],{"type":71,"value":4761},{"type":65,"tag":260,"props":4868,"children":4869},{"style":422},[4870],{"type":71,"value":425},{"type":65,"tag":260,"props":4872,"children":4873},{"style":283},[4874],{"type":71,"value":487},{"type":65,"tag":260,"props":4876,"children":4877},{"style":320},[4878],{"type":71,"value":4879},"host",{"type":65,"tag":260,"props":4881,"children":4882},{"style":283},[4883],{"type":71,"value":487},{"type":65,"tag":260,"props":4885,"children":4886},{"style":422},[4887],{"type":71,"value":443},{"type":65,"tag":260,"props":4889,"children":4890},{"class":262,"line":2136},[4891,4895,4900,4904,4909,4914,4918,4923,4927,4932,4937,4941,4945,4949,4953,4958,4963,4967,4972,4977,4981,4986,4990,4994],{"type":65,"tag":260,"props":4892,"children":4893},{"style":388},[4894],{"type":71,"value":771},{"type":65,"tag":260,"props":4896,"children":4897},{"style":289},[4898],{"type":71,"value":4899}," url",{"type":65,"tag":260,"props":4901,"children":4902},{"style":283},[4903],{"type":71,"value":781},{"type":65,"tag":260,"props":4905,"children":4906},{"style":283},[4907],{"type":71,"value":4908}," new",{"type":65,"tag":260,"props":4910,"children":4911},{"style":394},[4912],{"type":71,"value":4913}," URL",{"type":65,"tag":260,"props":4915,"children":4916},{"style":422},[4917],{"type":71,"value":425},{"type":65,"tag":260,"props":4919,"children":4920},{"style":289},[4921],{"type":71,"value":4922},"req",{"type":65,"tag":260,"props":4924,"children":4925},{"style":283},[4926],{"type":71,"value":116},{"type":65,"tag":260,"props":4928,"children":4929},{"style":289},[4930],{"type":71,"value":4931},"originalUrl",{"type":65,"tag":260,"props":4933,"children":4934},{"style":283},[4935],{"type":71,"value":4936}," ||",{"type":65,"tag":260,"props":4938,"children":4939},{"style":289},[4940],{"type":71,"value":4752},{"type":65,"tag":260,"props":4942,"children":4943},{"style":283},[4944],{"type":71,"value":116},{"type":65,"tag":260,"props":4946,"children":4947},{"style":289},[4948],{"type":71,"value":42},{"type":65,"tag":260,"props":4950,"children":4951},{"style":283},[4952],{"type":71,"value":803},{"type":65,"tag":260,"props":4954,"children":4955},{"style":283},[4956],{"type":71,"value":4957}," `${",{"type":65,"tag":260,"props":4959,"children":4960},{"style":289},[4961],{"type":71,"value":4962},"protocol",{"type":65,"tag":260,"props":4964,"children":4965},{"style":283},[4966],{"type":71,"value":640},{"type":65,"tag":260,"props":4968,"children":4969},{"style":320},[4970],{"type":71,"value":4971},":\u002F\u002F",{"type":65,"tag":260,"props":4973,"children":4974},{"style":283},[4975],{"type":71,"value":4976},"${",{"type":65,"tag":260,"props":4978,"children":4979},{"style":289},[4980],{"type":71,"value":4879},{"type":65,"tag":260,"props":4982,"children":4983},{"style":283},[4984],{"type":71,"value":4985},"}`",{"type":65,"tag":260,"props":4987,"children":4988},{"style":422},[4989],{"type":71,"value":581},{"type":65,"tag":260,"props":4991,"children":4992},{"style":283},[4993],{"type":71,"value":116},{"type":65,"tag":260,"props":4995,"children":4996},{"style":289},[4997],{"type":71,"value":4998},"href\n",{"type":65,"tag":260,"props":5000,"children":5001},{"class":262,"line":2708},[5002],{"type":65,"tag":260,"props":5003,"children":5004},{"emptyLinePlaceholder":373},[5005],{"type":71,"value":376},{"type":65,"tag":260,"props":5007,"children":5008},{"class":262,"line":2729},[5009,5013,5017,5021,5025,5029,5033,5037,5041],{"type":65,"tag":260,"props":5010,"children":5011},{"style":388},[5012],{"type":71,"value":771},{"type":65,"tag":260,"props":5014,"children":5015},{"style":289},[5016],{"type":71,"value":732},{"type":65,"tag":260,"props":5018,"children":5019},{"style":283},[5020],{"type":71,"value":781},{"type":65,"tag":260,"props":5022,"children":5023},{"style":283},[5024],{"type":71,"value":4908},{"type":65,"tag":260,"props":5026,"children":5027},{"style":394},[5028],{"type":71,"value":754},{"type":65,"tag":260,"props":5030,"children":5031},{"style":422},[5032],{"type":71,"value":425},{"type":65,"tag":260,"props":5034,"children":5035},{"style":289},[5036],{"type":71,"value":42},{"type":65,"tag":260,"props":5038,"children":5039},{"style":283},[5040],{"type":71,"value":803},{"type":65,"tag":260,"props":5042,"children":5043},{"style":283},[5044],{"type":71,"value":406},{"type":65,"tag":260,"props":5046,"children":5047},{"class":262,"line":2742},[5048,5053,5057,5061,5065,5070],{"type":65,"tag":260,"props":5049,"children":5050},{"style":422},[5051],{"type":71,"value":5052},"    method",{"type":65,"tag":260,"props":5054,"children":5055},{"style":283},[5056],{"type":71,"value":524},{"type":65,"tag":260,"props":5058,"children":5059},{"style":289},[5060],{"type":71,"value":4752},{"type":65,"tag":260,"props":5062,"children":5063},{"style":283},[5064],{"type":71,"value":116},{"type":65,"tag":260,"props":5066,"children":5067},{"style":289},[5068],{"type":71,"value":5069},"method",{"type":65,"tag":260,"props":5071,"children":5072},{"style":283},[5073],{"type":71,"value":620},{"type":65,"tag":260,"props":5075,"children":5076},{"class":262,"line":2783},[5077,5082,5086,5090,5094,5098],{"type":65,"tag":260,"props":5078,"children":5079},{"style":422},[5080],{"type":71,"value":5081},"    headers",{"type":65,"tag":260,"props":5083,"children":5084},{"style":283},[5085],{"type":71,"value":524},{"type":65,"tag":260,"props":5087,"children":5088},{"style":422},[5089],{"type":71,"value":2408},{"type":65,"tag":260,"props":5091,"children":5092},{"style":283},[5093],{"type":71,"value":401},{"type":65,"tag":260,"props":5095,"children":5096},{"style":388},[5097],{"type":71,"value":2403},{"type":65,"tag":260,"props":5099,"children":5100},{"style":283},[5101],{"type":71,"value":406},{"type":65,"tag":260,"props":5103,"children":5104},{"class":262,"line":2800},[5105,5110,5115,5119,5123,5128],{"type":65,"tag":260,"props":5106,"children":5107},{"style":388},[5108],{"type":71,"value":5109},"      const",{"type":65,"tag":260,"props":5111,"children":5112},{"style":289},[5113],{"type":71,"value":5114}," headers",{"type":65,"tag":260,"props":5116,"children":5117},{"style":283},[5118],{"type":71,"value":781},{"type":65,"tag":260,"props":5120,"children":5121},{"style":283},[5122],{"type":71,"value":4908},{"type":65,"tag":260,"props":5124,"children":5125},{"style":394},[5126],{"type":71,"value":5127}," Headers",{"type":65,"tag":260,"props":5129,"children":5130},{"style":422},[5131],{"type":71,"value":1417},{"type":65,"tag":260,"props":5133,"children":5134},{"class":262,"line":2819},[5135,5140,5144,5148,5152,5157,5161,5166,5170,5175,5180,5184,5189,5193,5197,5201,5206,5211],{"type":65,"tag":260,"props":5136,"children":5137},{"style":277},[5138],{"type":71,"value":5139},"      for",{"type":65,"tag":260,"props":5141,"children":5142},{"style":422},[5143],{"type":71,"value":2408},{"type":65,"tag":260,"props":5145,"children":5146},{"style":388},[5147],{"type":71,"value":1398},{"type":65,"tag":260,"props":5149,"children":5150},{"style":283},[5151],{"type":71,"value":2585},{"type":65,"tag":260,"props":5153,"children":5154},{"style":289},[5155],{"type":71,"value":5156},"key",{"type":65,"tag":260,"props":5158,"children":5159},{"style":283},[5160],{"type":71,"value":803},{"type":65,"tag":260,"props":5162,"children":5163},{"style":289},[5164],{"type":71,"value":5165}," value",{"type":65,"tag":260,"props":5167,"children":5168},{"style":283},[5169],{"type":71,"value":2646},{"type":65,"tag":260,"props":5171,"children":5172},{"style":283},[5173],{"type":71,"value":5174}," of",{"type":65,"tag":260,"props":5176,"children":5177},{"style":289},[5178],{"type":71,"value":5179}," Object",{"type":65,"tag":260,"props":5181,"children":5182},{"style":283},[5183],{"type":71,"value":116},{"type":65,"tag":260,"props":5185,"children":5186},{"style":394},[5187],{"type":71,"value":5188},"entries",{"type":65,"tag":260,"props":5190,"children":5191},{"style":422},[5192],{"type":71,"value":425},{"type":65,"tag":260,"props":5194,"children":5195},{"style":289},[5196],{"type":71,"value":4922},{"type":65,"tag":260,"props":5198,"children":5199},{"style":283},[5200],{"type":71,"value":116},{"type":65,"tag":260,"props":5202,"children":5203},{"style":289},[5204],{"type":71,"value":5205},"headers",{"type":65,"tag":260,"props":5207,"children":5208},{"style":422},[5209],{"type":71,"value":5210},")) ",{"type":65,"tag":260,"props":5212,"children":5213},{"style":283},[5214],{"type":71,"value":1152},{"type":65,"tag":260,"props":5216,"children":5217},{"class":262,"line":2836},[5218,5223,5227,5232,5236,5240,5244,5248,5252,5257],{"type":65,"tag":260,"props":5219,"children":5220},{"style":289},[5221],{"type":71,"value":5222},"        headers",{"type":65,"tag":260,"props":5224,"children":5225},{"style":283},[5226],{"type":71,"value":116},{"type":65,"tag":260,"props":5228,"children":5229},{"style":394},[5230],{"type":71,"value":5231},"set",{"type":65,"tag":260,"props":5233,"children":5234},{"style":422},[5235],{"type":71,"value":425},{"type":65,"tag":260,"props":5237,"children":5238},{"style":289},[5239],{"type":71,"value":5156},{"type":65,"tag":260,"props":5241,"children":5242},{"style":283},[5243],{"type":71,"value":803},{"type":65,"tag":260,"props":5245,"children":5246},{"style":289},[5247],{"type":71,"value":5165},{"type":65,"tag":260,"props":5249,"children":5250},{"style":277},[5251],{"type":71,"value":297},{"type":65,"tag":260,"props":5253,"children":5254},{"style":503},[5255],{"type":71,"value":5256}," any",{"type":65,"tag":260,"props":5258,"children":5259},{"style":422},[5260],{"type":71,"value":443},{"type":65,"tag":260,"props":5262,"children":5263},{"class":262,"line":2853},[5264],{"type":65,"tag":260,"props":5265,"children":5266},{"style":283},[5267],{"type":71,"value":5268},"      }\n",{"type":65,"tag":260,"props":5270,"children":5271},{"class":262,"line":2870},[5272,5277],{"type":65,"tag":260,"props":5273,"children":5274},{"style":277},[5275],{"type":71,"value":5276},"      return",{"type":65,"tag":260,"props":5278,"children":5279},{"style":289},[5280],{"type":71,"value":5281}," headers\n",{"type":65,"tag":260,"props":5283,"children":5284},{"class":262,"line":2887},[5285,5289,5294],{"type":65,"tag":260,"props":5286,"children":5287},{"style":283},[5288],{"type":71,"value":1228},{"type":65,"tag":260,"props":5290,"children":5291},{"style":422},[5292],{"type":71,"value":5293},")()",{"type":65,"tag":260,"props":5295,"children":5296},{"style":283},[5297],{"type":71,"value":620},{"type":65,"tag":260,"props":5299,"children":5300},{"class":262,"line":2903},[5301,5305],{"type":65,"tag":260,"props":5302,"children":5303},{"style":283},[5304],{"type":71,"value":2658},{"type":65,"tag":260,"props":5306,"children":5307},{"style":422},[5308],{"type":71,"value":443},{"type":65,"tag":260,"props":5310,"children":5311},{"class":262,"line":2920},[5312],{"type":65,"tag":260,"props":5313,"children":5314},{"emptyLinePlaceholder":373},[5315],{"type":71,"value":376},{"type":65,"tag":260,"props":5317,"children":5318},{"class":262,"line":2928},[5319,5323,5327,5331,5335,5339,5343,5347,5351,5355,5359],{"type":65,"tag":260,"props":5320,"children":5321},{"style":388},[5322],{"type":71,"value":771},{"type":65,"tag":260,"props":5324,"children":5325},{"style":289},[5326],{"type":71,"value":776},{"type":65,"tag":260,"props":5328,"children":5329},{"style":283},[5330],{"type":71,"value":781},{"type":65,"tag":260,"props":5332,"children":5333},{"style":394},[5334],{"type":71,"value":786},{"type":65,"tag":260,"props":5336,"children":5337},{"style":422},[5338],{"type":71,"value":425},{"type":65,"tag":260,"props":5340,"children":5341},{"style":283},[5342],{"type":71,"value":430},{"type":65,"tag":260,"props":5344,"children":5345},{"style":289},[5346],{"type":71,"value":732},{"type":65,"tag":260,"props":5348,"children":5349},{"style":283},[5350],{"type":71,"value":803},{"type":65,"tag":260,"props":5352,"children":5353},{"style":289},[5354],{"type":71,"value":292},{"type":65,"tag":260,"props":5356,"children":5357},{"style":283},[5358],{"type":71,"value":307},{"type":65,"tag":260,"props":5360,"children":5361},{"style":422},[5362],{"type":71,"value":443},{"type":65,"tag":260,"props":5364,"children":5366},{"class":262,"line":5365},34,[5367],{"type":65,"tag":260,"props":5368,"children":5369},{"emptyLinePlaceholder":373},[5370],{"type":71,"value":376},{"type":65,"tag":260,"props":5372,"children":5374},{"class":262,"line":5373},35,[5375,5379,5384,5388,5392,5396,5400,5404,5408,5412,5416,5420],{"type":65,"tag":260,"props":5376,"children":5377},{"style":388},[5378],{"type":71,"value":771},{"type":65,"tag":260,"props":5380,"children":5381},{"style":289},[5382],{"type":71,"value":5383}," response",{"type":65,"tag":260,"props":5385,"children":5386},{"style":283},[5387],{"type":71,"value":781},{"type":65,"tag":260,"props":5389,"children":5390},{"style":277},[5391],{"type":71,"value":827},{"type":65,"tag":260,"props":5393,"children":5394},{"style":394},[5395],{"type":71,"value":776},{"type":65,"tag":260,"props":5397,"children":5398},{"style":422},[5399],{"type":71,"value":425},{"type":65,"tag":260,"props":5401,"children":5402},{"style":283},[5403],{"type":71,"value":726},{"type":65,"tag":260,"props":5405,"children":5406},{"style":729},[5407],{"type":71,"value":1117},{"type":65,"tag":260,"props":5409,"children":5410},{"style":283},[5411],{"type":71,"value":803},{"type":65,"tag":260,"props":5413,"children":5414},{"style":729},[5415],{"type":71,"value":1126},{"type":65,"tag":260,"props":5417,"children":5418},{"style":283},[5419],{"type":71,"value":759},{"type":65,"tag":260,"props":5421,"children":5422},{"style":388},[5423],{"type":71,"value":1135},{"type":65,"tag":260,"props":5425,"children":5427},{"class":262,"line":5426},36,[5428,5432,5436],{"type":65,"tag":260,"props":5429,"children":5430},{"style":394},[5431],{"type":71,"value":1143},{"type":65,"tag":260,"props":5433,"children":5434},{"style":422},[5435],{"type":71,"value":425},{"type":65,"tag":260,"props":5437,"children":5438},{"style":283},[5439],{"type":71,"value":1152},{"type":65,"tag":260,"props":5441,"children":5443},{"class":262,"line":5442},37,[5444,5448],{"type":65,"tag":260,"props":5445,"children":5446},{"style":289},[5447],{"type":71,"value":1161},{"type":65,"tag":260,"props":5449,"children":5450},{"style":283},[5451],{"type":71,"value":620},{"type":65,"tag":260,"props":5453,"children":5455},{"class":262,"line":5454},38,[5456,5460],{"type":65,"tag":260,"props":5457,"children":5458},{"style":289},[5459],{"type":71,"value":1174},{"type":65,"tag":260,"props":5461,"children":5462},{"style":283},[5463],{"type":71,"value":620},{"type":65,"tag":260,"props":5465,"children":5467},{"class":262,"line":5466},39,[5468,5472,5476,5480,5484,5488,5492,5496],{"type":65,"tag":260,"props":5469,"children":5470},{"style":422},[5471],{"type":71,"value":1187},{"type":65,"tag":260,"props":5473,"children":5474},{"style":283},[5475],{"type":71,"value":524},{"type":65,"tag":260,"props":5477,"children":5478},{"style":283},[5479],{"type":71,"value":1196},{"type":65,"tag":260,"props":5481,"children":5482},{"style":503},[5483],{"type":71,"value":1201},{"type":65,"tag":260,"props":5485,"children":5486},{"style":388},[5487],{"type":71,"value":1126},{"type":65,"tag":260,"props":5489,"children":5490},{"style":283},[5491],{"type":71,"value":1210},{"type":65,"tag":260,"props":5493,"children":5494},{"style":289},[5495],{"type":71,"value":33},{"type":65,"tag":260,"props":5497,"children":5498},{"style":283},[5499],{"type":71,"value":1219},{"type":65,"tag":260,"props":5501,"children":5503},{"class":262,"line":5502},40,[5504,5508,5512],{"type":65,"tag":260,"props":5505,"children":5506},{"style":283},[5507],{"type":71,"value":1228},{"type":65,"tag":260,"props":5509,"children":5510},{"style":422},[5511],{"type":71,"value":581},{"type":65,"tag":260,"props":5513,"children":5514},{"style":283},[5515],{"type":71,"value":620},{"type":65,"tag":260,"props":5517,"children":5519},{"class":262,"line":5518},41,[5520],{"type":65,"tag":260,"props":5521,"children":5522},{"style":422},[5523],{"type":71,"value":1245},{"type":65,"tag":260,"props":5525,"children":5527},{"class":262,"line":5526},42,[5528],{"type":65,"tag":260,"props":5529,"children":5530},{"emptyLinePlaceholder":373},[5531],{"type":71,"value":376},{"type":65,"tag":260,"props":5533,"children":5535},{"class":262,"line":5534},43,[5536,5540,5544,5549,5553,5558,5562,5566],{"type":65,"tag":260,"props":5537,"children":5538},{"style":289},[5539],{"type":71,"value":4654},{"type":65,"tag":260,"props":5541,"children":5542},{"style":283},[5543],{"type":71,"value":116},{"type":65,"tag":260,"props":5545,"children":5546},{"style":394},[5547],{"type":71,"value":5548},"status",{"type":65,"tag":260,"props":5550,"children":5551},{"style":422},[5552],{"type":71,"value":425},{"type":65,"tag":260,"props":5554,"children":5555},{"style":289},[5556],{"type":71,"value":5557},"response",{"type":65,"tag":260,"props":5559,"children":5560},{"style":283},[5561],{"type":71,"value":116},{"type":65,"tag":260,"props":5563,"children":5564},{"style":289},[5565],{"type":71,"value":5548},{"type":65,"tag":260,"props":5567,"children":5568},{"style":422},[5569],{"type":71,"value":443},{"type":65,"tag":260,"props":5571,"children":5573},{"class":262,"line":5572},44,[5574,5579,5583,5587,5591,5596,5600,5604,5609,5613,5617,5621,5625],{"type":65,"tag":260,"props":5575,"children":5576},{"style":289},[5577],{"type":71,"value":5578},"  response",{"type":65,"tag":260,"props":5580,"children":5581},{"style":283},[5582],{"type":71,"value":116},{"type":65,"tag":260,"props":5584,"children":5585},{"style":289},[5586],{"type":71,"value":5205},{"type":65,"tag":260,"props":5588,"children":5589},{"style":283},[5590],{"type":71,"value":116},{"type":65,"tag":260,"props":5592,"children":5593},{"style":394},[5594],{"type":71,"value":5595},"forEach",{"type":65,"tag":260,"props":5597,"children":5598},{"style":422},[5599],{"type":71,"value":425},{"type":65,"tag":260,"props":5601,"children":5602},{"style":283},[5603],{"type":71,"value":425},{"type":65,"tag":260,"props":5605,"children":5606},{"style":729},[5607],{"type":71,"value":5608},"value",{"type":65,"tag":260,"props":5610,"children":5611},{"style":283},[5612],{"type":71,"value":803},{"type":65,"tag":260,"props":5614,"children":5615},{"style":729},[5616],{"type":71,"value":2476},{"type":65,"tag":260,"props":5618,"children":5619},{"style":283},[5620],{"type":71,"value":581},{"type":65,"tag":260,"props":5622,"children":5623},{"style":388},[5624],{"type":71,"value":2403},{"type":65,"tag":260,"props":5626,"children":5627},{"style":283},[5628],{"type":71,"value":406},{"type":65,"tag":260,"props":5630,"children":5632},{"class":262,"line":5631},45,[5633,5638,5642,5647,5651,5655,5659,5663],{"type":65,"tag":260,"props":5634,"children":5635},{"style":289},[5636],{"type":71,"value":5637},"    res",{"type":65,"tag":260,"props":5639,"children":5640},{"style":283},[5641],{"type":71,"value":116},{"type":65,"tag":260,"props":5643,"children":5644},{"style":394},[5645],{"type":71,"value":5646},"setHeader",{"type":65,"tag":260,"props":5648,"children":5649},{"style":422},[5650],{"type":71,"value":425},{"type":65,"tag":260,"props":5652,"children":5653},{"style":289},[5654],{"type":71,"value":2965},{"type":65,"tag":260,"props":5656,"children":5657},{"style":283},[5658],{"type":71,"value":803},{"type":65,"tag":260,"props":5660,"children":5661},{"style":289},[5662],{"type":71,"value":5165},{"type":65,"tag":260,"props":5664,"children":5665},{"style":422},[5666],{"type":71,"value":443},{"type":65,"tag":260,"props":5668,"children":5670},{"class":262,"line":5669},46,[5671,5675],{"type":65,"tag":260,"props":5672,"children":5673},{"style":283},[5674],{"type":71,"value":2658},{"type":65,"tag":260,"props":5676,"children":5677},{"style":422},[5678],{"type":71,"value":443},{"type":65,"tag":260,"props":5680,"children":5682},{"class":262,"line":5681},47,[5683],{"type":65,"tag":260,"props":5684,"children":5685},{"emptyLinePlaceholder":373},[5686],{"type":71,"value":376},{"type":65,"tag":260,"props":5688,"children":5690},{"class":262,"line":5689},48,[5691,5695,5699,5703,5707,5711,5715,5719,5723,5727,5732],{"type":65,"tag":260,"props":5692,"children":5693},{"style":277},[5694],{"type":71,"value":415},{"type":65,"tag":260,"props":5696,"children":5697},{"style":394},[5698],{"type":71,"value":4445},{"type":65,"tag":260,"props":5700,"children":5701},{"style":422},[5702],{"type":71,"value":425},{"type":65,"tag":260,"props":5704,"children":5705},{"style":289},[5706],{"type":71,"value":5557},{"type":65,"tag":260,"props":5708,"children":5709},{"style":283},[5710],{"type":71,"value":116},{"type":65,"tag":260,"props":5712,"children":5713},{"style":289},[5714],{"type":71,"value":2846},{"type":65,"tag":260,"props":5716,"children":5717},{"style":277},[5718],{"type":71,"value":297},{"type":65,"tag":260,"props":5720,"children":5721},{"style":503},[5722],{"type":71,"value":5256},{"type":65,"tag":260,"props":5724,"children":5725},{"style":283},[5726],{"type":71,"value":803},{"type":65,"tag":260,"props":5728,"children":5729},{"style":289},[5730],{"type":71,"value":5731}," res",{"type":65,"tag":260,"props":5733,"children":5734},{"style":422},[5735],{"type":71,"value":443},{"type":65,"tag":260,"props":5737,"children":5739},{"class":262,"line":5738},49,[5740],{"type":65,"tag":260,"props":5741,"children":5742},{"style":283},[5743],{"type":71,"value":452},{"type":65,"tag":139,"props":5745,"children":5747},{"id":5746},"common-mistakes",[5748],{"type":71,"value":5749},"Common Mistakes",{"type":65,"tag":568,"props":5751,"children":5753},{"id":5752},"_1-high-using-browser-apis-in-loaders-without-environment-check",[5754],{"type":71,"value":5755},"1. HIGH: Using browser APIs in loaders without environment check",{"type":65,"tag":78,"props":5757,"children":5758},{},[5759,5761,5766,5767,5773,5774,5780],{"type":71,"value":5760},"Loaders run on BOTH client and server with SSR. Browser-only APIs (",{"type":65,"tag":130,"props":5762,"children":5764},{"className":5763},[],[5765],{"type":71,"value":193},{"type":71,"value":213},{"type":65,"tag":130,"props":5768,"children":5770},{"className":5769},[],[5771],{"type":71,"value":5772},"document",{"type":71,"value":213},{"type":65,"tag":130,"props":5775,"children":5777},{"className":5776},[],[5778],{"type":71,"value":5779},"localStorage",{"type":71,"value":5781},") throw on the server.",{"type":65,"tag":249,"props":5783,"children":5785},{"className":251,"code":5784,"language":253,"meta":254,"style":254},"\u002F\u002F WRONG — crashes on server\nloader: async () => {\n  const token = localStorage.getItem('token')\n  return fetchData(token)\n}\n\n\u002F\u002F CORRECT — guard with environment check\nloader: async () => {\n  const token =\n    typeof window !== 'undefined' ? localStorage.getItem('token') : null\n  return fetchData(token)\n}\n",[5786],{"type":65,"tag":130,"props":5787,"children":5788},{"__ignoreMap":254},[5789,5797,5825,5876,5900,5907,5914,5922,5949,5965,6041,6064],{"type":65,"tag":260,"props":5790,"children":5791},{"class":262,"line":263},[5792],{"type":65,"tag":260,"props":5793,"children":5794},{"style":267},[5795],{"type":71,"value":5796},"\u002F\u002F WRONG — crashes on server\n",{"type":65,"tag":260,"props":5798,"children":5799},{"class":262,"line":273},[5800,5805,5809,5813,5817,5821],{"type":65,"tag":260,"props":5801,"children":5802},{"style":503},[5803],{"type":71,"value":5804},"loader",{"type":65,"tag":260,"props":5806,"children":5807},{"style":283},[5808],{"type":71,"value":524},{"type":65,"tag":260,"props":5810,"children":5811},{"style":388},[5812],{"type":71,"value":712},{"type":65,"tag":260,"props":5814,"children":5815},{"style":283},[5816],{"type":71,"value":2398},{"type":65,"tag":260,"props":5818,"children":5819},{"style":388},[5820],{"type":71,"value":2403},{"type":65,"tag":260,"props":5822,"children":5823},{"style":283},[5824],{"type":71,"value":406},{"type":65,"tag":260,"props":5826,"children":5827},{"class":262,"line":331},[5828,5832,5837,5841,5846,5850,5855,5859,5863,5868,5872],{"type":65,"tag":260,"props":5829,"children":5830},{"style":388},[5831],{"type":71,"value":771},{"type":65,"tag":260,"props":5833,"children":5834},{"style":289},[5835],{"type":71,"value":5836}," token",{"type":65,"tag":260,"props":5838,"children":5839},{"style":283},[5840],{"type":71,"value":781},{"type":65,"tag":260,"props":5842,"children":5843},{"style":289},[5844],{"type":71,"value":5845}," localStorage",{"type":65,"tag":260,"props":5847,"children":5848},{"style":283},[5849],{"type":71,"value":116},{"type":65,"tag":260,"props":5851,"children":5852},{"style":394},[5853],{"type":71,"value":5854},"getItem",{"type":65,"tag":260,"props":5856,"children":5857},{"style":422},[5858],{"type":71,"value":425},{"type":65,"tag":260,"props":5860,"children":5861},{"style":283},[5862],{"type":71,"value":487},{"type":65,"tag":260,"props":5864,"children":5865},{"style":320},[5866],{"type":71,"value":5867},"token",{"type":65,"tag":260,"props":5869,"children":5870},{"style":283},[5871],{"type":71,"value":487},{"type":65,"tag":260,"props":5873,"children":5874},{"style":422},[5875],{"type":71,"value":443},{"type":65,"tag":260,"props":5877,"children":5878},{"class":262,"line":369},[5879,5883,5888,5892,5896],{"type":65,"tag":260,"props":5880,"children":5881},{"style":277},[5882],{"type":71,"value":415},{"type":65,"tag":260,"props":5884,"children":5885},{"style":394},[5886],{"type":71,"value":5887}," fetchData",{"type":65,"tag":260,"props":5889,"children":5890},{"style":422},[5891],{"type":71,"value":425},{"type":65,"tag":260,"props":5893,"children":5894},{"style":289},[5895],{"type":71,"value":5867},{"type":65,"tag":260,"props":5897,"children":5898},{"style":422},[5899],{"type":71,"value":443},{"type":65,"tag":260,"props":5901,"children":5902},{"class":262,"line":379},[5903],{"type":65,"tag":260,"props":5904,"children":5905},{"style":283},[5906],{"type":71,"value":452},{"type":65,"tag":260,"props":5908,"children":5909},{"class":262,"line":409},[5910],{"type":65,"tag":260,"props":5911,"children":5912},{"emptyLinePlaceholder":373},[5913],{"type":71,"value":376},{"type":65,"tag":260,"props":5915,"children":5916},{"class":262,"line":446},[5917],{"type":65,"tag":260,"props":5918,"children":5919},{"style":267},[5920],{"type":71,"value":5921},"\u002F\u002F CORRECT — guard with environment check\n",{"type":65,"tag":260,"props":5923,"children":5924},{"class":262,"line":455},[5925,5929,5933,5937,5941,5945],{"type":65,"tag":260,"props":5926,"children":5927},{"style":503},[5928],{"type":71,"value":5804},{"type":65,"tag":260,"props":5930,"children":5931},{"style":283},[5932],{"type":71,"value":524},{"type":65,"tag":260,"props":5934,"children":5935},{"style":388},[5936],{"type":71,"value":712},{"type":65,"tag":260,"props":5938,"children":5939},{"style":283},[5940],{"type":71,"value":2398},{"type":65,"tag":260,"props":5942,"children":5943},{"style":388},[5944],{"type":71,"value":2403},{"type":65,"tag":260,"props":5946,"children":5947},{"style":283},[5948],{"type":71,"value":406},{"type":65,"tag":260,"props":5950,"children":5951},{"class":262,"line":463},[5952,5956,5960],{"type":65,"tag":260,"props":5953,"children":5954},{"style":388},[5955],{"type":71,"value":771},{"type":65,"tag":260,"props":5957,"children":5958},{"style":289},[5959],{"type":71,"value":5836},{"type":65,"tag":260,"props":5961,"children":5962},{"style":283},[5963],{"type":71,"value":5964}," =\n",{"type":65,"tag":260,"props":5966,"children":5967},{"class":262,"line":494},[5968,5973,5978,5983,5987,5991,5995,6000,6004,6008,6012,6016,6020,6024,6028,6032,6036],{"type":65,"tag":260,"props":5969,"children":5970},{"style":283},[5971],{"type":71,"value":5972},"    typeof",{"type":65,"tag":260,"props":5974,"children":5975},{"style":289},[5976],{"type":71,"value":5977}," window",{"type":65,"tag":260,"props":5979,"children":5980},{"style":283},[5981],{"type":71,"value":5982}," !==",{"type":65,"tag":260,"props":5984,"children":5985},{"style":283},[5986],{"type":71,"value":317},{"type":65,"tag":260,"props":5988,"children":5989},{"style":320},[5990],{"type":71,"value":234},{"type":65,"tag":260,"props":5992,"children":5993},{"style":283},[5994],{"type":71,"value":487},{"type":65,"tag":260,"props":5996,"children":5997},{"style":283},[5998],{"type":71,"value":5999}," ?",{"type":65,"tag":260,"props":6001,"children":6002},{"style":289},[6003],{"type":71,"value":5845},{"type":65,"tag":260,"props":6005,"children":6006},{"style":283},[6007],{"type":71,"value":116},{"type":65,"tag":260,"props":6009,"children":6010},{"style":394},[6011],{"type":71,"value":5854},{"type":65,"tag":260,"props":6013,"children":6014},{"style":422},[6015],{"type":71,"value":425},{"type":65,"tag":260,"props":6017,"children":6018},{"style":283},[6019],{"type":71,"value":487},{"type":65,"tag":260,"props":6021,"children":6022},{"style":320},[6023],{"type":71,"value":5867},{"type":65,"tag":260,"props":6025,"children":6026},{"style":283},[6027],{"type":71,"value":487},{"type":65,"tag":260,"props":6029,"children":6030},{"style":422},[6031],{"type":71,"value":4783},{"type":65,"tag":260,"props":6033,"children":6034},{"style":283},[6035],{"type":71,"value":524},{"type":65,"tag":260,"props":6037,"children":6038},{"style":283},[6039],{"type":71,"value":6040}," null\n",{"type":65,"tag":260,"props":6042,"children":6043},{"class":262,"line":513},[6044,6048,6052,6056,6060],{"type":65,"tag":260,"props":6045,"children":6046},{"style":277},[6047],{"type":71,"value":415},{"type":65,"tag":260,"props":6049,"children":6050},{"style":394},[6051],{"type":71,"value":5887},{"type":65,"tag":260,"props":6053,"children":6054},{"style":422},[6055],{"type":71,"value":425},{"type":65,"tag":260,"props":6057,"children":6058},{"style":289},[6059],{"type":71,"value":5867},{"type":65,"tag":260,"props":6061,"children":6062},{"style":422},[6063],{"type":71,"value":443},{"type":65,"tag":260,"props":6065,"children":6066},{"class":262,"line":546},[6067],{"type":65,"tag":260,"props":6068,"children":6069},{"style":283},[6070],{"type":71,"value":452},{"type":65,"tag":568,"props":6072,"children":6074},{"id":6073},"_2-medium-using-hash-fragments-for-server-rendered-content",[6075],{"type":71,"value":6076},"2. MEDIUM: Using hash fragments for server-rendered content",{"type":65,"tag":78,"props":6078,"children":6079},{},[6080,6082,6088],{"type":71,"value":6081},"Hash fragments (",{"type":65,"tag":130,"props":6083,"children":6085},{"className":6084},[],[6086],{"type":71,"value":6087},"#section",{"type":71,"value":6089},") are never sent to the server. Conditional rendering based on hash causes hydration mismatches.",{"type":65,"tag":249,"props":6091,"children":6093},{"className":251,"code":6092,"language":253,"meta":254,"style":254},"\u002F\u002F WRONG — server has no hash, client does → mismatch\ncomponent: () => {\n  const hash = window.location.hash\n  return hash === '#admin' ? \u003CAdminPanel \u002F> : \u003CUserPanel \u002F>\n}\n\n\u002F\u002F CORRECT — use search params for server-visible state\nvalidateSearch: z.object({ view: fallback(z.enum(['admin', 'user']), 'user') }),\ncomponent: () => {\n  const { view } = Route.useSearch()\n  return view === 'admin' ? \u003CAdminPanel \u002F> : \u003CUserPanel \u002F>\n}\n",[6094],{"type":65,"tag":130,"props":6095,"children":6096},{"__ignoreMap":254},[6097,6105,6129,6167,6232,6239,6246,6254,6388,6411,6451,6510],{"type":65,"tag":260,"props":6098,"children":6099},{"class":262,"line":263},[6100],{"type":65,"tag":260,"props":6101,"children":6102},{"style":267},[6103],{"type":71,"value":6104},"\u002F\u002F WRONG — server has no hash, client does → mismatch\n",{"type":65,"tag":260,"props":6106,"children":6107},{"class":262,"line":273},[6108,6113,6117,6121,6125],{"type":65,"tag":260,"props":6109,"children":6110},{"style":503},[6111],{"type":71,"value":6112},"component",{"type":65,"tag":260,"props":6114,"children":6115},{"style":283},[6116],{"type":71,"value":524},{"type":65,"tag":260,"props":6118,"children":6119},{"style":283},[6120],{"type":71,"value":2398},{"type":65,"tag":260,"props":6122,"children":6123},{"style":388},[6124],{"type":71,"value":2403},{"type":65,"tag":260,"props":6126,"children":6127},{"style":283},[6128],{"type":71,"value":406},{"type":65,"tag":260,"props":6130,"children":6131},{"class":262,"line":331},[6132,6136,6141,6145,6149,6153,6158,6162],{"type":65,"tag":260,"props":6133,"children":6134},{"style":388},[6135],{"type":71,"value":771},{"type":65,"tag":260,"props":6137,"children":6138},{"style":289},[6139],{"type":71,"value":6140}," hash",{"type":65,"tag":260,"props":6142,"children":6143},{"style":283},[6144],{"type":71,"value":781},{"type":65,"tag":260,"props":6146,"children":6147},{"style":289},[6148],{"type":71,"value":5977},{"type":65,"tag":260,"props":6150,"children":6151},{"style":283},[6152],{"type":71,"value":116},{"type":65,"tag":260,"props":6154,"children":6155},{"style":289},[6156],{"type":71,"value":6157},"location",{"type":65,"tag":260,"props":6159,"children":6160},{"style":283},[6161],{"type":71,"value":116},{"type":65,"tag":260,"props":6163,"children":6164},{"style":289},[6165],{"type":71,"value":6166},"hash\n",{"type":65,"tag":260,"props":6168,"children":6169},{"class":262,"line":369},[6170,6174,6178,6183,6187,6192,6196,6200,6204,6209,6214,6219,6223,6228],{"type":65,"tag":260,"props":6171,"children":6172},{"style":277},[6173],{"type":71,"value":415},{"type":65,"tag":260,"props":6175,"children":6176},{"style":289},[6177],{"type":71,"value":6140},{"type":65,"tag":260,"props":6179,"children":6180},{"style":283},[6181],{"type":71,"value":6182}," ===",{"type":65,"tag":260,"props":6184,"children":6185},{"style":283},[6186],{"type":71,"value":317},{"type":65,"tag":260,"props":6188,"children":6189},{"style":320},[6190],{"type":71,"value":6191},"#admin",{"type":65,"tag":260,"props":6193,"children":6194},{"style":283},[6195],{"type":71,"value":487},{"type":65,"tag":260,"props":6197,"children":6198},{"style":283},[6199],{"type":71,"value":5999},{"type":65,"tag":260,"props":6201,"children":6202},{"style":283},[6203],{"type":71,"value":1196},{"type":65,"tag":260,"props":6205,"children":6206},{"style":503},[6207],{"type":71,"value":6208},"AdminPanel",{"type":65,"tag":260,"props":6210,"children":6211},{"style":283},[6212],{"type":71,"value":6213}," \u002F>",{"type":65,"tag":260,"props":6215,"children":6216},{"style":283},[6217],{"type":71,"value":6218}," :",{"type":65,"tag":260,"props":6220,"children":6221},{"style":283},[6222],{"type":71,"value":1196},{"type":65,"tag":260,"props":6224,"children":6225},{"style":503},[6226],{"type":71,"value":6227},"UserPanel",{"type":65,"tag":260,"props":6229,"children":6230},{"style":283},[6231],{"type":71,"value":2816},{"type":65,"tag":260,"props":6233,"children":6234},{"class":262,"line":379},[6235],{"type":65,"tag":260,"props":6236,"children":6237},{"style":283},[6238],{"type":71,"value":452},{"type":65,"tag":260,"props":6240,"children":6241},{"class":262,"line":409},[6242],{"type":65,"tag":260,"props":6243,"children":6244},{"emptyLinePlaceholder":373},[6245],{"type":71,"value":376},{"type":65,"tag":260,"props":6247,"children":6248},{"class":262,"line":446},[6249],{"type":65,"tag":260,"props":6250,"children":6251},{"style":267},[6252],{"type":71,"value":6253},"\u002F\u002F CORRECT — use search params for server-visible state\n",{"type":65,"tag":260,"props":6255,"children":6256},{"class":262,"line":455},[6257,6262,6266,6271,6275,6280,6284,6288,6293,6297,6302,6307,6311,6316,6321,6325,6330,6334,6338,6342,6347,6351,6356,6360,6364,6368,6372,6376,6380,6384],{"type":65,"tag":260,"props":6258,"children":6259},{"style":503},[6260],{"type":71,"value":6261},"validateSearch",{"type":65,"tag":260,"props":6263,"children":6264},{"style":283},[6265],{"type":71,"value":524},{"type":65,"tag":260,"props":6267,"children":6268},{"style":289},[6269],{"type":71,"value":6270}," z",{"type":65,"tag":260,"props":6272,"children":6273},{"style":283},[6274],{"type":71,"value":116},{"type":65,"tag":260,"props":6276,"children":6277},{"style":394},[6278],{"type":71,"value":6279},"object",{"type":65,"tag":260,"props":6281,"children":6282},{"style":289},[6283],{"type":71,"value":425},{"type":65,"tag":260,"props":6285,"children":6286},{"style":283},[6287],{"type":71,"value":430},{"type":65,"tag":260,"props":6289,"children":6290},{"style":422},[6291],{"type":71,"value":6292}," view",{"type":65,"tag":260,"props":6294,"children":6295},{"style":283},[6296],{"type":71,"value":524},{"type":65,"tag":260,"props":6298,"children":6299},{"style":394},[6300],{"type":71,"value":6301}," fallback",{"type":65,"tag":260,"props":6303,"children":6304},{"style":289},[6305],{"type":71,"value":6306},"(z",{"type":65,"tag":260,"props":6308,"children":6309},{"style":283},[6310],{"type":71,"value":116},{"type":65,"tag":260,"props":6312,"children":6313},{"style":394},[6314],{"type":71,"value":6315},"enum",{"type":65,"tag":260,"props":6317,"children":6318},{"style":289},[6319],{"type":71,"value":6320},"([",{"type":65,"tag":260,"props":6322,"children":6323},{"style":283},[6324],{"type":71,"value":487},{"type":65,"tag":260,"props":6326,"children":6327},{"style":320},[6328],{"type":71,"value":6329},"admin",{"type":65,"tag":260,"props":6331,"children":6332},{"style":283},[6333],{"type":71,"value":487},{"type":65,"tag":260,"props":6335,"children":6336},{"style":283},[6337],{"type":71,"value":803},{"type":65,"tag":260,"props":6339,"children":6340},{"style":283},[6341],{"type":71,"value":317},{"type":65,"tag":260,"props":6343,"children":6344},{"style":320},[6345],{"type":71,"value":6346},"user",{"type":65,"tag":260,"props":6348,"children":6349},{"style":283},[6350],{"type":71,"value":487},{"type":65,"tag":260,"props":6352,"children":6353},{"style":289},[6354],{"type":71,"value":6355},"])",{"type":65,"tag":260,"props":6357,"children":6358},{"style":283},[6359],{"type":71,"value":803},{"type":65,"tag":260,"props":6361,"children":6362},{"style":283},[6363],{"type":71,"value":317},{"type":65,"tag":260,"props":6365,"children":6366},{"style":320},[6367],{"type":71,"value":6346},{"type":65,"tag":260,"props":6369,"children":6370},{"style":283},[6371],{"type":71,"value":487},{"type":65,"tag":260,"props":6373,"children":6374},{"style":289},[6375],{"type":71,"value":4783},{"type":65,"tag":260,"props":6377,"children":6378},{"style":283},[6379],{"type":71,"value":640},{"type":65,"tag":260,"props":6381,"children":6382},{"style":289},[6383],{"type":71,"value":581},{"type":65,"tag":260,"props":6385,"children":6386},{"style":283},[6387],{"type":71,"value":620},{"type":65,"tag":260,"props":6389,"children":6390},{"class":262,"line":463},[6391,6395,6399,6403,6407],{"type":65,"tag":260,"props":6392,"children":6393},{"style":503},[6394],{"type":71,"value":6112},{"type":65,"tag":260,"props":6396,"children":6397},{"style":283},[6398],{"type":71,"value":524},{"type":65,"tag":260,"props":6400,"children":6401},{"style":283},[6402],{"type":71,"value":2398},{"type":65,"tag":260,"props":6404,"children":6405},{"style":388},[6406],{"type":71,"value":2403},{"type":65,"tag":260,"props":6408,"children":6409},{"style":283},[6410],{"type":71,"value":406},{"type":65,"tag":260,"props":6412,"children":6413},{"class":262,"line":494},[6414,6418,6422,6426,6430,6434,6438,6442,6447],{"type":65,"tag":260,"props":6415,"children":6416},{"style":388},[6417],{"type":71,"value":771},{"type":65,"tag":260,"props":6419,"children":6420},{"style":283},[6421],{"type":71,"value":286},{"type":65,"tag":260,"props":6423,"children":6424},{"style":289},[6425],{"type":71,"value":6292},{"type":65,"tag":260,"props":6427,"children":6428},{"style":283},[6429],{"type":71,"value":307},{"type":65,"tag":260,"props":6431,"children":6432},{"style":283},[6433],{"type":71,"value":781},{"type":65,"tag":260,"props":6435,"children":6436},{"style":289},[6437],{"type":71,"value":3465},{"type":65,"tag":260,"props":6439,"children":6440},{"style":283},[6441],{"type":71,"value":116},{"type":65,"tag":260,"props":6443,"children":6444},{"style":394},[6445],{"type":71,"value":6446},"useSearch",{"type":65,"tag":260,"props":6448,"children":6449},{"style":422},[6450],{"type":71,"value":1417},{"type":65,"tag":260,"props":6452,"children":6453},{"class":262,"line":513},[6454,6458,6462,6466,6470,6474,6478,6482,6486,6490,6494,6498,6502,6506],{"type":65,"tag":260,"props":6455,"children":6456},{"style":277},[6457],{"type":71,"value":415},{"type":65,"tag":260,"props":6459,"children":6460},{"style":289},[6461],{"type":71,"value":6292},{"type":65,"tag":260,"props":6463,"children":6464},{"style":283},[6465],{"type":71,"value":6182},{"type":65,"tag":260,"props":6467,"children":6468},{"style":283},[6469],{"type":71,"value":317},{"type":65,"tag":260,"props":6471,"children":6472},{"style":320},[6473],{"type":71,"value":6329},{"type":65,"tag":260,"props":6475,"children":6476},{"style":283},[6477],{"type":71,"value":487},{"type":65,"tag":260,"props":6479,"children":6480},{"style":283},[6481],{"type":71,"value":5999},{"type":65,"tag":260,"props":6483,"children":6484},{"style":283},[6485],{"type":71,"value":1196},{"type":65,"tag":260,"props":6487,"children":6488},{"style":503},[6489],{"type":71,"value":6208},{"type":65,"tag":260,"props":6491,"children":6492},{"style":283},[6493],{"type":71,"value":6213},{"type":65,"tag":260,"props":6495,"children":6496},{"style":283},[6497],{"type":71,"value":6218},{"type":65,"tag":260,"props":6499,"children":6500},{"style":283},[6501],{"type":71,"value":1196},{"type":65,"tag":260,"props":6503,"children":6504},{"style":503},[6505],{"type":71,"value":6227},{"type":65,"tag":260,"props":6507,"children":6508},{"style":283},[6509],{"type":71,"value":2816},{"type":65,"tag":260,"props":6511,"children":6512},{"class":262,"line":546},[6513],{"type":65,"tag":260,"props":6514,"children":6515},{"style":283},[6516],{"type":71,"value":452},{"type":65,"tag":568,"props":6518,"children":6520},{"id":6519},"_3-critical-generating-nextjs-remix-or-react-router-dom-patterns",[6521],{"type":71,"value":6522},"3. CRITICAL: Generating Next.js, Remix, or React Router DOM patterns",{"type":65,"tag":78,"props":6524,"children":6525},{},[6526,6528,6533,6534,6540,6542,6548,6550,6555,6557,6563],{"type":71,"value":6527},"TanStack Router does NOT use ",{"type":65,"tag":130,"props":6529,"children":6531},{"className":6530},[],[6532],{"type":71,"value":135},{"type":71,"value":213},{"type":65,"tag":130,"props":6535,"children":6537},{"className":6536},[],[6538],{"type":71,"value":6539},"getStaticProps",{"type":71,"value":6541},", App Router ",{"type":65,"tag":130,"props":6543,"children":6545},{"className":6544},[],[6546],{"type":71,"value":6547},"page.tsx",{"type":71,"value":6549},", Remix-style server-only ",{"type":65,"tag":130,"props":6551,"children":6553},{"className":6552},[],[6554],{"type":71,"value":5804},{"type":71,"value":6556}," exports, or anything from ",{"type":65,"tag":130,"props":6558,"children":6560},{"className":6559},[],[6561],{"type":71,"value":6562},"react-router-dom",{"type":71,"value":116},{"type":65,"tag":6565,"props":6566,"children":6568},"h4",{"id":6567},"wrong-file-structures",[6569],{"type":71,"value":6570},"Wrong file structures",{"type":65,"tag":249,"props":6572,"children":6576},{"className":6573,"code":6575,"language":71,"meta":254},[6574],"language-text","WRONG (Next.js Pages Router):\n  src\u002Fpages\u002Findex.tsx\n  src\u002Fpages\u002F_app.tsx\n  src\u002Fpages\u002Fposts\u002F[id].tsx\n\nWRONG (Next.js App Router):\n  app\u002Flayout.tsx\n  app\u002Fpage.tsx\n  app\u002Fposts\u002F[id]\u002Fpage.tsx\n\nWRONG (Next.js custom App):\n  _app\u002Findex.tsx\n  pages\u002F_app.tsx, pages\u002F_document.tsx\n\nCORRECT (TanStack Router file-based routing):\n  src\u002Froutes\u002F__root.tsx\n  src\u002Froutes\u002Findex.tsx\n  src\u002Froutes\u002Fposts\u002F$postId.tsx\n",[6577],{"type":65,"tag":130,"props":6578,"children":6579},{"__ignoreMap":254},[6580],{"type":71,"value":6575},{"type":65,"tag":6565,"props":6582,"children":6584},{"id":6583},"wrong-imports",[6585],{"type":71,"value":6586},"Wrong imports",{"type":65,"tag":249,"props":6588,"children":6590},{"className":251,"code":6589,"language":253,"meta":254,"style":254},"\u002F\u002F WRONG — react-router-dom is a different library\nimport {\n  Link,\n  useNavigate,\n  BrowserRouter,\n  Route,\n  Routes,\n} from 'react-router-dom'\n\n\u002F\u002F WRONG — Next.js Link\u002Frouter\nimport Link from 'next\u002Flink'\nimport { useRouter } from 'next\u002Frouter' \u002F\u002F Pages Router\nimport { useRouter } from 'next\u002Fnavigation' \u002F\u002F App Router\n\n\u002F\u002F CORRECT — everything routing-related lives in @tanstack\u002Freact-router\nimport {\n  Link,\n  useNavigate,\n  useRouter,\n  useLocation,\n  redirect,\n} from '@tanstack\u002Freact-router'\n",[6591],{"type":65,"tag":130,"props":6592,"children":6593},{"__ignoreMap":254},[6594,6602,6613,6625,6637,6649,6661,6673,6696,6703,6711,6740,6782,6823,6830,6838,6849,6860,6871,6883,6895,6907],{"type":65,"tag":260,"props":6595,"children":6596},{"class":262,"line":263},[6597],{"type":65,"tag":260,"props":6598,"children":6599},{"style":267},[6600],{"type":71,"value":6601},"\u002F\u002F WRONG — react-router-dom is a different library\n",{"type":65,"tag":260,"props":6603,"children":6604},{"class":262,"line":273},[6605,6609],{"type":65,"tag":260,"props":6606,"children":6607},{"style":277},[6608],{"type":71,"value":280},{"type":65,"tag":260,"props":6610,"children":6611},{"style":283},[6612],{"type":71,"value":406},{"type":65,"tag":260,"props":6614,"children":6615},{"class":262,"line":331},[6616,6621],{"type":65,"tag":260,"props":6617,"children":6618},{"style":289},[6619],{"type":71,"value":6620},"  Link",{"type":65,"tag":260,"props":6622,"children":6623},{"style":283},[6624],{"type":71,"value":620},{"type":65,"tag":260,"props":6626,"children":6627},{"class":262,"line":369},[6628,6633],{"type":65,"tag":260,"props":6629,"children":6630},{"style":289},[6631],{"type":71,"value":6632},"  useNavigate",{"type":65,"tag":260,"props":6634,"children":6635},{"style":283},[6636],{"type":71,"value":620},{"type":65,"tag":260,"props":6638,"children":6639},{"class":262,"line":379},[6640,6645],{"type":65,"tag":260,"props":6641,"children":6642},{"style":289},[6643],{"type":71,"value":6644},"  BrowserRouter",{"type":65,"tag":260,"props":6646,"children":6647},{"style":283},[6648],{"type":71,"value":620},{"type":65,"tag":260,"props":6650,"children":6651},{"class":262,"line":409},[6652,6657],{"type":65,"tag":260,"props":6653,"children":6654},{"style":289},[6655],{"type":71,"value":6656},"  Route",{"type":65,"tag":260,"props":6658,"children":6659},{"style":283},[6660],{"type":71,"value":620},{"type":65,"tag":260,"props":6662,"children":6663},{"class":262,"line":446},[6664,6669],{"type":65,"tag":260,"props":6665,"children":6666},{"style":289},[6667],{"type":71,"value":6668},"  Routes",{"type":65,"tag":260,"props":6670,"children":6671},{"style":283},[6672],{"type":71,"value":620},{"type":65,"tag":260,"props":6674,"children":6675},{"class":262,"line":455},[6676,6680,6684,6688,6692],{"type":65,"tag":260,"props":6677,"children":6678},{"style":283},[6679],{"type":71,"value":640},{"type":65,"tag":260,"props":6681,"children":6682},{"style":277},[6683],{"type":71,"value":312},{"type":65,"tag":260,"props":6685,"children":6686},{"style":283},[6687],{"type":71,"value":317},{"type":65,"tag":260,"props":6689,"children":6690},{"style":320},[6691],{"type":71,"value":6562},{"type":65,"tag":260,"props":6693,"children":6694},{"style":283},[6695],{"type":71,"value":328},{"type":65,"tag":260,"props":6697,"children":6698},{"class":262,"line":463},[6699],{"type":65,"tag":260,"props":6700,"children":6701},{"emptyLinePlaceholder":373},[6702],{"type":71,"value":376},{"type":65,"tag":260,"props":6704,"children":6705},{"class":262,"line":494},[6706],{"type":65,"tag":260,"props":6707,"children":6708},{"style":267},[6709],{"type":71,"value":6710},"\u002F\u002F WRONG — Next.js Link\u002Frouter\n",{"type":65,"tag":260,"props":6712,"children":6713},{"class":262,"line":513},[6714,6718,6723,6727,6731,6736],{"type":65,"tag":260,"props":6715,"children":6716},{"style":277},[6717],{"type":71,"value":280},{"type":65,"tag":260,"props":6719,"children":6720},{"style":289},[6721],{"type":71,"value":6722}," Link ",{"type":65,"tag":260,"props":6724,"children":6725},{"style":277},[6726],{"type":71,"value":4590},{"type":65,"tag":260,"props":6728,"children":6729},{"style":283},[6730],{"type":71,"value":317},{"type":65,"tag":260,"props":6732,"children":6733},{"style":320},[6734],{"type":71,"value":6735},"next\u002Flink",{"type":65,"tag":260,"props":6737,"children":6738},{"style":283},[6739],{"type":71,"value":328},{"type":65,"tag":260,"props":6741,"children":6742},{"class":262,"line":546},[6743,6747,6751,6756,6760,6764,6768,6773,6777],{"type":65,"tag":260,"props":6744,"children":6745},{"style":277},[6746],{"type":71,"value":280},{"type":65,"tag":260,"props":6748,"children":6749},{"style":283},[6750],{"type":71,"value":286},{"type":65,"tag":260,"props":6752,"children":6753},{"style":289},[6754],{"type":71,"value":6755}," useRouter",{"type":65,"tag":260,"props":6757,"children":6758},{"style":283},[6759],{"type":71,"value":307},{"type":65,"tag":260,"props":6761,"children":6762},{"style":277},[6763],{"type":71,"value":312},{"type":65,"tag":260,"props":6765,"children":6766},{"style":283},[6767],{"type":71,"value":317},{"type":65,"tag":260,"props":6769,"children":6770},{"style":320},[6771],{"type":71,"value":6772},"next\u002Frouter",{"type":65,"tag":260,"props":6774,"children":6775},{"style":283},[6776],{"type":71,"value":487},{"type":65,"tag":260,"props":6778,"children":6779},{"style":267},[6780],{"type":71,"value":6781}," \u002F\u002F Pages Router\n",{"type":65,"tag":260,"props":6783,"children":6784},{"class":262,"line":555},[6785,6789,6793,6797,6801,6805,6809,6814,6818],{"type":65,"tag":260,"props":6786,"children":6787},{"style":277},[6788],{"type":71,"value":280},{"type":65,"tag":260,"props":6790,"children":6791},{"style":283},[6792],{"type":71,"value":286},{"type":65,"tag":260,"props":6794,"children":6795},{"style":289},[6796],{"type":71,"value":6755},{"type":65,"tag":260,"props":6798,"children":6799},{"style":283},[6800],{"type":71,"value":307},{"type":65,"tag":260,"props":6802,"children":6803},{"style":277},[6804],{"type":71,"value":312},{"type":65,"tag":260,"props":6806,"children":6807},{"style":283},[6808],{"type":71,"value":317},{"type":65,"tag":260,"props":6810,"children":6811},{"style":320},[6812],{"type":71,"value":6813},"next\u002Fnavigation",{"type":65,"tag":260,"props":6815,"children":6816},{"style":283},[6817],{"type":71,"value":487},{"type":65,"tag":260,"props":6819,"children":6820},{"style":267},[6821],{"type":71,"value":6822}," \u002F\u002F App Router\n",{"type":65,"tag":260,"props":6824,"children":6825},{"class":262,"line":1155},[6826],{"type":65,"tag":260,"props":6827,"children":6828},{"emptyLinePlaceholder":373},[6829],{"type":71,"value":376},{"type":65,"tag":260,"props":6831,"children":6832},{"class":262,"line":1168},[6833],{"type":65,"tag":260,"props":6834,"children":6835},{"style":267},[6836],{"type":71,"value":6837},"\u002F\u002F CORRECT — everything routing-related lives in @tanstack\u002Freact-router\n",{"type":65,"tag":260,"props":6839,"children":6840},{"class":262,"line":1181},[6841,6845],{"type":65,"tag":260,"props":6842,"children":6843},{"style":277},[6844],{"type":71,"value":280},{"type":65,"tag":260,"props":6846,"children":6847},{"style":283},[6848],{"type":71,"value":406},{"type":65,"tag":260,"props":6850,"children":6851},{"class":262,"line":1222},[6852,6856],{"type":65,"tag":260,"props":6853,"children":6854},{"style":289},[6855],{"type":71,"value":6620},{"type":65,"tag":260,"props":6857,"children":6858},{"style":283},[6859],{"type":71,"value":620},{"type":65,"tag":260,"props":6861,"children":6862},{"class":262,"line":1239},[6863,6867],{"type":65,"tag":260,"props":6864,"children":6865},{"style":289},[6866],{"type":71,"value":6632},{"type":65,"tag":260,"props":6868,"children":6869},{"style":283},[6870],{"type":71,"value":620},{"type":65,"tag":260,"props":6872,"children":6873},{"class":262,"line":1248},[6874,6879],{"type":65,"tag":260,"props":6875,"children":6876},{"style":289},[6877],{"type":71,"value":6878},"  useRouter",{"type":65,"tag":260,"props":6880,"children":6881},{"style":283},[6882],{"type":71,"value":620},{"type":65,"tag":260,"props":6884,"children":6885},{"class":262,"line":2136},[6886,6891],{"type":65,"tag":260,"props":6887,"children":6888},{"style":289},[6889],{"type":71,"value":6890},"  useLocation",{"type":65,"tag":260,"props":6892,"children":6893},{"style":283},[6894],{"type":71,"value":620},{"type":65,"tag":260,"props":6896,"children":6897},{"class":262,"line":2708},[6898,6903],{"type":65,"tag":260,"props":6899,"children":6900},{"style":289},[6901],{"type":71,"value":6902},"  redirect",{"type":65,"tag":260,"props":6904,"children":6905},{"style":283},[6906],{"type":71,"value":620},{"type":65,"tag":260,"props":6908,"children":6909},{"class":262,"line":2729},[6910,6914,6918,6922,6926],{"type":65,"tag":260,"props":6911,"children":6912},{"style":283},[6913],{"type":71,"value":640},{"type":65,"tag":260,"props":6915,"children":6916},{"style":277},[6917],{"type":71,"value":312},{"type":65,"tag":260,"props":6919,"children":6920},{"style":283},[6921],{"type":71,"value":317},{"type":65,"tag":260,"props":6923,"children":6924},{"style":320},[6925],{"type":71,"value":323},{"type":65,"tag":260,"props":6927,"children":6928},{"style":283},[6929],{"type":71,"value":328},{"type":65,"tag":6565,"props":6931,"children":6933},{"id":6932},"wrong-loaderdata-fetching-patterns",[6934],{"type":71,"value":6935},"Wrong loader\u002Fdata-fetching patterns",{"type":65,"tag":249,"props":6937,"children":6939},{"className":251,"code":6938,"language":253,"meta":254,"style":254},"\u002F\u002F WRONG — Next.js Pages Router\nexport async function getServerSideProps() {\n  return { props: { data: await fetchData() } }\n}\n\n\u002F\u002F WRONG — Remix\nexport async function loader({ request }: LoaderFunctionArgs) {\n  return json({ data: await fetchData() })\n}\n\n\u002F\u002F CORRECT — TanStack Router\nexport const Route = createFileRoute('\u002Fdata')({\n  loader: async () => {\n    const data = await fetchData()\n    return { data }\n  },\n  component: DataPage,\n})\n\nfunction DataPage() {\n  const { data } = Route.useLoaderData()\n  return \u003Cdiv>{data}\u003C\u002Fdiv>\n}\n",[6940],{"type":65,"tag":130,"props":6941,"children":6942},{"__ignoreMap":254},[6943,6951,6979,7033,7040,7047,7055,7100,7148,7155,7162,7170,7218,7245,7272,7291,7298,7318,7329,7336,7355,7394,7431],{"type":65,"tag":260,"props":6944,"children":6945},{"class":262,"line":263},[6946],{"type":65,"tag":260,"props":6947,"children":6948},{"style":267},[6949],{"type":71,"value":6950},"\u002F\u002F WRONG — Next.js Pages Router\n",{"type":65,"tag":260,"props":6952,"children":6953},{"class":262,"line":273},[6954,6958,6962,6966,6971,6975],{"type":65,"tag":260,"props":6955,"children":6956},{"style":277},[6957],{"type":71,"value":385},{"type":65,"tag":260,"props":6959,"children":6960},{"style":388},[6961],{"type":71,"value":712},{"type":65,"tag":260,"props":6963,"children":6964},{"style":388},[6965],{"type":71,"value":391},{"type":65,"tag":260,"props":6967,"children":6968},{"style":394},[6969],{"type":71,"value":6970}," getServerSideProps",{"type":65,"tag":260,"props":6972,"children":6973},{"style":283},[6974],{"type":71,"value":401},{"type":65,"tag":260,"props":6976,"children":6977},{"style":283},[6978],{"type":71,"value":406},{"type":65,"tag":260,"props":6980,"children":6981},{"class":262,"line":331},[6982,6986,6990,6995,6999,7003,7008,7012,7016,7020,7025,7029],{"type":65,"tag":260,"props":6983,"children":6984},{"style":277},[6985],{"type":71,"value":415},{"type":65,"tag":260,"props":6987,"children":6988},{"style":283},[6989],{"type":71,"value":286},{"type":65,"tag":260,"props":6991,"children":6992},{"style":422},[6993],{"type":71,"value":6994}," props",{"type":65,"tag":260,"props":6996,"children":6997},{"style":283},[6998],{"type":71,"value":524},{"type":65,"tag":260,"props":7000,"children":7001},{"style":283},[7002],{"type":71,"value":286},{"type":65,"tag":260,"props":7004,"children":7005},{"style":422},[7006],{"type":71,"value":7007}," data",{"type":65,"tag":260,"props":7009,"children":7010},{"style":283},[7011],{"type":71,"value":524},{"type":65,"tag":260,"props":7013,"children":7014},{"style":277},[7015],{"type":71,"value":827},{"type":65,"tag":260,"props":7017,"children":7018},{"style":394},[7019],{"type":71,"value":5887},{"type":65,"tag":260,"props":7021,"children":7022},{"style":422},[7023],{"type":71,"value":7024},"() ",{"type":65,"tag":260,"props":7026,"children":7027},{"style":283},[7028],{"type":71,"value":640},{"type":65,"tag":260,"props":7030,"children":7031},{"style":283},[7032],{"type":71,"value":3188},{"type":65,"tag":260,"props":7034,"children":7035},{"class":262,"line":369},[7036],{"type":65,"tag":260,"props":7037,"children":7038},{"style":283},[7039],{"type":71,"value":452},{"type":65,"tag":260,"props":7041,"children":7042},{"class":262,"line":379},[7043],{"type":65,"tag":260,"props":7044,"children":7045},{"emptyLinePlaceholder":373},[7046],{"type":71,"value":376},{"type":65,"tag":260,"props":7048,"children":7049},{"class":262,"line":409},[7050],{"type":65,"tag":260,"props":7051,"children":7052},{"style":267},[7053],{"type":71,"value":7054},"\u002F\u002F WRONG — Remix\n",{"type":65,"tag":260,"props":7056,"children":7057},{"class":262,"line":446},[7058,7062,7066,7070,7075,7079,7083,7087,7092,7096],{"type":65,"tag":260,"props":7059,"children":7060},{"style":277},[7061],{"type":71,"value":385},{"type":65,"tag":260,"props":7063,"children":7064},{"style":388},[7065],{"type":71,"value":712},{"type":65,"tag":260,"props":7067,"children":7068},{"style":388},[7069],{"type":71,"value":391},{"type":65,"tag":260,"props":7071,"children":7072},{"style":394},[7073],{"type":71,"value":7074}," loader",{"type":65,"tag":260,"props":7076,"children":7077},{"style":283},[7078],{"type":71,"value":726},{"type":65,"tag":260,"props":7080,"children":7081},{"style":729},[7082],{"type":71,"value":732},{"type":65,"tag":260,"props":7084,"children":7085},{"style":283},[7086],{"type":71,"value":737},{"type":65,"tag":260,"props":7088,"children":7089},{"style":503},[7090],{"type":71,"value":7091}," LoaderFunctionArgs",{"type":65,"tag":260,"props":7093,"children":7094},{"style":283},[7095],{"type":71,"value":581},{"type":65,"tag":260,"props":7097,"children":7098},{"style":283},[7099],{"type":71,"value":406},{"type":65,"tag":260,"props":7101,"children":7102},{"class":262,"line":455},[7103,7107,7112,7116,7120,7124,7128,7132,7136,7140,7144],{"type":65,"tag":260,"props":7104,"children":7105},{"style":277},[7106],{"type":71,"value":415},{"type":65,"tag":260,"props":7108,"children":7109},{"style":394},[7110],{"type":71,"value":7111}," json",{"type":65,"tag":260,"props":7113,"children":7114},{"style":422},[7115],{"type":71,"value":425},{"type":65,"tag":260,"props":7117,"children":7118},{"style":283},[7119],{"type":71,"value":430},{"type":65,"tag":260,"props":7121,"children":7122},{"style":422},[7123],{"type":71,"value":7007},{"type":65,"tag":260,"props":7125,"children":7126},{"style":283},[7127],{"type":71,"value":524},{"type":65,"tag":260,"props":7129,"children":7130},{"style":277},[7131],{"type":71,"value":827},{"type":65,"tag":260,"props":7133,"children":7134},{"style":394},[7135],{"type":71,"value":5887},{"type":65,"tag":260,"props":7137,"children":7138},{"style":422},[7139],{"type":71,"value":7024},{"type":65,"tag":260,"props":7141,"children":7142},{"style":283},[7143],{"type":71,"value":640},{"type":65,"tag":260,"props":7145,"children":7146},{"style":422},[7147],{"type":71,"value":443},{"type":65,"tag":260,"props":7149,"children":7150},{"class":262,"line":463},[7151],{"type":65,"tag":260,"props":7152,"children":7153},{"style":283},[7154],{"type":71,"value":452},{"type":65,"tag":260,"props":7156,"children":7157},{"class":262,"line":494},[7158],{"type":65,"tag":260,"props":7159,"children":7160},{"emptyLinePlaceholder":373},[7161],{"type":71,"value":376},{"type":65,"tag":260,"props":7163,"children":7164},{"class":262,"line":513},[7165],{"type":65,"tag":260,"props":7166,"children":7167},{"style":267},[7168],{"type":71,"value":7169},"\u002F\u002F CORRECT — TanStack Router\n",{"type":65,"tag":260,"props":7171,"children":7172},{"class":262,"line":546},[7173,7177,7181,7185,7189,7193,7197,7201,7206,7210,7214],{"type":65,"tag":260,"props":7174,"children":7175},{"style":277},[7176],{"type":71,"value":385},{"type":65,"tag":260,"props":7178,"children":7179},{"style":388},[7180],{"type":71,"value":2359},{"type":65,"tag":260,"props":7182,"children":7183},{"style":289},[7184],{"type":71,"value":2364},{"type":65,"tag":260,"props":7186,"children":7187},{"style":283},[7188],{"type":71,"value":1408},{"type":65,"tag":260,"props":7190,"children":7191},{"style":394},[7192],{"type":71,"value":3005},{"type":65,"tag":260,"props":7194,"children":7195},{"style":289},[7196],{"type":71,"value":425},{"type":65,"tag":260,"props":7198,"children":7199},{"style":283},[7200],{"type":71,"value":487},{"type":65,"tag":260,"props":7202,"children":7203},{"style":320},[7204],{"type":71,"value":7205},"\u002Fdata",{"type":65,"tag":260,"props":7207,"children":7208},{"style":283},[7209],{"type":71,"value":487},{"type":65,"tag":260,"props":7211,"children":7212},{"style":289},[7213],{"type":71,"value":3077},{"type":65,"tag":260,"props":7215,"children":7216},{"style":283},[7217],{"type":71,"value":1152},{"type":65,"tag":260,"props":7219,"children":7220},{"class":262,"line":555},[7221,7225,7229,7233,7237,7241],{"type":65,"tag":260,"props":7222,"children":7223},{"style":394},[7224],{"type":71,"value":3089},{"type":65,"tag":260,"props":7226,"children":7227},{"style":283},[7228],{"type":71,"value":524},{"type":65,"tag":260,"props":7230,"children":7231},{"style":388},[7232],{"type":71,"value":712},{"type":65,"tag":260,"props":7234,"children":7235},{"style":283},[7236],{"type":71,"value":2398},{"type":65,"tag":260,"props":7238,"children":7239},{"style":388},[7240],{"type":71,"value":2403},{"type":65,"tag":260,"props":7242,"children":7243},{"style":283},[7244],{"type":71,"value":406},{"type":65,"tag":260,"props":7246,"children":7247},{"class":262,"line":1155},[7248,7252,7256,7260,7264,7268],{"type":65,"tag":260,"props":7249,"children":7250},{"style":388},[7251],{"type":71,"value":3127},{"type":65,"tag":260,"props":7253,"children":7254},{"style":289},[7255],{"type":71,"value":7007},{"type":65,"tag":260,"props":7257,"children":7258},{"style":283},[7259],{"type":71,"value":781},{"type":65,"tag":260,"props":7261,"children":7262},{"style":277},[7263],{"type":71,"value":827},{"type":65,"tag":260,"props":7265,"children":7266},{"style":394},[7267],{"type":71,"value":5887},{"type":65,"tag":260,"props":7269,"children":7270},{"style":422},[7271],{"type":71,"value":1417},{"type":65,"tag":260,"props":7273,"children":7274},{"class":262,"line":1168},[7275,7279,7283,7287],{"type":65,"tag":260,"props":7276,"children":7277},{"style":277},[7278],{"type":71,"value":3175},{"type":65,"tag":260,"props":7280,"children":7281},{"style":283},[7282],{"type":71,"value":286},{"type":65,"tag":260,"props":7284,"children":7285},{"style":289},[7286],{"type":71,"value":7007},{"type":65,"tag":260,"props":7288,"children":7289},{"style":283},[7290],{"type":71,"value":3188},{"type":65,"tag":260,"props":7292,"children":7293},{"class":262,"line":1181},[7294],{"type":65,"tag":260,"props":7295,"children":7296},{"style":283},[7297],{"type":71,"value":3196},{"type":65,"tag":260,"props":7299,"children":7300},{"class":262,"line":1222},[7301,7305,7309,7314],{"type":65,"tag":260,"props":7302,"children":7303},{"style":422},[7304],{"type":71,"value":2674},{"type":65,"tag":260,"props":7306,"children":7307},{"style":283},[7308],{"type":71,"value":524},{"type":65,"tag":260,"props":7310,"children":7311},{"style":289},[7312],{"type":71,"value":7313}," DataPage",{"type":65,"tag":260,"props":7315,"children":7316},{"style":283},[7317],{"type":71,"value":620},{"type":65,"tag":260,"props":7319,"children":7320},{"class":262,"line":1239},[7321,7325],{"type":65,"tag":260,"props":7322,"children":7323},{"style":283},[7324],{"type":71,"value":640},{"type":65,"tag":260,"props":7326,"children":7327},{"style":289},[7328],{"type":71,"value":443},{"type":65,"tag":260,"props":7330,"children":7331},{"class":262,"line":1248},[7332],{"type":65,"tag":260,"props":7333,"children":7334},{"emptyLinePlaceholder":373},[7335],{"type":71,"value":376},{"type":65,"tag":260,"props":7337,"children":7338},{"class":262,"line":2136},[7339,7343,7347,7351],{"type":65,"tag":260,"props":7340,"children":7341},{"style":388},[7342],{"type":71,"value":2714},{"type":65,"tag":260,"props":7344,"children":7345},{"style":394},[7346],{"type":71,"value":7313},{"type":65,"tag":260,"props":7348,"children":7349},{"style":283},[7350],{"type":71,"value":401},{"type":65,"tag":260,"props":7352,"children":7353},{"style":283},[7354],{"type":71,"value":406},{"type":65,"tag":260,"props":7356,"children":7357},{"class":262,"line":2708},[7358,7362,7366,7370,7374,7378,7382,7386,7390],{"type":65,"tag":260,"props":7359,"children":7360},{"style":388},[7361],{"type":71,"value":771},{"type":65,"tag":260,"props":7363,"children":7364},{"style":283},[7365],{"type":71,"value":286},{"type":65,"tag":260,"props":7367,"children":7368},{"style":289},[7369],{"type":71,"value":7007},{"type":65,"tag":260,"props":7371,"children":7372},{"style":283},[7373],{"type":71,"value":307},{"type":65,"tag":260,"props":7375,"children":7376},{"style":283},[7377],{"type":71,"value":781},{"type":65,"tag":260,"props":7379,"children":7380},{"style":289},[7381],{"type":71,"value":3465},{"type":65,"tag":260,"props":7383,"children":7384},{"style":283},[7385],{"type":71,"value":116},{"type":65,"tag":260,"props":7387,"children":7388},{"style":394},[7389],{"type":71,"value":3474},{"type":65,"tag":260,"props":7391,"children":7392},{"style":422},[7393],{"type":71,"value":1417},{"type":65,"tag":260,"props":7395,"children":7396},{"class":262,"line":2729},[7397,7401,7405,7410,7414,7419,7423,7427],{"type":65,"tag":260,"props":7398,"children":7399},{"style":277},[7400],{"type":71,"value":415},{"type":65,"tag":260,"props":7402,"children":7403},{"style":283},[7404],{"type":71,"value":1196},{"type":65,"tag":260,"props":7406,"children":7407},{"style":422},[7408],{"type":71,"value":7409},"div",{"type":65,"tag":260,"props":7411,"children":7412},{"style":283},[7413],{"type":71,"value":3499},{"type":65,"tag":260,"props":7415,"children":7416},{"style":289},[7417],{"type":71,"value":7418},"data",{"type":65,"tag":260,"props":7420,"children":7421},{"style":283},[7422],{"type":71,"value":3517},{"type":65,"tag":260,"props":7424,"children":7425},{"style":422},[7426],{"type":71,"value":7409},{"type":65,"tag":260,"props":7428,"children":7429},{"style":283},[7430],{"type":71,"value":543},{"type":65,"tag":260,"props":7432,"children":7433},{"class":262,"line":2742},[7434],{"type":65,"tag":260,"props":7435,"children":7436},{"style":283},[7437],{"type":71,"value":452},{"type":65,"tag":78,"props":7439,"children":7440},{},[7441,7443,7449,7450,7456,7457,7462,7464,7469],{"type":71,"value":7442},"If you see ",{"type":65,"tag":130,"props":7444,"children":7446},{"className":7445},[],[7447],{"type":71,"value":7448},"src\u002Fpages\u002F",{"type":71,"value":213},{"type":65,"tag":130,"props":7451,"children":7453},{"className":7452},[],[7454],{"type":71,"value":7455},"app\u002Flayout.tsx",{"type":71,"value":213},{"type":65,"tag":130,"props":7458,"children":7460},{"className":7459},[],[7461],{"type":71,"value":6562},{"type":71,"value":7463},", or any of the above in agent output, the agent is generating for the wrong framework. The build will either fail or produce duplicate ",{"type":65,"tag":130,"props":7465,"children":7467},{"className":7466},[],[7468],{"type":71,"value":2967},{"type":71,"value":7470}," routes that conflict at runtime.",{"type":65,"tag":139,"props":7472,"children":7474},{"id":7473},"tension-client-first-loaders-vs-ssr",[7475],{"type":71,"value":7476},"Tension: Client-First Loaders vs SSR",{"type":65,"tag":78,"props":7478,"children":7479},{},[7480],{"type":71,"value":7481},"TanStack Router loaders are client-first by design. When SSR is enabled, they run in both environments. This means:",{"type":65,"tag":151,"props":7483,"children":7484},{},[7485,7490,7495],{"type":65,"tag":155,"props":7486,"children":7487},{},[7488],{"type":71,"value":7489},"Browser APIs work by default (client-only) but break under SSR",{"type":65,"tag":155,"props":7491,"children":7492},{},[7493],{"type":71,"value":7494},"Database access does NOT belong in loaders (unlike Remix\u002FNext) — use API routes",{"type":65,"tag":155,"props":7496,"children":7497},{},[7498],{"type":71,"value":7499},"For server-only data logic with SSR, use TanStack Start's server functions",{"type":65,"tag":78,"props":7501,"children":7502},{},[7503,7505,7509],{"type":71,"value":7504},"See ",{"type":65,"tag":110,"props":7506,"children":7507},{"href":112},[7508],{"type":71,"value":56},{"type":71,"value":7510}," for loader fundamentals.",{"type":65,"tag":139,"props":7512,"children":7514},{"id":7513},"cross-references",[7515],{"type":71,"value":7516},"Cross-References",{"type":65,"tag":151,"props":7518,"children":7519},{},[7520,7529],{"type":65,"tag":155,"props":7521,"children":7522},{},[7523,7527],{"type":65,"tag":110,"props":7524,"children":7525},{"href":112},[7526],{"type":71,"value":56},{"type":71,"value":7528}," — SSR changes where loaders execute",{"type":65,"tag":155,"props":7530,"children":7531},{},[7532,7538],{"type":65,"tag":110,"props":7533,"children":7535},{"href":7534},"..\u002F..\u002F..\u002F..\u002Freact-router\u002Fskills\u002Fcompositions\u002Frouter-query\u002FSKILL.md",[7536],{"type":71,"value":7537},"compositions\u002Frouter-query",{"type":71,"value":7539}," — SSR dehydration\u002Fhydration with TanStack Query",{"type":65,"tag":7541,"props":7542,"children":7543},"style",{},[7544],{"type":71,"value":7545},"html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"items":7547,"total":2887},[7548,7564,7579,7593,7606,7625,7636],{"slug":7549,"name":7549,"fn":7550,"description":7551,"org":7552,"tags":7553,"stars":22,"repoUrl":23,"updatedAt":7563},"auth-and-guards","implement route protection in TanStack Router","Route protection with beforeLoad, redirect()\u002Fthrow redirect(), isRedirect helper, authenticated layout routes (_authenticated), non-redirect auth (inline login), RBAC with roles and permissions, auth provider integration (Auth0, Clerk, Supabase), router context for auth state.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[7554,7557,7558,7560,7561],{"name":7555,"slug":7556,"type":15},"Auth","auth",{"name":20,"slug":21,"type":15},{"name":7559,"slug":34,"type":15},"Routing",{"name":9,"slug":8,"type":15},{"name":7562,"slug":52,"type":15},"TanStack Router","2026-07-30T05:27:07.639032",{"slug":7565,"name":7565,"fn":7566,"description":7567,"org":7568,"tags":7569,"stars":22,"repoUrl":23,"updatedAt":7578},"auth-server-primitives","implement server-side authentication primitives","Server-side authentication primitives for TanStack Start: session cookies (HttpOnly, Secure, SameSite, __Host- prefix), session read\u002Fissue\u002Fdestroy via createServerFn and middleware, OAuth authorization-code flow with state and PKCE, password-reset enumeration defense, CSRF for non-GET RPCs, rate limiting auth endpoints, session rotation on privilege change. Pairs with router-core\u002Fauth-and-guards for the routing side.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[7570,7571,7574,7577],{"name":7555,"slug":7556,"type":15},{"name":7572,"slug":7573,"type":15},"OAuth","oauth",{"name":7575,"slug":7576,"type":15},"Security","security",{"name":9,"slug":8,"type":15},"2026-07-30T05:26:59.504396",{"slug":7580,"name":7580,"fn":7581,"description":7582,"org":7583,"tags":7584,"stars":22,"repoUrl":23,"updatedAt":7592},"code-splitting","configure code splitting in TanStack Router","Automatic code splitting (autoCodeSplitting), .lazy.tsx convention, createLazyFileRoute, createLazyRoute, lazyRouteComponent, getRouteApi for typed hooks in split files, codeSplitGroupings per-route override, splitBehavior programmatic config, critical vs non-critical properties.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[7585,7588,7589,7590,7591],{"name":7586,"slug":7587,"type":15},"Engineering","engineering",{"name":20,"slug":21,"type":15},{"name":13,"slug":14,"type":15},{"name":9,"slug":8,"type":15},{"name":7562,"slug":52,"type":15},"2026-07-30T05:27:11.494406",{"slug":7594,"name":7594,"fn":7595,"description":7596,"org":7597,"tags":7598,"stars":22,"repoUrl":23,"updatedAt":7605},"data-loading","manage data loading in TanStack Router","Route loader option, loaderDeps for cache keys, staleTime\u002FgcTime\u002F defaultPreloadStaleTime SWR caching, pendingComponent\u002FpendingMs\u002F pendingMinMs, errorComponent\u002FonError\u002FonCatch, beforeLoad, router context and createRootRouteWithContext DI pattern, router.invalidate, Await component, deferred data loading with unawaited promises.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[7599,7602,7603,7604],{"name":7600,"slug":7601,"type":15},"Caching","caching",{"name":13,"slug":14,"type":15},{"name":9,"slug":8,"type":15},{"name":7562,"slug":52,"type":15},"2026-07-30T05:26:54.487943",{"slug":7607,"name":7607,"fn":7608,"description":7609,"org":7610,"tags":7611,"stars":22,"repoUrl":23,"updatedAt":7624},"deployment","deploy TanStack Start applications","Deploy to Cloudflare Workers, Netlify, Vercel, Node.js\u002FDocker, Bun, Railway. Selective SSR (ssr option per route), SPA mode, static prerendering, ISR with Cache-Control headers, SEO and head management.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[7612,7615,7617,7620,7621],{"name":7613,"slug":7614,"type":15},"Cloudflare","cloudflare",{"name":7616,"slug":7607,"type":15},"Deployment",{"name":7618,"slug":7619,"type":15},"Netlify","netlify",{"name":9,"slug":8,"type":15},{"name":7622,"slug":7623,"type":15},"Vercel","vercel","2026-07-30T05:26:50.509927",{"slug":7626,"name":7626,"fn":7627,"description":7628,"org":7629,"tags":7630,"stars":22,"repoUrl":23,"updatedAt":7635},"execution-model","manage isomorphic execution models","Isomorphic-by-default principle, environment boundary functions (createServerFn, createServerOnlyFn, createClientOnlyFn, createIsomorphicFn), ClientOnly component, useHydrated hook, import protection, dead code elimination, environment variable safety (VITE_ prefix, process.env).",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[7631,7634],{"name":7632,"slug":7633,"type":15},"Architecture","architecture",{"name":9,"slug":8,"type":15},"2026-07-30T05:27:04.558441",{"slug":7637,"name":7637,"fn":7638,"description":7639,"org":7640,"tags":7641,"stars":22,"repoUrl":23,"updatedAt":7649},"middleware","implement TanStack Router middleware","createMiddleware, request middleware (.server only), server function middleware (.client + .server), context passing via next({ context }), sendContext for client-server transfer, global middleware via createStart in src\u002Fstart.ts, middleware factories, method order enforcement, fetch override precedence.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[7642,7645,7646,7648],{"name":7643,"slug":7644,"type":15},"Backend","backend",{"name":20,"slug":21,"type":15},{"name":7647,"slug":7637,"type":15},"Middleware",{"name":9,"slug":8,"type":15},"2026-07-30T05:26:58.546019",{"items":7651,"total":7789},[7652,7666,7678,7690,7703,7715,7725,7735,7748,7758,7769,7779],{"slug":7653,"name":7653,"fn":7654,"description":7655,"org":7656,"tags":7657,"stars":7663,"repoUrl":7664,"updatedAt":7665},"aggregation","perform data aggregation in TanStack Table","Aggregate TanStack Table columns independently of grouping, including grand totals, caller-selected row totals, multiple keyed aggregations, custom context-based definitions, grouped merges, manual values, and worker constraints.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[7658,7661,7662],{"name":7659,"slug":7660,"type":15},"Data Analysis","data-analysis",{"name":20,"slug":21,"type":15},{"name":9,"slug":8,"type":15},28175,"https:\u002F\u002Fgithub.com\u002FTanStack\u002Ftable","2026-07-30T05:25:59.429787",{"slug":7667,"name":7667,"fn":7668,"description":7669,"org":7670,"tags":7671,"stars":7663,"repoUrl":7664,"updatedAt":7677},"api-not-found","diagnose TanStack Table API errors","Diagnose missing TanStack Table v9 exports, options, state slices, and instance methods. Load before inventing an API when code sees a type error, undefined feature method, absent object key, adapter mismatch, or v8-shaped example.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[7672,7675,7676],{"name":7673,"slug":7674,"type":15},"Debugging","debugging",{"name":20,"slug":21,"type":15},{"name":9,"slug":8,"type":15},"2026-07-30T05:26:05.418735",{"slug":7679,"name":7679,"fn":7680,"description":7681,"org":7682,"tags":7683,"stars":7663,"repoUrl":7664,"updatedAt":7689},"cell-selection","select rectangular cell ranges in tables","Select rectangular cell ranges with cellSelectionFeature: two-corner range state keyed by row and column id, mousedown\u002Fmouseenter handlers, selection edges, render-order resolution under pinning, and autoResetCellSelection. Load when ranges widen unexpectedly after sorting or column reordering, when a drag re-renders the whole table, or when building copy-to-clipboard from a selection.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[7684,7685,7686],{"name":7659,"slug":7660,"type":15},{"name":9,"slug":8,"type":15},{"name":7687,"slug":7688,"type":15},"UI Components","ui-components","2026-07-30T05:25:38.403427",{"slug":7691,"name":7691,"fn":7692,"description":7693,"org":7694,"tags":7695,"stars":7663,"repoUrl":7664,"updatedAt":7702},"client-vs-server","manage TanStack Table data pipelines","Choose client or server ownership for filtering, grouping, sorting, expanding, and pagination in TanStack Table v9. Load for manual* flags, mixed pipelines, server counts, or deciding which dataset each row-model stage receives.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[7696,7699,7700,7701],{"name":7697,"slug":7698,"type":15},"Data Pipeline","data-pipeline",{"name":20,"slug":21,"type":15},{"name":13,"slug":14,"type":15},{"name":9,"slug":8,"type":15},"2026-07-30T05:25:45.400104",{"slug":7704,"name":7704,"fn":7705,"description":7706,"org":7707,"tags":7708,"stars":7663,"repoUrl":7664,"updatedAt":7714},"column-faceting","build faceted filter UIs","Build faceted filter UIs with columnFacetingFeature, facetedRowModel, facetedUniqueValues, and facetedMinMaxValues. Load for facet counts, numeric ranges, own-filter exclusion, or server-page facet completeness.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[7709,7712,7713],{"name":7710,"slug":7711,"type":15},"Data Visualization","data-visualization",{"name":20,"slug":21,"type":15},{"name":9,"slug":8,"type":15},"2026-07-30T05:25:41.397257",{"slug":7716,"name":7716,"fn":7717,"description":7718,"org":7719,"tags":7720,"stars":7663,"repoUrl":7664,"updatedAt":7724},"column-filtering","implement column filtering in TanStack Table","Filter columns with columnFilteringFeature, filteredRowModel, filterFns, filterMeta, nested-row direction, and manualFiltering. Load for accessor compatibility, controlled filter updaters, fuzzy metadata, or client\u002Fserver ownership.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[7721,7722,7723],{"name":7659,"slug":7660,"type":15},{"name":20,"slug":21,"type":15},{"name":9,"slug":8,"type":15},"2026-07-30T05:25:53.391632",{"slug":7726,"name":7726,"fn":7727,"description":7728,"org":7729,"tags":7730,"stars":7663,"repoUrl":7664,"updatedAt":7734},"column-ordering","manage TanStack Table column ordering","Control TanStack Table v9 leaf columnOrder with stable IDs while accounting for pinning regions, visibility, and groupedColumnMode precedence. Load for drag-and-drop columns or rendered order that differs from state.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[7731,7732,7733],{"name":20,"slug":21,"type":15},{"name":9,"slug":8,"type":15},{"name":7687,"slug":7688,"type":15},"2026-07-30T05:26:03.37801",{"slug":7736,"name":7736,"fn":7737,"description":7738,"org":7739,"tags":7740,"stars":7663,"repoUrl":7664,"updatedAt":7747},"column-pinning","configure column pinning in TanStack Table","Pin columns into logical start, center, and end regions with columnPinningFeature and renderer-owned sticky CSS. Load for RTL offsets, z-index, backgrounds, overflow, widths, gaps, or overlaps.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[7741,7744,7745,7746],{"name":7742,"slug":7743,"type":15},"CSS","css",{"name":20,"slug":21,"type":15},{"name":9,"slug":8,"type":15},{"name":7687,"slug":7688,"type":15},"2026-07-30T05:25:55.377366",{"slug":7749,"name":7749,"fn":7750,"description":7751,"org":7752,"tags":7753,"stars":7663,"repoUrl":7664,"updatedAt":7757},"column-resizing","implement column resizing in TanStack Table","Wire columnResizingFeature, header.getResizeHandler, resize mode and direction, pointer or touch events, and performant CSS-variable updates. Load when resize state changes but widths do not, or large tables resize slowly.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[7754,7755,7756],{"name":20,"slug":21,"type":15},{"name":9,"slug":8,"type":15},{"name":7687,"slug":7688,"type":15},"2026-07-30T05:25:51.400011",{"slug":7759,"name":7759,"fn":7760,"description":7761,"org":7762,"tags":7763,"stars":7663,"repoUrl":7664,"updatedAt":7768},"column-sizing","configure column sizing in TanStack Table","Use columnSizingFeature numeric size, minSize, maxSize, getSize, getStart, getAfter, and total-size APIs in table, grid, or flex CSS. Load for auto or percentage misconceptions and sizing\u002Fpinning layout mismatch.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[7764,7765,7766,7767],{"name":7742,"slug":7743,"type":15},{"name":20,"slug":21,"type":15},{"name":9,"slug":8,"type":15},{"name":7687,"slug":7688,"type":15},"2026-07-30T05:25:48.703799",{"slug":7770,"name":7770,"fn":7771,"description":7772,"org":7773,"tags":7774,"stars":7663,"repoUrl":7664,"updatedAt":7778},"column-visibility","manage column visibility in TanStack Table","Hide columns with columnVisibilityFeature while rendering visibility-aware header, column, and cell collections. Load when hidden columns remain in the DOM, false-versus-absent state is confused, or enableHiding is misunderstood.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[7775,7776,7777],{"name":20,"slug":21,"type":15},{"name":9,"slug":8,"type":15},{"name":7687,"slug":7688,"type":15},"2026-07-30T05:25:47.367943",{"slug":7780,"name":7780,"fn":7781,"description":7782,"org":7783,"tags":7784,"stars":7663,"repoUrl":7664,"updatedAt":7788},"core","build data grids with TanStack Table","Use TanStack Table v9 as a headless data-grid state and row-processing engine. Load for first-table architecture, stable data and columns, row numbering with getDisplayIndex, semantic rendering, framework adapter choice, or deciding what Table owns versus the renderer.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[7785,7786,7787],{"name":7659,"slug":7660,"type":15},{"name":20,"slug":21,"type":15},{"name":7687,"slug":7688,"type":15},"2026-07-30T05:25:52.366295",125]