[{"data":1,"prerenderedAt":2755},["ShallowReactive",2],{"navigation":3,"examples-nav":224,"-examples-vite-ssr-solid":353,"-examples-vite-ssr-solid-surround":2748},[4,83,208,214,221],{"title":5,"path":6,"stem":7,"children":8,"icon":82},"","/docs","1.docs/1.index",[9,12,17,22,27,32,37,42,47,52,57,62,67,72,77],{"title":10,"path":6,"stem":7,"icon":11},"Introduction","i-lucide-compass",{"title":13,"path":14,"stem":15,"icon":16},"Quick Start","/docs/quick-start","1.docs/2.quick-start","i-lucide-zap",{"title":18,"path":19,"stem":20,"icon":21},"Renderer","/docs/renderer","1.docs/4.renderer","ri:layout-masonry-line",{"title":23,"path":24,"stem":25,"icon":26},"Routing","/docs/routing","1.docs/5.routing","ri:direction-line",{"title":28,"path":29,"stem":30,"icon":31},"Assets","/docs/assets","1.docs/50.assets","ri:image-2-line",{"title":33,"path":34,"stem":35,"icon":36},"Configuration","/docs/configuration","1.docs/50.configuration","ri:settings-3-line",{"title":38,"path":39,"stem":40,"icon":41},"Database","/docs/database","1.docs/50.database","ri:database-2-line",{"title":43,"path":44,"stem":45,"icon":46},"Lifecycle","/docs/lifecycle","1.docs/50.lifecycle","i-lucide-layers",{"title":48,"path":49,"stem":50,"icon":51},"Plugins","/docs/plugins","1.docs/50.plugins","ri:plug-line",{"title":53,"path":54,"stem":55,"icon":56},"Tasks","/docs/tasks","1.docs/50.tasks","codicon:run-all",{"title":58,"path":59,"stem":60,"icon":61},"Server Entry","/docs/server-entry","1.docs/6.server-entry","ri:server-line",{"title":63,"path":64,"stem":65,"icon":66},"Cache","/docs/cache","1.docs/7.cache","ri:speed-line",{"title":68,"path":69,"stem":70,"icon":71},"KV Storage","/docs/storage","1.docs/8.storage","carbon:datastore",{"title":73,"path":74,"stem":75,"icon":76},"Migration Guide","/docs/migration","1.docs/99.migration","ri:arrow-right-up-line",{"title":78,"path":79,"stem":80,"icon":81},"Nightly Channel","/docs/nightly","1.docs/99.nightly","ri:moon-fill","i-lucide-book-open",{"title":84,"path":85,"stem":86,"children":87,"icon":89},"Deploy","/deploy","2.deploy/0.index",[88,90,111],{"title":84,"path":85,"stem":86,"icon":89},"ri:upload-cloud-2-line",{"title":91,"path":92,"stem":93,"children":94,"page":110},"Runtimes","/deploy/runtimes","2.deploy/10.runtimes",[95,100,105],{"title":96,"path":97,"stem":98,"icon":99},"Node.js","/deploy/runtimes/node","2.deploy/10.runtimes/1.node","akar-icons:node-fill",{"title":101,"path":102,"stem":103,"icon":104},"Bun","/deploy/runtimes/bun","2.deploy/10.runtimes/bun","simple-icons:bun",{"title":106,"path":107,"stem":108,"icon":109},"Deno","/deploy/runtimes/deno","2.deploy/10.runtimes/deno","simple-icons:deno",false,{"title":112,"path":113,"stem":114,"children":115,"page":110},"Providers","/deploy/providers","2.deploy/20.providers",[116,120,124,128,132,136,140,144,148,152,156,160,164,168,172,176,180,184,188,192,196,200,204],{"title":117,"path":118,"stem":119},"Alwaysdata","/deploy/providers/alwaysdata","2.deploy/20.providers/alwaysdata",{"title":121,"path":122,"stem":123},"AWS Lambda","/deploy/providers/aws","2.deploy/20.providers/aws",{"title":125,"path":126,"stem":127},"AWS Amplify","/deploy/providers/aws-amplify","2.deploy/20.providers/aws-amplify",{"title":129,"path":130,"stem":131},"Azure","/deploy/providers/azure","2.deploy/20.providers/azure",{"title":133,"path":134,"stem":135},"Cleavr","/deploy/providers/cleavr","2.deploy/20.providers/cleavr",{"title":137,"path":138,"stem":139},"Cloudflare","/deploy/providers/cloudflare","2.deploy/20.providers/cloudflare",{"title":141,"path":142,"stem":143},"Deno Deploy","/deploy/providers/deno-deploy","2.deploy/20.providers/deno-deploy",{"title":145,"path":146,"stem":147},"DigitalOcean","/deploy/providers/digitalocean","2.deploy/20.providers/digitalocean",{"title":149,"path":150,"stem":151},"Firebase","/deploy/providers/firebase","2.deploy/20.providers/firebase",{"title":153,"path":154,"stem":155},"Flightcontrol","/deploy/providers/flightcontrol","2.deploy/20.providers/flightcontrol",{"title":157,"path":158,"stem":159},"Genezio","/deploy/providers/genezio","2.deploy/20.providers/genezio",{"title":161,"path":162,"stem":163},"GitHub Pages","/deploy/providers/github-pages","2.deploy/20.providers/github-pages",{"title":165,"path":166,"stem":167},"GitLab Pages","/deploy/providers/gitlab-pages","2.deploy/20.providers/gitlab-pages",{"title":169,"path":170,"stem":171},"Heroku","/deploy/providers/heroku","2.deploy/20.providers/heroku",{"title":173,"path":174,"stem":175},"IIS","/deploy/providers/iis","2.deploy/20.providers/iis",{"title":177,"path":178,"stem":179},"Koyeb","/deploy/providers/koyeb","2.deploy/20.providers/koyeb",{"title":181,"path":182,"stem":183},"Netlify","/deploy/providers/netlify","2.deploy/20.providers/netlify",{"title":185,"path":186,"stem":187},"Platform.sh","/deploy/providers/platform-sh","2.deploy/20.providers/platform-sh",{"title":189,"path":190,"stem":191},"Render.com","/deploy/providers/render","2.deploy/20.providers/render",{"title":193,"path":194,"stem":195},"StormKit","/deploy/providers/stormkit","2.deploy/20.providers/stormkit",{"title":197,"path":198,"stem":199},"Vercel","/deploy/providers/vercel","2.deploy/20.providers/vercel",{"title":201,"path":202,"stem":203},"Zeabur","/deploy/providers/zeabur","2.deploy/20.providers/zeabur",{"title":205,"path":206,"stem":207},"Zerops","/deploy/providers/zerops","2.deploy/20.providers/zerops",{"title":209,"path":210,"stem":211,"children":212,"icon":36},"Config","/config","3.config/0.index",[213],{"title":209,"path":210,"stem":211,"icon":36},{"title":215,"path":216,"stem":217,"children":218,"icon":220},"Examples","/examples","4.examples/0.index",[219],{"title":215,"path":216,"stem":217,"icon":220},"i-lucide-folder-code",{"title":5,"path":222,"stem":223},"/","index",[225,230,235,239,243,246,251,255,259,263,267,271,275,280,284,287,291,295,299,304,308,313,317,321,325,329,333,337,341,345,349],{"title":226,"description":227,"category":228,"path":229},"API Routes","File-based API routing with HTTP method support and dynamic parameters.","features","/examples/api-routes/readme",{"title":231,"description":232,"category":233,"path":234},"Auto Imports","Automatic imports for utilities and composables.","config","/examples/auto-imports/readme",{"title":236,"description":237,"category":228,"path":238},"Cached Handler","Cache route responses with configurable bypass logic.","/examples/cached-handler/readme",{"title":240,"description":241,"category":228,"path":242},"Custom Error Handler","Customize error responses with a global error handler.","/examples/custom-error-handler/readme",{"title":38,"description":244,"category":228,"path":245},"Built-in database support with SQL template literals.","/examples/database/readme",{"title":247,"description":248,"category":249,"path":250},"Elysia","Integrate Elysia with Nitro using the server entry.","backend frameworks","/examples/elysia/readme",{"title":252,"description":253,"category":249,"path":254},"Express","Integrate Express with Nitro using the server entry.","/examples/express/readme",{"title":256,"description":257,"category":249,"path":258},"Fastify","Integrate Fastify with Nitro using the server entry.","/examples/fastify/readme",{"title":260,"description":261,"category":228,"path":262},"Hello World","Minimal Nitro server using the web standard fetch handler.","/examples/hello-world/readme",{"title":264,"description":265,"category":249,"path":266},"Hono","Integrate Hono with Nitro using the server entry.","/examples/hono/readme",{"title":268,"description":269,"category":233,"path":270},"Import Alias","Custom import aliases for cleaner module paths.","/examples/import-alias/readme",{"title":272,"description":273,"category":228,"path":274},"Middleware","Request middleware for authentication, logging, and request modification.","/examples/middleware/readme",{"title":276,"description":277,"category":278,"path":279},"Mono JSX","Server-side JSX rendering in Nitro with mono-jsx.","server side rendering","/examples/mono-jsx/readme",{"title":281,"description":282,"category":278,"path":283},"Nano JSX","Server-side JSX rendering in Nitro with nano-jsx.","/examples/nano-jsx/readme",{"title":48,"description":285,"category":228,"path":286},"Extend Nitro with custom plugins for hooks and lifecycle events.","/examples/plugins/readme",{"title":288,"description":289,"category":278,"path":290},"Custom Renderer","Build a custom HTML renderer in Nitro with server-side data fetching.","/examples/renderer/readme",{"title":292,"description":293,"category":233,"path":294},"Runtime Config","Environment-aware configuration with runtime access.","/examples/runtime-config/readme",{"title":296,"description":297,"category":228,"path":298},"Server Fetch","Internal server-to-server requests without network overhead.","/examples/server-fetch/readme",{"title":300,"description":301,"category":302,"path":303},"Shiki","Server-side syntax highlighting in Nitro with Shiki.","integrations","/examples/shiki/readme",{"title":305,"description":306,"category":228,"path":307},"Virtual Routes","Define routes programmatically using Nitro's virtual module system.","/examples/virtual-routes/readme",{"title":309,"description":310,"category":311,"path":312},"Vite Nitro Plugin","Use Nitro as a Vite plugin for programmatic configuration.","vite","/examples/vite-nitro-plugin/readme",{"title":314,"description":315,"category":311,"path":316},"Vite RSC","React Server Components with Vite and Nitro.","/examples/vite-rsc/readme",{"title":318,"description":319,"category":278,"path":320},"Vite SSR HTML","Server-side rendering with vanilla HTML, Vite, and Nitro.","/examples/vite-ssr-html/readme",{"title":322,"description":323,"category":278,"path":324},"SSR with Preact","Server-side rendering with Preact in Nitro using Vite.","/examples/vite-ssr-preact/readme",{"title":326,"description":327,"category":278,"path":328},"SSR with React","Server-side rendering with React in Nitro using Vite.","/examples/vite-ssr-react/readme",{"title":330,"description":331,"category":278,"path":332},"SSR with SolidJS","Server-side rendering with SolidJS in Nitro using Vite.","/examples/vite-ssr-solid/readme",{"title":334,"description":335,"category":278,"path":336},"SSR with TanStack Router","Client-side routing with TanStack Router in Nitro using Vite.","/examples/vite-ssr-tsr-react/readme",{"title":338,"description":339,"category":278,"path":340},"SSR with TanStack Start","Full-stack React with TanStack Start in Nitro using Vite.","/examples/vite-ssr-tss-react/readme",{"title":342,"description":343,"category":278,"path":344},"SSR with Vue Router","Server-side rendering with Vue Router in Nitro using Vite.","/examples/vite-ssr-vue-router/readme",{"title":346,"description":347,"category":311,"path":348},"Vite + tRPC","End-to-end typesafe APIs with tRPC in Nitro using Vite.","/examples/vite-trpc/readme",{"title":350,"description":351,"category":228,"path":352},"WebSocket","Real-time bidirectional communication with WebSocket support.","/examples/websocket/readme",{"id":354,"title":330,"body":355,"category":278,"description":331,"extension":2741,"icon":2742,"meta":2743,"navigation":2744,"path":332,"seo":2745,"stem":2746,"__hash__":2747},"examples/examples/vite-ssr-solid/README.md",{"type":356,"value":357,"toc":2733},"minimark",[358,1796,1804,1809,1826,1830,1841,1967,1979,1983,1986,2126,2137,2141,2150,2600,2617,2621,2624,2690,2704,2708,2729],[359,360,363,508,567,736,920,1002,1561],"code-tree",{":expand-all":361,"default-value":362,"expand-all":5},"true","src/entry-server.tsx",[364,365,370],"pre",{"className":366,"code":367,"filename":368,"language":369,"meta":5,"style":5},"language-json shiki shiki-themes github-light github-dark github-dark","{\n  \"type\": \"module\",\n  \"scripts\": {\n    \"build\": \"vite build\",\n    \"dev\": \"vite dev\"\n  },\n  \"devDependencies\": {\n    \"nitro\": \"latest\",\n    \"solid-js\": \"^1.9.11\",\n    \"vite\": \"beta\",\n    \"vite-plugin-solid\": \"^2.11.10\"\n  }\n}\n","package.json","json",[371,372,373,382,399,408,421,432,438,446,459,472,485,496,502],"code",{"__ignoreMap":5},[374,375,378],"span",{"class":376,"line":377},"line",1,[374,379,381],{"class":380},"slsVL","{\n",[374,383,385,389,392,396],{"class":376,"line":384},2,[374,386,388],{"class":387},"suiK_","  \"type\"",[374,390,391],{"class":380},": ",[374,393,395],{"class":394},"sfrk1","\"module\"",[374,397,398],{"class":380},",\n",[374,400,402,405],{"class":376,"line":401},3,[374,403,404],{"class":387},"  \"scripts\"",[374,406,407],{"class":380},": {\n",[374,409,411,414,416,419],{"class":376,"line":410},4,[374,412,413],{"class":387},"    \"build\"",[374,415,391],{"class":380},[374,417,418],{"class":394},"\"vite build\"",[374,420,398],{"class":380},[374,422,424,427,429],{"class":376,"line":423},5,[374,425,426],{"class":387},"    \"dev\"",[374,428,391],{"class":380},[374,430,431],{"class":394},"\"vite dev\"\n",[374,433,435],{"class":376,"line":434},6,[374,436,437],{"class":380},"  },\n",[374,439,441,444],{"class":376,"line":440},7,[374,442,443],{"class":387},"  \"devDependencies\"",[374,445,407],{"class":380},[374,447,449,452,454,457],{"class":376,"line":448},8,[374,450,451],{"class":387},"    \"nitro\"",[374,453,391],{"class":380},[374,455,456],{"class":394},"\"latest\"",[374,458,398],{"class":380},[374,460,462,465,467,470],{"class":376,"line":461},9,[374,463,464],{"class":387},"    \"solid-js\"",[374,466,391],{"class":380},[374,468,469],{"class":394},"\"^1.9.11\"",[374,471,398],{"class":380},[374,473,475,478,480,483],{"class":376,"line":474},10,[374,476,477],{"class":387},"    \"vite\"",[374,479,391],{"class":380},[374,481,482],{"class":394},"\"beta\"",[374,484,398],{"class":380},[374,486,488,491,493],{"class":376,"line":487},11,[374,489,490],{"class":387},"    \"vite-plugin-solid\"",[374,492,391],{"class":380},[374,494,495],{"class":394},"\"^2.11.10\"\n",[374,497,499],{"class":376,"line":498},12,[374,500,501],{"class":380},"  }\n",[374,503,505],{"class":376,"line":504},13,[374,506,507],{"class":380},"}\n",[364,509,512],{"className":366,"code":510,"filename":511,"language":369,"meta":5,"style":5},"{\n  \"extends\": \"nitro/tsconfig\",\n  \"compilerOptions\": {\n    \"jsx\": \"preserve\",\n    \"jsxImportSource\": \"solid-js\"\n  }\n}\n","tsconfig.json",[371,513,514,518,530,537,549,559,563],{"__ignoreMap":5},[374,515,516],{"class":376,"line":377},[374,517,381],{"class":380},[374,519,520,523,525,528],{"class":376,"line":384},[374,521,522],{"class":387},"  \"extends\"",[374,524,391],{"class":380},[374,526,527],{"class":394},"\"nitro/tsconfig\"",[374,529,398],{"class":380},[374,531,532,535],{"class":376,"line":401},[374,533,534],{"class":387},"  \"compilerOptions\"",[374,536,407],{"class":380},[374,538,539,542,544,547],{"class":376,"line":410},[374,540,541],{"class":387},"    \"jsx\"",[374,543,391],{"class":380},[374,545,546],{"class":394},"\"preserve\"",[374,548,398],{"class":380},[374,550,551,554,556],{"class":376,"line":423},[374,552,553],{"class":387},"    \"jsxImportSource\"",[374,555,391],{"class":380},[374,557,558],{"class":394},"\"solid-js\"\n",[374,560,561],{"class":376,"line":434},[374,562,501],{"class":380},[374,564,565],{"class":376,"line":440},[374,566,507],{"class":380},[364,568,573],{"className":569,"code":570,"filename":571,"language":572,"meta":5,"style":5},"language-js shiki shiki-themes github-light github-dark github-dark","import solid from \"vite-plugin-solid\";\nimport { defineConfig } from \"vite\";\nimport { nitro } from \"nitro/vite\";\n\nexport default defineConfig({\n  plugins: [solid({ ssr: true }), nitro()],\n  esbuild: { jsx: \"preserve\", jsxImportSource: \"solid-js\" },\n  environments: {\n    ssr: {\n      build: { rollupOptions: { input: \"./src/entry-server.tsx\" } },\n    },\n    client: {\n      build: { rollupOptions: { input: \"./src/entry-client.tsx\" } },\n    },\n  },\n});\n","vite.config.mjs","js",[371,574,575,593,607,621,627,642,664,680,685,690,701,706,711,720,725,730],{"__ignoreMap":5},[374,576,577,581,584,587,590],{"class":376,"line":377},[374,578,580],{"class":579},"so5gQ","import",[374,582,583],{"class":380}," solid ",[374,585,586],{"class":579},"from",[374,588,589],{"class":394}," \"vite-plugin-solid\"",[374,591,592],{"class":380},";\n",[374,594,595,597,600,602,605],{"class":376,"line":384},[374,596,580],{"class":579},[374,598,599],{"class":380}," { defineConfig } ",[374,601,586],{"class":579},[374,603,604],{"class":394}," \"vite\"",[374,606,592],{"class":380},[374,608,609,611,614,616,619],{"class":376,"line":401},[374,610,580],{"class":579},[374,612,613],{"class":380}," { nitro } ",[374,615,586],{"class":579},[374,617,618],{"class":394}," \"nitro/vite\"",[374,620,592],{"class":380},[374,622,623],{"class":376,"line":410},[374,624,626],{"emptyLinePlaceholder":625},true,"\n",[374,628,629,632,635,639],{"class":376,"line":423},[374,630,631],{"class":579},"export",[374,633,634],{"class":579}," default",[374,636,638],{"class":637},"shcOC"," defineConfig",[374,640,641],{"class":380},"({\n",[374,643,644,647,650,653,655,658,661],{"class":376,"line":434},[374,645,646],{"class":380},"  plugins: [",[374,648,649],{"class":637},"solid",[374,651,652],{"class":380},"({ ssr: ",[374,654,361],{"class":387},[374,656,657],{"class":380}," }), ",[374,659,660],{"class":637},"nitro",[374,662,663],{"class":380},"()],\n",[374,665,666,669,671,674,677],{"class":376,"line":440},[374,667,668],{"class":380},"  esbuild: { jsx: ",[374,670,546],{"class":394},[374,672,673],{"class":380},", jsxImportSource: ",[374,675,676],{"class":394},"\"solid-js\"",[374,678,679],{"class":380}," },\n",[374,681,682],{"class":376,"line":448},[374,683,684],{"class":380},"  environments: {\n",[374,686,687],{"class":376,"line":461},[374,688,689],{"class":380},"    ssr: {\n",[374,691,692,695,698],{"class":376,"line":474},[374,693,694],{"class":380},"      build: { rollupOptions: { input: ",[374,696,697],{"class":394},"\"./src/entry-server.tsx\"",[374,699,700],{"class":380}," } },\n",[374,702,703],{"class":376,"line":487},[374,704,705],{"class":380},"    },\n",[374,707,708],{"class":376,"line":498},[374,709,710],{"class":380},"    client: {\n",[374,712,713,715,718],{"class":376,"line":504},[374,714,694],{"class":380},[374,716,717],{"class":394},"\"./src/entry-client.tsx\"",[374,719,700],{"class":380},[374,721,723],{"class":376,"line":722},14,[374,724,705],{"class":380},[374,726,728],{"class":376,"line":727},15,[374,729,437],{"class":380},[374,731,733],{"class":376,"line":732},16,[374,734,735],{"class":380},"});\n",[364,737,742],{"className":738,"code":739,"filename":740,"language":741,"meta":5,"style":5},"language-tsx shiki shiki-themes github-light github-dark github-dark","import { createSignal } from \"solid-js\";\n\nexport function App() {\n  const [count, setCount] = createSignal(0);\n\n  return (\n    \u003Cdiv>\n      \u003Ch1>Hello, Solid!\u003C/h1>\n      \u003Cbutton onClick={() => setCount((count) => count + 1)}>Count: {count()}\u003C/button>\n    \u003C/div>\n  );\n}\n","src/app.tsx","tsx",[371,743,744,758,762,775,810,814,822,834,849,902,911,916],{"__ignoreMap":5},[374,745,746,748,751,753,756],{"class":376,"line":377},[374,747,580],{"class":579},[374,749,750],{"class":380}," { createSignal } ",[374,752,586],{"class":579},[374,754,755],{"class":394}," \"solid-js\"",[374,757,592],{"class":380},[374,759,760],{"class":376,"line":384},[374,761,626],{"emptyLinePlaceholder":625},[374,763,764,766,769,772],{"class":376,"line":401},[374,765,631],{"class":579},[374,767,768],{"class":579}," function",[374,770,771],{"class":637}," App",[374,773,774],{"class":380},"() {\n",[374,776,777,780,783,786,789,792,795,798,801,804,807],{"class":376,"line":410},[374,778,779],{"class":579},"  const",[374,781,782],{"class":380}," [",[374,784,785],{"class":387},"count",[374,787,788],{"class":380},", ",[374,790,791],{"class":387},"setCount",[374,793,794],{"class":380},"] ",[374,796,797],{"class":579},"=",[374,799,800],{"class":637}," createSignal",[374,802,803],{"class":380},"(",[374,805,806],{"class":387},"0",[374,808,809],{"class":380},");\n",[374,811,812],{"class":376,"line":423},[374,813,626],{"emptyLinePlaceholder":625},[374,815,816,819],{"class":376,"line":434},[374,817,818],{"class":579},"  return",[374,820,821],{"class":380}," (\n",[374,823,824,827,831],{"class":376,"line":440},[374,825,826],{"class":380},"    \u003C",[374,828,830],{"class":829},"sByVh","div",[374,832,833],{"class":380},">\n",[374,835,836,839,842,845,847],{"class":376,"line":448},[374,837,838],{"class":380},"      \u003C",[374,840,841],{"class":829},"h1",[374,843,844],{"class":380},">Hello, Solid!\u003C/",[374,846,841],{"class":829},[374,848,833],{"class":380},[374,850,851,853,856,859,861,864,867,870,873,876,879,881,884,887,890,893,895,898,900],{"class":376,"line":461},[374,852,838],{"class":380},[374,854,855],{"class":829},"button",[374,857,858],{"class":637}," onClick",[374,860,797],{"class":579},[374,862,863],{"class":380},"{() ",[374,865,866],{"class":579},"=>",[374,868,869],{"class":637}," setCount",[374,871,872],{"class":380},"((",[374,874,785],{"class":875},"sQHwn",[374,877,878],{"class":380},") ",[374,880,866],{"class":579},[374,882,883],{"class":380}," count ",[374,885,886],{"class":579},"+",[374,888,889],{"class":387}," 1",[374,891,892],{"class":380},")}>Count: {",[374,894,785],{"class":637},[374,896,897],{"class":380},"()}\u003C/",[374,899,855],{"class":829},[374,901,833],{"class":380},[374,903,904,907,909],{"class":376,"line":474},[374,905,906],{"class":380},"    \u003C/",[374,908,830],{"class":829},[374,910,833],{"class":380},[374,912,913],{"class":376,"line":487},[374,914,915],{"class":380},"  );\n",[374,917,918],{"class":376,"line":498},[374,919,507],{"class":380},[364,921,924],{"className":738,"code":922,"filename":923,"language":741,"meta":5,"style":5},"import { hydrate } from \"solid-js/web\";\nimport \"./styles.css\";\nimport { App } from \"./app.jsx\";\n\nhydrate(() => \u003CApp />, document.querySelector(\"#app\")!);\n","src/entry-client.tsx",[371,925,926,940,949,963,967],{"__ignoreMap":5},[374,927,928,930,933,935,938],{"class":376,"line":377},[374,929,580],{"class":579},[374,931,932],{"class":380}," { hydrate } ",[374,934,586],{"class":579},[374,936,937],{"class":394}," \"solid-js/web\"",[374,939,592],{"class":380},[374,941,942,944,947],{"class":376,"line":384},[374,943,580],{"class":579},[374,945,946],{"class":394}," \"./styles.css\"",[374,948,592],{"class":380},[374,950,951,953,956,958,961],{"class":376,"line":401},[374,952,580],{"class":579},[374,954,955],{"class":380}," { App } ",[374,957,586],{"class":579},[374,959,960],{"class":394}," \"./app.jsx\"",[374,962,592],{"class":380},[374,964,965],{"class":376,"line":410},[374,966,626],{"emptyLinePlaceholder":625},[374,968,969,972,975,977,980,983,986,989,991,994,997,1000],{"class":376,"line":423},[374,970,971],{"class":637},"hydrate",[374,973,974],{"class":380},"(() ",[374,976,866],{"class":579},[374,978,979],{"class":380}," \u003C",[374,981,982],{"class":387},"App",[374,984,985],{"class":380}," />, document.",[374,987,988],{"class":637},"querySelector",[374,990,803],{"class":380},[374,992,993],{"class":394},"\"#app\"",[374,995,996],{"class":380},")",[374,998,999],{"class":579},"!",[374,1001,809],{"class":380},[364,1003,1005],{"className":738,"code":1004,"filename":362,"language":741,"meta":5,"style":5},"import { renderToStringAsync, HydrationScript } from \"solid-js/web\";\nimport { App } from \"./app.jsx\";\n\nimport clientAssets from \"./entry-client?assets=client\";\nimport serverAssets from \"./entry-server?assets=ssr\";\n\nexport default {\n  async fetch(req: Request): Promise\u003CResponse> {\n    const appHTML = await renderToStringAsync(() => \u003CApp />);\n    const rootHTML = await renderToStringAsync(() => \u003CRoot appHTML={appHTML} />);\n    return new Response(rootHTML, {\n      headers: { \"Content-Type\": \"text/html\" },\n    });\n  },\n};\n\nfunction Root(props: { appHTML?: string }) {\n  const assets = clientAssets.merge(serverAssets);\n  return (\n    \u003Chtml lang=\"en\">\n      \u003Chead>\n        \u003Cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n        {assets.css.map((attr: any) => (\n          \u003Clink key={attr.href} rel=\"stylesheet\" {...attr} />\n        ))}\n        {assets.js.map((attr: any) => (\n          \u003Clink key={attr.href} type=\"modulepreload\" {...attr} />\n        ))}\n      \u003C/head>\n      \u003Cbody>\n        \u003Cdiv id=\"app\" innerHTML={props.appHTML || \"\"} />\n        \u003CHydrationScript />\n        \u003Cscript type=\"module\" src={assets.entry} />\n      \u003C/body>\n    \u003C/html>\n  );\n}\n",[371,1006,1007,1020,1032,1036,1050,1064,1068,1077,1112,1140,1169,1183,1198,1203,1207,1212,1216,1247,1266,1273,1291,1301,1329,1354,1388,1394,1416,1443,1448,1458,1468,1500,1510,1533,1542,1551,1556],{"__ignoreMap":5},[374,1008,1009,1011,1014,1016,1018],{"class":376,"line":377},[374,1010,580],{"class":579},[374,1012,1013],{"class":380}," { renderToStringAsync, HydrationScript } ",[374,1015,586],{"class":579},[374,1017,937],{"class":394},[374,1019,592],{"class":380},[374,1021,1022,1024,1026,1028,1030],{"class":376,"line":384},[374,1023,580],{"class":579},[374,1025,955],{"class":380},[374,1027,586],{"class":579},[374,1029,960],{"class":394},[374,1031,592],{"class":380},[374,1033,1034],{"class":376,"line":401},[374,1035,626],{"emptyLinePlaceholder":625},[374,1037,1038,1040,1043,1045,1048],{"class":376,"line":410},[374,1039,580],{"class":579},[374,1041,1042],{"class":380}," clientAssets ",[374,1044,586],{"class":579},[374,1046,1047],{"class":394}," \"./entry-client?assets=client\"",[374,1049,592],{"class":380},[374,1051,1052,1054,1057,1059,1062],{"class":376,"line":423},[374,1053,580],{"class":579},[374,1055,1056],{"class":380}," serverAssets ",[374,1058,586],{"class":579},[374,1060,1061],{"class":394}," \"./entry-server?assets=ssr\"",[374,1063,592],{"class":380},[374,1065,1066],{"class":376,"line":434},[374,1067,626],{"emptyLinePlaceholder":625},[374,1069,1070,1072,1074],{"class":376,"line":440},[374,1071,631],{"class":579},[374,1073,634],{"class":579},[374,1075,1076],{"class":380}," {\n",[374,1078,1079,1082,1085,1087,1090,1093,1096,1098,1100,1103,1106,1109],{"class":376,"line":448},[374,1080,1081],{"class":579},"  async",[374,1083,1084],{"class":637}," fetch",[374,1086,803],{"class":380},[374,1088,1089],{"class":875},"req",[374,1091,1092],{"class":579},":",[374,1094,1095],{"class":637}," Request",[374,1097,996],{"class":380},[374,1099,1092],{"class":579},[374,1101,1102],{"class":637}," Promise",[374,1104,1105],{"class":380},"\u003C",[374,1107,1108],{"class":637},"Response",[374,1110,1111],{"class":380},"> {\n",[374,1113,1114,1117,1120,1123,1126,1129,1131,1133,1135,1137],{"class":376,"line":461},[374,1115,1116],{"class":579},"    const",[374,1118,1119],{"class":387}," appHTML",[374,1121,1122],{"class":579}," =",[374,1124,1125],{"class":579}," await",[374,1127,1128],{"class":637}," renderToStringAsync",[374,1130,974],{"class":380},[374,1132,866],{"class":579},[374,1134,979],{"class":380},[374,1136,982],{"class":387},[374,1138,1139],{"class":380}," />);\n",[374,1141,1142,1144,1147,1149,1151,1153,1155,1157,1159,1162,1164,1166],{"class":376,"line":474},[374,1143,1116],{"class":579},[374,1145,1146],{"class":387}," rootHTML",[374,1148,1122],{"class":579},[374,1150,1125],{"class":579},[374,1152,1128],{"class":637},[374,1154,974],{"class":380},[374,1156,866],{"class":579},[374,1158,979],{"class":380},[374,1160,1161],{"class":387},"Root",[374,1163,1119],{"class":637},[374,1165,797],{"class":579},[374,1167,1168],{"class":380},"{appHTML} />);\n",[374,1170,1171,1174,1177,1180],{"class":376,"line":487},[374,1172,1173],{"class":579},"    return",[374,1175,1176],{"class":579}," new",[374,1178,1179],{"class":637}," Response",[374,1181,1182],{"class":380},"(rootHTML, {\n",[374,1184,1185,1188,1191,1193,1196],{"class":376,"line":498},[374,1186,1187],{"class":380},"      headers: { ",[374,1189,1190],{"class":394},"\"Content-Type\"",[374,1192,391],{"class":380},[374,1194,1195],{"class":394},"\"text/html\"",[374,1197,679],{"class":380},[374,1199,1200],{"class":376,"line":504},[374,1201,1202],{"class":380},"    });\n",[374,1204,1205],{"class":376,"line":722},[374,1206,437],{"class":380},[374,1208,1209],{"class":376,"line":727},[374,1210,1211],{"class":380},"};\n",[374,1213,1214],{"class":376,"line":732},[374,1215,626],{"emptyLinePlaceholder":625},[374,1217,1219,1222,1225,1227,1230,1232,1235,1238,1241,1244],{"class":376,"line":1218},17,[374,1220,1221],{"class":579},"function",[374,1223,1224],{"class":637}," Root",[374,1226,803],{"class":380},[374,1228,1229],{"class":875},"props",[374,1231,1092],{"class":579},[374,1233,1234],{"class":380}," { ",[374,1236,1237],{"class":875},"appHTML",[374,1239,1240],{"class":579},"?:",[374,1242,1243],{"class":387}," string",[374,1245,1246],{"class":380}," }) {\n",[374,1248,1250,1252,1255,1257,1260,1263],{"class":376,"line":1249},18,[374,1251,779],{"class":579},[374,1253,1254],{"class":387}," assets",[374,1256,1122],{"class":579},[374,1258,1259],{"class":380}," clientAssets.",[374,1261,1262],{"class":637},"merge",[374,1264,1265],{"class":380},"(serverAssets);\n",[374,1267,1269,1271],{"class":376,"line":1268},19,[374,1270,818],{"class":579},[374,1272,821],{"class":380},[374,1274,1276,1278,1281,1284,1286,1289],{"class":376,"line":1275},20,[374,1277,826],{"class":380},[374,1279,1280],{"class":829},"html",[374,1282,1283],{"class":637}," lang",[374,1285,797],{"class":579},[374,1287,1288],{"class":394},"\"en\"",[374,1290,833],{"class":380},[374,1292,1294,1296,1299],{"class":376,"line":1293},21,[374,1295,838],{"class":380},[374,1297,1298],{"class":829},"head",[374,1300,833],{"class":380},[374,1302,1304,1307,1310,1313,1315,1318,1321,1323,1326],{"class":376,"line":1303},22,[374,1305,1306],{"class":380},"        \u003C",[374,1308,1309],{"class":829},"meta",[374,1311,1312],{"class":637}," name",[374,1314,797],{"class":579},[374,1316,1317],{"class":394},"\"viewport\"",[374,1319,1320],{"class":637}," content",[374,1322,797],{"class":579},[374,1324,1325],{"class":394},"\"width=device-width, initial-scale=1.0\"",[374,1327,1328],{"class":380}," />\n",[374,1330,1332,1335,1338,1340,1343,1345,1348,1350,1352],{"class":376,"line":1331},23,[374,1333,1334],{"class":380},"        {assets.css.",[374,1336,1337],{"class":637},"map",[374,1339,872],{"class":380},[374,1341,1342],{"class":875},"attr",[374,1344,1092],{"class":579},[374,1346,1347],{"class":387}," any",[374,1349,878],{"class":380},[374,1351,866],{"class":579},[374,1353,821],{"class":380},[374,1355,1357,1360,1363,1366,1368,1371,1374,1376,1379,1382,1385],{"class":376,"line":1356},24,[374,1358,1359],{"class":380},"          \u003C",[374,1361,1362],{"class":829},"link",[374,1364,1365],{"class":637}," key",[374,1367,797],{"class":579},[374,1369,1370],{"class":380},"{attr.href} ",[374,1372,1373],{"class":637},"rel",[374,1375,797],{"class":579},[374,1377,1378],{"class":394},"\"stylesheet\"",[374,1380,1381],{"class":380}," {",[374,1383,1384],{"class":579},"...",[374,1386,1387],{"class":380},"attr} />\n",[374,1389,1391],{"class":376,"line":1390},25,[374,1392,1393],{"class":380},"        ))}\n",[374,1395,1397,1400,1402,1404,1406,1408,1410,1412,1414],{"class":376,"line":1396},26,[374,1398,1399],{"class":380},"        {assets.js.",[374,1401,1337],{"class":637},[374,1403,872],{"class":380},[374,1405,1342],{"class":875},[374,1407,1092],{"class":579},[374,1409,1347],{"class":387},[374,1411,878],{"class":380},[374,1413,866],{"class":579},[374,1415,821],{"class":380},[374,1417,1419,1421,1423,1425,1427,1429,1432,1434,1437,1439,1441],{"class":376,"line":1418},27,[374,1420,1359],{"class":380},[374,1422,1362],{"class":829},[374,1424,1365],{"class":637},[374,1426,797],{"class":579},[374,1428,1370],{"class":380},[374,1430,1431],{"class":637},"type",[374,1433,797],{"class":579},[374,1435,1436],{"class":394},"\"modulepreload\"",[374,1438,1381],{"class":380},[374,1440,1384],{"class":579},[374,1442,1387],{"class":380},[374,1444,1446],{"class":376,"line":1445},28,[374,1447,1393],{"class":380},[374,1449,1451,1454,1456],{"class":376,"line":1450},29,[374,1452,1453],{"class":380},"      \u003C/",[374,1455,1298],{"class":829},[374,1457,833],{"class":380},[374,1459,1461,1463,1466],{"class":376,"line":1460},30,[374,1462,838],{"class":380},[374,1464,1465],{"class":829},"body",[374,1467,833],{"class":380},[374,1469,1471,1473,1475,1478,1480,1483,1486,1488,1491,1494,1497],{"class":376,"line":1470},31,[374,1472,1306],{"class":380},[374,1474,830],{"class":829},[374,1476,1477],{"class":637}," id",[374,1479,797],{"class":579},[374,1481,1482],{"class":394},"\"app\"",[374,1484,1485],{"class":637}," innerHTML",[374,1487,797],{"class":579},[374,1489,1490],{"class":380},"{props.appHTML ",[374,1492,1493],{"class":579},"||",[374,1495,1496],{"class":394}," \"\"",[374,1498,1499],{"class":380},"} />\n",[374,1501,1503,1505,1508],{"class":376,"line":1502},32,[374,1504,1306],{"class":380},[374,1506,1507],{"class":387},"HydrationScript",[374,1509,1328],{"class":380},[374,1511,1513,1515,1518,1521,1523,1525,1528,1530],{"class":376,"line":1512},33,[374,1514,1306],{"class":380},[374,1516,1517],{"class":829},"script",[374,1519,1520],{"class":637}," type",[374,1522,797],{"class":579},[374,1524,395],{"class":394},[374,1526,1527],{"class":637}," src",[374,1529,797],{"class":579},[374,1531,1532],{"class":380},"{assets.entry} />\n",[374,1534,1536,1538,1540],{"class":376,"line":1535},34,[374,1537,1453],{"class":380},[374,1539,1465],{"class":829},[374,1541,833],{"class":380},[374,1543,1545,1547,1549],{"class":376,"line":1544},35,[374,1546,906],{"class":380},[374,1548,1280],{"class":829},[374,1550,833],{"class":380},[374,1552,1554],{"class":376,"line":1553},36,[374,1555,915],{"class":380},[374,1557,1559],{"class":376,"line":1558},37,[374,1560,507],{"class":380},[364,1562,1567],{"className":1563,"code":1564,"filename":1565,"language":1566,"meta":5,"style":5},"language-css shiki shiki-themes github-light github-dark github-dark","div {\n  font-family: system-ui, Arial, sans-serif;\n  font-size: 20px;\n  margin-bottom: 10px;\n}\n\nbutton {\n  background-color: rgb(147 197 253);\n  color: rgb(15 23 42);\n  border: none;\n  padding: 10px 20px;\n  font-size: 16px;\n  cursor: pointer;\n  border-radius: 5px;\n}\n\nbutton:hover {\n  background-color: rgb(191 219 254);\n}\n","src/styles.css","css",[371,1568,1569,1575,1597,1612,1626,1630,1634,1640,1663,1685,1697,1715,1728,1740,1754,1758,1762,1771,1792],{"__ignoreMap":5},[374,1570,1571,1573],{"class":376,"line":377},[374,1572,830],{"class":829},[374,1574,1076],{"class":380},[374,1576,1577,1580,1582,1585,1587,1590,1592,1595],{"class":376,"line":384},[374,1578,1579],{"class":387},"  font-family",[374,1581,391],{"class":380},[374,1583,1584],{"class":387},"system-ui",[374,1586,788],{"class":380},[374,1588,1589],{"class":387},"Arial",[374,1591,788],{"class":380},[374,1593,1594],{"class":387},"sans-serif",[374,1596,592],{"class":380},[374,1598,1599,1602,1604,1607,1610],{"class":376,"line":401},[374,1600,1601],{"class":387},"  font-size",[374,1603,391],{"class":380},[374,1605,1606],{"class":387},"20",[374,1608,1609],{"class":579},"px",[374,1611,592],{"class":380},[374,1613,1614,1617,1619,1622,1624],{"class":376,"line":410},[374,1615,1616],{"class":387},"  margin-bottom",[374,1618,391],{"class":380},[374,1620,1621],{"class":387},"10",[374,1623,1609],{"class":579},[374,1625,592],{"class":380},[374,1627,1628],{"class":376,"line":423},[374,1629,507],{"class":380},[374,1631,1632],{"class":376,"line":434},[374,1633,626],{"emptyLinePlaceholder":625},[374,1635,1636,1638],{"class":376,"line":440},[374,1637,855],{"class":829},[374,1639,1076],{"class":380},[374,1641,1642,1645,1647,1650,1652,1655,1658,1661],{"class":376,"line":448},[374,1643,1644],{"class":387},"  background-color",[374,1646,391],{"class":380},[374,1648,1649],{"class":387},"rgb",[374,1651,803],{"class":380},[374,1653,1654],{"class":387},"147",[374,1656,1657],{"class":387}," 197",[374,1659,1660],{"class":387}," 253",[374,1662,809],{"class":380},[374,1664,1665,1668,1670,1672,1674,1677,1680,1683],{"class":376,"line":461},[374,1666,1667],{"class":387},"  color",[374,1669,391],{"class":380},[374,1671,1649],{"class":387},[374,1673,803],{"class":380},[374,1675,1676],{"class":387},"15",[374,1678,1679],{"class":387}," 23",[374,1681,1682],{"class":387}," 42",[374,1684,809],{"class":380},[374,1686,1687,1690,1692,1695],{"class":376,"line":474},[374,1688,1689],{"class":387},"  border",[374,1691,391],{"class":380},[374,1693,1694],{"class":387},"none",[374,1696,592],{"class":380},[374,1698,1699,1702,1704,1706,1708,1711,1713],{"class":376,"line":487},[374,1700,1701],{"class":387},"  padding",[374,1703,391],{"class":380},[374,1705,1621],{"class":387},[374,1707,1609],{"class":579},[374,1709,1710],{"class":387}," 20",[374,1712,1609],{"class":579},[374,1714,592],{"class":380},[374,1716,1717,1719,1721,1724,1726],{"class":376,"line":498},[374,1718,1601],{"class":387},[374,1720,391],{"class":380},[374,1722,1723],{"class":387},"16",[374,1725,1609],{"class":579},[374,1727,592],{"class":380},[374,1729,1730,1733,1735,1738],{"class":376,"line":504},[374,1731,1732],{"class":387},"  cursor",[374,1734,391],{"class":380},[374,1736,1737],{"class":387},"pointer",[374,1739,592],{"class":380},[374,1741,1742,1745,1747,1750,1752],{"class":376,"line":722},[374,1743,1744],{"class":387},"  border-radius",[374,1746,391],{"class":380},[374,1748,1749],{"class":387},"5",[374,1751,1609],{"class":579},[374,1753,592],{"class":380},[374,1755,1756],{"class":376,"line":727},[374,1757,507],{"class":380},[374,1759,1760],{"class":376,"line":732},[374,1761,626],{"emptyLinePlaceholder":625},[374,1763,1764,1766,1769],{"class":376,"line":1218},[374,1765,855],{"class":829},[374,1767,1768],{"class":637},":hover",[374,1770,1076],{"class":380},[374,1772,1773,1775,1777,1779,1781,1784,1787,1790],{"class":376,"line":1249},[374,1774,1644],{"class":387},[374,1776,391],{"class":380},[374,1778,1649],{"class":387},[374,1780,803],{"class":380},[374,1782,1783],{"class":387},"191",[374,1785,1786],{"class":387}," 219",[374,1788,1789],{"class":387}," 254",[374,1791,809],{"class":380},[374,1793,1794],{"class":376,"line":1268},[374,1795,507],{"class":380},[1797,1798,1799,1800,1803],"p",{},"Set up server-side rendering (SSR) with SolidJS, Vite, and Nitro. This setup uses ",[371,1801,1802],{},"renderToStringAsync"," for HTML generation and supports client hydration.",[1805,1806,1808],"h2",{"id":1807},"overview","Overview",[1810,1811,1813,1817,1820,1823],"steps",{"level":1812},"4",[1814,1815,1816],"h4",{},"Add the Nitro Vite plugin to your Vite config",[1814,1818,1819],{},"Configure client and server entry points",[1814,1821,1822],{},"Create a server entry that renders your app to HTML",[1814,1824,1825],{},"Create a client entry that hydrates the server-rendered HTML",[1805,1827,1829],{"id":1828},"_1-configure-vite","1. Configure Vite",[1797,1831,1832,1833,1836,1837,1840],{},"Add the Nitro and SolidJS plugins to your Vite config. SolidJS requires explicit JSX configuration and both ",[371,1834,1835],{},"ssr"," and ",[371,1838,1839],{},"client"," environments:",[364,1842,1843],{"className":569,"code":570,"filename":571,"language":572,"meta":5,"style":5},[371,1844,1845,1857,1869,1881,1885,1895,1911,1923,1927,1931,1939,1943,1947,1955,1959,1963],{"__ignoreMap":5},[374,1846,1847,1849,1851,1853,1855],{"class":376,"line":377},[374,1848,580],{"class":579},[374,1850,583],{"class":380},[374,1852,586],{"class":579},[374,1854,589],{"class":394},[374,1856,592],{"class":380},[374,1858,1859,1861,1863,1865,1867],{"class":376,"line":384},[374,1860,580],{"class":579},[374,1862,599],{"class":380},[374,1864,586],{"class":579},[374,1866,604],{"class":394},[374,1868,592],{"class":380},[374,1870,1871,1873,1875,1877,1879],{"class":376,"line":401},[374,1872,580],{"class":579},[374,1874,613],{"class":380},[374,1876,586],{"class":579},[374,1878,618],{"class":394},[374,1880,592],{"class":380},[374,1882,1883],{"class":376,"line":410},[374,1884,626],{"emptyLinePlaceholder":625},[374,1886,1887,1889,1891,1893],{"class":376,"line":423},[374,1888,631],{"class":579},[374,1890,634],{"class":579},[374,1892,638],{"class":637},[374,1894,641],{"class":380},[374,1896,1897,1899,1901,1903,1905,1907,1909],{"class":376,"line":434},[374,1898,646],{"class":380},[374,1900,649],{"class":637},[374,1902,652],{"class":380},[374,1904,361],{"class":387},[374,1906,657],{"class":380},[374,1908,660],{"class":637},[374,1910,663],{"class":380},[374,1912,1913,1915,1917,1919,1921],{"class":376,"line":440},[374,1914,668],{"class":380},[374,1916,546],{"class":394},[374,1918,673],{"class":380},[374,1920,676],{"class":394},[374,1922,679],{"class":380},[374,1924,1925],{"class":376,"line":448},[374,1926,684],{"class":380},[374,1928,1929],{"class":376,"line":461},[374,1930,689],{"class":380},[374,1932,1933,1935,1937],{"class":376,"line":474},[374,1934,694],{"class":380},[374,1936,697],{"class":394},[374,1938,700],{"class":380},[374,1940,1941],{"class":376,"line":487},[374,1942,705],{"class":380},[374,1944,1945],{"class":376,"line":498},[374,1946,710],{"class":380},[374,1948,1949,1951,1953],{"class":376,"line":504},[374,1950,694],{"class":380},[374,1952,717],{"class":394},[374,1954,700],{"class":380},[374,1956,1957],{"class":376,"line":722},[374,1958,705],{"class":380},[374,1960,1961],{"class":376,"line":727},[374,1962,437],{"class":380},[374,1964,1965],{"class":376,"line":732},[374,1966,735],{"class":380},[1797,1968,1969,1970,1973,1974,1836,1976,1978],{},"Enable SSR mode in the Solid plugin with ",[371,1971,1972],{},"solid({ ssr: true })",". Configure esbuild to preserve JSX for Solid's compiler and use Solid's JSX runtime. SolidJS requires explicit ",[371,1975,1835],{},[371,1977,1839],{}," environment configuration in Vite.",[1805,1980,1982],{"id":1981},"_2-create-the-app-component","2. Create the App Component",[1797,1984,1985],{},"Create a shared SolidJS component using reactive signals:",[364,1987,1988],{"className":738,"code":739,"filename":740,"language":741,"meta":5,"style":5},[371,1989,1990,2002,2006,2016,2040,2044,2050,2058,2070,2110,2118,2122],{"__ignoreMap":5},[374,1991,1992,1994,1996,1998,2000],{"class":376,"line":377},[374,1993,580],{"class":579},[374,1995,750],{"class":380},[374,1997,586],{"class":579},[374,1999,755],{"class":394},[374,2001,592],{"class":380},[374,2003,2004],{"class":376,"line":384},[374,2005,626],{"emptyLinePlaceholder":625},[374,2007,2008,2010,2012,2014],{"class":376,"line":401},[374,2009,631],{"class":579},[374,2011,768],{"class":579},[374,2013,771],{"class":637},[374,2015,774],{"class":380},[374,2017,2018,2020,2022,2024,2026,2028,2030,2032,2034,2036,2038],{"class":376,"line":410},[374,2019,779],{"class":579},[374,2021,782],{"class":380},[374,2023,785],{"class":387},[374,2025,788],{"class":380},[374,2027,791],{"class":387},[374,2029,794],{"class":380},[374,2031,797],{"class":579},[374,2033,800],{"class":637},[374,2035,803],{"class":380},[374,2037,806],{"class":387},[374,2039,809],{"class":380},[374,2041,2042],{"class":376,"line":423},[374,2043,626],{"emptyLinePlaceholder":625},[374,2045,2046,2048],{"class":376,"line":434},[374,2047,818],{"class":579},[374,2049,821],{"class":380},[374,2051,2052,2054,2056],{"class":376,"line":440},[374,2053,826],{"class":380},[374,2055,830],{"class":829},[374,2057,833],{"class":380},[374,2059,2060,2062,2064,2066,2068],{"class":376,"line":448},[374,2061,838],{"class":380},[374,2063,841],{"class":829},[374,2065,844],{"class":380},[374,2067,841],{"class":829},[374,2069,833],{"class":380},[374,2071,2072,2074,2076,2078,2080,2082,2084,2086,2088,2090,2092,2094,2096,2098,2100,2102,2104,2106,2108],{"class":376,"line":461},[374,2073,838],{"class":380},[374,2075,855],{"class":829},[374,2077,858],{"class":637},[374,2079,797],{"class":579},[374,2081,863],{"class":380},[374,2083,866],{"class":579},[374,2085,869],{"class":637},[374,2087,872],{"class":380},[374,2089,785],{"class":875},[374,2091,878],{"class":380},[374,2093,866],{"class":579},[374,2095,883],{"class":380},[374,2097,886],{"class":579},[374,2099,889],{"class":387},[374,2101,892],{"class":380},[374,2103,785],{"class":637},[374,2105,897],{"class":380},[374,2107,855],{"class":829},[374,2109,833],{"class":380},[374,2111,2112,2114,2116],{"class":376,"line":474},[374,2113,906],{"class":380},[374,2115,830],{"class":829},[374,2117,833],{"class":380},[374,2119,2120],{"class":376,"line":487},[374,2121,915],{"class":380},[374,2123,2124],{"class":376,"line":498},[374,2125,507],{"class":380},[1797,2127,2128,2129,2132,2133,2136],{},"SolidJS uses signals (",[371,2130,2131],{},"createSignal",") for state management. Unlike React's ",[371,2134,2135],{},"useState",", signals are getter functions that you call to read the value.",[1805,2138,2140],{"id":2139},"_3-create-the-server-entry","3. Create the Server Entry",[1797,2142,2143,2144,2146,2147,2149],{},"The server entry renders your SolidJS app to HTML using ",[371,2145,1802],{}," and includes the ",[371,2148,1507],{}," for client-side hydration:",[364,2151,2152],{"className":738,"code":1004,"filename":362,"language":741,"meta":5,"style":5},[371,2153,2154,2166,2178,2182,2194,2206,2210,2218,2244,2266,2292,2302,2314,2318,2322,2326,2330,2352,2366,2372,2386,2394,2414,2434,2458,2462,2482,2506,2510,2518,2526,2550,2558,2576,2584,2592,2596],{"__ignoreMap":5},[374,2155,2156,2158,2160,2162,2164],{"class":376,"line":377},[374,2157,580],{"class":579},[374,2159,1013],{"class":380},[374,2161,586],{"class":579},[374,2163,937],{"class":394},[374,2165,592],{"class":380},[374,2167,2168,2170,2172,2174,2176],{"class":376,"line":384},[374,2169,580],{"class":579},[374,2171,955],{"class":380},[374,2173,586],{"class":579},[374,2175,960],{"class":394},[374,2177,592],{"class":380},[374,2179,2180],{"class":376,"line":401},[374,2181,626],{"emptyLinePlaceholder":625},[374,2183,2184,2186,2188,2190,2192],{"class":376,"line":410},[374,2185,580],{"class":579},[374,2187,1042],{"class":380},[374,2189,586],{"class":579},[374,2191,1047],{"class":394},[374,2193,592],{"class":380},[374,2195,2196,2198,2200,2202,2204],{"class":376,"line":423},[374,2197,580],{"class":579},[374,2199,1056],{"class":380},[374,2201,586],{"class":579},[374,2203,1061],{"class":394},[374,2205,592],{"class":380},[374,2207,2208],{"class":376,"line":434},[374,2209,626],{"emptyLinePlaceholder":625},[374,2211,2212,2214,2216],{"class":376,"line":440},[374,2213,631],{"class":579},[374,2215,634],{"class":579},[374,2217,1076],{"class":380},[374,2219,2220,2222,2224,2226,2228,2230,2232,2234,2236,2238,2240,2242],{"class":376,"line":448},[374,2221,1081],{"class":579},[374,2223,1084],{"class":637},[374,2225,803],{"class":380},[374,2227,1089],{"class":875},[374,2229,1092],{"class":579},[374,2231,1095],{"class":637},[374,2233,996],{"class":380},[374,2235,1092],{"class":579},[374,2237,1102],{"class":637},[374,2239,1105],{"class":380},[374,2241,1108],{"class":637},[374,2243,1111],{"class":380},[374,2245,2246,2248,2250,2252,2254,2256,2258,2260,2262,2264],{"class":376,"line":461},[374,2247,1116],{"class":579},[374,2249,1119],{"class":387},[374,2251,1122],{"class":579},[374,2253,1125],{"class":579},[374,2255,1128],{"class":637},[374,2257,974],{"class":380},[374,2259,866],{"class":579},[374,2261,979],{"class":380},[374,2263,982],{"class":387},[374,2265,1139],{"class":380},[374,2267,2268,2270,2272,2274,2276,2278,2280,2282,2284,2286,2288,2290],{"class":376,"line":474},[374,2269,1116],{"class":579},[374,2271,1146],{"class":387},[374,2273,1122],{"class":579},[374,2275,1125],{"class":579},[374,2277,1128],{"class":637},[374,2279,974],{"class":380},[374,2281,866],{"class":579},[374,2283,979],{"class":380},[374,2285,1161],{"class":387},[374,2287,1119],{"class":637},[374,2289,797],{"class":579},[374,2291,1168],{"class":380},[374,2293,2294,2296,2298,2300],{"class":376,"line":487},[374,2295,1173],{"class":579},[374,2297,1176],{"class":579},[374,2299,1179],{"class":637},[374,2301,1182],{"class":380},[374,2303,2304,2306,2308,2310,2312],{"class":376,"line":498},[374,2305,1187],{"class":380},[374,2307,1190],{"class":394},[374,2309,391],{"class":380},[374,2311,1195],{"class":394},[374,2313,679],{"class":380},[374,2315,2316],{"class":376,"line":504},[374,2317,1202],{"class":380},[374,2319,2320],{"class":376,"line":722},[374,2321,437],{"class":380},[374,2323,2324],{"class":376,"line":727},[374,2325,1211],{"class":380},[374,2327,2328],{"class":376,"line":732},[374,2329,626],{"emptyLinePlaceholder":625},[374,2331,2332,2334,2336,2338,2340,2342,2344,2346,2348,2350],{"class":376,"line":1218},[374,2333,1221],{"class":579},[374,2335,1224],{"class":637},[374,2337,803],{"class":380},[374,2339,1229],{"class":875},[374,2341,1092],{"class":579},[374,2343,1234],{"class":380},[374,2345,1237],{"class":875},[374,2347,1240],{"class":579},[374,2349,1243],{"class":387},[374,2351,1246],{"class":380},[374,2353,2354,2356,2358,2360,2362,2364],{"class":376,"line":1249},[374,2355,779],{"class":579},[374,2357,1254],{"class":387},[374,2359,1122],{"class":579},[374,2361,1259],{"class":380},[374,2363,1262],{"class":637},[374,2365,1265],{"class":380},[374,2367,2368,2370],{"class":376,"line":1268},[374,2369,818],{"class":579},[374,2371,821],{"class":380},[374,2373,2374,2376,2378,2380,2382,2384],{"class":376,"line":1275},[374,2375,826],{"class":380},[374,2377,1280],{"class":829},[374,2379,1283],{"class":637},[374,2381,797],{"class":579},[374,2383,1288],{"class":394},[374,2385,833],{"class":380},[374,2387,2388,2390,2392],{"class":376,"line":1293},[374,2389,838],{"class":380},[374,2391,1298],{"class":829},[374,2393,833],{"class":380},[374,2395,2396,2398,2400,2402,2404,2406,2408,2410,2412],{"class":376,"line":1303},[374,2397,1306],{"class":380},[374,2399,1309],{"class":829},[374,2401,1312],{"class":637},[374,2403,797],{"class":579},[374,2405,1317],{"class":394},[374,2407,1320],{"class":637},[374,2409,797],{"class":579},[374,2411,1325],{"class":394},[374,2413,1328],{"class":380},[374,2415,2416,2418,2420,2422,2424,2426,2428,2430,2432],{"class":376,"line":1331},[374,2417,1334],{"class":380},[374,2419,1337],{"class":637},[374,2421,872],{"class":380},[374,2423,1342],{"class":875},[374,2425,1092],{"class":579},[374,2427,1347],{"class":387},[374,2429,878],{"class":380},[374,2431,866],{"class":579},[374,2433,821],{"class":380},[374,2435,2436,2438,2440,2442,2444,2446,2448,2450,2452,2454,2456],{"class":376,"line":1356},[374,2437,1359],{"class":380},[374,2439,1362],{"class":829},[374,2441,1365],{"class":637},[374,2443,797],{"class":579},[374,2445,1370],{"class":380},[374,2447,1373],{"class":637},[374,2449,797],{"class":579},[374,2451,1378],{"class":394},[374,2453,1381],{"class":380},[374,2455,1384],{"class":579},[374,2457,1387],{"class":380},[374,2459,2460],{"class":376,"line":1390},[374,2461,1393],{"class":380},[374,2463,2464,2466,2468,2470,2472,2474,2476,2478,2480],{"class":376,"line":1396},[374,2465,1399],{"class":380},[374,2467,1337],{"class":637},[374,2469,872],{"class":380},[374,2471,1342],{"class":875},[374,2473,1092],{"class":579},[374,2475,1347],{"class":387},[374,2477,878],{"class":380},[374,2479,866],{"class":579},[374,2481,821],{"class":380},[374,2483,2484,2486,2488,2490,2492,2494,2496,2498,2500,2502,2504],{"class":376,"line":1418},[374,2485,1359],{"class":380},[374,2487,1362],{"class":829},[374,2489,1365],{"class":637},[374,2491,797],{"class":579},[374,2493,1370],{"class":380},[374,2495,1431],{"class":637},[374,2497,797],{"class":579},[374,2499,1436],{"class":394},[374,2501,1381],{"class":380},[374,2503,1384],{"class":579},[374,2505,1387],{"class":380},[374,2507,2508],{"class":376,"line":1445},[374,2509,1393],{"class":380},[374,2511,2512,2514,2516],{"class":376,"line":1450},[374,2513,1453],{"class":380},[374,2515,1298],{"class":829},[374,2517,833],{"class":380},[374,2519,2520,2522,2524],{"class":376,"line":1460},[374,2521,838],{"class":380},[374,2523,1465],{"class":829},[374,2525,833],{"class":380},[374,2527,2528,2530,2532,2534,2536,2538,2540,2542,2544,2546,2548],{"class":376,"line":1470},[374,2529,1306],{"class":380},[374,2531,830],{"class":829},[374,2533,1477],{"class":637},[374,2535,797],{"class":579},[374,2537,1482],{"class":394},[374,2539,1485],{"class":637},[374,2541,797],{"class":579},[374,2543,1490],{"class":380},[374,2545,1493],{"class":579},[374,2547,1496],{"class":394},[374,2549,1499],{"class":380},[374,2551,2552,2554,2556],{"class":376,"line":1502},[374,2553,1306],{"class":380},[374,2555,1507],{"class":387},[374,2557,1328],{"class":380},[374,2559,2560,2562,2564,2566,2568,2570,2572,2574],{"class":376,"line":1512},[374,2561,1306],{"class":380},[374,2563,1517],{"class":829},[374,2565,1520],{"class":637},[374,2567,797],{"class":579},[374,2569,395],{"class":394},[374,2571,1527],{"class":637},[374,2573,797],{"class":579},[374,2575,1532],{"class":380},[374,2577,2578,2580,2582],{"class":376,"line":1535},[374,2579,1453],{"class":380},[374,2581,1465],{"class":829},[374,2583,833],{"class":380},[374,2585,2586,2588,2590],{"class":376,"line":1544},[374,2587,906],{"class":380},[374,2589,1280],{"class":829},[374,2591,833],{"class":380},[374,2593,2594],{"class":376,"line":1553},[374,2595,915],{"class":380},[374,2597,2598],{"class":376,"line":1558},[374,2599,507],{"class":380},[1797,2601,2602,2603,2606,2607,2609,2610,1836,2613,2616],{},"SolidJS requires rendering the app separately from the shell (two-phase rendering). The app HTML is injected via ",[371,2604,2605],{},"innerHTML"," to preserve hydration markers. Include the ",[371,2608,1507],{}," component to inject the script Solid needs to rehydrate on the client. Import assets using the ",[371,2611,2612],{},"?assets=client",[371,2614,2615],{},"?assets=ssr"," query parameters to collect CSS and JS from each entry point.",[1805,2618,2620],{"id":2619},"_4-create-the-client-entry","4. Create the Client Entry",[1797,2622,2623],{},"The client entry hydrates the server-rendered HTML, restoring Solid's reactivity:",[364,2625,2626],{"className":738,"code":922,"filename":923,"language":741,"meta":5,"style":5},[371,2627,2628,2640,2648,2660,2664],{"__ignoreMap":5},[374,2629,2630,2632,2634,2636,2638],{"class":376,"line":377},[374,2631,580],{"class":579},[374,2633,932],{"class":380},[374,2635,586],{"class":579},[374,2637,937],{"class":394},[374,2639,592],{"class":380},[374,2641,2642,2644,2646],{"class":376,"line":384},[374,2643,580],{"class":579},[374,2645,946],{"class":394},[374,2647,592],{"class":380},[374,2649,2650,2652,2654,2656,2658],{"class":376,"line":401},[374,2651,580],{"class":579},[374,2653,955],{"class":380},[374,2655,586],{"class":579},[374,2657,960],{"class":394},[374,2659,592],{"class":380},[374,2661,2662],{"class":376,"line":410},[374,2663,626],{"emptyLinePlaceholder":625},[374,2665,2666,2668,2670,2672,2674,2676,2678,2680,2682,2684,2686,2688],{"class":376,"line":423},[374,2667,971],{"class":637},[374,2669,974],{"class":380},[374,2671,866],{"class":579},[374,2673,979],{"class":380},[374,2675,982],{"class":387},[374,2677,985],{"class":380},[374,2679,988],{"class":637},[374,2681,803],{"class":380},[374,2683,993],{"class":394},[374,2685,996],{"class":380},[374,2687,999],{"class":579},[374,2689,809],{"class":380},[1797,2691,2692,2693,2695,2696,2699,2700,2703],{},"The ",[371,2694,971],{}," function attaches Solid's reactive system to the existing server-rendered DOM inside ",[371,2697,2698],{},"#app",". The component is wrapped in a function ",[371,2701,2702],{},"() => \u003CApp />"," as required by Solid's API.",[1805,2705,2707],{"id":2706},"learn-more","Learn More",[2709,2710,2711,2721,2725],"ul",{},[2712,2713,2714],"li",{},[2715,2716,2720],"a",{"href":2717,"rel":2718},"https://docs.solidjs.com/",[2719],"nofollow","SolidJS Documentation",[2712,2722,2723],{},[2715,2724,18],{"href":19},[2712,2726,2727],{},[2715,2728,58],{"href":59},[2730,2731,2732],"style",{},"html pre.shiki code .slsVL, html code.shiki .slsVL{--shiki-light:#24292E;--shiki-default:#E1E4E8;--shiki-dark:#E1E4E8}html pre.shiki code .suiK_, html code.shiki .suiK_{--shiki-light:#005CC5;--shiki-default:#79B8FF;--shiki-dark:#79B8FF}html pre.shiki code .sfrk1, html code.shiki .sfrk1{--shiki-light:#032F62;--shiki-default:#9ECBFF;--shiki-dark:#9ECBFF}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);}html pre.shiki code .so5gQ, html code.shiki .so5gQ{--shiki-light:#D73A49;--shiki-default:#F97583;--shiki-dark:#F97583}html pre.shiki code .shcOC, html code.shiki .shcOC{--shiki-light:#6F42C1;--shiki-default:#B392F0;--shiki-dark:#B392F0}html pre.shiki code .sByVh, html code.shiki .sByVh{--shiki-light:#22863A;--shiki-default:#85E89D;--shiki-dark:#85E89D}html pre.shiki code .sQHwn, html code.shiki .sQHwn{--shiki-light:#E36209;--shiki-default:#FFAB70;--shiki-dark:#FFAB70}",{"title":5,"searchDepth":384,"depth":384,"links":2734},[2735,2736,2737,2738,2739,2740],{"id":1807,"depth":384,"text":1808},{"id":1828,"depth":384,"text":1829},{"id":1981,"depth":384,"text":1982},{"id":2139,"depth":384,"text":2140},{"id":2619,"depth":384,"text":2620},{"id":2706,"depth":384,"text":2707},"md","i-logos-solidjs-icon",{"automd":625},{},{"title":330,"description":331},"examples/vite-ssr-solid/README","AmS-MYc9umRH-36y9samQiQBbCo4emNt7aLqtfZDd30",[2749,2752],{"title":326,"path":2750,"stem":2751,"description":327,"children":-1},"/examples/vite-ssr-react","examples/vite-ssr-react/README",{"title":334,"path":2753,"stem":2754,"description":335,"children":-1},"/examples/vite-ssr-tsr-react","examples/vite-ssr-tsr-react/README",1771523835669]