[{"data":1,"prerenderedAt":1873},["ShallowReactive",2],{"navigation":3,"-docs-configuration":445,"-docs-configuration-surround":1869},[4,123,260,266,430,442],{"title":5,"path":6,"stem":7,"children":8,"icon":122},"","\u002Fdocs","1.docs\u002F1.index",[9,12,17,22,27,32,37,42,47,52,57,62,67,72,77,82,87,92,97,102,107,112,117],{"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},"Prerendering","\u002Fdocs\u002Fprerendering","1.docs\u002F50.prerendering","ri:file-copy-2-line",{"title":63,"path":64,"stem":65,"icon":66},"Tasks","\u002Fdocs\u002Ftasks","1.docs\u002F50.tasks","codicon:run-all",{"title":68,"path":69,"stem":70,"icon":71},"WebSocket","\u002Fdocs\u002Fwebsocket","1.docs\u002F50.websocket","ri:broadcast-fill",{"title":73,"path":74,"stem":75,"icon":76},"Modules","\u002Fdocs\u002Fmodules","1.docs\u002F55.modules","i-lucide-puzzle",{"title":78,"path":79,"stem":80,"icon":81},"Server Entry","\u002Fdocs\u002Fserver-entry","1.docs\u002F6.server-entry","ri:server-line",{"title":83,"path":84,"stem":85,"icon":86},"CLI","\u002Fdocs\u002Fcli","1.docs\u002F60.cli","i-lucide-terminal",{"title":88,"path":89,"stem":90,"icon":91},"Vite","\u002Fdocs\u002Fvite","1.docs\u002F61.vite","i-logos-vitejs",{"title":93,"path":94,"stem":95,"icon":96},"Utils","\u002Fdocs\u002Futils","1.docs\u002F62.utils","i-lucide-braces",{"title":98,"path":99,"stem":100,"icon":101},"TypeScript","\u002Fdocs\u002Ftypescript","1.docs\u002F63.typescript","i-logos-typescript-icon",{"title":103,"path":104,"stem":105,"icon":106},"Cache","\u002Fdocs\u002Fcache","1.docs\u002F7.cache","ri:speed-line",{"title":108,"path":109,"stem":110,"icon":111},"KV Storage","\u002Fdocs\u002Fstorage","1.docs\u002F8.storage","carbon:datastore",{"title":113,"path":114,"stem":115,"icon":116},"Migration Guide","\u002Fdocs\u002Fmigration","1.docs\u002F99.migration","ri:arrow-right-up-line",{"title":118,"path":119,"stem":120,"icon":121},"Nightly Channel","\u002Fdocs\u002Fnightly","1.docs\u002F99.nightly","ri:moon-fill","i-lucide-book-open",{"title":124,"path":125,"stem":126,"children":127,"icon":129},"Deploy","\u002Fdeploy","2.deploy\u002F0.index",[128,130,155],{"title":124,"path":125,"stem":126,"icon":129},"ri:upload-cloud-2-line",{"title":131,"path":132,"stem":133,"children":134,"page":154},"Runtimes","\u002Fdeploy\u002Fruntimes","2.deploy\u002F10.runtimes",[135,140,145,150],{"title":136,"path":137,"stem":138,"icon":139},"Node.js","\u002Fdeploy\u002Fruntimes\u002Fnode","2.deploy\u002F10.runtimes\u002F1.node","akar-icons:node-fill",{"title":141,"path":142,"stem":143,"icon":144},"Bun","\u002Fdeploy\u002Fruntimes\u002Fbun","2.deploy\u002F10.runtimes\u002Fbun","simple-icons:bun",{"title":146,"path":147,"stem":148,"icon":149},"Deno","\u002Fdeploy\u002Fruntimes\u002Fdeno","2.deploy\u002F10.runtimes\u002Fdeno","simple-icons:deno",{"title":151,"path":152,"stem":153},"Standard","\u002Fdeploy\u002Fruntimes\u002Fstandard","2.deploy\u002F10.runtimes\u002Fstandard",false,{"title":156,"path":157,"stem":158,"children":159,"page":154},"Providers","\u002Fdeploy\u002Fproviders","2.deploy\u002F20.providers",[160,164,168,172,176,180,184,188,192,196,200,204,208,212,216,220,224,228,232,236,240,244,248,252,256],{"title":161,"path":162,"stem":163},"Alwaysdata","\u002Fdeploy\u002Fproviders\u002Falwaysdata","2.deploy\u002F20.providers\u002Falwaysdata",{"title":165,"path":166,"stem":167},"AWS Lambda","\u002Fdeploy\u002Fproviders\u002Faws","2.deploy\u002F20.providers\u002Faws",{"title":169,"path":170,"stem":171},"AWS Amplify","\u002Fdeploy\u002Fproviders\u002Faws-amplify","2.deploy\u002F20.providers\u002Faws-amplify",{"title":173,"path":174,"stem":175},"Azure","\u002Fdeploy\u002Fproviders\u002Fazure","2.deploy\u002F20.providers\u002Fazure",{"title":177,"path":178,"stem":179},"Cleavr","\u002Fdeploy\u002Fproviders\u002Fcleavr","2.deploy\u002F20.providers\u002Fcleavr",{"title":181,"path":182,"stem":183},"Cloudflare","\u002Fdeploy\u002Fproviders\u002Fcloudflare","2.deploy\u002F20.providers\u002Fcloudflare",{"title":185,"path":186,"stem":187},"Deno Deploy","\u002Fdeploy\u002Fproviders\u002Fdeno-deploy","2.deploy\u002F20.providers\u002Fdeno-deploy",{"title":189,"path":190,"stem":191},"DigitalOcean","\u002Fdeploy\u002Fproviders\u002Fdigitalocean","2.deploy\u002F20.providers\u002Fdigitalocean",{"title":193,"path":194,"stem":195},"EdgeOne Pages","\u002Fdeploy\u002Fproviders\u002Fedgeone","2.deploy\u002F20.providers\u002Fedgeone",{"title":197,"path":198,"stem":199},"Firebase","\u002Fdeploy\u002Fproviders\u002Ffirebase","2.deploy\u002F20.providers\u002Ffirebase",{"title":201,"path":202,"stem":203},"Flightcontrol","\u002Fdeploy\u002Fproviders\u002Fflightcontrol","2.deploy\u002F20.providers\u002Fflightcontrol",{"title":205,"path":206,"stem":207},"Genezio","\u002Fdeploy\u002Fproviders\u002Fgenezio","2.deploy\u002F20.providers\u002Fgenezio",{"title":209,"path":210,"stem":211},"GitHub Pages","\u002Fdeploy\u002Fproviders\u002Fgithub-pages","2.deploy\u002F20.providers\u002Fgithub-pages",{"title":213,"path":214,"stem":215},"GitLab Pages","\u002Fdeploy\u002Fproviders\u002Fgitlab-pages","2.deploy\u002F20.providers\u002Fgitlab-pages",{"title":217,"path":218,"stem":219},"Heroku","\u002Fdeploy\u002Fproviders\u002Fheroku","2.deploy\u002F20.providers\u002Fheroku",{"title":221,"path":222,"stem":223},"IIS","\u002Fdeploy\u002Fproviders\u002Fiis","2.deploy\u002F20.providers\u002Fiis",{"title":225,"path":226,"stem":227},"Koyeb","\u002Fdeploy\u002Fproviders\u002Fkoyeb","2.deploy\u002F20.providers\u002Fkoyeb",{"title":229,"path":230,"stem":231},"Netlify","\u002Fdeploy\u002Fproviders\u002Fnetlify","2.deploy\u002F20.providers\u002Fnetlify",{"title":233,"path":234,"stem":235},"Platform.sh","\u002Fdeploy\u002Fproviders\u002Fplatform-sh","2.deploy\u002F20.providers\u002Fplatform-sh",{"title":237,"path":238,"stem":239},"Render.com","\u002Fdeploy\u002Fproviders\u002Frender","2.deploy\u002F20.providers\u002Frender",{"title":241,"path":242,"stem":243},"Stormkit","\u002Fdeploy\u002Fproviders\u002Fstormkit","2.deploy\u002F20.providers\u002Fstormkit",{"title":245,"path":246,"stem":247},"Vercel","\u002Fdeploy\u002Fproviders\u002Fvercel","2.deploy\u002F20.providers\u002Fvercel",{"title":249,"path":250,"stem":251},"Zeabur","\u002Fdeploy\u002Fproviders\u002Fzeabur","2.deploy\u002F20.providers\u002Fzeabur",{"title":253,"path":254,"stem":255},"Zephyr Cloud","\u002Fdeploy\u002Fproviders\u002Fzephyr","2.deploy\u002F20.providers\u002Fzephyr",{"title":257,"path":258,"stem":259},"Zerops","\u002Fdeploy\u002Fproviders\u002Fzerops","2.deploy\u002F20.providers\u002Fzerops",{"title":261,"path":262,"stem":263,"children":264,"icon":36},"Config","\u002Fconfig","3.config\u002F0.index",[265],{"title":261,"path":262,"stem":263,"icon":36},{"title":267,"path":268,"stem":269,"children":270,"icon":272},"Examples","\u002Fexamples","4.examples\u002F0.index",[271,273,278,283,288,293,297,302,307,312,317,322,327,331,336,340,344,349,354,359,364,369,374,379,383,388,393,398,402,407,412,416,421,426],{"title":267,"path":268,"stem":269,"icon":272},"i-lucide-folder-code",{"title":274,"path":275,"stem":276,"icon":277},"API Routes","\u002Fexamples\u002Fapi-routes","4.examples\u002Fapi-routes","i-lucide-route",{"title":279,"path":280,"stem":281,"icon":282},"Auto Imports","\u002Fexamples\u002Fauto-imports","4.examples\u002Fauto-imports","i-lucide-import",{"title":284,"path":285,"stem":286,"icon":287},"Cached Handler","\u002Fexamples\u002Fcached-handler","4.examples\u002Fcached-handler","i-lucide-clock",{"title":289,"path":290,"stem":291,"icon":292},"Custom Error Handler","\u002Fexamples\u002Fcustom-error-handler","4.examples\u002Fcustom-error-handler","i-lucide-alert-circle",{"title":38,"path":294,"stem":295,"icon":296},"\u002Fexamples\u002Fdatabase","4.examples\u002Fdatabase","i-lucide-database",{"title":298,"path":299,"stem":300,"icon":301},"Elysia","\u002Fexamples\u002Felysia","4.examples\u002Felysia","i-skill-icons-elysia-dark",{"title":303,"path":304,"stem":305,"icon":306},"Express","\u002Fexamples\u002Fexpress","4.examples\u002Fexpress","i-simple-icons-express",{"title":308,"path":309,"stem":310,"icon":311},"Fastify","\u002Fexamples\u002Ffastify","4.examples\u002Ffastify","i-simple-icons-fastify",{"title":313,"path":314,"stem":315,"icon":316},"Hello World","\u002Fexamples\u002Fhello-world","4.examples\u002Fhello-world","i-lucide-sparkles",{"title":318,"path":319,"stem":320,"icon":321},"Hono","\u002Fexamples\u002Fhono","4.examples\u002Fhono","i-logos-hono",{"title":323,"path":324,"stem":325,"icon":326},"Import Alias","\u002Fexamples\u002Fimport-alias","4.examples\u002Fimport-alias","i-lucide-at-sign",{"title":328,"path":329,"stem":330,"icon":46},"Middleware","\u002Fexamples\u002Fmiddleware","4.examples\u002Fmiddleware",{"title":332,"path":333,"stem":334,"icon":335},"Mono JSX","\u002Fexamples\u002Fmono-jsx","4.examples\u002Fmono-jsx","i-lucide-brackets",{"title":337,"path":338,"stem":339,"icon":335},"Nano JSX","\u002Fexamples\u002Fnano-jsx","4.examples\u002Fnano-jsx",{"title":53,"path":341,"stem":342,"icon":343},"\u002Fexamples\u002Fplugins","4.examples\u002Fplugins","i-lucide-plug",{"title":345,"path":346,"stem":347,"icon":348},"Custom Renderer","\u002Fexamples\u002Frenderer","4.examples\u002Frenderer","i-lucide-code",{"title":350,"path":351,"stem":352,"icon":353},"Runtime Config","\u002Fexamples\u002Fruntime-config","4.examples\u002Fruntime-config","i-lucide-settings",{"title":355,"path":356,"stem":357,"icon":358},"Server Fetch","\u002Fexamples\u002Fserver-fetch","4.examples\u002Fserver-fetch","i-lucide-arrow-right-left",{"title":360,"path":361,"stem":362,"icon":363},"Shiki","\u002Fexamples\u002Fshiki","4.examples\u002Fshiki","i-lucide-highlighter",{"title":365,"path":366,"stem":367,"icon":368},"Takumi","\u002Fexamples\u002Ftakumi","4.examples\u002Ftakumi","i-lucide-image",{"title":370,"path":371,"stem":372,"icon":373},"Tracing","\u002Fexamples\u002Ftracing","4.examples\u002Ftracing","i-lucide-activity",{"title":375,"path":376,"stem":377,"icon":378},"Virtual Routes","\u002Fexamples\u002Fvirtual-routes","4.examples\u002Fvirtual-routes","i-lucide-box",{"title":380,"path":381,"stem":382,"icon":91},"Vite Nitro Plugin","\u002Fexamples\u002Fvite-nitro-plugin","4.examples\u002Fvite-nitro-plugin",{"title":384,"path":385,"stem":386,"icon":387},"Vite RSC","\u002Fexamples\u002Fvite-rsc","4.examples\u002Fvite-rsc","i-logos-react",{"title":389,"path":390,"stem":391,"icon":392},"Vite SSR HTML","\u002Fexamples\u002Fvite-ssr-html","4.examples\u002Fvite-ssr-html","i-logos-html-5",{"title":394,"path":395,"stem":396,"icon":397},"SSR with Preact","\u002Fexamples\u002Fvite-ssr-preact","4.examples\u002Fvite-ssr-preact","i-logos-preact",{"title":399,"path":400,"stem":401,"icon":387},"SSR with React","\u002Fexamples\u002Fvite-ssr-react","4.examples\u002Fvite-ssr-react",{"title":403,"path":404,"stem":405,"icon":406},"SSR with SolidJS","\u002Fexamples\u002Fvite-ssr-solid","4.examples\u002Fvite-ssr-solid","i-logos-solidjs-icon",{"title":408,"path":409,"stem":410,"icon":411},"SSR with TanStack Router","\u002Fexamples\u002Fvite-ssr-tsr-react","4.examples\u002Fvite-ssr-tsr-react","i-simple-icons-tanstack",{"title":413,"path":414,"stem":415,"icon":411},"SSR with TanStack Start","\u002Fexamples\u002Fvite-ssr-tss-react","4.examples\u002Fvite-ssr-tss-react",{"title":417,"path":418,"stem":419,"icon":420},"SSR with Vue Router","\u002Fexamples\u002Fvite-ssr-vue-router","4.examples\u002Fvite-ssr-vue-router","i-logos-vue",{"title":422,"path":423,"stem":424,"icon":425},"Vite + tRPC","\u002Fexamples\u002Fvite-trpc","4.examples\u002Fvite-trpc","i-simple-icons-trpc",{"title":68,"path":427,"stem":428,"icon":429},"\u002Fexamples\u002Fwebsocket","4.examples\u002Fwebsocket","i-lucide-radio",{"title":431,"path":432,"stem":433,"children":434},"Blog","\u002Fblog","9.blog",[435,438],{"title":431,"path":432,"stem":436,"icon":437},"9.blog\u002Findex","i-lucide-file-text",{"title":439,"path":440,"stem":441,"icon":437},"Nitro v3 Beta is here!","\u002Fblog\u002Fv3-beta","9.blog\u002F1.v3-beta",{"title":5,"path":443,"stem":444},"\u002F","index",{"id":446,"title":33,"body":447,"description":1863,"extension":1864,"meta":1865,"navigation":1866,"path":34,"seo":1867,"stem":35,"__hash__":1868},"content\u002F1.docs\u002F50.configuration.md",{"type":448,"value":449,"toc":1845,"icon":36},"minimark",[450,462,467,483,638,655,660,675,772,789,793,800,845,852,861,865,868,989,1062,1075,1078,1082,1089,1179,1183,1186,1189,1247,1253,1333,1337,1348,1453,1462,1466,1469,1483,1487,1496,1502,1517,1531,1543,1553,1557,1560,1571,1583,1586,1612,1626,1630,1640,1710,1719,1734,1738,1745,1816,1831,1841],[451,452,453],"read-more",{"to":262},[454,455,456,457,461],"p",{},"See ",[458,459,460],"a",{"href":262},"config reference"," for available options.",[463,464,466],"h2",{"id":465},"config-file","Config file",[454,468,469,470,474,475,478,479,482],{},"You can customize Nitro with a configuration file. Depending on your setup, define options in ",[471,472,473],"code",{},"nitro.config.ts",", or under the ",[471,476,477],{},"nitro"," key in ",[471,480,481],{},"vite.config.ts"," when using the Vite plugin.",[484,485,486,553],"code-group",{},[487,488,492],"pre",{"className":489,"code":490,"filename":473,"language":491,"meta":5,"style":5},"language-ts shiki shiki-themes github-light github-dark github-dark","import { defineConfig } from \"nitro\";\n\nexport default defineConfig({\n  \u002F\u002F Nitro options\n})\n","ts",[471,493,494,517,524,540,547],{"__ignoreMap":5},[495,496,499,503,507,510,514],"span",{"class":497,"line":498},"line",1,[495,500,502],{"class":501},"so5gQ","import",[495,504,506],{"class":505},"slsVL"," { defineConfig } ",[495,508,509],{"class":501},"from",[495,511,513],{"class":512},"sfrk1"," \"nitro\"",[495,515,516],{"class":505},";\n",[495,518,520],{"class":497,"line":519},2,[495,521,523],{"emptyLinePlaceholder":522},true,"\n",[495,525,527,530,533,537],{"class":497,"line":526},3,[495,528,529],{"class":501},"export",[495,531,532],{"class":501}," default",[495,534,536],{"class":535},"shcOC"," defineConfig",[495,538,539],{"class":505},"({\n",[495,541,543],{"class":497,"line":542},4,[495,544,546],{"class":545},"sCsY4","  \u002F\u002F Nitro options\n",[495,548,550],{"class":497,"line":549},5,[495,551,552],{"class":505},"})\n",[487,554,556],{"className":489,"code":555,"filename":481,"language":491,"meta":5,"style":5},"import { defineConfig } from 'vite'\nimport { nitro } from 'nitro\u002Fvite'\n\nexport default defineConfig({\n  plugins: [\n    nitro()\n  ],\n  nitro: {\n    \u002F\u002F Nitro options\n  }\n})\n",[471,557,558,569,581,585,595,600,609,615,621,627,633],{"__ignoreMap":5},[495,559,560,562,564,566],{"class":497,"line":498},[495,561,502],{"class":501},[495,563,506],{"class":505},[495,565,509],{"class":501},[495,567,568],{"class":512}," 'vite'\n",[495,570,571,573,576,578],{"class":497,"line":519},[495,572,502],{"class":501},[495,574,575],{"class":505}," { nitro } ",[495,577,509],{"class":501},[495,579,580],{"class":512}," 'nitro\u002Fvite'\n",[495,582,583],{"class":497,"line":526},[495,584,523],{"emptyLinePlaceholder":522},[495,586,587,589,591,593],{"class":497,"line":542},[495,588,529],{"class":501},[495,590,532],{"class":501},[495,592,536],{"class":535},[495,594,539],{"class":505},[495,596,597],{"class":497,"line":549},[495,598,599],{"class":505},"  plugins: [\n",[495,601,603,606],{"class":497,"line":602},6,[495,604,605],{"class":535},"    nitro",[495,607,608],{"class":505},"()\n",[495,610,612],{"class":497,"line":611},7,[495,613,614],{"class":505},"  ],\n",[495,616,618],{"class":497,"line":617},8,[495,619,620],{"class":505},"  nitro: {\n",[495,622,624],{"class":497,"line":623},9,[495,625,626],{"class":545},"    \u002F\u002F Nitro options\n",[495,628,630],{"class":497,"line":629},10,[495,631,632],{"class":505},"  }\n",[495,634,636],{"class":497,"line":635},11,[495,637,552],{"class":505},[639,640,641],"tip",{},[454,642,643,644,650,651,654],{},"Nitro loads the configuration using ",[458,645,649],{"href":646,"rel":647},"https:\u002F\u002Fgithub.com\u002Funjs\u002Fc12",[648],"nofollow","c12",", giving more possibilities such as using a ",[471,652,653],{},".nitrorc"," file in the current working directory or in your home directory.",[656,657,659],"h3",{"id":658},"environment-specific-config","Environment-specific config",[454,661,662,663,666,667,670,671,674],{},"Using ",[458,664,649],{"href":646,"rel":665},[648]," conventions, you can provide environment-specific overrides using ",[471,668,669],{},"$development"," and ",[471,672,673],{},"$production"," keys:",[487,676,678],{"className":489,"code":677,"filename":473,"language":491,"meta":5,"style":5},"import { defineConfig } from \"nitro\";\n\nexport default defineConfig({\n  logLevel: 3,\n  $development: {\n    \u002F\u002F Options applied only in development mode\n    debug: true,\n  },\n  $production: {\n    \u002F\u002F Options applied only in production builds\n    minify: true,\n  },\n})\n",[471,679,680,692,696,706,718,723,728,738,743,748,753,762,767],{"__ignoreMap":5},[495,681,682,684,686,688,690],{"class":497,"line":498},[495,683,502],{"class":501},[495,685,506],{"class":505},[495,687,509],{"class":501},[495,689,513],{"class":512},[495,691,516],{"class":505},[495,693,694],{"class":497,"line":519},[495,695,523],{"emptyLinePlaceholder":522},[495,697,698,700,702,704],{"class":497,"line":526},[495,699,529],{"class":501},[495,701,532],{"class":501},[495,703,536],{"class":535},[495,705,539],{"class":505},[495,707,708,711,715],{"class":497,"line":542},[495,709,710],{"class":505},"  logLevel: ",[495,712,714],{"class":713},"suiK_","3",[495,716,717],{"class":505},",\n",[495,719,720],{"class":497,"line":549},[495,721,722],{"class":505},"  $development: {\n",[495,724,725],{"class":497,"line":602},[495,726,727],{"class":545},"    \u002F\u002F Options applied only in development mode\n",[495,729,730,733,736],{"class":497,"line":611},[495,731,732],{"class":505},"    debug: ",[495,734,735],{"class":713},"true",[495,737,717],{"class":505},[495,739,740],{"class":497,"line":617},[495,741,742],{"class":505},"  },\n",[495,744,745],{"class":497,"line":623},[495,746,747],{"class":505},"  $production: {\n",[495,749,750],{"class":497,"line":629},[495,751,752],{"class":545},"    \u002F\u002F Options applied only in production builds\n",[495,754,755,758,760],{"class":497,"line":635},[495,756,757],{"class":505},"    minify: ",[495,759,735],{"class":713},[495,761,717],{"class":505},[495,763,765],{"class":497,"line":764},12,[495,766,742],{"class":505},[495,768,770],{"class":497,"line":769},13,[495,771,552],{"class":505},[454,773,774,775,778,779,670,782,778,785,788],{},"The environment name is ",[471,776,777],{},"\"development\""," during ",[471,780,781],{},"nitro dev",[471,783,784],{},"\"production\"",[471,786,787],{},"nitro build",".",[656,790,792],{"id":791},"extending-configs","Extending configs",[454,794,795,796,799],{},"You can extend from other configs or presets using the ",[471,797,798],{},"extends"," key:",[487,801,803],{"className":489,"code":802,"filename":473,"language":491,"meta":5,"style":5},"import { defineConfig } from \"nitro\";\n\nexport default defineConfig({\n  extends: \".\u002Fbase.config\",\n})\n",[471,804,805,817,821,831,841],{"__ignoreMap":5},[495,806,807,809,811,813,815],{"class":497,"line":498},[495,808,502],{"class":501},[495,810,506],{"class":505},[495,812,509],{"class":501},[495,814,513],{"class":512},[495,816,516],{"class":505},[495,818,819],{"class":497,"line":519},[495,820,523],{"emptyLinePlaceholder":522},[495,822,823,825,827,829],{"class":497,"line":526},[495,824,529],{"class":501},[495,826,532],{"class":501},[495,828,536],{"class":535},[495,830,539],{"class":505},[495,832,833,836,839],{"class":497,"line":542},[495,834,835],{"class":505},"  extends: ",[495,837,838],{"class":512},"\".\u002Fbase.config\"",[495,840,717],{"class":505},[495,842,843],{"class":497,"line":549},[495,844,552],{"class":505},[656,846,848,849],{"id":847},"config-from-packagejson","Config from ",[471,850,851],{},"package.json",[454,853,854,855,857,858,860],{},"You can also provide Nitro configuration under the ",[471,856,477],{}," key in your ",[471,859,851],{}," file.",[463,862,864],{"id":863},"directory-options","Directory options",[454,866,867],{},"Nitro provides several options for controlling directory structure:",[869,870,871,887],"table",{},[872,873,874],"thead",{},[875,876,877,881,884],"tr",{},[878,879,880],"th",{},"Option",[878,882,883],{},"Default",[878,885,886],{},"Description",[888,889,890,906,929,944,959,974],"tbody",{},[875,891,892,898,903],{},[893,894,895],"td",{},[471,896,897],{},"rootDir",[893,899,900,902],{},[471,901,788],{}," (current directory)",[893,904,905],{},"The root directory of the project.",[875,907,908,913,918],{},[893,909,910],{},[471,911,912],{},"serverDir",[893,914,915],{},[471,916,917],{},"false",[893,919,920,921,924,925,928],{},"Server source directory (set to ",[471,922,923],{},"\"server\""," or ",[471,926,927],{},"\".\u002F\""," to enable).",[875,930,931,936,941],{},[893,932,933],{},[471,934,935],{},"buildDir",[893,937,938],{},[471,939,940],{},"node_modules\u002F.nitro",[893,942,943],{},"Directory for build artifacts.",[875,945,946,951,956],{},[893,947,948],{},[471,949,950],{},"output.dir",[893,952,953],{},[471,954,955],{},".output",[893,957,958],{},"Production output directory.",[875,960,961,966,971],{},[893,962,963],{},[471,964,965],{},"output.serverDir",[893,967,968],{},[471,969,970],{},".output\u002Fserver",[893,972,973],{},"Server output directory.",[875,975,976,981,986],{},[893,977,978],{},[471,979,980],{},"output.publicDir",[893,982,983],{},[471,984,985],{},".output\u002Fpublic",[893,987,988],{},"Public assets output directory.",[487,990,992],{"className":489,"code":991,"filename":473,"language":491,"meta":5,"style":5},"import { defineConfig } from \"nitro\";\n\nexport default defineConfig({\n  serverDir: \"server\",\n  buildDir: \"node_modules\u002F.nitro\",\n  output: {\n    dir: \".output\",\n  },\n})\n",[471,993,994,1006,1010,1020,1029,1039,1044,1054,1058],{"__ignoreMap":5},[495,995,996,998,1000,1002,1004],{"class":497,"line":498},[495,997,502],{"class":501},[495,999,506],{"class":505},[495,1001,509],{"class":501},[495,1003,513],{"class":512},[495,1005,516],{"class":505},[495,1007,1008],{"class":497,"line":519},[495,1009,523],{"emptyLinePlaceholder":522},[495,1011,1012,1014,1016,1018],{"class":497,"line":526},[495,1013,529],{"class":501},[495,1015,532],{"class":501},[495,1017,536],{"class":535},[495,1019,539],{"class":505},[495,1021,1022,1025,1027],{"class":497,"line":542},[495,1023,1024],{"class":505},"  serverDir: ",[495,1026,923],{"class":512},[495,1028,717],{"class":505},[495,1030,1031,1034,1037],{"class":497,"line":549},[495,1032,1033],{"class":505},"  buildDir: ",[495,1035,1036],{"class":512},"\"node_modules\u002F.nitro\"",[495,1038,717],{"class":505},[495,1040,1041],{"class":497,"line":602},[495,1042,1043],{"class":505},"  output: {\n",[495,1045,1046,1049,1052],{"class":497,"line":611},[495,1047,1048],{"class":505},"    dir: ",[495,1050,1051],{"class":512},"\".output\"",[495,1053,717],{"class":505},[495,1055,1056],{"class":497,"line":617},[495,1057,742],{"class":505},[495,1059,1060],{"class":497,"line":623},[495,1061,552],{"class":505},[1063,1064,1065],"note",{},[454,1066,1067,1068,1071,1072,1074],{},"The ",[471,1069,1070],{},"srcDir"," option is deprecated. Use ",[471,1073,912],{}," instead.",[451,1076],{"to":1077},"\u002Fconfig#directories",[463,1079,1081],{"id":1080},"environment-variables","Environment variables",[454,1083,1084,1085,1074],{},"Certain Nitro behaviors can be configured using environment variables. These variables configure Nitro itself at build and startup time — to expose your own values to the application, use ",[458,1086,1088],{"href":1087},"#runtime-configuration","runtime configuration",[869,1090,1091,1100],{},[872,1092,1093],{},[875,1094,1095,1098],{},[878,1096,1097],{},"Variable",[878,1099,886],{},[888,1101,1102,1112,1122,1135,1156,1169],{},[875,1103,1104,1109],{},[893,1105,1106],{},[471,1107,1108],{},"NITRO_PRESET",[893,1110,1111],{},"Override the deployment preset.",[875,1113,1114,1119],{},[893,1115,1116],{},[471,1117,1118],{},"NITRO_COMPATIBILITY_DATE",[893,1120,1121],{},"Set the compatibility date.",[875,1123,1124,1129],{},[893,1125,1126],{},[471,1127,1128],{},"NITRO_APP_BASE_URL",[893,1130,1131,1132,1134],{},"Override the base URL (default: ",[471,1133,443],{},").",[875,1136,1137,1142],{},[893,1138,1139],{},[471,1140,1141],{},"NITRO_BUILDER",[893,1143,1144,1145,1148,1149,1152,1153,1134],{},"Select the bundler to use for building (",[471,1146,1147],{},"rollup",", ",[471,1150,1151],{},"rolldown",", or ",[471,1154,1155],{},"vite",[875,1157,1158,1163],{},[893,1159,1160],{},[471,1161,1162],{},"NITRO_ENV_PREFIX",[893,1164,1165,1166,1134],{},"Set a custom secondary prefix for runtime config environment overrides (default: ",[471,1167,1168],{},"_",[875,1170,1171,1176],{},[893,1172,1173],{},[471,1174,1175],{},"NITRO_ENV_EXPANSION",[893,1177,1178],{},"Enable environment variable expansion in runtime config values.",[463,1180,1182],{"id":1181},"runtime-configuration","Runtime configuration",[454,1184,1185],{},"Runtime config lets you expose configuration values to your application and override them at runtime using environment variables. This is useful for values that differ between environments (development, staging, production), such as API endpoints or feature flags.",[454,1187,1188],{},"First, define the runtime config in your configuration file.",[487,1190,1192],{"className":489,"code":1191,"filename":473,"language":491,"meta":5,"style":5},"import { defineConfig } from \"nitro\";\n\nexport default defineConfig({\n  runtimeConfig: {\n    apiToken: \"dev_token\", \u002F\u002F `dev_token` is the default value\n  }\n});\n",[471,1193,1194,1206,1210,1220,1225,1238,1242],{"__ignoreMap":5},[495,1195,1196,1198,1200,1202,1204],{"class":497,"line":498},[495,1197,502],{"class":501},[495,1199,506],{"class":505},[495,1201,509],{"class":501},[495,1203,513],{"class":512},[495,1205,516],{"class":505},[495,1207,1208],{"class":497,"line":519},[495,1209,523],{"emptyLinePlaceholder":522},[495,1211,1212,1214,1216,1218],{"class":497,"line":526},[495,1213,529],{"class":501},[495,1215,532],{"class":501},[495,1217,536],{"class":535},[495,1219,539],{"class":505},[495,1221,1222],{"class":497,"line":542},[495,1223,1224],{"class":505},"  runtimeConfig: {\n",[495,1226,1227,1230,1233,1235],{"class":497,"line":549},[495,1228,1229],{"class":505},"    apiToken: ",[495,1231,1232],{"class":512},"\"dev_token\"",[495,1234,1148],{"class":505},[495,1236,1237],{"class":545},"\u002F\u002F `dev_token` is the default value\n",[495,1239,1240],{"class":497,"line":602},[495,1241,632],{"class":505},[495,1243,1244],{"class":497,"line":611},[495,1245,1246],{"class":505},"});\n",[454,1248,1249,1250,788],{},"You can now access the runtime config using ",[471,1251,1252],{},"useRuntimeConfig()",[487,1254,1257],{"className":489,"code":1255,"filename":1256,"language":491,"meta":5,"style":5},"import { defineHandler } from \"nitro\";\nimport { useRuntimeConfig } from \"nitro\u002Fruntime-config\";\n\nexport default defineHandler((event) => {\n  return useRuntimeConfig().apiToken; \u002F\u002F Returns `dev_token`\n});\n","api\u002Fexample.get.ts",[471,1258,1259,1272,1286,1290,1315,1329],{"__ignoreMap":5},[495,1260,1261,1263,1266,1268,1270],{"class":497,"line":498},[495,1262,502],{"class":501},[495,1264,1265],{"class":505}," { defineHandler } ",[495,1267,509],{"class":501},[495,1269,513],{"class":512},[495,1271,516],{"class":505},[495,1273,1274,1276,1279,1281,1284],{"class":497,"line":519},[495,1275,502],{"class":501},[495,1277,1278],{"class":505}," { useRuntimeConfig } ",[495,1280,509],{"class":501},[495,1282,1283],{"class":512}," \"nitro\u002Fruntime-config\"",[495,1285,516],{"class":505},[495,1287,1288],{"class":497,"line":526},[495,1289,523],{"emptyLinePlaceholder":522},[495,1291,1292,1294,1296,1299,1302,1306,1309,1312],{"class":497,"line":542},[495,1293,529],{"class":501},[495,1295,532],{"class":501},[495,1297,1298],{"class":535}," defineHandler",[495,1300,1301],{"class":505},"((",[495,1303,1305],{"class":1304},"sQHwn","event",[495,1307,1308],{"class":505},") ",[495,1310,1311],{"class":501},"=>",[495,1313,1314],{"class":505}," {\n",[495,1316,1317,1320,1323,1326],{"class":497,"line":549},[495,1318,1319],{"class":501},"  return",[495,1321,1322],{"class":535}," useRuntimeConfig",[495,1324,1325],{"class":505},"().apiToken; ",[495,1327,1328],{"class":545},"\u002F\u002F Returns `dev_token`\n",[495,1330,1331],{"class":497,"line":602},[495,1332,1246],{"class":505},[656,1334,1336],{"id":1335},"nested-objects","Nested objects",[454,1338,1339,1340,1343,1344,1347],{},"Runtime config supports nested objects. Keys at any depth are mapped to environment variables using the ",[471,1341,1342],{},"NITRO_"," prefix and ",[471,1345,1346],{},"UPPER_SNAKE_CASE"," conversion:",[1349,1350,1351,1424],"CodeGroup",{},[487,1352,1354],{"className":489,"code":1353,"filename":473,"language":491,"meta":5,"style":5},"import { defineConfig } from \"nitro\";\n\nexport default defineConfig({\n  runtimeConfig: {\n    database: {\n      host: \"localhost\",\n      port: 5432,\n    },\n  },\n});\n",[471,1355,1356,1368,1372,1382,1386,1391,1401,1411,1416,1420],{"__ignoreMap":5},[495,1357,1358,1360,1362,1364,1366],{"class":497,"line":498},[495,1359,502],{"class":501},[495,1361,506],{"class":505},[495,1363,509],{"class":501},[495,1365,513],{"class":512},[495,1367,516],{"class":505},[495,1369,1370],{"class":497,"line":519},[495,1371,523],{"emptyLinePlaceholder":522},[495,1373,1374,1376,1378,1380],{"class":497,"line":526},[495,1375,529],{"class":501},[495,1377,532],{"class":501},[495,1379,536],{"class":535},[495,1381,539],{"class":505},[495,1383,1384],{"class":497,"line":542},[495,1385,1224],{"class":505},[495,1387,1388],{"class":497,"line":549},[495,1389,1390],{"class":505},"    database: {\n",[495,1392,1393,1396,1399],{"class":497,"line":602},[495,1394,1395],{"class":505},"      host: ",[495,1397,1398],{"class":512},"\"localhost\"",[495,1400,717],{"class":505},[495,1402,1403,1406,1409],{"class":497,"line":611},[495,1404,1405],{"class":505},"      port: ",[495,1407,1408],{"class":713},"5432",[495,1410,717],{"class":505},[495,1412,1413],{"class":497,"line":617},[495,1414,1415],{"class":505},"    },\n",[495,1417,1418],{"class":497,"line":623},[495,1419,742],{"class":505},[495,1421,1422],{"class":497,"line":629},[495,1423,1246],{"class":505},[487,1425,1430],{"className":1426,"code":1427,"filename":1428,"language":1429,"meta":5,"style":5},"language-bash shiki shiki-themes github-light github-dark github-dark","NITRO_DATABASE_HOST=\"db.example.com\"\nNITRO_DATABASE_PORT=\"5433\"\n",".env","bash",[471,1431,1432,1443],{"__ignoreMap":5},[495,1433,1434,1437,1440],{"class":497,"line":498},[495,1435,1436],{"class":505},"NITRO_DATABASE_HOST",[495,1438,1439],{"class":501},"=",[495,1441,1442],{"class":512},"\"db.example.com\"\n",[495,1444,1445,1448,1450],{"class":497,"line":519},[495,1446,1447],{"class":505},"NITRO_DATABASE_PORT",[495,1449,1439],{"class":501},[495,1451,1452],{"class":512},"\"5433\"\n",[1063,1454,1455],{},[454,1456,1457,1458,1461],{},"Only keys defined in ",[471,1459,1460],{},"runtimeConfig"," in your config file will be considered. You cannot introduce new keys using environment variables alone.",[656,1463,1465],{"id":1464},"serialization","Serialization",[454,1467,1468],{},"Runtime config values must be serializable (strings, numbers, booleans, plain objects, and arrays). Non-serializable values (class instances, functions, etc.) will trigger a warning at build time.",[454,1470,1471,1472,924,1475,1478,1479,1482],{},"Values that are ",[471,1473,1474],{},"undefined",[471,1476,1477],{},"null"," in the config are replaced with empty strings (",[471,1480,1481],{},"\"\"",") as a fallback.",[656,1484,1486],{"id":1485},"local-development","Local development",[454,1488,1489,1490,924,1492,1495],{},"You can update the runtime config using environment variables. You can use a ",[471,1491,1428],{},[471,1493,1494],{},".env.local"," file in development and use platform variables in production (see below).",[454,1497,1498,1499,1501],{},"Create an ",[471,1500,1428],{}," file in your project root:",[487,1503,1505],{"className":1426,"code":1504,"filename":1428,"language":1429,"meta":5,"style":5},"NITRO_API_TOKEN=\"123\"\n",[471,1506,1507],{"__ignoreMap":5},[495,1508,1509,1512,1514],{"class":497,"line":498},[495,1510,1511],{"class":505},"NITRO_API_TOKEN",[495,1513,1439],{"class":501},[495,1515,1516],{"class":512},"\"123\"\n",[454,1518,1519,1520,1523,1524,1527,1528,788],{},"Restart the development server, fetch the ",[471,1521,1522],{},"\u002Fapi\u002Fexample"," endpoint, and you should see ",[471,1525,1526],{},"123"," as the response instead of ",[471,1529,1530],{},"dev_token",[1063,1532,1533],{},[454,1534,1067,1535,670,1537,1539,1540,1542],{},[471,1536,1428],{},[471,1538,1494],{}," files are only loaded during development (",[471,1541,781],{},"). In production, use your platform's native environment variable mechanism.",[454,1544,1545,1546,924,1549,1552],{},"You can still access environment variables directly using ",[471,1547,1548],{},"import.meta.env",[471,1550,1551],{},"process.env",", but avoid reading them in ambient global contexts (at the top level of modules) to prevent unexpected behavior.",[656,1554,1556],{"id":1555},"production","Production",[454,1558,1559],{},"You can define variables in your production environment to update the runtime config.",[1561,1562,1563],"warning",{},[454,1564,1565,1566,1568,1569,860],{},"All variables must be prefixed with ",[471,1567,1342],{}," to be applied to the runtime config. They will override the runtime config variables defined within your ",[471,1570,473],{},[487,1572,1573],{"className":1426,"code":1504,"language":1429,"meta":5,"style":5},[471,1574,1575],{"__ignoreMap":5},[495,1576,1577,1579,1581],{"class":497,"line":498},[495,1578,1511],{"class":505},[495,1580,1439],{"class":501},[495,1582,1516],{"class":512},[454,1584,1585],{},"Keys are camelCase in runtime config and UPPER_SNAKE_CASE in environment variables.",[487,1587,1589],{"className":489,"code":1588,"language":491,"meta":5,"style":5},"{\n  helloWorld: \"foo\"\n}\n",[471,1590,1591,1596,1607],{"__ignoreMap":5},[495,1592,1593],{"class":497,"line":498},[495,1594,1595],{"class":505},"{\n",[495,1597,1598,1601,1604],{"class":497,"line":519},[495,1599,1600],{"class":535},"  helloWorld",[495,1602,1603],{"class":505},": ",[495,1605,1606],{"class":512},"\"foo\"\n",[495,1608,1609],{"class":497,"line":526},[495,1610,1611],{"class":505},"}\n",[487,1613,1615],{"className":1426,"code":1614,"language":1429,"meta":5,"style":5},"NITRO_HELLO_WORLD=\"foo\"\n",[471,1616,1617],{"__ignoreMap":5},[495,1618,1619,1622,1624],{"class":497,"line":498},[495,1620,1621],{"class":505},"NITRO_HELLO_WORLD",[495,1623,1439],{"class":501},[495,1625,1606],{"class":512},[656,1627,1629],{"id":1628},"custom-env-prefix","Custom env prefix",[454,1631,1632,1633,1636,1637,1639],{},"You can configure a secondary environment variable prefix using the ",[471,1634,1635],{},"nitro.envPrefix"," runtime config key. This prefix is checked in addition to the default ",[471,1638,1342],{}," prefix:",[487,1641,1643],{"className":489,"code":1642,"filename":473,"language":491,"meta":5,"style":5},"import { defineConfig } from \"nitro\";\n\nexport default defineConfig({\n  runtimeConfig: {\n    nitro: {\n      envPrefix: \"APP_\",\n    },\n    apiToken: \"\",\n  },\n});\n",[471,1644,1645,1657,1661,1671,1675,1680,1690,1694,1702,1706],{"__ignoreMap":5},[495,1646,1647,1649,1651,1653,1655],{"class":497,"line":498},[495,1648,502],{"class":501},[495,1650,506],{"class":505},[495,1652,509],{"class":501},[495,1654,513],{"class":512},[495,1656,516],{"class":505},[495,1658,1659],{"class":497,"line":519},[495,1660,523],{"emptyLinePlaceholder":522},[495,1662,1663,1665,1667,1669],{"class":497,"line":526},[495,1664,529],{"class":501},[495,1666,532],{"class":501},[495,1668,536],{"class":535},[495,1670,539],{"class":505},[495,1672,1673],{"class":497,"line":542},[495,1674,1224],{"class":505},[495,1676,1677],{"class":497,"line":549},[495,1678,1679],{"class":505},"    nitro: {\n",[495,1681,1682,1685,1688],{"class":497,"line":602},[495,1683,1684],{"class":505},"      envPrefix: ",[495,1686,1687],{"class":512},"\"APP_\"",[495,1689,717],{"class":505},[495,1691,1692],{"class":497,"line":611},[495,1693,1415],{"class":505},[495,1695,1696,1698,1700],{"class":497,"line":617},[495,1697,1229],{"class":505},[495,1699,1481],{"class":512},[495,1701,717],{"class":505},[495,1703,1704],{"class":497,"line":623},[495,1705,742],{"class":505},[495,1707,1708],{"class":497,"line":629},[495,1709,1246],{"class":505},[454,1711,1712,1713,670,1715,1718],{},"With this configuration, both ",[471,1714,1511],{},[471,1716,1717],{},"APP_API_TOKEN"," will be checked as overrides.",[1063,1720,1721],{},[454,1722,1723,1724,1726,1727,1730,1731,788],{},"When no custom prefix is configured, the default secondary prefix is ",[471,1725,1168],{}," — for example, ",[471,1728,1729],{},"_API_TOKEN"," also overrides ",[471,1732,1733],{},"apiToken",[656,1735,1737],{"id":1736},"env-expansion","Env expansion",[454,1739,1740,1741,1744],{},"When enabled, environment variable references using ",[471,1742,1743],{},"{{VAR_NAME}}"," syntax in runtime config string values are expanded at runtime:",[487,1746,1748],{"className":489,"code":1747,"filename":473,"language":491,"meta":5,"style":5},"import { defineConfig } from \"nitro\";\n\nexport default defineConfig({\n  experimental: {\n    envExpansion: true,\n  },\n  runtimeConfig: {\n    url: \"https:\u002F\u002F{{APP_DOMAIN}}\u002Fapi\",\n  },\n});\n",[471,1749,1750,1762,1766,1776,1781,1790,1794,1798,1808,1812],{"__ignoreMap":5},[495,1751,1752,1754,1756,1758,1760],{"class":497,"line":498},[495,1753,502],{"class":501},[495,1755,506],{"class":505},[495,1757,509],{"class":501},[495,1759,513],{"class":512},[495,1761,516],{"class":505},[495,1763,1764],{"class":497,"line":519},[495,1765,523],{"emptyLinePlaceholder":522},[495,1767,1768,1770,1772,1774],{"class":497,"line":526},[495,1769,529],{"class":501},[495,1771,532],{"class":501},[495,1773,536],{"class":535},[495,1775,539],{"class":505},[495,1777,1778],{"class":497,"line":542},[495,1779,1780],{"class":505},"  experimental: {\n",[495,1782,1783,1786,1788],{"class":497,"line":549},[495,1784,1785],{"class":505},"    envExpansion: ",[495,1787,735],{"class":713},[495,1789,717],{"class":505},[495,1791,1792],{"class":497,"line":602},[495,1793,742],{"class":505},[495,1795,1796],{"class":497,"line":611},[495,1797,1224],{"class":505},[495,1799,1800,1803,1806],{"class":497,"line":617},[495,1801,1802],{"class":505},"    url: ",[495,1804,1805],{"class":512},"\"https:\u002F\u002F{{APP_DOMAIN}}\u002Fapi\"",[495,1807,717],{"class":505},[495,1809,1810],{"class":497,"line":623},[495,1811,742],{"class":505},[495,1813,1814],{"class":497,"line":629},[495,1815,1246],{"class":505},[487,1817,1819],{"className":1426,"code":1818,"language":1429,"meta":5,"style":5},"APP_DOMAIN=\"example.com\"\n",[471,1820,1821],{"__ignoreMap":5},[495,1822,1823,1826,1828],{"class":497,"line":498},[495,1824,1825],{"class":505},"APP_DOMAIN",[495,1827,1439],{"class":501},[495,1829,1830],{"class":512},"\"example.com\"\n",[454,1832,1833,1834,1837,1838,788],{},"At runtime, ",[471,1835,1836],{},"useRuntimeConfig().url"," will resolve to ",[471,1839,1840],{},"\"https:\u002F\u002Fexample.com\u002Fapi\"",[1842,1843,1844],"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 .sCsY4, html code.shiki .sCsY4{--shiki-light:#6A737D;--shiki-default:#6A737D;--shiki-dark:#6A737D}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 .suiK_, html code.shiki .suiK_{--shiki-light:#005CC5;--shiki-default:#79B8FF;--shiki-dark:#79B8FF}html pre.shiki code .sQHwn, html code.shiki .sQHwn{--shiki-light:#E36209;--shiki-default:#FFAB70;--shiki-dark:#FFAB70}",{"title":5,"searchDepth":519,"depth":519,"links":1846},[1847,1853,1854,1855],{"id":465,"depth":519,"text":466,"children":1848},[1849,1850,1851],{"id":658,"depth":526,"text":659},{"id":791,"depth":526,"text":792},{"id":847,"depth":526,"text":1852},"Config from package.json",{"id":863,"depth":519,"text":864},{"id":1080,"depth":519,"text":1081},{"id":1181,"depth":519,"text":1182,"children":1856},[1857,1858,1859,1860,1861,1862],{"id":1335,"depth":526,"text":1336},{"id":1464,"depth":526,"text":1465},{"id":1485,"depth":526,"text":1486},{"id":1555,"depth":526,"text":1556},{"id":1628,"depth":526,"text":1629},{"id":1736,"depth":526,"text":1737},"Customize and extend Nitro defaults.","md",{"icon":36},{"icon":36},{"title":33,"description":1863},"FfDn_jy5VbO0EeWpT4P0korLJm_D-Lg17ylOgbmTiI8",[1870,1871],{"title":28,"path":29,"stem":30,"description":5,"icon":31,"children":-1},{"title":38,"path":39,"stem":40,"description":1872,"icon":41,"children":-1},"Nitro provides a built-in and lightweight SQL database layer.",1784019068005]