[{"data":1,"prerenderedAt":1347},["ShallowReactive",2],{"navigation":3,"examples-nav":402,"-examples-import-alias":503,"-examples-import-alias-surround":1344},[4,93,226,232,387,399],{"title":5,"path":6,"stem":7,"children":8,"icon":92},"","\u002Fdocs","1.docs\u002F1.index",[9,12,17,22,27,32,37,42,47,52,57,62,67,72,77,82,87],{"title":10,"path":6,"stem":7,"icon":11},"Introduction","i-lucide-compass",{"title":13,"path":14,"stem":15,"icon":16},"Quick Start","\u002Fdocs\u002Fquick-start","1.docs\u002F2.quick-start","i-lucide-zap",{"title":18,"path":19,"stem":20,"icon":21},"Renderer","\u002Fdocs\u002Frenderer","1.docs\u002F4.renderer","ri:layout-masonry-line",{"title":23,"path":24,"stem":25,"icon":26},"Routing","\u002Fdocs\u002Frouting","1.docs\u002F5.routing","ri:direction-line",{"title":28,"path":29,"stem":30,"icon":31},"Assets","\u002Fdocs\u002Fassets","1.docs\u002F50.assets","ri:image-2-line",{"title":33,"path":34,"stem":35,"icon":36},"Configuration","\u002Fdocs\u002Fconfiguration","1.docs\u002F50.configuration","ri:settings-3-line",{"title":38,"path":39,"stem":40,"icon":41},"Database","\u002Fdocs\u002Fdatabase","1.docs\u002F50.database","ri:database-2-line",{"title":43,"path":44,"stem":45,"icon":46},"Lifecycle","\u002Fdocs\u002Flifecycle","1.docs\u002F50.lifecycle","i-lucide-layers",{"title":48,"path":49,"stem":50,"icon":51},"OpenAPI","\u002Fdocs\u002Fopenapi","1.docs\u002F50.openapi","ri:contract-line",{"title":53,"path":54,"stem":55,"icon":56},"Plugins","\u002Fdocs\u002Fplugins","1.docs\u002F50.plugins","ri:plug-line",{"title":58,"path":59,"stem":60,"icon":61},"Tasks","\u002Fdocs\u002Ftasks","1.docs\u002F50.tasks","codicon:run-all",{"title":63,"path":64,"stem":65,"icon":66},"WebSocket","\u002Fdocs\u002Fwebsocket","1.docs\u002F50.websocket","ri:broadcast-fill",{"title":68,"path":69,"stem":70,"icon":71},"Server Entry","\u002Fdocs\u002Fserver-entry","1.docs\u002F6.server-entry","ri:server-line",{"title":73,"path":74,"stem":75,"icon":76},"Cache","\u002Fdocs\u002Fcache","1.docs\u002F7.cache","ri:speed-line",{"title":78,"path":79,"stem":80,"icon":81},"KV Storage","\u002Fdocs\u002Fstorage","1.docs\u002F8.storage","carbon:datastore",{"title":83,"path":84,"stem":85,"icon":86},"Migration Guide","\u002Fdocs\u002Fmigration","1.docs\u002F99.migration","ri:arrow-right-up-line",{"title":88,"path":89,"stem":90,"icon":91},"Nightly Channel","\u002Fdocs\u002Fnightly","1.docs\u002F99.nightly","ri:moon-fill","i-lucide-book-open",{"title":94,"path":95,"stem":96,"children":97,"icon":99},"Deploy","\u002Fdeploy","2.deploy\u002F0.index",[98,100,121],{"title":94,"path":95,"stem":96,"icon":99},"ri:upload-cloud-2-line",{"title":101,"path":102,"stem":103,"children":104,"page":120},"Runtimes","\u002Fdeploy\u002Fruntimes","2.deploy\u002F10.runtimes",[105,110,115],{"title":106,"path":107,"stem":108,"icon":109},"Node.js","\u002Fdeploy\u002Fruntimes\u002Fnode","2.deploy\u002F10.runtimes\u002F1.node","akar-icons:node-fill",{"title":111,"path":112,"stem":113,"icon":114},"Bun","\u002Fdeploy\u002Fruntimes\u002Fbun","2.deploy\u002F10.runtimes\u002Fbun","simple-icons:bun",{"title":116,"path":117,"stem":118,"icon":119},"Deno","\u002Fdeploy\u002Fruntimes\u002Fdeno","2.deploy\u002F10.runtimes\u002Fdeno","simple-icons:deno",false,{"title":122,"path":123,"stem":124,"children":125,"page":120},"Providers","\u002Fdeploy\u002Fproviders","2.deploy\u002F20.providers",[126,130,134,138,142,146,150,154,158,162,166,170,174,178,182,186,190,194,198,202,206,210,214,218,222],{"title":127,"path":128,"stem":129},"Alwaysdata","\u002Fdeploy\u002Fproviders\u002Falwaysdata","2.deploy\u002F20.providers\u002Falwaysdata",{"title":131,"path":132,"stem":133},"AWS Lambda","\u002Fdeploy\u002Fproviders\u002Faws","2.deploy\u002F20.providers\u002Faws",{"title":135,"path":136,"stem":137},"AWS Amplify","\u002Fdeploy\u002Fproviders\u002Faws-amplify","2.deploy\u002F20.providers\u002Faws-amplify",{"title":139,"path":140,"stem":141},"Azure","\u002Fdeploy\u002Fproviders\u002Fazure","2.deploy\u002F20.providers\u002Fazure",{"title":143,"path":144,"stem":145},"Cleavr","\u002Fdeploy\u002Fproviders\u002Fcleavr","2.deploy\u002F20.providers\u002Fcleavr",{"title":147,"path":148,"stem":149},"Cloudflare","\u002Fdeploy\u002Fproviders\u002Fcloudflare","2.deploy\u002F20.providers\u002Fcloudflare",{"title":151,"path":152,"stem":153},"Deno Deploy","\u002Fdeploy\u002Fproviders\u002Fdeno-deploy","2.deploy\u002F20.providers\u002Fdeno-deploy",{"title":155,"path":156,"stem":157},"DigitalOcean","\u002Fdeploy\u002Fproviders\u002Fdigitalocean","2.deploy\u002F20.providers\u002Fdigitalocean",{"title":159,"path":160,"stem":161},"EdgeOne Pages","\u002Fdeploy\u002Fproviders\u002Fedgeone","2.deploy\u002F20.providers\u002Fedgeone",{"title":163,"path":164,"stem":165},"Firebase","\u002Fdeploy\u002Fproviders\u002Ffirebase","2.deploy\u002F20.providers\u002Ffirebase",{"title":167,"path":168,"stem":169},"Flightcontrol","\u002Fdeploy\u002Fproviders\u002Fflightcontrol","2.deploy\u002F20.providers\u002Fflightcontrol",{"title":171,"path":172,"stem":173},"Genezio","\u002Fdeploy\u002Fproviders\u002Fgenezio","2.deploy\u002F20.providers\u002Fgenezio",{"title":175,"path":176,"stem":177},"GitHub Pages","\u002Fdeploy\u002Fproviders\u002Fgithub-pages","2.deploy\u002F20.providers\u002Fgithub-pages",{"title":179,"path":180,"stem":181},"GitLab Pages","\u002Fdeploy\u002Fproviders\u002Fgitlab-pages","2.deploy\u002F20.providers\u002Fgitlab-pages",{"title":183,"path":184,"stem":185},"Heroku","\u002Fdeploy\u002Fproviders\u002Fheroku","2.deploy\u002F20.providers\u002Fheroku",{"title":187,"path":188,"stem":189},"IIS","\u002Fdeploy\u002Fproviders\u002Fiis","2.deploy\u002F20.providers\u002Fiis",{"title":191,"path":192,"stem":193},"Koyeb","\u002Fdeploy\u002Fproviders\u002Fkoyeb","2.deploy\u002F20.providers\u002Fkoyeb",{"title":195,"path":196,"stem":197},"Netlify","\u002Fdeploy\u002Fproviders\u002Fnetlify","2.deploy\u002F20.providers\u002Fnetlify",{"title":199,"path":200,"stem":201},"Platform.sh","\u002Fdeploy\u002Fproviders\u002Fplatform-sh","2.deploy\u002F20.providers\u002Fplatform-sh",{"title":203,"path":204,"stem":205},"Render.com","\u002Fdeploy\u002Fproviders\u002Frender","2.deploy\u002F20.providers\u002Frender",{"title":207,"path":208,"stem":209},"StormKit","\u002Fdeploy\u002Fproviders\u002Fstormkit","2.deploy\u002F20.providers\u002Fstormkit",{"title":211,"path":212,"stem":213},"Vercel","\u002Fdeploy\u002Fproviders\u002Fvercel","2.deploy\u002F20.providers\u002Fvercel",{"title":215,"path":216,"stem":217},"Zeabur","\u002Fdeploy\u002Fproviders\u002Fzeabur","2.deploy\u002F20.providers\u002Fzeabur",{"title":219,"path":220,"stem":221},"Zephyr Cloud","\u002Fdeploy\u002Fproviders\u002Fzephyr","2.deploy\u002F20.providers\u002Fzephyr",{"title":223,"path":224,"stem":225},"Zerops","\u002Fdeploy\u002Fproviders\u002Fzerops","2.deploy\u002F20.providers\u002Fzerops",{"title":227,"path":228,"stem":229,"children":230,"icon":36},"Config","\u002Fconfig","3.config\u002F0.index",[231],{"title":227,"path":228,"stem":229,"icon":36},{"title":233,"path":234,"stem":235,"children":236,"icon":238},"Examples","\u002Fexamples","4.examples\u002F0.index",[237,239,244,249,254,259,263,268,273,278,283,288,293,297,302,306,310,315,320,325,330,335,340,345,350,355,359,364,369,373,378,383],{"title":233,"path":234,"stem":235,"icon":238},"i-lucide-folder-code",{"title":240,"path":241,"stem":242,"icon":243},"API Routes","\u002Fexamples\u002Fapi-routes","4.examples\u002Fapi-routes","i-lucide-route",{"title":245,"path":246,"stem":247,"icon":248},"Auto Imports","\u002Fexamples\u002Fauto-imports","4.examples\u002Fauto-imports","i-lucide-import",{"title":250,"path":251,"stem":252,"icon":253},"Cached Handler","\u002Fexamples\u002Fcached-handler","4.examples\u002Fcached-handler","i-lucide-clock",{"title":255,"path":256,"stem":257,"icon":258},"Custom Error Handler","\u002Fexamples\u002Fcustom-error-handler","4.examples\u002Fcustom-error-handler","i-lucide-alert-circle",{"title":38,"path":260,"stem":261,"icon":262},"\u002Fexamples\u002Fdatabase","4.examples\u002Fdatabase","i-lucide-database",{"title":264,"path":265,"stem":266,"icon":267},"Elysia","\u002Fexamples\u002Felysia","4.examples\u002Felysia","i-skill-icons-elysia-dark",{"title":269,"path":270,"stem":271,"icon":272},"Express","\u002Fexamples\u002Fexpress","4.examples\u002Fexpress","i-simple-icons-express",{"title":274,"path":275,"stem":276,"icon":277},"Fastify","\u002Fexamples\u002Ffastify","4.examples\u002Ffastify","i-simple-icons-fastify",{"title":279,"path":280,"stem":281,"icon":282},"Hello World","\u002Fexamples\u002Fhello-world","4.examples\u002Fhello-world","i-lucide-sparkles",{"title":284,"path":285,"stem":286,"icon":287},"Hono","\u002Fexamples\u002Fhono","4.examples\u002Fhono","i-logos-hono",{"title":289,"path":290,"stem":291,"icon":292},"Import Alias","\u002Fexamples\u002Fimport-alias","4.examples\u002Fimport-alias","i-lucide-at-sign",{"title":294,"path":295,"stem":296,"icon":46},"Middleware","\u002Fexamples\u002Fmiddleware","4.examples\u002Fmiddleware",{"title":298,"path":299,"stem":300,"icon":301},"Mono JSX","\u002Fexamples\u002Fmono-jsx","4.examples\u002Fmono-jsx","i-lucide-brackets",{"title":303,"path":304,"stem":305,"icon":301},"Nano JSX","\u002Fexamples\u002Fnano-jsx","4.examples\u002Fnano-jsx",{"title":53,"path":307,"stem":308,"icon":309},"\u002Fexamples\u002Fplugins","4.examples\u002Fplugins","i-lucide-plug",{"title":311,"path":312,"stem":313,"icon":314},"Custom Renderer","\u002Fexamples\u002Frenderer","4.examples\u002Frenderer","i-lucide-code",{"title":316,"path":317,"stem":318,"icon":319},"Runtime Config","\u002Fexamples\u002Fruntime-config","4.examples\u002Fruntime-config","i-lucide-settings",{"title":321,"path":322,"stem":323,"icon":324},"Server Fetch","\u002Fexamples\u002Fserver-fetch","4.examples\u002Fserver-fetch","i-lucide-arrow-right-left",{"title":326,"path":327,"stem":328,"icon":329},"Shiki","\u002Fexamples\u002Fshiki","4.examples\u002Fshiki","i-lucide-highlighter",{"title":331,"path":332,"stem":333,"icon":334},"Virtual Routes","\u002Fexamples\u002Fvirtual-routes","4.examples\u002Fvirtual-routes","i-lucide-box",{"title":336,"path":337,"stem":338,"icon":339},"Vite Nitro Plugin","\u002Fexamples\u002Fvite-nitro-plugin","4.examples\u002Fvite-nitro-plugin","i-logos-vitejs",{"title":341,"path":342,"stem":343,"icon":344},"Vite RSC","\u002Fexamples\u002Fvite-rsc","4.examples\u002Fvite-rsc","i-logos-react",{"title":346,"path":347,"stem":348,"icon":349},"Vite SSR HTML","\u002Fexamples\u002Fvite-ssr-html","4.examples\u002Fvite-ssr-html","i-logos-html-5",{"title":351,"path":352,"stem":353,"icon":354},"SSR with Preact","\u002Fexamples\u002Fvite-ssr-preact","4.examples\u002Fvite-ssr-preact","i-logos-preact",{"title":356,"path":357,"stem":358,"icon":344},"SSR with React","\u002Fexamples\u002Fvite-ssr-react","4.examples\u002Fvite-ssr-react",{"title":360,"path":361,"stem":362,"icon":363},"SSR with SolidJS","\u002Fexamples\u002Fvite-ssr-solid","4.examples\u002Fvite-ssr-solid","i-logos-solidjs-icon",{"title":365,"path":366,"stem":367,"icon":368},"SSR with TanStack Router","\u002Fexamples\u002Fvite-ssr-tsr-react","4.examples\u002Fvite-ssr-tsr-react","i-simple-icons-tanstack",{"title":370,"path":371,"stem":372,"icon":368},"SSR with TanStack Start","\u002Fexamples\u002Fvite-ssr-tss-react","4.examples\u002Fvite-ssr-tss-react",{"title":374,"path":375,"stem":376,"icon":377},"SSR with Vue Router","\u002Fexamples\u002Fvite-ssr-vue-router","4.examples\u002Fvite-ssr-vue-router","i-logos-vue",{"title":379,"path":380,"stem":381,"icon":382},"Vite + tRPC","\u002Fexamples\u002Fvite-trpc","4.examples\u002Fvite-trpc","i-simple-icons-trpc",{"title":63,"path":384,"stem":385,"icon":386},"\u002Fexamples\u002Fwebsocket","4.examples\u002Fwebsocket","i-lucide-radio",{"title":388,"path":389,"stem":390,"children":391},"Blog","\u002Fblog","9.blog",[392,395],{"title":388,"path":389,"stem":393,"icon":394},"9.blog\u002Findex","i-lucide-file-text",{"title":396,"path":397,"stem":398,"icon":394},"Nitro v3 Beta is here!","\u002Fblog\u002Fv3-beta","9.blog\u002F1.v3-beta",{"title":5,"path":400,"stem":401},"\u002F","index",[403,408,412,415,418,421,425,428,431,434,437,440,443,447,450,453,456,459,462,466,469,473,476,479,482,485,488,491,494,497,500],{"title":240,"description":404,"meta":405,"path":241},"File-based API routing with HTTP method support and dynamic parameters.",{"automd":406,"category":407,"icon":243},true,"features",{"title":245,"description":409,"meta":410,"path":246},"Automatic imports for utilities and composables.",{"automd":406,"category":411,"icon":248},"config",{"title":250,"description":413,"meta":414,"path":251},"Cache route responses with configurable bypass logic.",{"automd":406,"category":407,"icon":253},{"title":255,"description":416,"meta":417,"path":256},"Customize error responses with a global error handler.",{"automd":406,"category":407,"icon":258},{"title":38,"description":419,"meta":420,"path":260},"Built-in database support with SQL template literals.",{"automd":406,"category":407,"icon":262},{"title":264,"description":422,"meta":423,"path":265},"Integrate Elysia with Nitro using the server entry.",{"automd":406,"category":424,"icon":267},"backend frameworks",{"title":269,"description":426,"meta":427,"path":270},"Integrate Express with Nitro using the server entry.",{"automd":406,"category":424,"icon":272},{"title":274,"description":429,"meta":430,"path":275},"Integrate Fastify with Nitro using the server entry.",{"automd":406,"category":424,"icon":277},{"title":279,"description":432,"meta":433,"path":280},"Minimal Nitro server using the web standard fetch handler.",{"automd":406,"category":407,"icon":282},{"title":284,"description":435,"meta":436,"path":285},"Integrate Hono with Nitro using the server entry.",{"automd":406,"category":424,"icon":287},{"title":289,"description":438,"meta":439,"path":290},"Custom import aliases for cleaner module paths.",{"automd":406,"category":411,"icon":292},{"title":294,"description":441,"meta":442,"path":295},"Request middleware for authentication, logging, and request modification.",{"automd":406,"category":407,"icon":46},{"title":298,"description":444,"meta":445,"path":299},"Server-side JSX rendering in Nitro with mono-jsx.",{"automd":406,"category":446,"icon":301},"server side rendering",{"title":303,"description":448,"meta":449,"path":304},"Server-side JSX rendering in Nitro with nano-jsx.",{"automd":406,"category":446,"icon":301},{"title":53,"description":451,"meta":452,"path":307},"Extend Nitro with custom plugins for hooks and lifecycle events.",{"automd":406,"category":407,"icon":309},{"title":311,"description":454,"meta":455,"path":312},"Build a custom HTML renderer in Nitro with server-side data fetching.",{"automd":406,"category":446,"icon":314},{"title":316,"description":457,"meta":458,"path":317},"Environment-aware configuration with runtime access.",{"automd":406,"category":411,"icon":319},{"title":321,"description":460,"meta":461,"path":322},"Internal server-to-server requests without network overhead.",{"automd":406,"category":407,"icon":324},{"title":326,"description":463,"meta":464,"path":327},"Server-side syntax highlighting in Nitro with Shiki.",{"automd":406,"category":465,"icon":329},"integrations",{"title":331,"description":467,"meta":468,"path":332},"Define routes programmatically using Nitro's virtual module system.",{"automd":406,"category":407,"icon":334},{"title":336,"description":470,"meta":471,"path":337},"Use Nitro as a Vite plugin for programmatic configuration.",{"automd":406,"category":472,"icon":339},"vite",{"title":341,"description":474,"meta":475,"path":342},"React Server Components with Vite and Nitro.",{"automd":406,"category":472,"icon":344},{"title":346,"description":477,"meta":478,"path":347},"Server-side rendering with vanilla HTML, Vite, and Nitro.",{"automd":406,"category":446,"icon":349},{"title":351,"description":480,"meta":481,"path":352},"Server-side rendering with Preact in Nitro using Vite.",{"automd":406,"category":446,"icon":354},{"title":356,"description":483,"meta":484,"path":357},"Server-side rendering with React in Nitro using Vite.",{"automd":406,"category":446,"icon":344},{"title":360,"description":486,"meta":487,"path":361},"Server-side rendering with SolidJS in Nitro using Vite.",{"automd":406,"category":446,"icon":363},{"title":365,"description":489,"meta":490,"path":366},"Client-side routing with TanStack Router in Nitro using Vite.",{"automd":406,"category":446,"icon":368},{"title":370,"description":492,"meta":493,"path":371},"Full-stack React with TanStack Start in Nitro using Vite.",{"automd":406,"category":446,"icon":368},{"title":374,"description":495,"meta":496,"path":375},"Server-side rendering with Vue Router in Nitro using Vite.",{"automd":406,"category":446,"icon":377},{"title":379,"description":498,"meta":499,"path":380},"End-to-end typesafe APIs with tRPC in Nitro using Vite.",{"automd":406,"category":472,"icon":382},{"title":63,"description":501,"meta":502,"path":384},"Real-time bidirectional communication with WebSocket support.",{"automd":406,"category":407,"icon":386},{"id":504,"title":289,"body":505,"description":438,"extension":1339,"meta":1340,"navigation":1341,"path":290,"seo":1342,"stem":291,"__hash__":1343},"content\u002F4.examples\u002Fimport-alias.md",{"type":506,"value":507,"toc":1334,"icon":292},"minimark",[508,1143,1155,1160,1286,1306,1309,1318,1322,1330],[509,510,513,586,716,779,838,996],"code-tree",{":expand-all":511,"default-value":512},"true","server\u002Froutes\u002Findex.ts",[514,515,520],"pre",{"className":516,"code":517,"filename":518,"language":519,"meta":5,"style":5},"language-ts shiki shiki-themes github-light github-dark github-dark","import { defineConfig } from \"nitro\";\n\nexport default defineConfig({\n  serverDir: true,\n});\n","nitro.config.ts","ts",[521,522,523,546,552,568,580],"code",{"__ignoreMap":5},[524,525,528,532,536,539,543],"span",{"class":526,"line":527},"line",1,[524,529,531],{"class":530},"so5gQ","import",[524,533,535],{"class":534},"slsVL"," { defineConfig } ",[524,537,538],{"class":530},"from",[524,540,542],{"class":541},"sfrk1"," \"nitro\"",[524,544,545],{"class":534},";\n",[524,547,549],{"class":526,"line":548},2,[524,550,551],{"emptyLinePlaceholder":406},"\n",[524,553,555,558,561,565],{"class":526,"line":554},3,[524,556,557],{"class":530},"export",[524,559,560],{"class":530}," default",[524,562,564],{"class":563},"shcOC"," defineConfig",[524,566,567],{"class":534},"({\n",[524,569,571,574,577],{"class":526,"line":570},4,[524,572,573],{"class":534},"  serverDir: ",[524,575,511],{"class":576},"suiK_",[524,578,579],{"class":534},",\n",[524,581,583],{"class":526,"line":582},5,[524,584,585],{"class":534},"});\n",[514,587,592],{"className":588,"code":589,"filename":590,"language":591,"meta":5,"style":5},"language-json shiki shiki-themes github-light github-dark github-dark","{\n  \"type\": \"module\",\n  \"imports\": {\n    \"#server\u002F*\": \".\u002Fserver\u002F*\"\n  },\n  \"scripts\": {\n    \"build\": \"nitro build\",\n    \"dev\": \"nitro dev\",\n    \"preview\": \"node .output\u002Fserver\u002Findex.mjs\"\n  },\n  \"devDependencies\": {\n    \"nitro\": \"latest\"\n  }\n}\n","package.json","json",[521,593,594,599,612,620,630,635,643,656,669,680,685,693,704,710],{"__ignoreMap":5},[524,595,596],{"class":526,"line":527},[524,597,598],{"class":534},"{\n",[524,600,601,604,607,610],{"class":526,"line":548},[524,602,603],{"class":576},"  \"type\"",[524,605,606],{"class":534},": ",[524,608,609],{"class":541},"\"module\"",[524,611,579],{"class":534},[524,613,614,617],{"class":526,"line":554},[524,615,616],{"class":576},"  \"imports\"",[524,618,619],{"class":534},": {\n",[524,621,622,625,627],{"class":526,"line":570},[524,623,624],{"class":576},"    \"#server\u002F*\"",[524,626,606],{"class":534},[524,628,629],{"class":541},"\".\u002Fserver\u002F*\"\n",[524,631,632],{"class":526,"line":582},[524,633,634],{"class":534},"  },\n",[524,636,638,641],{"class":526,"line":637},6,[524,639,640],{"class":576},"  \"scripts\"",[524,642,619],{"class":534},[524,644,646,649,651,654],{"class":526,"line":645},7,[524,647,648],{"class":576},"    \"build\"",[524,650,606],{"class":534},[524,652,653],{"class":541},"\"nitro build\"",[524,655,579],{"class":534},[524,657,659,662,664,667],{"class":526,"line":658},8,[524,660,661],{"class":576},"    \"dev\"",[524,663,606],{"class":534},[524,665,666],{"class":541},"\"nitro dev\"",[524,668,579],{"class":534},[524,670,672,675,677],{"class":526,"line":671},9,[524,673,674],{"class":576},"    \"preview\"",[524,676,606],{"class":534},[524,678,679],{"class":541},"\"node .output\u002Fserver\u002Findex.mjs\"\n",[524,681,683],{"class":526,"line":682},10,[524,684,634],{"class":534},[524,686,688,691],{"class":526,"line":687},11,[524,689,690],{"class":576},"  \"devDependencies\"",[524,692,619],{"class":534},[524,694,696,699,701],{"class":526,"line":695},12,[524,697,698],{"class":576},"    \"nitro\"",[524,700,606],{"class":534},[524,702,703],{"class":541},"\"latest\"\n",[524,705,707],{"class":526,"line":706},13,[524,708,709],{"class":534},"  }\n",[524,711,713],{"class":526,"line":712},14,[524,714,715],{"class":534},"}\n",[514,717,720],{"className":588,"code":718,"filename":719,"language":591,"meta":5,"style":5},"{\n  \"extends\": \"nitro\u002Ftsconfig\",\n  \"compilerOptions\": {\n    \"paths\": {\n      \"~server\u002F*\": [\".\u002Fserver\u002F*\"]\n    }\n  }\n}\n","tsconfig.json",[521,721,722,726,738,745,752,766,771,775],{"__ignoreMap":5},[524,723,724],{"class":526,"line":527},[524,725,598],{"class":534},[524,727,728,731,733,736],{"class":526,"line":548},[524,729,730],{"class":576},"  \"extends\"",[524,732,606],{"class":534},[524,734,735],{"class":541},"\"nitro\u002Ftsconfig\"",[524,737,579],{"class":534},[524,739,740,743],{"class":526,"line":554},[524,741,742],{"class":576},"  \"compilerOptions\"",[524,744,619],{"class":534},[524,746,747,750],{"class":526,"line":570},[524,748,749],{"class":576},"    \"paths\"",[524,751,619],{"class":534},[524,753,754,757,760,763],{"class":526,"line":582},[524,755,756],{"class":576},"      \"~server\u002F*\"",[524,758,759],{"class":534},": [",[524,761,762],{"class":541},"\".\u002Fserver\u002F*\"",[524,764,765],{"class":534},"]\n",[524,767,768],{"class":526,"line":637},[524,769,770],{"class":534},"    }\n",[524,772,773],{"class":526,"line":645},[524,774,709],{"class":534},[524,776,777],{"class":526,"line":658},[524,778,715],{"class":534},[514,780,783],{"className":516,"code":781,"filename":782,"language":519,"meta":5,"style":5},"import { defineConfig } from \"vite\";\nimport { nitro } from \"nitro\u002Fvite\";\n\nexport default defineConfig({ plugins: [nitro()], resolve: { tsconfigPaths: true } });\n","vite.config.ts",[521,784,785,798,812,816],{"__ignoreMap":5},[524,786,787,789,791,793,796],{"class":526,"line":527},[524,788,531],{"class":530},[524,790,535],{"class":534},[524,792,538],{"class":530},[524,794,795],{"class":541}," \"vite\"",[524,797,545],{"class":534},[524,799,800,802,805,807,810],{"class":526,"line":548},[524,801,531],{"class":530},[524,803,804],{"class":534}," { nitro } ",[524,806,538],{"class":530},[524,808,809],{"class":541}," \"nitro\u002Fvite\"",[524,811,545],{"class":534},[524,813,814],{"class":526,"line":554},[524,815,551],{"emptyLinePlaceholder":406},[524,817,818,820,822,824,827,830,833,835],{"class":526,"line":570},[524,819,557],{"class":530},[524,821,560],{"class":530},[524,823,564],{"class":563},[524,825,826],{"class":534},"({ plugins: [",[524,828,829],{"class":563},"nitro",[524,831,832],{"class":534},"()], resolve: { tsconfigPaths: ",[524,834,511],{"class":576},[524,836,837],{"class":534}," } });\n",[514,839,841],{"className":516,"code":840,"filename":512,"language":519,"meta":5,"style":5},"import { sum } from \"~server\u002Futils\u002Fmath.ts\";\n\nimport { rand } from \"#server\u002Futils\u002Fmath.ts\";\n\nexport default () => {\n  const [a, b] = [rand(1, 10), rand(1, 10)];\n  const result = sum(a, b);\n  return `The sum of ${a} + ${b} = ${result}`;\n};\n",[521,842,843,857,861,875,879,894,949,965,991],{"__ignoreMap":5},[524,844,845,847,850,852,855],{"class":526,"line":527},[524,846,531],{"class":530},[524,848,849],{"class":534}," { sum } ",[524,851,538],{"class":530},[524,853,854],{"class":541}," \"~server\u002Futils\u002Fmath.ts\"",[524,856,545],{"class":534},[524,858,859],{"class":526,"line":548},[524,860,551],{"emptyLinePlaceholder":406},[524,862,863,865,868,870,873],{"class":526,"line":554},[524,864,531],{"class":530},[524,866,867],{"class":534}," { rand } ",[524,869,538],{"class":530},[524,871,872],{"class":541}," \"#server\u002Futils\u002Fmath.ts\"",[524,874,545],{"class":534},[524,876,877],{"class":526,"line":570},[524,878,551],{"emptyLinePlaceholder":406},[524,880,881,883,885,888,891],{"class":526,"line":582},[524,882,557],{"class":530},[524,884,560],{"class":530},[524,886,887],{"class":534}," () ",[524,889,890],{"class":530},"=>",[524,892,893],{"class":534}," {\n",[524,895,896,899,902,905,908,911,914,917,919,922,925,928,930,933,936,938,940,942,944,946],{"class":526,"line":637},[524,897,898],{"class":530},"  const",[524,900,901],{"class":534}," [",[524,903,904],{"class":576},"a",[524,906,907],{"class":534},", ",[524,909,910],{"class":576},"b",[524,912,913],{"class":534},"] ",[524,915,916],{"class":530},"=",[524,918,901],{"class":534},[524,920,921],{"class":563},"rand",[524,923,924],{"class":534},"(",[524,926,927],{"class":576},"1",[524,929,907],{"class":534},[524,931,932],{"class":576},"10",[524,934,935],{"class":534},"), ",[524,937,921],{"class":563},[524,939,924],{"class":534},[524,941,927],{"class":576},[524,943,907],{"class":534},[524,945,932],{"class":576},[524,947,948],{"class":534},")];\n",[524,950,951,953,956,959,962],{"class":526,"line":645},[524,952,898],{"class":530},[524,954,955],{"class":576}," result",[524,957,958],{"class":530}," =",[524,960,961],{"class":563}," sum",[524,963,964],{"class":534},"(a, b);\n",[524,966,967,970,973,975,978,980,983,986,989],{"class":526,"line":658},[524,968,969],{"class":530},"  return",[524,971,972],{"class":541}," `The sum of ${",[524,974,904],{"class":534},[524,976,977],{"class":541},"} + ${",[524,979,910],{"class":534},[524,981,982],{"class":541},"} = ${",[524,984,985],{"class":534},"result",[524,987,988],{"class":541},"}`",[524,990,545],{"class":534},[524,992,993],{"class":526,"line":671},[524,994,995],{"class":534},"};\n",[514,997,1000],{"className":516,"code":998,"filename":999,"language":519,"meta":5,"style":5},"export function rand(min: number, max: number): number {\n  return Math.floor(Math.random() * (max - min + 1)) + min;\n}\n\nexport function sum(a: number, b: number): number {\n  return a + b;\n}\n","server\u002Futils\u002Fmath.ts",[521,1001,1002,1042,1087,1091,1095,1127,1139],{"__ignoreMap":5},[524,1003,1004,1006,1009,1012,1014,1018,1021,1024,1026,1029,1031,1033,1036,1038,1040],{"class":526,"line":527},[524,1005,557],{"class":530},[524,1007,1008],{"class":530}," function",[524,1010,1011],{"class":563}," rand",[524,1013,924],{"class":534},[524,1015,1017],{"class":1016},"sQHwn","min",[524,1019,1020],{"class":530},":",[524,1022,1023],{"class":576}," number",[524,1025,907],{"class":534},[524,1027,1028],{"class":1016},"max",[524,1030,1020],{"class":530},[524,1032,1023],{"class":576},[524,1034,1035],{"class":534},")",[524,1037,1020],{"class":530},[524,1039,1023],{"class":576},[524,1041,893],{"class":534},[524,1043,1044,1046,1049,1052,1055,1058,1061,1064,1067,1070,1073,1076,1079,1082,1084],{"class":526,"line":548},[524,1045,969],{"class":530},[524,1047,1048],{"class":534}," Math.",[524,1050,1051],{"class":563},"floor",[524,1053,1054],{"class":534},"(Math.",[524,1056,1057],{"class":563},"random",[524,1059,1060],{"class":534},"() ",[524,1062,1063],{"class":530},"*",[524,1065,1066],{"class":534}," (max ",[524,1068,1069],{"class":530},"-",[524,1071,1072],{"class":534}," min ",[524,1074,1075],{"class":530},"+",[524,1077,1078],{"class":576}," 1",[524,1080,1081],{"class":534},")) ",[524,1083,1075],{"class":530},[524,1085,1086],{"class":534}," min;\n",[524,1088,1089],{"class":526,"line":554},[524,1090,715],{"class":534},[524,1092,1093],{"class":526,"line":570},[524,1094,551],{"emptyLinePlaceholder":406},[524,1096,1097,1099,1101,1103,1105,1107,1109,1111,1113,1115,1117,1119,1121,1123,1125],{"class":526,"line":582},[524,1098,557],{"class":530},[524,1100,1008],{"class":530},[524,1102,961],{"class":563},[524,1104,924],{"class":534},[524,1106,904],{"class":1016},[524,1108,1020],{"class":530},[524,1110,1023],{"class":576},[524,1112,907],{"class":534},[524,1114,910],{"class":1016},[524,1116,1020],{"class":530},[524,1118,1023],{"class":576},[524,1120,1035],{"class":534},[524,1122,1020],{"class":530},[524,1124,1023],{"class":576},[524,1126,893],{"class":534},[524,1128,1129,1131,1134,1136],{"class":526,"line":637},[524,1130,969],{"class":530},[524,1132,1133],{"class":534}," a ",[524,1135,1075],{"class":530},[524,1137,1138],{"class":534}," b;\n",[524,1140,1141],{"class":526,"line":645},[524,1142,715],{"class":534},[1144,1145,1146,1147,1150,1151,1154],"p",{},"Import aliases like ",[521,1148,1149],{},"~"," and ",[521,1152,1153],{},"#"," let you reference modules with shorter paths instead of relative imports.",[1156,1157,1159],"h2",{"id":1158},"importing-using-aliases","Importing Using Aliases",[514,1161,1162],{"className":516,"code":840,"filename":512,"language":519,"meta":5,"style":5},[521,1163,1164,1176,1180,1192,1196,1208,1250,1262,1282],{"__ignoreMap":5},[524,1165,1166,1168,1170,1172,1174],{"class":526,"line":527},[524,1167,531],{"class":530},[524,1169,849],{"class":534},[524,1171,538],{"class":530},[524,1173,854],{"class":541},[524,1175,545],{"class":534},[524,1177,1178],{"class":526,"line":548},[524,1179,551],{"emptyLinePlaceholder":406},[524,1181,1182,1184,1186,1188,1190],{"class":526,"line":554},[524,1183,531],{"class":530},[524,1185,867],{"class":534},[524,1187,538],{"class":530},[524,1189,872],{"class":541},[524,1191,545],{"class":534},[524,1193,1194],{"class":526,"line":570},[524,1195,551],{"emptyLinePlaceholder":406},[524,1197,1198,1200,1202,1204,1206],{"class":526,"line":582},[524,1199,557],{"class":530},[524,1201,560],{"class":530},[524,1203,887],{"class":534},[524,1205,890],{"class":530},[524,1207,893],{"class":534},[524,1209,1210,1212,1214,1216,1218,1220,1222,1224,1226,1228,1230,1232,1234,1236,1238,1240,1242,1244,1246,1248],{"class":526,"line":637},[524,1211,898],{"class":530},[524,1213,901],{"class":534},[524,1215,904],{"class":576},[524,1217,907],{"class":534},[524,1219,910],{"class":576},[524,1221,913],{"class":534},[524,1223,916],{"class":530},[524,1225,901],{"class":534},[524,1227,921],{"class":563},[524,1229,924],{"class":534},[524,1231,927],{"class":576},[524,1233,907],{"class":534},[524,1235,932],{"class":576},[524,1237,935],{"class":534},[524,1239,921],{"class":563},[524,1241,924],{"class":534},[524,1243,927],{"class":576},[524,1245,907],{"class":534},[524,1247,932],{"class":576},[524,1249,948],{"class":534},[524,1251,1252,1254,1256,1258,1260],{"class":526,"line":645},[524,1253,898],{"class":530},[524,1255,955],{"class":576},[524,1257,958],{"class":530},[524,1259,961],{"class":563},[524,1261,964],{"class":534},[524,1263,1264,1266,1268,1270,1272,1274,1276,1278,1280],{"class":526,"line":658},[524,1265,969],{"class":530},[524,1267,972],{"class":541},[524,1269,904],{"class":534},[524,1271,977],{"class":541},[524,1273,910],{"class":534},[524,1275,982],{"class":541},[524,1277,985],{"class":534},[524,1279,988],{"class":541},[524,1281,545],{"class":534},[524,1283,1284],{"class":526,"line":671},[524,1285,995],{"class":534},[1144,1287,1288,1289,1292,1293,1150,1296,1298,1299,1302,1303,1305],{},"The route imports the ",[521,1290,1291],{},"sum"," function using ",[521,1294,1295],{},"~server\u002F",[521,1297,921],{}," using ",[521,1300,1301],{},"#server\u002F",". Both resolve to the same ",[521,1304,999],{}," file. The handler generates two random numbers and returns their sum.",[1156,1307,33],{"id":1308},"configuration",[1144,1310,1311,1312,1314,1315,1317],{},"Aliases can be configured in ",[521,1313,590],{}," imports field or ",[521,1316,518],{},".",[1156,1319,1321],{"id":1320},"learn-more","Learn More",[1323,1324,1325],"ul",{},[1326,1327,1328],"li",{},[904,1329,33],{"href":34},[1331,1332,1333],"style",{},"html pre.shiki code .so5gQ, html code.shiki .so5gQ{--shiki-light:#D73A49;--shiki-default:#F97583;--shiki-dark:#F97583}html pre.shiki code .slsVL, html code.shiki .slsVL{--shiki-light:#24292E;--shiki-default:#E1E4E8;--shiki-dark:#E1E4E8}html pre.shiki code .sfrk1, html code.shiki .sfrk1{--shiki-light:#032F62;--shiki-default:#9ECBFF;--shiki-dark:#9ECBFF}html pre.shiki code .shcOC, html code.shiki .shcOC{--shiki-light:#6F42C1;--shiki-default:#B392F0;--shiki-dark:#B392F0}html pre.shiki code .suiK_, html code.shiki .suiK_{--shiki-light:#005CC5;--shiki-default:#79B8FF;--shiki-dark:#79B8FF}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 .sQHwn, html code.shiki .sQHwn{--shiki-light:#E36209;--shiki-default:#FFAB70;--shiki-dark:#FFAB70}",{"title":5,"searchDepth":548,"depth":548,"links":1335},[1336,1337,1338],{"id":1158,"depth":548,"text":1159},{"id":1308,"depth":548,"text":33},{"id":1320,"depth":548,"text":1321},"md",{"automd":406,"category":411,"icon":292},{"icon":292},{"title":289,"description":438},"wPBoDjdYMdPRwnjPGZeFdX2LvwYVTbOiOsvlsPNkP_g",[1345,1346],{"title":284,"path":285,"stem":286,"description":435,"icon":287,"children":-1},{"title":294,"path":295,"stem":296,"description":441,"icon":46,"children":-1},1776859216856]