[{"data":1,"prerenderedAt":6505},["ShallowReactive",2],{"navigation":3,"-config":402,"-config-surround":6500},[4,93,226,232,387,399],{"title":5,"path":6,"stem":7,"children":8,"icon":92},"","/docs","1.docs/1.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","/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},"OpenAPI","/docs/openapi","1.docs/50.openapi","ri:contract-line",{"title":53,"path":54,"stem":55,"icon":56},"Plugins","/docs/plugins","1.docs/50.plugins","ri:plug-line",{"title":58,"path":59,"stem":60,"icon":61},"Tasks","/docs/tasks","1.docs/50.tasks","codicon:run-all",{"title":63,"path":64,"stem":65,"icon":66},"WebSocket","/docs/websocket","1.docs/50.websocket","ri:broadcast-fill",{"title":68,"path":69,"stem":70,"icon":71},"Server Entry","/docs/server-entry","1.docs/6.server-entry","ri:server-line",{"title":73,"path":74,"stem":75,"icon":76},"Cache","/docs/cache","1.docs/7.cache","ri:speed-line",{"title":78,"path":79,"stem":80,"icon":81},"KV Storage","/docs/storage","1.docs/8.storage","carbon:datastore",{"title":83,"path":84,"stem":85,"icon":86},"Migration Guide","/docs/migration","1.docs/99.migration","ri:arrow-right-up-line",{"title":88,"path":89,"stem":90,"icon":91},"Nightly Channel","/docs/nightly","1.docs/99.nightly","ri:moon-fill","i-lucide-book-open",{"title":94,"path":95,"stem":96,"children":97,"icon":99},"Deploy","/deploy","2.deploy/0.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","/deploy/runtimes","2.deploy/10.runtimes",[105,110,115],{"title":106,"path":107,"stem":108,"icon":109},"Node.js","/deploy/runtimes/node","2.deploy/10.runtimes/1.node","akar-icons:node-fill",{"title":111,"path":112,"stem":113,"icon":114},"Bun","/deploy/runtimes/bun","2.deploy/10.runtimes/bun","simple-icons:bun",{"title":116,"path":117,"stem":118,"icon":119},"Deno","/deploy/runtimes/deno","2.deploy/10.runtimes/deno","simple-icons:deno",false,{"title":122,"path":123,"stem":124,"children":125,"page":120},"Providers","/deploy/providers","2.deploy/20.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","/deploy/providers/alwaysdata","2.deploy/20.providers/alwaysdata",{"title":131,"path":132,"stem":133},"AWS Lambda","/deploy/providers/aws","2.deploy/20.providers/aws",{"title":135,"path":136,"stem":137},"AWS Amplify","/deploy/providers/aws-amplify","2.deploy/20.providers/aws-amplify",{"title":139,"path":140,"stem":141},"Azure","/deploy/providers/azure","2.deploy/20.providers/azure",{"title":143,"path":144,"stem":145},"Cleavr","/deploy/providers/cleavr","2.deploy/20.providers/cleavr",{"title":147,"path":148,"stem":149},"Cloudflare","/deploy/providers/cloudflare","2.deploy/20.providers/cloudflare",{"title":151,"path":152,"stem":153},"Deno Deploy","/deploy/providers/deno-deploy","2.deploy/20.providers/deno-deploy",{"title":155,"path":156,"stem":157},"DigitalOcean","/deploy/providers/digitalocean","2.deploy/20.providers/digitalocean",{"title":159,"path":160,"stem":161},"EdgeOne Pages","/deploy/providers/edgeone","2.deploy/20.providers/edgeone",{"title":163,"path":164,"stem":165},"Firebase","/deploy/providers/firebase","2.deploy/20.providers/firebase",{"title":167,"path":168,"stem":169},"Flightcontrol","/deploy/providers/flightcontrol","2.deploy/20.providers/flightcontrol",{"title":171,"path":172,"stem":173},"Genezio","/deploy/providers/genezio","2.deploy/20.providers/genezio",{"title":175,"path":176,"stem":177},"GitHub Pages","/deploy/providers/github-pages","2.deploy/20.providers/github-pages",{"title":179,"path":180,"stem":181},"GitLab Pages","/deploy/providers/gitlab-pages","2.deploy/20.providers/gitlab-pages",{"title":183,"path":184,"stem":185},"Heroku","/deploy/providers/heroku","2.deploy/20.providers/heroku",{"title":187,"path":188,"stem":189},"IIS","/deploy/providers/iis","2.deploy/20.providers/iis",{"title":191,"path":192,"stem":193},"Koyeb","/deploy/providers/koyeb","2.deploy/20.providers/koyeb",{"title":195,"path":196,"stem":197},"Netlify","/deploy/providers/netlify","2.deploy/20.providers/netlify",{"title":199,"path":200,"stem":201},"Platform.sh","/deploy/providers/platform-sh","2.deploy/20.providers/platform-sh",{"title":203,"path":204,"stem":205},"Render.com","/deploy/providers/render","2.deploy/20.providers/render",{"title":207,"path":208,"stem":209},"StormKit","/deploy/providers/stormkit","2.deploy/20.providers/stormkit",{"title":211,"path":212,"stem":213},"Vercel","/deploy/providers/vercel","2.deploy/20.providers/vercel",{"title":215,"path":216,"stem":217},"Zeabur","/deploy/providers/zeabur","2.deploy/20.providers/zeabur",{"title":219,"path":220,"stem":221},"Zephyr Cloud","/deploy/providers/zephyr","2.deploy/20.providers/zephyr",{"title":223,"path":224,"stem":225},"Zerops","/deploy/providers/zerops","2.deploy/20.providers/zerops",{"title":227,"path":228,"stem":229,"children":230,"icon":36},"Config","/config","3.config/0.index",[231],{"title":227,"path":228,"stem":229,"icon":36},{"title":233,"path":234,"stem":235,"children":236,"icon":238},"Examples","/examples","4.examples/0.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","/examples/api-routes","4.examples/api-routes","i-lucide-route",{"title":245,"path":246,"stem":247,"icon":248},"Auto Imports","/examples/auto-imports","4.examples/auto-imports","i-lucide-import",{"title":250,"path":251,"stem":252,"icon":253},"Cached Handler","/examples/cached-handler","4.examples/cached-handler","i-lucide-clock",{"title":255,"path":256,"stem":257,"icon":258},"Custom Error Handler","/examples/custom-error-handler","4.examples/custom-error-handler","i-lucide-alert-circle",{"title":38,"path":260,"stem":261,"icon":262},"/examples/database","4.examples/database","i-lucide-database",{"title":264,"path":265,"stem":266,"icon":267},"Elysia","/examples/elysia","4.examples/elysia","i-skill-icons-elysia-dark",{"title":269,"path":270,"stem":271,"icon":272},"Express","/examples/express","4.examples/express","i-simple-icons-express",{"title":274,"path":275,"stem":276,"icon":277},"Fastify","/examples/fastify","4.examples/fastify","i-simple-icons-fastify",{"title":279,"path":280,"stem":281,"icon":282},"Hello World","/examples/hello-world","4.examples/hello-world","i-lucide-sparkles",{"title":284,"path":285,"stem":286,"icon":287},"Hono","/examples/hono","4.examples/hono","i-logos-hono",{"title":289,"path":290,"stem":291,"icon":292},"Import Alias","/examples/import-alias","4.examples/import-alias","i-lucide-at-sign",{"title":294,"path":295,"stem":296,"icon":46},"Middleware","/examples/middleware","4.examples/middleware",{"title":298,"path":299,"stem":300,"icon":301},"Mono JSX","/examples/mono-jsx","4.examples/mono-jsx","i-lucide-brackets",{"title":303,"path":304,"stem":305,"icon":301},"Nano JSX","/examples/nano-jsx","4.examples/nano-jsx",{"title":53,"path":307,"stem":308,"icon":309},"/examples/plugins","4.examples/plugins","i-lucide-plug",{"title":311,"path":312,"stem":313,"icon":314},"Custom Renderer","/examples/renderer","4.examples/renderer","i-lucide-code",{"title":316,"path":317,"stem":318,"icon":319},"Runtime Config","/examples/runtime-config","4.examples/runtime-config","i-lucide-settings",{"title":321,"path":322,"stem":323,"icon":324},"Server Fetch","/examples/server-fetch","4.examples/server-fetch","i-lucide-arrow-right-left",{"title":326,"path":327,"stem":328,"icon":329},"Shiki","/examples/shiki","4.examples/shiki","i-lucide-highlighter",{"title":331,"path":332,"stem":333,"icon":334},"Virtual Routes","/examples/virtual-routes","4.examples/virtual-routes","i-lucide-box",{"title":336,"path":337,"stem":338,"icon":339},"Vite Nitro Plugin","/examples/vite-nitro-plugin","4.examples/vite-nitro-plugin","i-logos-vitejs",{"title":341,"path":342,"stem":343,"icon":344},"Vite RSC","/examples/vite-rsc","4.examples/vite-rsc","i-logos-react",{"title":346,"path":347,"stem":348,"icon":349},"Vite SSR HTML","/examples/vite-ssr-html","4.examples/vite-ssr-html","i-logos-html-5",{"title":351,"path":352,"stem":353,"icon":354},"SSR with Preact","/examples/vite-ssr-preact","4.examples/vite-ssr-preact","i-logos-preact",{"title":356,"path":357,"stem":358,"icon":344},"SSR with React","/examples/vite-ssr-react","4.examples/vite-ssr-react",{"title":360,"path":361,"stem":362,"icon":363},"SSR with SolidJS","/examples/vite-ssr-solid","4.examples/vite-ssr-solid","i-logos-solidjs-icon",{"title":365,"path":366,"stem":367,"icon":368},"SSR with TanStack Router","/examples/vite-ssr-tsr-react","4.examples/vite-ssr-tsr-react","i-simple-icons-tanstack",{"title":370,"path":371,"stem":372,"icon":368},"SSR with TanStack Start","/examples/vite-ssr-tss-react","4.examples/vite-ssr-tss-react",{"title":374,"path":375,"stem":376,"icon":377},"SSR with Vue Router","/examples/vite-ssr-vue-router","4.examples/vite-ssr-vue-router","i-logos-vue",{"title":379,"path":380,"stem":381,"icon":382},"Vite + tRPC","/examples/vite-trpc","4.examples/vite-trpc","i-simple-icons-trpc",{"title":63,"path":384,"stem":385,"icon":386},"/examples/websocket","4.examples/websocket","i-lucide-radio",{"title":388,"path":389,"stem":390,"children":391},"Blog","/blog","9.blog",[392,395],{"title":388,"path":389,"stem":393,"icon":394},"9.blog/index","i-lucide-file-text",{"title":396,"path":397,"stem":398,"icon":394},"Nitro v3 Beta is here!","/blog/v3-beta","9.blog/1.v3-beta",{"title":5,"path":400,"stem":401},"/","index",{"id":403,"title":227,"body":404,"description":5,"extension":6495,"meta":6496,"navigation":6497,"path":228,"seo":6498,"stem":229,"__hash__":6499},"content/3.config/0.index.md",{"type":405,"value":406,"toc":6399,"icon":36},"minimark",[407,410,415,422,438,449,455,506,511,535,538,567,573,588,599,631,637,663,666,675,719,725,728,735,742,771,776,784,787,818,822,827,836,839,846,851,854,859,867,870,920,922,927,933,936,942,950,964,976,982,991,997,1003,1009,1015,1021,1029,1034,1039,1044,1049,1125,1130,1133,1136,1202,1216,1250,1259,1307,1316,1398,1401,1479,1484,1490,1493,1499,1502,1539,1544,1550,1553,1610,1612,1618,1624,1627,1685,1690,1696,1743,1745,1751,1754,1813,1818,1849,1852,1893,1895,1901,1928,1935,1944,1976,1982,1990,2000,2031,2037,2040,2046,2053,2129,2136,2141,2152,2154,2160,2196,2199,2248,2254,2257,2315,2318,2323,2332,2339,2423,2428,2434,2437,2444,2479,2481,2486,2492,2502,2545,2547,2553,2559,2562,2608,2610,2615,2623,2631,2673,2678,2684,2687,2727,2732,2738,2741,2779,2784,2803,2812,2839,2843,2849,2863,2869,2885,2934,2940,2948,2991,2997,3000,3003,3058,3067,3071,3076,3102,3116,3165,3168,3173,3184,3187,3219,3225,3232,3235,3267,3272,3275,3289,3354,3356,3362,3365,3368,3380,3431,3436,3444,3447,3505,3511,3525,3528,3533,3667,3673,3678,3687,3697,3704,3715,3719,3915,3918,3923,3926,4031,4037,4043,4062,4072,4081,4091,4133,4136,4146,4150,4156,4159,4165,4197,4203,4206,4235,4241,4265,4286,4302,4333,4339,4344,4347,4381,4387,4394,4397,4429,4435,4441,4444,4476,4482,4489,4492,4524,4529,4536,4539,4597,4601,4606,4633,4636,4664,4670,4673,4712,4718,4721,4759,4764,4767,4799,4804,4811,4854,4859,4862,4914,4919,4925,4928,4959,4965,4971,4974,4982,5013,5018,5026,5034,5065,5070,5078,5089,5120,5125,5128,5179,5185,5188,5226,5232,5235,5269,5275,5283,5289,5320,5326,5334,5337,5340,5354,5416,5422,5431,5627,5632,5641,5683,5687,5692,5702,5707,5738,5743,5776,5794,5840,5845,5849,5857,5915,5917,5922,5926,5929,5967,5973,5977,5980,6054,6060,6064,6093,6117,6123,6151,6156,6184,6187,6222,6226,6231,6238,6289,6294,6299,6337,6342,6347,6384,6389,6395],[408,409],"read-more",{"to":34},[411,412,414],"h2",{"id":413},"general","General",[416,417,419],"h3",{"id":418},"preset",[420,421,418],"code",{},[423,424,425,426,428,429,432,433,437],"p",{},"Use ",[420,427,418],{}," option or ",[420,430,431],{},"NITRO_PRESET"," environment variable for custom ",[434,435,436],"strong",{},"production"," preset.",[423,439,440,441,444,445,448],{},"Preset for development mode is always ",[420,442,443],{},"nitro_dev"," and default ",[420,446,447],{},"node_server"," for production building a standalone Node.js server.",[423,450,451,452,454],{},"The preset will automatically be detected when the ",[420,453,418],{}," option is not set and running in known environments.",[456,457,461],"pre",{"className":458,"code":459,"language":460,"meta":5,"style":5},"language-ts shiki shiki-themes github-light github-dark github-dark","export default defineConfig({\n  preset: \"cloudflare_pages\", // deploy to Cloudflare Pages\n});\n","ts",[420,462,463,483,500],{"__ignoreMap":5},[464,465,468,472,475,479],"span",{"class":466,"line":467},"line",1,[464,469,471],{"class":470},"so5gQ","export",[464,473,474],{"class":470}," default",[464,476,478],{"class":477},"shcOC"," defineConfig",[464,480,482],{"class":481},"slsVL","({\n",[464,484,486,489,493,496],{"class":466,"line":485},2,[464,487,488],{"class":481},"  preset: ",[464,490,492],{"class":491},"sfrk1","\"cloudflare_pages\"",[464,494,495],{"class":481},", ",[464,497,499],{"class":498},"sCsY4","// deploy to Cloudflare Pages\n",[464,501,503],{"class":466,"line":502},3,[464,504,505],{"class":481},"});\n",[416,507,509],{"id":508},"debug",[420,510,508],{},[512,513,514],"ul",{},[515,516,517,518,524,525,530,531,534],"li",{},"Default: ",[420,519,520],{"className":458,"language":460,"style":5},[464,521,523],{"class":522},"suiK_","false"," (",[420,526,527],{"className":458,"language":460,"style":5},[464,528,529],{"class":522},"true"," when ",[420,532,533],{},"DEBUG"," environment variable is set)",[423,536,537],{},"Enable debug mode for verbose logging and additional development information.",[456,539,541],{"className":458,"code":540,"language":460,"meta":5,"style":5},"export default defineConfig({\n  debug: true,\n});\n",[420,542,543,553,563],{"__ignoreMap":5},[464,544,545,547,549,551],{"class":466,"line":467},[464,546,471],{"class":470},[464,548,474],{"class":470},[464,550,478],{"class":477},[464,552,482],{"class":481},[464,554,555,558,560],{"class":466,"line":485},[464,556,557],{"class":481},"  debug: ",[464,559,529],{"class":522},[464,561,562],{"class":481},",\n",[464,564,565],{"class":466,"line":502},[464,566,505],{"class":481},[416,568,570],{"id":569},"loglevel",[420,571,572],{},"logLevel",[512,574,575],{},[515,576,517,577,524,582,587],{},[420,578,579],{"className":458,"language":460,"style":5},[464,580,581],{"class":522},"3",[420,583,584],{"className":458,"language":460,"style":5},[464,585,586],{"class":522},"1"," when the testing environment is detected)",[423,589,590,591,598],{},"Log verbosity level. See ",[592,593,597],"a",{"href":594,"rel":595},"https://github.com/unjs/consola?tab=readme-ov-file#log-level",[596],"nofollow","consola"," for more information.",[456,600,602],{"className":458,"code":601,"language":460,"meta":5,"style":5},"export default defineConfig({\n  logLevel: 4, // verbose logging\n});\n",[420,603,604,614,627],{"__ignoreMap":5},[464,605,606,608,610,612],{"class":466,"line":467},[464,607,471],{"class":470},[464,609,474],{"class":470},[464,611,478],{"class":477},[464,613,482],{"class":481},[464,615,616,619,622,624],{"class":466,"line":485},[464,617,618],{"class":481},"  logLevel: ",[464,620,621],{"class":522},"4",[464,623,495],{"class":481},[464,625,626],{"class":498},"// verbose logging\n",[464,628,629],{"class":466,"line":502},[464,630,505],{"class":481},[416,632,634],{"id":633},"runtimeconfig",[420,635,636],{},"runtimeConfig",[512,638,639],{},[515,640,517,641],{},[420,642,643,646,649,652,655,658,660],{"className":458,"language":460,"style":5},[464,644,645],{"class":481},"{ ",[464,647,648],{"class":477},"nitro",[464,650,651],{"class":481},": { ",[464,653,654],{"class":470},"...",[464,656,657],{"class":481}," }, ",[464,659,654],{"class":470},[464,661,662],{"class":481},"yourOptions }",[423,664,665],{},"Server runtime configuration.",[423,667,668,671,672,674],{},[434,669,670],{},"Note:"," ",[420,673,648],{}," namespace is reserved.",[456,676,678],{"className":458,"code":677,"language":460,"meta":5,"style":5},"export default defineConfig({\n  runtimeConfig: {\n    apiSecret: \"default-secret\", // override with NITRO_API_SECRET\n  },\n});\n",[420,679,680,690,695,708,714],{"__ignoreMap":5},[464,681,682,684,686,688],{"class":466,"line":467},[464,683,471],{"class":470},[464,685,474],{"class":470},[464,687,478],{"class":477},[464,689,482],{"class":481},[464,691,692],{"class":466,"line":485},[464,693,694],{"class":481},"  runtimeConfig: {\n",[464,696,697,700,703,705],{"class":466,"line":502},[464,698,699],{"class":481},"    apiSecret: ",[464,701,702],{"class":491},"\"default-secret\"",[464,704,495],{"class":481},[464,706,707],{"class":498},"// override with NITRO_API_SECRET\n",[464,709,711],{"class":466,"line":710},4,[464,712,713],{"class":481},"  },\n",[464,715,717],{"class":466,"line":716},5,[464,718,505],{"class":481},[416,720,722],{"id":721},"compatibilitydate",[420,723,724],{},"compatibilityDate",[423,726,727],{},"Deployment providers introduce new features that Nitro presets can leverage, but some of them need to be explicitly opted into.",[423,729,730,731,734],{},"Set it to latest tested date in ",[420,732,733],{},"YYYY-MM-DD"," format to leverage latest preset features.",[423,736,737,738,741],{},"If this configuration is not provided, Nitro will use ",[420,739,740],{},"\"latest\""," behavior by default.",[456,743,745],{"className":458,"code":744,"language":460,"meta":5,"style":5},"export default defineConfig({\n  compatibilityDate: \"2025-01-01\",\n});\n",[420,746,747,757,767],{"__ignoreMap":5},[464,748,749,751,753,755],{"class":466,"line":467},[464,750,471],{"class":470},[464,752,474],{"class":470},[464,754,478],{"class":477},[464,756,482],{"class":481},[464,758,759,762,765],{"class":466,"line":485},[464,760,761],{"class":481},"  compatibilityDate: ",[464,763,764],{"class":491},"\"2025-01-01\"",[464,766,562],{"class":481},[464,768,769],{"class":466,"line":502},[464,770,505],{"class":481},[416,772,774],{"id":773},"static",[420,775,773],{},[512,777,778],{},[515,779,517,780],{},[420,781,782],{"className":458,"language":460,"style":5},[464,783,523],{"class":522},[423,785,786],{},"Enable static site generation mode.",[456,788,790],{"className":458,"code":789,"language":460,"meta":5,"style":5},"export default defineConfig({\n  static: true, // prerender all routes\n});\n",[420,791,792,802,814],{"__ignoreMap":5},[464,793,794,796,798,800],{"class":466,"line":467},[464,795,471],{"class":470},[464,797,474],{"class":470},[464,799,478],{"class":477},[464,801,482],{"class":481},[464,803,804,807,809,811],{"class":466,"line":485},[464,805,806],{"class":481},"  static: ",[464,808,529],{"class":522},[464,810,495],{"class":481},[464,812,813],{"class":498},"// prerender all routes\n",[464,815,816],{"class":466,"line":502},[464,817,505],{"class":481},[411,819,821],{"id":820},"features","Features",[416,823,825],{"id":824},"features-1",[420,826,820],{},[512,828,829],{},[515,830,517,831],{},[420,832,833],{"className":458,"language":460,"style":5},[464,834,835],{"class":481},"{}",[423,837,838],{},"Enable built-in features.",[840,841,843],"h4",{"id":842},"runtimehooks",[420,844,845],{},"runtimeHooks",[512,847,848],{},[515,849,850],{},"Default: auto-detected (enabled if there is at least one nitro plugin)",[423,852,853],{},"Enable runtime hooks for request and response.",[840,855,857],{"id":856},"websocket",[420,858,856],{},[512,860,861],{},[515,862,517,863],{},[420,864,865],{"className":458,"language":460,"style":5},[464,866,523],{"class":522},[423,868,869],{},"Enable WebSocket support.",[456,871,873],{"className":458,"code":872,"language":460,"meta":5,"style":5},"export default defineConfig({\n  features: {\n    runtimeHooks: true,\n    websocket: true, // enable WebSocket support\n  },\n});\n",[420,874,875,885,890,899,911,915],{"__ignoreMap":5},[464,876,877,879,881,883],{"class":466,"line":467},[464,878,471],{"class":470},[464,880,474],{"class":470},[464,882,478],{"class":477},[464,884,482],{"class":481},[464,886,887],{"class":466,"line":485},[464,888,889],{"class":481},"  features: {\n",[464,891,892,895,897],{"class":466,"line":502},[464,893,894],{"class":481},"    runtimeHooks: ",[464,896,529],{"class":522},[464,898,562],{"class":481},[464,900,901,904,906,908],{"class":466,"line":710},[464,902,903],{"class":481},"    websocket: ",[464,905,529],{"class":522},[464,907,495],{"class":481},[464,909,910],{"class":498},"// enable WebSocket support\n",[464,912,913],{"class":466,"line":716},[464,914,713],{"class":481},[464,916,918],{"class":466,"line":917},6,[464,919,505],{"class":481},[408,921],{"to":64},[416,923,925],{"id":924},"experimental",[420,926,924],{},[512,928,929],{},[515,930,517,931],{},[420,932,835],{},[423,934,935],{},"Enable experimental features.",[840,937,939],{"id":938},"openapi",[420,940,941],{},"openAPI",[512,943,944],{},[515,945,517,946],{},[420,947,948],{"className":458,"language":460,"style":5},[464,949,523],{"class":522},[423,951,952,953,495,956,959,960,963],{},"Enable ",[420,954,955],{},"/_scalar",[420,957,958],{},"/_swagger"," and ",[420,961,962],{},"/_openapi.json"," endpoints.",[965,966,967],"note",{},[423,968,969,970,975],{},"Prefer using the top-level ",[592,971,973],{"href":972},"#openapi",[420,974,941],{}," option for configuration.",[840,977,979],{"id":978},"typescriptbundlerresolution",[420,980,981],{},"typescriptBundlerResolution",[423,983,984,985,990],{},"Enable TypeScript bundler module resolution. See ",[592,986,989],{"href":987,"rel":988},"https://github.com/microsoft/TypeScript/pull/51669",[596],"TypeScript#51669",".",[840,992,994],{"id":993},"asynccontext",[420,995,996],{},"asyncContext",[423,998,999,1000,990],{},"Enable native async context support for ",[420,1001,1002],{},"useRequest()",[840,1004,1006],{"id":1005},"sourcemapminify",[420,1007,1008],{},"sourcemapMinify",[423,1010,1011,1012,1014],{},"Set to ",[420,1013,523],{}," to disable experimental sourcemap minification.",[840,1016,1018],{"id":1017},"envexpansion",[420,1019,1020],{},"envExpansion",[423,1022,1023,1024,990],{},"Allow env expansion in runtime config. See ",[592,1025,1028],{"href":1026,"rel":1027},"https://github.com/nitrojs/nitro/pull/2043",[596],"#2043",[840,1030,1032],{"id":1031},"database",[420,1033,1031],{},[423,1035,1036,1037,990],{},"Enable experimental database support. See ",[592,1038,38],{"href":39},[840,1040,1042],{"id":1041},"tasks",[420,1043,1041],{},[423,1045,1046,1047,990],{},"Enable experimental tasks support. See ",[592,1048,58],{"href":59},[456,1050,1052],{"className":458,"code":1051,"language":460,"meta":5,"style":5},"export default defineConfig({\n  experimental: {\n    typescriptBundlerResolution: true,\n    asyncContext: true,\n    envExpansion: true,\n    database: true,\n    tasks: true,\n  },\n});\n",[420,1053,1054,1064,1069,1078,1087,1096,1105,1115,1120],{"__ignoreMap":5},[464,1055,1056,1058,1060,1062],{"class":466,"line":467},[464,1057,471],{"class":470},[464,1059,474],{"class":470},[464,1061,478],{"class":477},[464,1063,482],{"class":481},[464,1065,1066],{"class":466,"line":485},[464,1067,1068],{"class":481},"  experimental: {\n",[464,1070,1071,1074,1076],{"class":466,"line":502},[464,1072,1073],{"class":481},"    typescriptBundlerResolution: ",[464,1075,529],{"class":522},[464,1077,562],{"class":481},[464,1079,1080,1083,1085],{"class":466,"line":710},[464,1081,1082],{"class":481},"    asyncContext: ",[464,1084,529],{"class":522},[464,1086,562],{"class":481},[464,1088,1089,1092,1094],{"class":466,"line":716},[464,1090,1091],{"class":481},"    envExpansion: ",[464,1093,529],{"class":522},[464,1095,562],{"class":481},[464,1097,1098,1101,1103],{"class":466,"line":917},[464,1099,1100],{"class":481},"    database: ",[464,1102,529],{"class":522},[464,1104,562],{"class":481},[464,1106,1108,1111,1113],{"class":466,"line":1107},7,[464,1109,1110],{"class":481},"    tasks: ",[464,1112,529],{"class":522},[464,1114,562],{"class":481},[464,1116,1118],{"class":466,"line":1117},8,[464,1119,713],{"class":481},[464,1121,1123],{"class":466,"line":1122},9,[464,1124,505],{"class":481},[416,1126,1128],{"id":1127},"openapi-1",[420,1129,941],{},[423,1131,1132],{},"Top-level OpenAPI configuration.",[423,1134,1135],{},"You can pass an object to modify your OpenAPI specification:",[456,1137,1141],{"className":1138,"code":1139,"language":1140,"meta":5,"style":5},"language-js shiki shiki-themes github-light github-dark github-dark","openAPI: {\n  meta: {\n    title: 'My Awesome Project',\n    description: 'This might become the next big thing.',\n    version: '1.0'\n  }\n}\n","js",[420,1142,1143,1150,1157,1170,1182,1192,1197],{"__ignoreMap":5},[464,1144,1145,1147],{"class":466,"line":467},[464,1146,941],{"class":477},[464,1148,1149],{"class":481},": {\n",[464,1151,1152,1155],{"class":466,"line":485},[464,1153,1154],{"class":477},"  meta",[464,1156,1149],{"class":481},[464,1158,1159,1162,1165,1168],{"class":466,"line":502},[464,1160,1161],{"class":477},"    title",[464,1163,1164],{"class":481},": ",[464,1166,1167],{"class":491},"'My Awesome Project'",[464,1169,562],{"class":481},[464,1171,1172,1175,1177,1180],{"class":466,"line":710},[464,1173,1174],{"class":477},"    description",[464,1176,1164],{"class":481},[464,1178,1179],{"class":491},"'This might become the next big thing.'",[464,1181,562],{"class":481},[464,1183,1184,1187,1189],{"class":466,"line":716},[464,1185,1186],{"class":477},"    version",[464,1188,1164],{"class":481},[464,1190,1191],{"class":491},"'1.0'\n",[464,1193,1194],{"class":466,"line":917},[464,1195,1196],{"class":481},"  }\n",[464,1198,1199],{"class":466,"line":1107},[464,1200,1201],{"class":481},"}\n",[423,1203,1204,1205,1207,1208,1211,1212,1215],{},"These routes are disabled by default in production. To enable them, use the ",[420,1206,436],{}," key.\n",[420,1209,1210],{},"\"runtime\""," allows middleware usage, and ",[420,1213,1214],{},"\"prerender\""," is the most efficient because the JSON response is constant.",[456,1217,1219],{"className":1138,"code":1218,"language":1140,"meta":5,"style":5},"openAPI: {\n    // IMPORTANT: make sure to protect OpenAPI routes if necessary!\n    production: \"runtime\", // or \"prerender\"\n}\n",[420,1220,1221,1227,1232,1246],{"__ignoreMap":5},[464,1222,1223,1225],{"class":466,"line":467},[464,1224,941],{"class":477},[464,1226,1149],{"class":481},[464,1228,1229],{"class":466,"line":485},[464,1230,1231],{"class":498},"    // IMPORTANT: make sure to protect OpenAPI routes if necessary!\n",[464,1233,1234,1237,1239,1241,1243],{"class":466,"line":502},[464,1235,1236],{"class":477},"    production",[464,1238,1164],{"class":481},[464,1240,1210],{"class":491},[464,1242,495],{"class":481},[464,1244,1245],{"class":498},"// or \"prerender\"\n",[464,1247,1248],{"class":466,"line":710},[464,1249,1201],{"class":481},[423,1251,1252,1253,1258],{},"If you like to customize the Scalar integration, you can ",[592,1254,1257],{"href":1255,"rel":1256},"https://github.com/scalar/scalar",[596],"pass a configuration object"," like this:",[456,1260,1262],{"className":1138,"code":1261,"language":1140,"meta":5,"style":5},"openAPI: {\n  ui: {\n    scalar: {\n      theme: 'purple'\n    }\n  }\n}\n",[420,1263,1264,1270,1277,1284,1294,1299,1303],{"__ignoreMap":5},[464,1265,1266,1268],{"class":466,"line":467},[464,1267,941],{"class":477},[464,1269,1149],{"class":481},[464,1271,1272,1275],{"class":466,"line":485},[464,1273,1274],{"class":477},"  ui",[464,1276,1149],{"class":481},[464,1278,1279,1282],{"class":466,"line":502},[464,1280,1281],{"class":477},"    scalar",[464,1283,1149],{"class":481},[464,1285,1286,1289,1291],{"class":466,"line":710},[464,1287,1288],{"class":477},"      theme",[464,1290,1164],{"class":481},[464,1292,1293],{"class":491},"'purple'\n",[464,1295,1296],{"class":466,"line":716},[464,1297,1298],{"class":481},"    }\n",[464,1300,1301],{"class":466,"line":917},[464,1302,1196],{"class":481},[464,1304,1305],{"class":466,"line":1107},[464,1306,1201],{"class":481},[423,1308,1309,1310,1315],{},"If you like to customize the Swagger UI, you can pass any ",[592,1311,1314],{"href":1312,"rel":1313},"https://swagger.io/docs/open-source-tools/swagger-ui/usage/configuration/",[596],"Swagger UI configuration option",":",[456,1317,1319],{"className":1138,"code":1318,"language":1140,"meta":5,"style":5},"openAPI: {\n  ui: {\n    swagger: {\n      persistAuthorization: true,\n      deepLinking: true,\n      docExpansion: 'none',\n      filter: true,\n    }\n  }\n}\n",[420,1320,1321,1327,1333,1340,1351,1362,1374,1385,1389,1393],{"__ignoreMap":5},[464,1322,1323,1325],{"class":466,"line":467},[464,1324,941],{"class":477},[464,1326,1149],{"class":481},[464,1328,1329,1331],{"class":466,"line":485},[464,1330,1274],{"class":477},[464,1332,1149],{"class":481},[464,1334,1335,1338],{"class":466,"line":502},[464,1336,1337],{"class":477},"    swagger",[464,1339,1149],{"class":481},[464,1341,1342,1345,1347,1349],{"class":466,"line":710},[464,1343,1344],{"class":477},"      persistAuthorization",[464,1346,1164],{"class":481},[464,1348,529],{"class":522},[464,1350,562],{"class":481},[464,1352,1353,1356,1358,1360],{"class":466,"line":716},[464,1354,1355],{"class":477},"      deepLinking",[464,1357,1164],{"class":481},[464,1359,529],{"class":522},[464,1361,562],{"class":481},[464,1363,1364,1367,1369,1372],{"class":466,"line":917},[464,1365,1366],{"class":477},"      docExpansion",[464,1368,1164],{"class":481},[464,1370,1371],{"class":491},"'none'",[464,1373,562],{"class":481},[464,1375,1376,1379,1381,1383],{"class":466,"line":1107},[464,1377,1378],{"class":477},"      filter",[464,1380,1164],{"class":481},[464,1382,529],{"class":522},[464,1384,562],{"class":481},[464,1386,1387],{"class":466,"line":1117},[464,1388,1298],{"class":481},[464,1390,1391],{"class":466,"line":1122},[464,1392,1196],{"class":481},[464,1394,1396],{"class":466,"line":1395},10,[464,1397,1201],{"class":481},[423,1399,1400],{},"Or if you want to customize the endpoints:",[456,1402,1404],{"className":1138,"code":1403,"language":1140,"meta":5,"style":5},"openAPI: {\n  route: \"/_docs/openapi.json\",\n  ui: {\n    scalar: {\n      route: \"/_docs/scalar\"\n    },\n    swagger: {\n      route: \"/_docs/swagger\"\n    }\n  }\n}\n",[420,1405,1406,1412,1424,1430,1436,1446,1451,1457,1466,1470,1474],{"__ignoreMap":5},[464,1407,1408,1410],{"class":466,"line":467},[464,1409,941],{"class":477},[464,1411,1149],{"class":481},[464,1413,1414,1417,1419,1422],{"class":466,"line":485},[464,1415,1416],{"class":477},"  route",[464,1418,1164],{"class":481},[464,1420,1421],{"class":491},"\"/_docs/openapi.json\"",[464,1423,562],{"class":481},[464,1425,1426,1428],{"class":466,"line":502},[464,1427,1274],{"class":477},[464,1429,1149],{"class":481},[464,1431,1432,1434],{"class":466,"line":710},[464,1433,1281],{"class":477},[464,1435,1149],{"class":481},[464,1437,1438,1441,1443],{"class":466,"line":716},[464,1439,1440],{"class":477},"      route",[464,1442,1164],{"class":481},[464,1444,1445],{"class":491},"\"/_docs/scalar\"\n",[464,1447,1448],{"class":466,"line":917},[464,1449,1450],{"class":481},"    },\n",[464,1452,1453,1455],{"class":466,"line":1107},[464,1454,1337],{"class":477},[464,1456,1149],{"class":481},[464,1458,1459,1461,1463],{"class":466,"line":1117},[464,1460,1440],{"class":477},[464,1462,1164],{"class":481},[464,1464,1465],{"class":491},"\"/_docs/swagger\"\n",[464,1467,1468],{"class":466,"line":1122},[464,1469,1298],{"class":481},[464,1471,1472],{"class":466,"line":1395},[464,1473,1196],{"class":481},[464,1475,1477],{"class":466,"line":1476},11,[464,1478,1201],{"class":481},[416,1480,1482],{"id":1481},"future",[420,1483,1481],{},[512,1485,1486],{},[515,1487,517,1488],{},[420,1489,835],{},[423,1491,1492],{},"New features pending for a major version to avoid breaking changes.",[840,1494,1496],{"id":1495},"nativeswr",[420,1497,1498],{},"nativeSWR",[423,1500,1501],{},"Uses built-in SWR functionality (using caching layer and storage) for Netlify and Vercel presets instead of falling back to ISR behavior.",[456,1503,1505],{"className":458,"code":1504,"language":460,"meta":5,"style":5},"export default defineConfig({\n  future: {\n    nativeSWR: true,\n  },\n});\n",[420,1506,1507,1517,1522,1531,1535],{"__ignoreMap":5},[464,1508,1509,1511,1513,1515],{"class":466,"line":467},[464,1510,471],{"class":470},[464,1512,474],{"class":470},[464,1514,478],{"class":477},[464,1516,482],{"class":481},[464,1518,1519],{"class":466,"line":485},[464,1520,1521],{"class":481},"  future: {\n",[464,1523,1524,1527,1529],{"class":466,"line":502},[464,1525,1526],{"class":481},"    nativeSWR: ",[464,1528,529],{"class":522},[464,1530,562],{"class":481},[464,1532,1533],{"class":466,"line":710},[464,1534,713],{"class":481},[464,1536,1537],{"class":466,"line":716},[464,1538,505],{"class":481},[416,1540,1542],{"id":1541},"storage",[420,1543,1541],{},[512,1545,1546],{},[515,1547,517,1548],{},[420,1549,835],{},[423,1551,1552],{},"Storage configuration.",[456,1554,1556],{"className":458,"code":1555,"language":460,"meta":5,"style":5},"export default defineConfig({\n  storage: {\n    redis: {\n      driver: \"redis\",\n      url: \"redis://localhost:6379\",\n    },\n  },\n});\n",[420,1557,1558,1568,1573,1578,1588,1598,1602,1606],{"__ignoreMap":5},[464,1559,1560,1562,1564,1566],{"class":466,"line":467},[464,1561,471],{"class":470},[464,1563,474],{"class":470},[464,1565,478],{"class":477},[464,1567,482],{"class":481},[464,1569,1570],{"class":466,"line":485},[464,1571,1572],{"class":481},"  storage: {\n",[464,1574,1575],{"class":466,"line":502},[464,1576,1577],{"class":481},"    redis: {\n",[464,1579,1580,1583,1586],{"class":466,"line":710},[464,1581,1582],{"class":481},"      driver: ",[464,1584,1585],{"class":491},"\"redis\"",[464,1587,562],{"class":481},[464,1589,1590,1593,1596],{"class":466,"line":716},[464,1591,1592],{"class":481},"      url: ",[464,1594,1595],{"class":491},"\"redis://localhost:6379\"",[464,1597,562],{"class":481},[464,1599,1600],{"class":466,"line":917},[464,1601,1450],{"class":481},[464,1603,1604],{"class":466,"line":1107},[464,1605,713],{"class":481},[464,1607,1608],{"class":466,"line":1117},[464,1609,505],{"class":481},[408,1611],{"to":79},[416,1613,1615],{"id":1614},"devstorage",[420,1616,1617],{},"devStorage",[512,1619,1620],{},[515,1621,517,1622],{},[420,1623,835],{},[423,1625,1626],{},"Storage configuration overrides for development mode.",[456,1628,1630],{"className":458,"code":1629,"language":460,"meta":5,"style":5},"export default defineConfig({\n  devStorage: {\n    redis: {\n      driver: \"fs\",\n      base: \"./data/redis\", // use filesystem in development\n    },\n  },\n});\n",[420,1631,1632,1642,1647,1651,1660,1673,1677,1681],{"__ignoreMap":5},[464,1633,1634,1636,1638,1640],{"class":466,"line":467},[464,1635,471],{"class":470},[464,1637,474],{"class":470},[464,1639,478],{"class":477},[464,1641,482],{"class":481},[464,1643,1644],{"class":466,"line":485},[464,1645,1646],{"class":481},"  devStorage: {\n",[464,1648,1649],{"class":466,"line":502},[464,1650,1577],{"class":481},[464,1652,1653,1655,1658],{"class":466,"line":710},[464,1654,1582],{"class":481},[464,1656,1657],{"class":491},"\"fs\"",[464,1659,562],{"class":481},[464,1661,1662,1665,1668,1670],{"class":466,"line":716},[464,1663,1664],{"class":481},"      base: ",[464,1666,1667],{"class":491},"\"./data/redis\"",[464,1669,495],{"class":481},[464,1671,1672],{"class":498},"// use filesystem in development\n",[464,1674,1675],{"class":466,"line":917},[464,1676,1450],{"class":481},[464,1678,1679],{"class":466,"line":1107},[464,1680,713],{"class":481},[464,1682,1683],{"class":466,"line":1117},[464,1684,505],{"class":481},[416,1686,1688],{"id":1687},"database-1",[420,1689,1031],{},[423,1691,1692,1693,990],{},"Database connection configurations. Requires ",[420,1694,1695],{},"experimental.database: true",[456,1697,1699],{"className":458,"code":1698,"language":460,"meta":5,"style":5},"database: {\n  default: {\n    connector: \"sqlite\",\n    options: { name: \"db\" }\n  }\n}\n",[420,1700,1701,1707,1714,1724,1735,1739],{"__ignoreMap":5},[464,1702,1703,1705],{"class":466,"line":467},[464,1704,1031],{"class":477},[464,1706,1149],{"class":481},[464,1708,1709,1712],{"class":466,"line":485},[464,1710,1711],{"class":470},"  default",[464,1713,1149],{"class":481},[464,1715,1716,1719,1722],{"class":466,"line":502},[464,1717,1718],{"class":481},"    connector: ",[464,1720,1721],{"class":491},"\"sqlite\"",[464,1723,562],{"class":481},[464,1725,1726,1729,1732],{"class":466,"line":710},[464,1727,1728],{"class":481},"    options: { name: ",[464,1730,1731],{"class":491},"\"db\"",[464,1733,1734],{"class":481}," }\n",[464,1736,1737],{"class":466,"line":716},[464,1738,1196],{"class":481},[464,1740,1741],{"class":466,"line":917},[464,1742,1201],{"class":481},[408,1744],{"to":39},[416,1746,1748],{"id":1747},"devdatabase",[420,1749,1750],{},"devDatabase",[423,1752,1753],{},"Database connection configuration overrides for development mode.",[456,1755,1757],{"className":458,"code":1756,"language":460,"meta":5,"style":5},"export default defineConfig({\n  devDatabase: {\n    default: {\n      connector: \"sqlite\",\n      options: { name: \"db-dev\" }, // separate dev database\n    },\n  },\n});\n",[420,1758,1759,1769,1774,1779,1788,1801,1805,1809],{"__ignoreMap":5},[464,1760,1761,1763,1765,1767],{"class":466,"line":467},[464,1762,471],{"class":470},[464,1764,474],{"class":470},[464,1766,478],{"class":477},[464,1768,482],{"class":481},[464,1770,1771],{"class":466,"line":485},[464,1772,1773],{"class":481},"  devDatabase: {\n",[464,1775,1776],{"class":466,"line":502},[464,1777,1778],{"class":481},"    default: {\n",[464,1780,1781,1784,1786],{"class":466,"line":710},[464,1782,1783],{"class":481},"      connector: ",[464,1785,1721],{"class":491},[464,1787,562],{"class":481},[464,1789,1790,1793,1796,1798],{"class":466,"line":716},[464,1791,1792],{"class":481},"      options: { name: ",[464,1794,1795],{"class":491},"\"db-dev\"",[464,1797,657],{"class":481},[464,1799,1800],{"class":498},"// separate dev database\n",[464,1802,1803],{"class":466,"line":917},[464,1804,1450],{"class":481},[464,1806,1807],{"class":466,"line":1107},[464,1808,713],{"class":481},[464,1810,1811],{"class":466,"line":1117},[464,1812,505],{"class":481},[416,1814,1816],{"id":1815},"renderer",[420,1817,1815],{},[512,1819,1820],{},[515,1821,1822,1823,1827,1828],{},"Type: ",[420,1824,1825],{"className":458,"language":460,"style":5},[464,1826,523],{"class":522}," | ",[420,1829,1830,1833,1836,1839,1841,1844,1846],{"className":458,"language":460,"style":5},[464,1831,1832],{"class":481},"{ handler",[464,1834,1835],{"class":470},"?:",[464,1837,1838],{"class":481}," string, static",[464,1840,1835],{"class":470},[464,1842,1843],{"class":481}," boolean, template",[464,1845,1835],{"class":470},[464,1847,1848],{"class":481}," string }",[423,1850,1851],{},"Points to main render entry (file should export an event handler as default).",[456,1853,1855],{"className":458,"code":1854,"language":460,"meta":5,"style":5},"export default defineConfig({\n  renderer: {\n    handler: \"~/renderer\", // path to the render handler\n  },\n});\n",[420,1856,1857,1867,1872,1885,1889],{"__ignoreMap":5},[464,1858,1859,1861,1863,1865],{"class":466,"line":467},[464,1860,471],{"class":470},[464,1862,474],{"class":470},[464,1864,478],{"class":477},[464,1866,482],{"class":481},[464,1868,1869],{"class":466,"line":485},[464,1870,1871],{"class":481},"  renderer: {\n",[464,1873,1874,1877,1880,1882],{"class":466,"line":502},[464,1875,1876],{"class":481},"    handler: ",[464,1878,1879],{"class":491},"\"~/renderer\"",[464,1881,495],{"class":481},[464,1883,1884],{"class":498},"// path to the render handler\n",[464,1886,1887],{"class":466,"line":710},[464,1888,713],{"class":481},[464,1890,1891],{"class":466,"line":716},[464,1892,505],{"class":481},[408,1894],{"to":19},[416,1896,1898],{"id":1897},"servestatic",[420,1899,1900],{},"serveStatic",[512,1902,1903,1925],{},[515,1904,1822,1905,1827,1910,1827,1915,1827,1920],{},[420,1906,1907],{"className":458,"language":460,"style":5},[464,1908,1909],{"class":481},"boolean",[420,1911,1912],{"className":458,"language":460,"style":5},[464,1913,1914],{"class":491},"'node'",[420,1916,1917],{"className":458,"language":460,"style":5},[464,1918,1919],{"class":491},"'deno'",[420,1921,1922],{"className":458,"language":460,"style":5},[464,1923,1924],{"class":491},"'inline'",[515,1926,1927],{},"Default: depends on the deployment preset used.",[423,1929,1930,1931,1934],{},"Serve ",[420,1932,1933],{},"public/"," assets in production.",[423,1936,1937,1939,1940,1943],{},[434,1938,670],{}," It is highly recommended that your edge CDN (Nginx, Apache, Cloud) serves the ",[420,1941,1942],{},".output/public/"," directory instead to enable compression and higher level caching.",[456,1945,1947],{"className":458,"code":1946,"language":460,"meta":5,"style":5},"export default defineConfig({\n  serveStatic: \"node\", // serve static assets using Node.js\n});\n",[420,1948,1949,1959,1972],{"__ignoreMap":5},[464,1950,1951,1953,1955,1957],{"class":466,"line":467},[464,1952,471],{"class":470},[464,1954,474],{"class":470},[464,1956,478],{"class":477},[464,1958,482],{"class":481},[464,1960,1961,1964,1967,1969],{"class":466,"line":485},[464,1962,1963],{"class":481},"  serveStatic: ",[464,1965,1966],{"class":491},"\"node\"",[464,1968,495],{"class":481},[464,1970,1971],{"class":498},"// serve static assets using Node.js\n",[464,1973,1974],{"class":466,"line":502},[464,1975,505],{"class":481},[416,1977,1979],{"id":1978},"nopublicdir",[420,1980,1981],{},"noPublicDir",[512,1983,1984],{},[515,1985,517,1986],{},[420,1987,1988],{"className":458,"language":460,"style":5},[464,1989,523],{"class":522},[423,1991,1992,1993,1996,1997,1999],{},"If enabled, disables ",[420,1994,1995],{},".output/public"," directory creation. Skips copying ",[420,1998,1933],{}," dir and also disables pre-rendering.",[456,2001,2003],{"className":458,"code":2002,"language":460,"meta":5,"style":5},"export default defineConfig({\n  noPublicDir: true, // skip public directory output\n});\n",[420,2004,2005,2015,2027],{"__ignoreMap":5},[464,2006,2007,2009,2011,2013],{"class":466,"line":467},[464,2008,471],{"class":470},[464,2010,474],{"class":470},[464,2012,478],{"class":477},[464,2014,482],{"class":481},[464,2016,2017,2020,2022,2024],{"class":466,"line":485},[464,2018,2019],{"class":481},"  noPublicDir: ",[464,2021,529],{"class":522},[464,2023,495],{"class":481},[464,2025,2026],{"class":498},"// skip public directory output\n",[464,2028,2029],{"class":466,"line":502},[464,2030,505],{"class":481},[416,2032,2034],{"id":2033},"publicassets",[420,2035,2036],{},"publicAssets",[423,2038,2039],{},"Public asset directories to serve in development and bundle in production.",[423,2041,2042,2043,2045],{},"If a ",[420,2044,1933],{}," directory is detected, it will be added by default, but you can add more by yourself too!",[423,2047,2048,2049,2052],{},"It's possible to set Cache-Control headers for assets using the ",[420,2050,2051],{},"maxAge"," option:",[456,2054,2056],{"className":458,"code":2055,"language":460,"meta":5,"style":5},"  publicAssets: [\n    {\n      baseURL: \"images\",\n      dir: \"public/images\",\n      maxAge: 60 * 60 * 24 * 7, // 7 days\n    },\n  ],\n",[420,2057,2058,2066,2071,2081,2091,2120,2124],{"__ignoreMap":5},[464,2059,2060,2063],{"class":466,"line":467},[464,2061,2062],{"class":477},"  publicAssets",[464,2064,2065],{"class":481},": [\n",[464,2067,2068],{"class":466,"line":485},[464,2069,2070],{"class":481},"    {\n",[464,2072,2073,2076,2079],{"class":466,"line":502},[464,2074,2075],{"class":481},"      baseURL: ",[464,2077,2078],{"class":491},"\"images\"",[464,2080,562],{"class":481},[464,2082,2083,2086,2089],{"class":466,"line":710},[464,2084,2085],{"class":481},"      dir: ",[464,2087,2088],{"class":491},"\"public/images\"",[464,2090,562],{"class":481},[464,2092,2093,2096,2099,2102,2105,2107,2110,2112,2115,2117],{"class":466,"line":716},[464,2094,2095],{"class":481},"      maxAge: ",[464,2097,2098],{"class":522},"60",[464,2100,2101],{"class":470}," *",[464,2103,2104],{"class":522}," 60",[464,2106,2101],{"class":470},[464,2108,2109],{"class":522}," 24",[464,2111,2101],{"class":470},[464,2113,2114],{"class":522}," 7",[464,2116,495],{"class":481},[464,2118,2119],{"class":498},"// 7 days\n",[464,2121,2122],{"class":466,"line":917},[464,2123,1450],{"class":481},[464,2125,2126],{"class":466,"line":1107},[464,2127,2128],{"class":481},"  ],\n",[423,2130,2131,2132,2135],{},"The config above generates the following header in the assets under ",[420,2133,2134],{},"public/images/"," folder:",[423,2137,2138],{},[420,2139,2140],{},"cache-control: public, max-age=604800, immutable",[423,2142,2143,2144,2147,2148,2151],{},"The ",[420,2145,2146],{},"dir"," option is where your files live on your file system; the ",[420,2149,2150],{},"baseURL"," option is the folder they will be accessible from when served/bundled.",[408,2153],{"to":29},[416,2155,2157],{"id":2156},"compresspublicassets",[420,2158,2159],{},"compressPublicAssets",[512,2161,2162],{},[515,2163,517,2164],{},[420,2165,2166,2168,2171,2173,2175,2177,2180,2182,2184,2186,2189,2191,2193],{"className":458,"language":460,"style":5},[464,2167,645],{"class":481},[464,2169,2170],{"class":477},"gzip",[464,2172,1164],{"class":481},[464,2174,523],{"class":522},[464,2176,495],{"class":481},[464,2178,2179],{"class":477},"brotli",[464,2181,1164],{"class":481},[464,2183,523],{"class":522},[464,2185,495],{"class":481},[464,2187,2188],{"class":477},"zstd",[464,2190,1164],{"class":481},[464,2192,523],{"class":522},[464,2194,2195],{"class":481}," }",[423,2197,2198],{},"If enabled, Nitro will generate a pre-compressed (gzip, brotli, and/or zstd) version of supported types of public assets and prerendered routes\nlarger than 1024 bytes into the public directory. Default compression levels are used. Using this option you can support zero overhead asset compression without using a CDN.",[456,2200,2202],{"className":458,"code":2201,"language":460,"meta":5,"style":5},"export default defineConfig({\n  compressPublicAssets: {\n    gzip: true,\n    brotli: true, // enable gzip and brotli pre-compression\n  },\n});\n",[420,2203,2204,2214,2219,2228,2240,2244],{"__ignoreMap":5},[464,2205,2206,2208,2210,2212],{"class":466,"line":467},[464,2207,471],{"class":470},[464,2209,474],{"class":470},[464,2211,478],{"class":477},[464,2213,482],{"class":481},[464,2215,2216],{"class":466,"line":485},[464,2217,2218],{"class":481},"  compressPublicAssets: {\n",[464,2220,2221,2224,2226],{"class":466,"line":502},[464,2222,2223],{"class":481},"    gzip: ",[464,2225,529],{"class":522},[464,2227,562],{"class":481},[464,2229,2230,2233,2235,2237],{"class":466,"line":710},[464,2231,2232],{"class":481},"    brotli: ",[464,2234,529],{"class":522},[464,2236,495],{"class":481},[464,2238,2239],{"class":498},"// enable gzip and brotli pre-compression\n",[464,2241,2242],{"class":466,"line":716},[464,2243,713],{"class":481},[464,2245,2246],{"class":466,"line":917},[464,2247,505],{"class":481},[416,2249,2251],{"id":2250},"serverassets",[420,2252,2253],{},"serverAssets",[423,2255,2256],{},"Assets can be accessed in server logic and bundled in production.",[456,2258,2260],{"className":458,"code":2259,"language":460,"meta":5,"style":5},"export default defineConfig({\n  serverAssets: [\n    {\n      baseName: \"templates\",\n      dir: \"./templates\", // bundle templates/ as server assets\n    },\n  ],\n});\n",[420,2261,2262,2272,2277,2281,2291,2303,2307,2311],{"__ignoreMap":5},[464,2263,2264,2266,2268,2270],{"class":466,"line":467},[464,2265,471],{"class":470},[464,2267,474],{"class":470},[464,2269,478],{"class":477},[464,2271,482],{"class":481},[464,2273,2274],{"class":466,"line":485},[464,2275,2276],{"class":481},"  serverAssets: [\n",[464,2278,2279],{"class":466,"line":502},[464,2280,2070],{"class":481},[464,2282,2283,2286,2289],{"class":466,"line":710},[464,2284,2285],{"class":481},"      baseName: ",[464,2287,2288],{"class":491},"\"templates\"",[464,2290,562],{"class":481},[464,2292,2293,2295,2298,2300],{"class":466,"line":716},[464,2294,2085],{"class":481},[464,2296,2297],{"class":491},"\"./templates\"",[464,2299,495],{"class":481},[464,2301,2302],{"class":498},"// bundle templates/ as server assets\n",[464,2304,2305],{"class":466,"line":917},[464,2306,1450],{"class":481},[464,2308,2309],{"class":466,"line":1107},[464,2310,2128],{"class":481},[464,2312,2313],{"class":466,"line":1117},[464,2314,505],{"class":481},[408,2316],{"to":2317},"/docs/assets#server-assets",[416,2319,2321],{"id":2320},"modules",[420,2322,2320],{},[512,2324,2325],{},[515,2326,517,2327],{},[420,2328,2329],{"className":458,"language":460,"style":5},[464,2330,2331],{"class":481},"[]",[423,2333,2334,2335,2338],{},"An array of Nitro modules. Modules can be a string (path), a module object with a ",[420,2336,2337],{},"setup"," function, or a function.",[456,2340,2342],{"className":458,"code":2341,"language":460,"meta":5,"style":5},"export default defineConfig({\n  modules: [\n    \"./modules/my-module.ts\",\n    (nitro) => {\n      nitro.hooks.hook(\"compiled\", () => { /* ... */ });\n    },\n  ],\n});\n",[420,2343,2344,2354,2359,2366,2383,2411,2415,2419],{"__ignoreMap":5},[464,2345,2346,2348,2350,2352],{"class":466,"line":467},[464,2347,471],{"class":470},[464,2349,474],{"class":470},[464,2351,478],{"class":477},[464,2353,482],{"class":481},[464,2355,2356],{"class":466,"line":485},[464,2357,2358],{"class":481},"  modules: [\n",[464,2360,2361,2364],{"class":466,"line":502},[464,2362,2363],{"class":491},"    \"./modules/my-module.ts\"",[464,2365,562],{"class":481},[464,2367,2368,2371,2374,2377,2380],{"class":466,"line":710},[464,2369,2370],{"class":481},"    (",[464,2372,648],{"class":2373},"sQHwn",[464,2375,2376],{"class":481},") ",[464,2378,2379],{"class":470},"=>",[464,2381,2382],{"class":481}," {\n",[464,2384,2385,2388,2391,2394,2397,2400,2402,2405,2408],{"class":466,"line":716},[464,2386,2387],{"class":481},"      nitro.hooks.",[464,2389,2390],{"class":477},"hook",[464,2392,2393],{"class":481},"(",[464,2395,2396],{"class":491},"\"compiled\"",[464,2398,2399],{"class":481},", () ",[464,2401,2379],{"class":470},[464,2403,2404],{"class":481}," { ",[464,2406,2407],{"class":498},"/* ... */",[464,2409,2410],{"class":481}," });\n",[464,2412,2413],{"class":466,"line":917},[464,2414,1450],{"class":481},[464,2416,2417],{"class":466,"line":1107},[464,2418,2128],{"class":481},[464,2420,2421],{"class":466,"line":1117},[464,2422,505],{"class":481},[416,2424,2426],{"id":2425},"plugins",[420,2427,2425],{},[512,2429,2430],{},[515,2431,517,2432],{},[420,2433,2331],{},[423,2435,2436],{},"An array of paths to nitro plugins. They will be executed by order on the first initialization.",[423,2438,2439,2440,2443],{},"Note that Nitro auto-registers the plugins in the ",[420,2441,2442],{},"plugins/"," directory.",[456,2445,2447],{"className":458,"code":2446,"language":460,"meta":5,"style":5},"export default defineConfig({\n  plugins: [\n    \"~/plugins/my-plugin.ts\",\n  ],\n});\n",[420,2448,2449,2459,2464,2471,2475],{"__ignoreMap":5},[464,2450,2451,2453,2455,2457],{"class":466,"line":467},[464,2452,471],{"class":470},[464,2454,474],{"class":470},[464,2456,478],{"class":477},[464,2458,482],{"class":481},[464,2460,2461],{"class":466,"line":485},[464,2462,2463],{"class":481},"  plugins: [\n",[464,2465,2466,2469],{"class":466,"line":502},[464,2467,2468],{"class":491},"    \"~/plugins/my-plugin.ts\"",[464,2470,562],{"class":481},[464,2472,2473],{"class":466,"line":710},[464,2474,2128],{"class":481},[464,2476,2477],{"class":466,"line":716},[464,2478,505],{"class":481},[408,2480],{"to":54},[416,2482,2484],{"id":2483},"tasks-1",[420,2485,1041],{},[512,2487,2488],{},[515,2489,517,2490],{},[420,2491,835],{},[423,2493,2494,2495,2498,2499,990],{},"Task definitions. Each key is a task name with a ",[420,2496,2497],{},"handler"," path and optional ",[420,2500,2501],{},"description",[456,2503,2505],{"className":458,"code":2504,"language":460,"meta":5,"style":5},"tasks: {\n  'db:migrate': {\n    handler: './tasks/db-migrate',\n    description: 'Run database migrations'\n  }\n}\n",[420,2506,2507,2513,2520,2529,2537,2541],{"__ignoreMap":5},[464,2508,2509,2511],{"class":466,"line":467},[464,2510,1041],{"class":477},[464,2512,1149],{"class":481},[464,2514,2515,2518],{"class":466,"line":485},[464,2516,2517],{"class":491},"  'db:migrate'",[464,2519,1149],{"class":481},[464,2521,2522,2524,2527],{"class":466,"line":502},[464,2523,1876],{"class":481},[464,2525,2526],{"class":491},"'./tasks/db-migrate'",[464,2528,562],{"class":481},[464,2530,2531,2534],{"class":466,"line":710},[464,2532,2533],{"class":481},"    description: ",[464,2535,2536],{"class":491},"'Run database migrations'\n",[464,2538,2539],{"class":466,"line":716},[464,2540,1196],{"class":481},[464,2542,2543],{"class":466,"line":917},[464,2544,1201],{"class":481},[408,2546],{"to":59},[416,2548,2550],{"id":2549},"scheduledtasks",[420,2551,2552],{},"scheduledTasks",[512,2554,2555],{},[515,2556,517,2557],{},[420,2558,835],{},[423,2560,2561],{},"Map of cron expressions to task name(s).",[456,2563,2565],{"className":458,"code":2564,"language":460,"meta":5,"style":5},"scheduledTasks: {\n  '0 * * * *': 'cleanup:temp',\n  '*/5 * * * *': ['health:check', 'metrics:collect']\n}\n",[420,2566,2567,2573,2585,2604],{"__ignoreMap":5},[464,2568,2569,2571],{"class":466,"line":467},[464,2570,2552],{"class":477},[464,2572,1149],{"class":481},[464,2574,2575,2578,2580,2583],{"class":466,"line":485},[464,2576,2577],{"class":491},"  '0 * * * *'",[464,2579,1164],{"class":481},[464,2581,2582],{"class":491},"'cleanup:temp'",[464,2584,562],{"class":481},[464,2586,2587,2590,2593,2596,2598,2601],{"class":466,"line":502},[464,2588,2589],{"class":491},"  '*/5 * * * *'",[464,2591,2592],{"class":481},": [",[464,2594,2595],{"class":491},"'health:check'",[464,2597,495],{"class":481},[464,2599,2600],{"class":491},"'metrics:collect'",[464,2602,2603],{"class":481},"]\n",[464,2605,2606],{"class":466,"line":710},[464,2607,1201],{"class":481},[408,2609],{"to":59},[416,2611,2613],{"id":2612},"imports",[420,2614,2612],{},[512,2616,2617],{},[515,2618,517,2619],{},[420,2620,2621],{"className":458,"language":460,"style":5},[464,2622,523],{"class":522},[423,2624,2625,2626,598],{},"Auto import options. Set to an object to enable. See ",[592,2627,2630],{"href":2628,"rel":2629},"https://github.com/unjs/unimport",[596],"unimport",[456,2632,2634],{"className":458,"code":2633,"language":460,"meta":5,"style":5},"export default defineConfig({\n  imports: {\n    dirs: [\"./utils\"], // auto-import from utils/ directory\n  },\n});\n",[420,2635,2636,2646,2651,2665,2669],{"__ignoreMap":5},[464,2637,2638,2640,2642,2644],{"class":466,"line":467},[464,2639,471],{"class":470},[464,2641,474],{"class":470},[464,2643,478],{"class":477},[464,2645,482],{"class":481},[464,2647,2648],{"class":466,"line":485},[464,2649,2650],{"class":481},"  imports: {\n",[464,2652,2653,2656,2659,2662],{"class":466,"line":502},[464,2654,2655],{"class":481},"    dirs: [",[464,2657,2658],{"class":491},"\"./utils\"",[464,2660,2661],{"class":481},"], ",[464,2663,2664],{"class":498},"// auto-import from utils/ directory\n",[464,2666,2667],{"class":466,"line":710},[464,2668,713],{"class":481},[464,2670,2671],{"class":466,"line":716},[464,2672,505],{"class":481},[416,2674,2676],{"id":2675},"virtual",[420,2677,2675],{},[512,2679,2680],{},[515,2681,517,2682],{},[420,2683,835],{},[423,2685,2686],{},"A map from dynamic virtual import names to their contents or an (async) function that returns it.",[456,2688,2690],{"className":458,"code":2689,"language":460,"meta":5,"style":5},"export default defineConfig({\n  virtual: {\n    \"#config\": `export default { version: \"1.0.0\" }`,\n  },\n});\n",[420,2691,2692,2702,2707,2719,2723],{"__ignoreMap":5},[464,2693,2694,2696,2698,2700],{"class":466,"line":467},[464,2695,471],{"class":470},[464,2697,474],{"class":470},[464,2699,478],{"class":477},[464,2701,482],{"class":481},[464,2703,2704],{"class":466,"line":485},[464,2705,2706],{"class":481},"  virtual: {\n",[464,2708,2709,2712,2714,2717],{"class":466,"line":502},[464,2710,2711],{"class":491},"    \"#config\"",[464,2713,1164],{"class":481},[464,2715,2716],{"class":491},"`export default { version: \"1.0.0\" }`",[464,2718,562],{"class":481},[464,2720,2721],{"class":466,"line":710},[464,2722,713],{"class":481},[464,2724,2725],{"class":466,"line":716},[464,2726,505],{"class":481},[416,2728,2730],{"id":2729},"ignore",[420,2731,2729],{},[512,2733,2734],{},[515,2735,517,2736],{},[420,2737,2331],{},[423,2739,2740],{},"Array of glob patterns to ignore when scanning directories.",[456,2742,2744],{"className":458,"code":2743,"language":460,"meta":5,"style":5},"export default defineConfig({\n  ignore: [\n    \"routes/_legacy/**\", // skip legacy route handlers\n  ],\n});\n",[420,2745,2746,2756,2761,2771,2775],{"__ignoreMap":5},[464,2747,2748,2750,2752,2754],{"class":466,"line":467},[464,2749,471],{"class":470},[464,2751,474],{"class":470},[464,2753,478],{"class":477},[464,2755,482],{"class":481},[464,2757,2758],{"class":466,"line":485},[464,2759,2760],{"class":481},"  ignore: [\n",[464,2762,2763,2766,2768],{"class":466,"line":502},[464,2764,2765],{"class":491},"    \"routes/_legacy/**\"",[464,2767,495],{"class":481},[464,2769,2770],{"class":498},"// skip legacy route handlers\n",[464,2772,2773],{"class":466,"line":710},[464,2774,2128],{"class":481},[464,2776,2777],{"class":466,"line":716},[464,2778,505],{"class":481},[416,2780,2782],{"id":2781},"wasm",[420,2783,2781],{},[512,2785,2786,2792],{},[515,2787,517,2788],{},[420,2789,2790],{"className":458,"language":460,"style":5},[464,2791,835],{"class":481},[515,2793,1822,2794,1827,2798],{},[420,2795,2796],{"className":458,"language":460,"style":5},[464,2797,523],{"class":522},[420,2799,2800],{"className":458,"language":460,"style":5},[464,2801,2802],{"class":481},"UnwasmPluginOptions",[423,2804,2805,2806,2811],{},"WASM support configuration. See ",[592,2807,2810],{"href":2808,"rel":2809},"https://github.com/unjs/unwasm",[596],"unwasm"," for options.",[456,2813,2815],{"className":458,"code":2814,"language":460,"meta":5,"style":5},"export default defineConfig({\n  wasm: {}, // enable WASM import support\n});\n",[420,2816,2817,2827,2835],{"__ignoreMap":5},[464,2818,2819,2821,2823,2825],{"class":466,"line":467},[464,2820,471],{"class":470},[464,2822,474],{"class":470},[464,2824,478],{"class":477},[464,2826,482],{"class":481},[464,2828,2829,2832],{"class":466,"line":485},[464,2830,2831],{"class":481},"  wasm: {}, ",[464,2833,2834],{"class":498},"// enable WASM import support\n",[464,2836,2837],{"class":466,"line":502},[464,2838,505],{"class":481},[411,2840,2842],{"id":2841},"dev","Dev",[416,2844,2846],{"id":2845},"devserver",[420,2847,2848],{},"devServer",[512,2850,2851],{},[515,2852,517,2853],{},[420,2854,2855,2857,2860],{"className":458,"language":460,"style":5},[464,2856,645],{"class":481},[464,2858,2859],{"class":477},"watch",[464,2861,2862],{"class":481},": [] }",[423,2864,2865,2866,2868],{},"Dev server options. You can use ",[420,2867,2859],{}," to make the dev server reload if any file changes in specified paths.",[423,2870,2871,2872,495,2875,495,2878,2880,2881,2884],{},"Supports ",[420,2873,2874],{},"port",[420,2876,2877],{},"hostname",[420,2879,2859],{},", and ",[420,2882,2883],{},"runner"," options.",[456,2886,2888],{"className":458,"code":2887,"language":460,"meta":5,"style":5},"export default defineConfig({\n  devServer: {\n    port: 3001,\n    watch: [\"./server/plugins\"],\n  },\n});\n",[420,2889,2890,2900,2905,2915,2926,2930],{"__ignoreMap":5},[464,2891,2892,2894,2896,2898],{"class":466,"line":467},[464,2893,471],{"class":470},[464,2895,474],{"class":470},[464,2897,478],{"class":477},[464,2899,482],{"class":481},[464,2901,2902],{"class":466,"line":485},[464,2903,2904],{"class":481},"  devServer: {\n",[464,2906,2907,2910,2913],{"class":466,"line":502},[464,2908,2909],{"class":481},"    port: ",[464,2911,2912],{"class":522},"3001",[464,2914,562],{"class":481},[464,2916,2917,2920,2923],{"class":466,"line":710},[464,2918,2919],{"class":481},"    watch: [",[464,2921,2922],{"class":491},"\"./server/plugins\"",[464,2924,2925],{"class":481},"],\n",[464,2927,2928],{"class":466,"line":716},[464,2929,713],{"class":481},[464,2931,2932],{"class":466,"line":917},[464,2933,505],{"class":481},[416,2935,2937],{"id":2936},"watchoptions",[420,2938,2939],{},"watchOptions",[423,2941,2942,2943,598],{},"Watch options for development mode. See ",[592,2944,2947],{"href":2945,"rel":2946},"https://github.com/paulmillr/chokidar",[596],"chokidar",[456,2949,2951],{"className":458,"code":2950,"language":460,"meta":5,"style":5},"export default defineConfig({\n  watchOptions: {\n    ignored: [\"**/node_modules/**\", \"**/dist/**\"],\n  },\n});\n",[420,2952,2953,2963,2968,2983,2987],{"__ignoreMap":5},[464,2954,2955,2957,2959,2961],{"class":466,"line":467},[464,2956,471],{"class":470},[464,2958,474],{"class":470},[464,2960,478],{"class":477},[464,2962,482],{"class":481},[464,2964,2965],{"class":466,"line":485},[464,2966,2967],{"class":481},"  watchOptions: {\n",[464,2969,2970,2973,2976,2978,2981],{"class":466,"line":502},[464,2971,2972],{"class":481},"    ignored: [",[464,2974,2975],{"class":491},"\"**/node_modules/**\"",[464,2977,495],{"class":481},[464,2979,2980],{"class":491},"\"**/dist/**\"",[464,2982,2925],{"class":481},[464,2984,2985],{"class":466,"line":710},[464,2986,713],{"class":481},[464,2988,2989],{"class":466,"line":716},[464,2990,505],{"class":481},[416,2992,2994],{"id":2993},"devproxy",[420,2995,2996],{},"devProxy",[423,2998,2999],{},"Proxy configuration for development server.",[423,3001,3002],{},"You can use this option to override development server routes and proxy-pass requests.",[456,3004,3006],{"className":1138,"code":3005,"language":1140,"meta":5,"style":5},"{\n  devProxy: {\n    '/proxy/test': 'http://localhost:3001',\n    '/proxy/example': { target: 'https://example.com', changeOrigin: true }\n  }\n}\n",[420,3007,3008,3013,3020,3032,3050,3054],{"__ignoreMap":5},[464,3009,3010],{"class":466,"line":467},[464,3011,3012],{"class":481},"{\n",[464,3014,3015,3018],{"class":466,"line":485},[464,3016,3017],{"class":477},"  devProxy",[464,3019,1149],{"class":481},[464,3021,3022,3025,3027,3030],{"class":466,"line":502},[464,3023,3024],{"class":491},"    '/proxy/test'",[464,3026,1164],{"class":481},[464,3028,3029],{"class":491},"'http://localhost:3001'",[464,3031,562],{"class":481},[464,3033,3034,3037,3040,3043,3046,3048],{"class":466,"line":710},[464,3035,3036],{"class":491},"    '/proxy/example'",[464,3038,3039],{"class":481},": { target: ",[464,3041,3042],{"class":491},"'https://example.com'",[464,3044,3045],{"class":481},", changeOrigin: ",[464,3047,529],{"class":522},[464,3049,1734],{"class":481},[464,3051,3052],{"class":466,"line":716},[464,3053,1196],{"class":481},[464,3055,3056],{"class":466,"line":917},[464,3057,1201],{"class":481},[423,3059,3060,3061,3066],{},"See ",[592,3062,3065],{"href":3063,"rel":3064},"https://github.com/unjs/httpxy",[596],"httpxy"," for all available target options.",[411,3068,3070],{"id":3069},"logging","Logging",[416,3072,3074],{"id":3073},"logging-1",[420,3075,3069],{},[512,3077,3078],{},[515,3079,517,3080],{},[420,3081,3082,3084,3087,3089,3091,3093,3096,3098,3100],{"className":458,"language":460,"style":5},[464,3083,645],{"class":481},[464,3085,3086],{"class":477},"compressedSizes",[464,3088,1164],{"class":481},[464,3090,529],{"class":522},[464,3092,495],{"class":481},[464,3094,3095],{"class":477},"buildSuccess",[464,3097,1164],{"class":481},[464,3099,529],{"class":522},[464,3101,2195],{"class":481},[423,3103,3104,3105,3107,3108,3110,3111,3107,3113,3115],{},"Control build logging behavior. Set ",[420,3106,3086],{}," to ",[420,3109,523],{}," to skip reporting compressed bundle sizes. Set ",[420,3112,3095],{},[420,3114,523],{}," to suppress the build success message.",[456,3117,3119],{"className":458,"code":3118,"language":460,"meta":5,"style":5},"export default defineConfig({\n  logging: {\n    compressedSizes: false, // skip compressed size reporting\n    buildSuccess: false,\n  },\n});\n",[420,3120,3121,3131,3136,3148,3157,3161],{"__ignoreMap":5},[464,3122,3123,3125,3127,3129],{"class":466,"line":467},[464,3124,471],{"class":470},[464,3126,474],{"class":470},[464,3128,478],{"class":477},[464,3130,482],{"class":481},[464,3132,3133],{"class":466,"line":485},[464,3134,3135],{"class":481},"  logging: {\n",[464,3137,3138,3141,3143,3145],{"class":466,"line":502},[464,3139,3140],{"class":481},"    compressedSizes: ",[464,3142,523],{"class":522},[464,3144,495],{"class":481},[464,3146,3147],{"class":498},"// skip compressed size reporting\n",[464,3149,3150,3153,3155],{"class":466,"line":710},[464,3151,3152],{"class":481},"    buildSuccess: ",[464,3154,523],{"class":522},[464,3156,562],{"class":481},[464,3158,3159],{"class":466,"line":716},[464,3160,713],{"class":481},[464,3162,3163],{"class":466,"line":917},[464,3164,505],{"class":481},[411,3166,23],{"id":3167},"routing",[416,3169,3171],{"id":3170},"baseurl",[420,3172,2150],{},[423,3174,517,3175,3179,3180,3183],{},[420,3176,3177],{"className":458,"language":460,"style":5},[464,3178,400],{"class":470}," (or ",[420,3181,3182],{},"NITRO_APP_BASE_URL"," environment variable if provided)",[423,3185,3186],{},"Server's main base URL.",[456,3188,3190],{"className":458,"code":3189,"language":460,"meta":5,"style":5},"export default defineConfig({\n  baseURL: \"/app/\", // serve app under /app/ prefix\n});\n",[420,3191,3192,3202,3215],{"__ignoreMap":5},[464,3193,3194,3196,3198,3200],{"class":466,"line":467},[464,3195,471],{"class":470},[464,3197,474],{"class":470},[464,3199,478],{"class":477},[464,3201,482],{"class":481},[464,3203,3204,3207,3210,3212],{"class":466,"line":485},[464,3205,3206],{"class":481},"  baseURL: ",[464,3208,3209],{"class":491},"\"/app/\"",[464,3211,495],{"class":481},[464,3213,3214],{"class":498},"// serve app under /app/ prefix\n",[464,3216,3217],{"class":466,"line":502},[464,3218,505],{"class":481},[416,3220,3222],{"id":3221},"apibaseurl",[420,3223,3224],{},"apiBaseURL",[512,3226,3227],{},[515,3228,517,3229],{},[420,3230,3231],{},"/api",[423,3233,3234],{},"Changes the default API base URL prefix.",[456,3236,3238],{"className":458,"code":3237,"language":460,"meta":5,"style":5},"export default defineConfig({\n  apiBaseURL: \"/server/api\", // api routes under /server/api/\n});\n",[420,3239,3240,3250,3263],{"__ignoreMap":5},[464,3241,3242,3244,3246,3248],{"class":466,"line":467},[464,3243,471],{"class":470},[464,3245,474],{"class":470},[464,3247,478],{"class":477},[464,3249,482],{"class":481},[464,3251,3252,3255,3258,3260],{"class":466,"line":485},[464,3253,3254],{"class":481},"  apiBaseURL: ",[464,3256,3257],{"class":491},"\"/server/api\"",[464,3259,495],{"class":481},[464,3261,3262],{"class":498},"// api routes under /server/api/\n",[464,3264,3265],{"class":466,"line":502},[464,3266,505],{"class":481},[416,3268,3270],{"id":3269},"handlers",[420,3271,3269],{},[423,3273,3274],{},"Server handlers and routes.",[423,3276,3277,3278,495,3281,3284,3285,3288],{},"If ",[420,3279,3280],{},"routes/",[420,3282,3283],{},"api/"," or ",[420,3286,3287],{},"middleware/"," directories exist inside the server directory, they will be automatically added to the handlers array.",[456,3290,3292],{"className":458,"code":3291,"language":460,"meta":5,"style":5},"export default defineConfig({\n  handlers: [\n    { route: \"/health\", handler: \"./handlers/health.ts\" },\n    { route: \"/admin/**\", handler: \"./handlers/admin.ts\", method: \"get\" },\n  ],\n});\n",[420,3293,3294,3304,3309,3326,3346,3350],{"__ignoreMap":5},[464,3295,3296,3298,3300,3302],{"class":466,"line":467},[464,3297,471],{"class":470},[464,3299,474],{"class":470},[464,3301,478],{"class":477},[464,3303,482],{"class":481},[464,3305,3306],{"class":466,"line":485},[464,3307,3308],{"class":481},"  handlers: [\n",[464,3310,3311,3314,3317,3320,3323],{"class":466,"line":502},[464,3312,3313],{"class":481},"    { route: ",[464,3315,3316],{"class":491},"\"/health\"",[464,3318,3319],{"class":481},", handler: ",[464,3321,3322],{"class":491},"\"./handlers/health.ts\"",[464,3324,3325],{"class":481}," },\n",[464,3327,3328,3330,3333,3335,3338,3341,3344],{"class":466,"line":710},[464,3329,3313],{"class":481},[464,3331,3332],{"class":491},"\"/admin/**\"",[464,3334,3319],{"class":481},[464,3336,3337],{"class":491},"\"./handlers/admin.ts\"",[464,3339,3340],{"class":481},", method: ",[464,3342,3343],{"class":491},"\"get\"",[464,3345,3325],{"class":481},[464,3347,3348],{"class":466,"line":716},[464,3349,2128],{"class":481},[464,3351,3352],{"class":466,"line":917},[464,3353,505],{"class":481},[408,3355],{"to":24},[416,3357,3359],{"id":3358},"devhandlers",[420,3360,3361],{},"devHandlers",[423,3363,3364],{},"Regular handlers refer to the path of handlers to be imported and transformed by the bundler.",[423,3366,3367],{},"There are situations in that we directly want to provide a handler instance with programmatic usage.",[423,3369,3370,3371,3373,3374,959,3377,990],{},"We can use ",[420,3372,3361],{}," but note that they are ",[434,3375,3376],{},"only available in development mode",[434,3378,3379],{},"not in production build",[456,3381,3383],{"className":458,"code":3382,"language":460,"meta":5,"style":5},"export default defineConfig({\n  devHandlers: [\n    { route: \"/__dev\", handler: defineHandler(() => \"dev-only route\") },\n  ],\n});\n",[420,3384,3385,3395,3400,3423,3427],{"__ignoreMap":5},[464,3386,3387,3389,3391,3393],{"class":466,"line":467},[464,3388,471],{"class":470},[464,3390,474],{"class":470},[464,3392,478],{"class":477},[464,3394,482],{"class":481},[464,3396,3397],{"class":466,"line":485},[464,3398,3399],{"class":481},"  devHandlers: [\n",[464,3401,3402,3404,3407,3409,3412,3415,3417,3420],{"class":466,"line":502},[464,3403,3313],{"class":481},[464,3405,3406],{"class":491},"\"/__dev\"",[464,3408,3319],{"class":481},[464,3410,3411],{"class":477},"defineHandler",[464,3413,3414],{"class":481},"(() ",[464,3416,2379],{"class":470},[464,3418,3419],{"class":491}," \"dev-only route\"",[464,3421,3422],{"class":481},") },\n",[464,3424,3425],{"class":466,"line":710},[464,3426,2128],{"class":481},[464,3428,3429],{"class":466,"line":716},[464,3430,505],{"class":481},[416,3432,3434],{"id":3433},"routes",[420,3435,3433],{},[512,3437,3438],{},[515,3439,517,3440],{},[420,3441,3442],{"className":458,"language":460,"style":5},[464,3443,835],{"class":481},[423,3445,3446],{},"Inline route definitions. A map from route pattern to handler path or handler options.",[456,3448,3450],{"className":458,"code":3449,"language":460,"meta":5,"style":5},"export default defineConfig({\n  routes: {\n    \"/hello\": \"./routes/hello.ts\",\n    \"/greet\": { handler: \"./routes/greet.ts\", method: \"post\" },\n  },\n});\n",[420,3451,3452,3462,3467,3479,3497,3501],{"__ignoreMap":5},[464,3453,3454,3456,3458,3460],{"class":466,"line":467},[464,3455,471],{"class":470},[464,3457,474],{"class":470},[464,3459,478],{"class":477},[464,3461,482],{"class":481},[464,3463,3464],{"class":466,"line":485},[464,3465,3466],{"class":481},"  routes: {\n",[464,3468,3469,3472,3474,3477],{"class":466,"line":502},[464,3470,3471],{"class":491},"    \"/hello\"",[464,3473,1164],{"class":481},[464,3475,3476],{"class":491},"\"./routes/hello.ts\"",[464,3478,562],{"class":481},[464,3480,3481,3484,3487,3490,3492,3495],{"class":466,"line":710},[464,3482,3483],{"class":491},"    \"/greet\"",[464,3485,3486],{"class":481},": { handler: ",[464,3488,3489],{"class":491},"\"./routes/greet.ts\"",[464,3491,3340],{"class":481},[464,3493,3494],{"class":491},"\"post\"",[464,3496,3325],{"class":481},[464,3498,3499],{"class":466,"line":716},[464,3500,713],{"class":481},[464,3502,3503],{"class":466,"line":917},[464,3504,505],{"class":481},[416,3506,3508],{"id":3507},"errorhandler",[420,3509,3510],{},"errorHandler",[512,3512,3513],{},[515,3514,1822,3515,1827,3520],{},[420,3516,3517],{"className":458,"language":460,"style":5},[464,3518,3519],{"class":481},"string",[420,3521,3522],{"className":458,"language":460,"style":5},[464,3523,3524],{"class":481},"string[]",[423,3526,3527],{},"Path(s) to custom runtime error handler(s). Replaces nitro's built-in error page.",[423,3529,3530],{},[434,3531,3532],{},"Example:",[3534,3535,3536,3589],"CodeGroup",{},[456,3537,3540],{"className":1138,"code":3538,"filename":3539,"language":1140,"meta":5,"style":5},"import { defineConfig } from \"nitro\";\n\nexport default defineConfig({\n  errorHandler: \"~/error\",\n});\n","nitro.config",[420,3541,3542,3559,3565,3575,3585],{"__ignoreMap":5},[464,3543,3544,3547,3550,3553,3556],{"class":466,"line":467},[464,3545,3546],{"class":470},"import",[464,3548,3549],{"class":481}," { defineConfig } ",[464,3551,3552],{"class":470},"from",[464,3554,3555],{"class":491}," \"nitro\"",[464,3557,3558],{"class":481},";\n",[464,3560,3561],{"class":466,"line":485},[464,3562,3564],{"emptyLinePlaceholder":3563},true,"\n",[464,3566,3567,3569,3571,3573],{"class":466,"line":502},[464,3568,471],{"class":470},[464,3570,474],{"class":470},[464,3572,478],{"class":477},[464,3574,482],{"class":481},[464,3576,3577,3580,3583],{"class":466,"line":710},[464,3578,3579],{"class":481},"  errorHandler: ",[464,3581,3582],{"class":491},"\"~/error\"",[464,3584,562],{"class":481},[464,3586,3587],{"class":466,"line":716},[464,3588,505],{"class":481},[456,3590,3593],{"className":1138,"code":3591,"filename":3592,"language":1140,"meta":5,"style":5},"export default defineErrorHandler((error, event) => {\n  return new Response('[custom error handler] ' + error.stack, {\n    headers: { 'Content-Type': 'text/plain' }\n  });\n});\n","error.ts",[420,3594,3595,3621,3643,3658,3663],{"__ignoreMap":5},[464,3596,3597,3599,3601,3604,3607,3610,3612,3615,3617,3619],{"class":466,"line":467},[464,3598,471],{"class":470},[464,3600,474],{"class":470},[464,3602,3603],{"class":477}," defineErrorHandler",[464,3605,3606],{"class":481},"((",[464,3608,3609],{"class":2373},"error",[464,3611,495],{"class":481},[464,3613,3614],{"class":2373},"event",[464,3616,2376],{"class":481},[464,3618,2379],{"class":470},[464,3620,2382],{"class":481},[464,3622,3623,3626,3629,3632,3634,3637,3640],{"class":466,"line":485},[464,3624,3625],{"class":470},"  return",[464,3627,3628],{"class":470}," new",[464,3630,3631],{"class":477}," Response",[464,3633,2393],{"class":481},[464,3635,3636],{"class":491},"'[custom error handler] '",[464,3638,3639],{"class":470}," +",[464,3641,3642],{"class":481}," error.stack, {\n",[464,3644,3645,3648,3651,3653,3656],{"class":466,"line":502},[464,3646,3647],{"class":481},"    headers: { ",[464,3649,3650],{"class":491},"'Content-Type'",[464,3652,1164],{"class":481},[464,3654,3655],{"class":491},"'text/plain'",[464,3657,1734],{"class":481},[464,3659,3660],{"class":466,"line":710},[464,3661,3662],{"class":481},"  });\n",[464,3664,3665],{"class":466,"line":716},[464,3666,505],{"class":481},[416,3668,3670],{"id":3669},"routerules",[420,3671,3672],{},"routeRules",[423,3674,3675],{},[434,3676,3677],{},"🧪 Experimental!",[423,3679,3680,3681,3686],{},"Route options. It is a map from route pattern (following ",[592,3682,3685],{"href":3683,"rel":3684},"https://github.com/h3js/rou3",[596],"rou3",") to route options.",[423,3688,3689,3690,3693,3694,990],{},"When ",[420,3691,3692],{},"cache"," option is set, handlers matching pattern will be automatically wrapped with ",[420,3695,3696],{},"defineCachedHandler",[423,3698,3699,3700,3703],{},"See the ",[592,3701,3702],{"href":74},"Cache API"," for all available cache options.",[965,3705,3706],{},[423,3707,3708,3711,3712],{},[420,3709,3710],{},"swr: true|number"," is shortcut for ",[420,3713,3714],{},"cache: { swr: true, maxAge: number }",[423,3716,3717],{},[434,3718,3532],{},[456,3720,3722],{"className":1138,"code":3721,"language":1140,"meta":5,"style":5},"routeRules: {\n  '/blog/**': { swr: true },\n  '/blog/**': { swr: 600 },\n  '/blog/**': { static: true },\n  '/blog/**': { cache: { /* cache options*/ } },\n  '/assets/**': { headers: { 'cache-control': 's-maxage=0' } },\n  '/api/v1/**': { cors: true, headers: { 'access-control-allow-methods': 'GET' } },\n  '/old-page': { redirect: '/new-page' }, // uses status code 307 (Temporary Redirect)\n  '/old-page2': { redirect: { to:'/new-page2', statusCode: 301 } },\n  '/old-page/**': { redirect: '/new-page/**' },\n  '/proxy/example': { proxy: 'https://example.com' },\n  '/proxy/**': { proxy: '/api/**' },\n  '/admin/**': { basicAuth: { username: 'admin', password: 'secret' } },\n}\n",[420,3723,3724,3730,3742,3753,3764,3777,3795,3818,3834,3853,3865,3877,3890,3910],{"__ignoreMap":5},[464,3725,3726,3728],{"class":466,"line":467},[464,3727,3672],{"class":477},[464,3729,1149],{"class":481},[464,3731,3732,3735,3738,3740],{"class":466,"line":485},[464,3733,3734],{"class":491},"  '/blog/**'",[464,3736,3737],{"class":481},": { swr: ",[464,3739,529],{"class":522},[464,3741,3325],{"class":481},[464,3743,3744,3746,3748,3751],{"class":466,"line":502},[464,3745,3734],{"class":491},[464,3747,3737],{"class":481},[464,3749,3750],{"class":522},"600",[464,3752,3325],{"class":481},[464,3754,3755,3757,3760,3762],{"class":466,"line":710},[464,3756,3734],{"class":491},[464,3758,3759],{"class":481},": { static: ",[464,3761,529],{"class":522},[464,3763,3325],{"class":481},[464,3765,3766,3768,3771,3774],{"class":466,"line":716},[464,3767,3734],{"class":491},[464,3769,3770],{"class":481},": { cache: { ",[464,3772,3773],{"class":498},"/* cache options*/",[464,3775,3776],{"class":481}," } },\n",[464,3778,3779,3782,3785,3788,3790,3793],{"class":466,"line":917},[464,3780,3781],{"class":491},"  '/assets/**'",[464,3783,3784],{"class":481},": { headers: { ",[464,3786,3787],{"class":491},"'cache-control'",[464,3789,1164],{"class":481},[464,3791,3792],{"class":491},"'s-maxage=0'",[464,3794,3776],{"class":481},[464,3796,3797,3800,3803,3805,3808,3811,3813,3816],{"class":466,"line":1107},[464,3798,3799],{"class":491},"  '/api/v1/**'",[464,3801,3802],{"class":481},": { cors: ",[464,3804,529],{"class":522},[464,3806,3807],{"class":481},", headers: { ",[464,3809,3810],{"class":491},"'access-control-allow-methods'",[464,3812,1164],{"class":481},[464,3814,3815],{"class":491},"'GET'",[464,3817,3776],{"class":481},[464,3819,3820,3823,3826,3829,3831],{"class":466,"line":1117},[464,3821,3822],{"class":491},"  '/old-page'",[464,3824,3825],{"class":481},": { redirect: ",[464,3827,3828],{"class":491},"'/new-page'",[464,3830,657],{"class":481},[464,3832,3833],{"class":498},"// uses status code 307 (Temporary Redirect)\n",[464,3835,3836,3839,3842,3845,3848,3851],{"class":466,"line":1122},[464,3837,3838],{"class":491},"  '/old-page2'",[464,3840,3841],{"class":481},": { redirect: { to:",[464,3843,3844],{"class":491},"'/new-page2'",[464,3846,3847],{"class":481},", statusCode: ",[464,3849,3850],{"class":522},"301",[464,3852,3776],{"class":481},[464,3854,3855,3858,3860,3863],{"class":466,"line":1395},[464,3856,3857],{"class":491},"  '/old-page/**'",[464,3859,3825],{"class":481},[464,3861,3862],{"class":491},"'/new-page/**'",[464,3864,3325],{"class":481},[464,3866,3867,3870,3873,3875],{"class":466,"line":1476},[464,3868,3869],{"class":491},"  '/proxy/example'",[464,3871,3872],{"class":481},": { proxy: ",[464,3874,3042],{"class":491},[464,3876,3325],{"class":481},[464,3878,3880,3883,3885,3888],{"class":466,"line":3879},12,[464,3881,3882],{"class":491},"  '/proxy/**'",[464,3884,3872],{"class":481},[464,3886,3887],{"class":491},"'/api/**'",[464,3889,3325],{"class":481},[464,3891,3893,3896,3899,3902,3905,3908],{"class":466,"line":3892},13,[464,3894,3895],{"class":491},"  '/admin/**'",[464,3897,3898],{"class":481},": { basicAuth: { username: ",[464,3900,3901],{"class":491},"'admin'",[464,3903,3904],{"class":481},", password: ",[464,3906,3907],{"class":491},"'secret'",[464,3909,3776],{"class":481},[464,3911,3913],{"class":466,"line":3912},14,[464,3914,1201],{"class":481},[408,3916],{"to":3917},"/docs/routing#route-rules",[416,3919,3921],{"id":3920},"prerender",[420,3922,3920],{},[423,3924,3925],{},"Default:",[456,3927,3929],{"className":458,"code":3928,"language":460,"meta":5,"style":5},"{\n  autoSubfolderIndex: true,\n  concurrency: 1,\n  interval: 0,\n  failOnError: false,\n  crawlLinks: false,\n  ignore: [],\n  routes: [],\n  retry: 3,\n  retryDelay: 500\n}\n",[420,3930,3931,3935,3946,3957,3969,3980,3991,3999,4006,4017,4027],{"__ignoreMap":5},[464,3932,3933],{"class":466,"line":467},[464,3934,3012],{"class":481},[464,3936,3937,3940,3942,3944],{"class":466,"line":485},[464,3938,3939],{"class":477},"  autoSubfolderIndex",[464,3941,1164],{"class":481},[464,3943,529],{"class":522},[464,3945,562],{"class":481},[464,3947,3948,3951,3953,3955],{"class":466,"line":502},[464,3949,3950],{"class":477},"  concurrency",[464,3952,1164],{"class":481},[464,3954,586],{"class":522},[464,3956,562],{"class":481},[464,3958,3959,3962,3964,3967],{"class":466,"line":710},[464,3960,3961],{"class":477},"  interval",[464,3963,1164],{"class":481},[464,3965,3966],{"class":522},"0",[464,3968,562],{"class":481},[464,3970,3971,3974,3976,3978],{"class":466,"line":716},[464,3972,3973],{"class":477},"  failOnError",[464,3975,1164],{"class":481},[464,3977,523],{"class":522},[464,3979,562],{"class":481},[464,3981,3982,3985,3987,3989],{"class":466,"line":917},[464,3983,3984],{"class":477},"  crawlLinks",[464,3986,1164],{"class":481},[464,3988,523],{"class":522},[464,3990,562],{"class":481},[464,3992,3993,3996],{"class":466,"line":1107},[464,3994,3995],{"class":477},"  ignore",[464,3997,3998],{"class":481},": [],\n",[464,4000,4001,4004],{"class":466,"line":1117},[464,4002,4003],{"class":477},"  routes",[464,4005,3998],{"class":481},[464,4007,4008,4011,4013,4015],{"class":466,"line":1122},[464,4009,4010],{"class":477},"  retry",[464,4012,1164],{"class":481},[464,4014,581],{"class":522},[464,4016,562],{"class":481},[464,4018,4019,4022,4024],{"class":466,"line":1395},[464,4020,4021],{"class":477},"  retryDelay",[464,4023,1164],{"class":481},[464,4025,4026],{"class":522},"500\n",[464,4028,4029],{"class":466,"line":1476},[464,4030,1201],{"class":481},[423,4032,4033,4034,4036],{},"Prerendered options. Any route specified will be fetched during the build and copied to the ",[420,4035,1995],{}," directory as a static asset.",[423,4038,4039,4040,4042],{},"Any route (string) that starts with a prefix listed in ",[420,4041,2729],{}," or matches a regular expression or function will be ignored.",[423,4044,3277,4045,4048,4049,4051,4052,4054,4055,4057,4058,4061],{},[420,4046,4047],{},"crawlLinks"," option is set to ",[420,4050,529],{},", nitro starts with ",[420,4053,400],{}," by default (or all routes in ",[420,4056,3433],{}," array) and for HTML pages extracts ",[420,4059,4060],{},"\u003Ca>"," tags and prerender them as well.",[423,4063,4064,4065,4068,4069,4071],{},"You can set ",[420,4066,4067],{},"failOnError"," option to ",[420,4070,529],{}," to stop the CI when Nitro could not prerender a route.",[423,4073,2143,4074,959,4077,4080],{},[420,4075,4076],{},"interval",[420,4078,4079],{},"concurrency"," options lets you control the speed of pre-rendering, can be useful to avoid hitting some rate-limit if you call external APIs.",[423,4082,4083,4084,4087,4088,4090],{},"Set ",[420,4085,4086],{},"autoSubfolderIndex"," lets you control how to generate the files in the ",[420,4089,1995],{}," directory:",[456,4092,4096],{"className":4093,"code":4094,"language":4095,"meta":5,"style":5},"language-bash shiki shiki-themes github-light github-dark github-dark","# autoSubfolderIndex: true (default)\n/about -> .output/public/about/index.html\n# autoSubfolderIndex: false\n/about -> .output/public/about.html\n","bash",[420,4097,4098,4103,4117,4122],{"__ignoreMap":5},[464,4099,4100],{"class":466,"line":467},[464,4101,4102],{"class":498},"# autoSubfolderIndex: true (default)\n",[464,4104,4105,4108,4111,4114],{"class":466,"line":485},[464,4106,4107],{"class":477},"/about",[464,4109,4110],{"class":481}," -",[464,4112,4113],{"class":470},">",[464,4115,4116],{"class":491}," .output/public/about/index.html\n",[464,4118,4119],{"class":466,"line":502},[464,4120,4121],{"class":498},"# autoSubfolderIndex: false\n",[464,4123,4124,4126,4128,4130],{"class":466,"line":710},[464,4125,4107],{"class":477},[464,4127,4110],{"class":481},[464,4129,4113],{"class":470},[464,4131,4132],{"class":491}," .output/public/about.html\n",[423,4134,4135],{},"This option is useful when your hosting provider does not give you an option regarding the trailing slash.",[423,4137,4138,4139,959,4142,4145],{},"The prerenderer will attempt to render pages 3 times with a delay of 500ms. Use ",[420,4140,4141],{},"retry",[420,4143,4144],{},"retryDelay"," to change this behavior.",[411,4147,4149],{"id":4148},"directories","Directories",[416,4151,4153],{"id":4152},"workspacedir",[420,4154,4155],{},"workspaceDir",[423,4157,4158],{},"Project workspace root directory.",[423,4160,4161,4162,4164],{},"The workspace (e.g. pnpm workspace)  directory is automatically detected when the ",[420,4163,4155],{}," option is not set.",[456,4166,4168],{"className":458,"code":4167,"language":460,"meta":5,"style":5},"export default defineConfig({\n  workspaceDir: \"../\", // monorepo root\n});\n",[420,4169,4170,4180,4193],{"__ignoreMap":5},[464,4171,4172,4174,4176,4178],{"class":466,"line":467},[464,4173,471],{"class":470},[464,4175,474],{"class":470},[464,4177,478],{"class":477},[464,4179,482],{"class":481},[464,4181,4182,4185,4188,4190],{"class":466,"line":485},[464,4183,4184],{"class":481},"  workspaceDir: ",[464,4186,4187],{"class":491},"\"../\"",[464,4189,495],{"class":481},[464,4191,4192],{"class":498},"// monorepo root\n",[464,4194,4195],{"class":466,"line":502},[464,4196,505],{"class":481},[416,4198,4200],{"id":4199},"rootdir",[420,4201,4202],{},"rootDir",[423,4204,4205],{},"Project main directory.",[456,4207,4209],{"className":458,"code":4208,"language":460,"meta":5,"style":5},"export default defineConfig({\n  rootDir: \"./src/server\",\n});\n",[420,4210,4211,4221,4231],{"__ignoreMap":5},[464,4212,4213,4215,4217,4219],{"class":466,"line":467},[464,4214,471],{"class":470},[464,4216,474],{"class":470},[464,4218,478],{"class":477},[464,4220,482],{"class":481},[464,4222,4223,4226,4229],{"class":466,"line":485},[464,4224,4225],{"class":481},"  rootDir: ",[464,4227,4228],{"class":491},"\"./src/server\"",[464,4230,562],{"class":481},[464,4232,4233],{"class":466,"line":502},[464,4234,505],{"class":481},[416,4236,4238],{"id":4237},"serverdir",[420,4239,4240],{},"serverDir",[512,4242,4243,4249],{},[515,4244,517,4245],{},[420,4246,4247],{"className":458,"language":460,"style":5},[464,4248,523],{"class":522},[515,4250,1822,4251,1827,4255,1827,4258,1827,4261],{},[420,4252,4253],{"className":458,"language":460,"style":5},[464,4254,1909],{"class":481},[420,4256,4257],{},"\"./\"",[420,4259,4260],{},"\"./server\"",[420,4262,4263],{"className":458,"language":460,"style":5},[464,4264,3519],{"class":481},[423,4266,4267,4268,495,4270,495,4272,495,4274,495,4277,495,4279,2880,4282,4285],{},"Server directory for scanning ",[420,4269,3283],{},[420,4271,3280],{},[420,4273,2442],{},[420,4275,4276],{},"utils/",[420,4278,3287],{},[420,4280,4281],{},"assets/",[420,4283,4284],{},"tasks/"," folders.",[423,4287,4288,4289,4291,4292,4294,4295,4297,4298,4301],{},"When set to ",[420,4290,523],{},", automatic directory scanning is disabled. Set to ",[420,4293,4257],{}," to use the root directory, or ",[420,4296,4260],{}," to use a ",[420,4299,4300],{},"server/"," subdirectory.",[456,4303,4305],{"className":458,"code":4304,"language":460,"meta":5,"style":5},"export default defineConfig({\n  serverDir: \"./server\", // scan server/ subdirectory\n});\n",[420,4306,4307,4317,4329],{"__ignoreMap":5},[464,4308,4309,4311,4313,4315],{"class":466,"line":467},[464,4310,471],{"class":470},[464,4312,474],{"class":470},[464,4314,478],{"class":477},[464,4316,482],{"class":481},[464,4318,4319,4322,4324,4326],{"class":466,"line":485},[464,4320,4321],{"class":481},"  serverDir: ",[464,4323,4260],{"class":491},[464,4325,495],{"class":481},[464,4327,4328],{"class":498},"// scan server/ subdirectory\n",[464,4330,4331],{"class":466,"line":502},[464,4332,505],{"class":481},[416,4334,4336],{"id":4335},"scandirs",[420,4337,4338],{},"scanDirs",[512,4340,4341],{},[515,4342,4343],{},"Default: (source directory when empty array)",[423,4345,4346],{},"List of directories to scan and auto-register files, such as API routes.",[456,4348,4350],{"className":458,"code":4349,"language":460,"meta":5,"style":5},"export default defineConfig({\n  scanDirs: [\"./modules/auth/api\", \"./modules/billing/api\"],\n});\n",[420,4351,4352,4362,4377],{"__ignoreMap":5},[464,4353,4354,4356,4358,4360],{"class":466,"line":467},[464,4355,471],{"class":470},[464,4357,474],{"class":470},[464,4359,478],{"class":477},[464,4361,482],{"class":481},[464,4363,4364,4367,4370,4372,4375],{"class":466,"line":485},[464,4365,4366],{"class":481},"  scanDirs: [",[464,4368,4369],{"class":491},"\"./modules/auth/api\"",[464,4371,495],{"class":481},[464,4373,4374],{"class":491},"\"./modules/billing/api\"",[464,4376,2925],{"class":481},[464,4378,4379],{"class":466,"line":502},[464,4380,505],{"class":481},[416,4382,4384],{"id":4383},"apidir",[420,4385,4386],{},"apiDir",[512,4388,4389],{},[515,4390,517,4391],{},[420,4392,4393],{},"api",[423,4395,4396],{},"Defines a different directory to scan for api route handlers.",[456,4398,4400],{"className":458,"code":4399,"language":460,"meta":5,"style":5},"export default defineConfig({\n  apiDir: \"endpoints\", // scan endpoints/ instead of api/\n});\n",[420,4401,4402,4412,4425],{"__ignoreMap":5},[464,4403,4404,4406,4408,4410],{"class":466,"line":467},[464,4405,471],{"class":470},[464,4407,474],{"class":470},[464,4409,478],{"class":477},[464,4411,482],{"class":481},[464,4413,4414,4417,4420,4422],{"class":466,"line":485},[464,4415,4416],{"class":481},"  apiDir: ",[464,4418,4419],{"class":491},"\"endpoints\"",[464,4421,495],{"class":481},[464,4423,4424],{"class":498},"// scan endpoints/ instead of api/\n",[464,4426,4427],{"class":466,"line":502},[464,4428,505],{"class":481},[416,4430,4432],{"id":4431},"routesdir",[420,4433,4434],{},"routesDir",[512,4436,4437],{},[515,4438,517,4439],{},[420,4440,3433],{},[423,4442,4443],{},"Defines a different directory to scan for route handlers.",[456,4445,4447],{"className":458,"code":4446,"language":460,"meta":5,"style":5},"export default defineConfig({\n  routesDir: \"pages\", // scan pages/ instead of routes/\n});\n",[420,4448,4449,4459,4472],{"__ignoreMap":5},[464,4450,4451,4453,4455,4457],{"class":466,"line":467},[464,4452,471],{"class":470},[464,4454,474],{"class":470},[464,4456,478],{"class":477},[464,4458,482],{"class":481},[464,4460,4461,4464,4467,4469],{"class":466,"line":485},[464,4462,4463],{"class":481},"  routesDir: ",[464,4465,4466],{"class":491},"\"pages\"",[464,4468,495],{"class":481},[464,4470,4471],{"class":498},"// scan pages/ instead of routes/\n",[464,4473,4474],{"class":466,"line":502},[464,4475,505],{"class":481},[416,4477,4479],{"id":4478},"builddir",[420,4480,4481],{},"buildDir",[512,4483,4484],{},[515,4485,517,4486],{},[420,4487,4488],{},"node_modules/.nitro",[423,4490,4491],{},"Nitro's temporary working directory for generating build-related files.",[456,4493,4495],{"className":458,"code":4494,"language":460,"meta":5,"style":5},"export default defineConfig({\n  buildDir: \".nitro\", // use .nitro/ in project root\n});\n",[420,4496,4497,4507,4520],{"__ignoreMap":5},[464,4498,4499,4501,4503,4505],{"class":466,"line":467},[464,4500,471],{"class":470},[464,4502,474],{"class":470},[464,4504,478],{"class":477},[464,4506,482],{"class":481},[464,4508,4509,4512,4515,4517],{"class":466,"line":485},[464,4510,4511],{"class":481},"  buildDir: ",[464,4513,4514],{"class":491},"\".nitro\"",[464,4516,495],{"class":481},[464,4518,4519],{"class":498},"// use .nitro/ in project root\n",[464,4521,4522],{"class":466,"line":502},[464,4523,505],{"class":481},[416,4525,4527],{"id":4526},"output",[420,4528,4526],{},[512,4530,4531],{},[515,4532,517,4533],{},[420,4534,4535],{},"{ dir: '.output', serverDir: '.output/server', publicDir: '.output/public' }",[423,4537,4538],{},"Output directories for production bundle.",[456,4540,4542],{"className":458,"code":4541,"language":460,"meta":5,"style":5},"export default defineConfig({\n  output: {\n    dir: \"dist\",\n    serverDir: \"dist/server\",\n    publicDir: \"dist/public\",\n  },\n});\n",[420,4543,4544,4554,4559,4569,4579,4589,4593],{"__ignoreMap":5},[464,4545,4546,4548,4550,4552],{"class":466,"line":467},[464,4547,471],{"class":470},[464,4549,474],{"class":470},[464,4551,478],{"class":477},[464,4553,482],{"class":481},[464,4555,4556],{"class":466,"line":485},[464,4557,4558],{"class":481},"  output: {\n",[464,4560,4561,4564,4567],{"class":466,"line":502},[464,4562,4563],{"class":481},"    dir: ",[464,4565,4566],{"class":491},"\"dist\"",[464,4568,562],{"class":481},[464,4570,4571,4574,4577],{"class":466,"line":710},[464,4572,4573],{"class":481},"    serverDir: ",[464,4575,4576],{"class":491},"\"dist/server\"",[464,4578,562],{"class":481},[464,4580,4581,4584,4587],{"class":466,"line":716},[464,4582,4583],{"class":481},"    publicDir: ",[464,4585,4586],{"class":491},"\"dist/public\"",[464,4588,562],{"class":481},[464,4590,4591],{"class":466,"line":917},[464,4592,713],{"class":481},[464,4594,4595],{"class":466,"line":1107},[464,4596,505],{"class":481},[411,4598,4600],{"id":4599},"build","Build",[416,4602,4604],{"id":4603},"builder",[420,4605,4603],{},[512,4607,4608,4625],{},[515,4609,1822,4610,1827,4615,1827,4620],{},[420,4611,4612],{"className":458,"language":460,"style":5},[464,4613,4614],{"class":491},"\"rollup\"",[420,4616,4617],{"className":458,"language":460,"style":5},[464,4618,4619],{"class":491},"\"rolldown\"",[420,4621,4622],{"className":458,"language":460,"style":5},[464,4623,4624],{"class":491},"\"vite\"",[515,4626,517,4627,4632],{},[420,4628,4629],{"className":458,"language":460,"style":5},[464,4630,4631],{"class":522},"undefined"," (auto-detected)",[423,4634,4635],{},"Specify the bundler to use for building.",[456,4637,4639],{"className":458,"code":4638,"language":460,"meta":5,"style":5},"export default defineConfig({\n  builder: \"vite\",\n});\n",[420,4640,4641,4651,4660],{"__ignoreMap":5},[464,4642,4643,4645,4647,4649],{"class":466,"line":467},[464,4644,471],{"class":470},[464,4646,474],{"class":470},[464,4648,478],{"class":477},[464,4650,482],{"class":481},[464,4652,4653,4656,4658],{"class":466,"line":485},[464,4654,4655],{"class":481},"  builder: ",[464,4657,4624],{"class":491},[464,4659,562],{"class":481},[464,4661,4662],{"class":466,"line":502},[464,4663,505],{"class":481},[416,4665,4667],{"id":4666},"rollupconfig",[420,4668,4669],{},"rollupConfig",[423,4671,4672],{},"Additional rollup configuration.",[456,4674,4676],{"className":458,"code":4675,"language":460,"meta":5,"style":5},"export default defineConfig({\n  rollupConfig: {\n    output: { manualChunks: { vendor: [\"lodash-es\"] } },\n  },\n});\n",[420,4677,4678,4688,4693,4704,4708],{"__ignoreMap":5},[464,4679,4680,4682,4684,4686],{"class":466,"line":467},[464,4681,471],{"class":470},[464,4683,474],{"class":470},[464,4685,478],{"class":477},[464,4687,482],{"class":481},[464,4689,4690],{"class":466,"line":485},[464,4691,4692],{"class":481},"  rollupConfig: {\n",[464,4694,4695,4698,4701],{"class":466,"line":502},[464,4696,4697],{"class":481},"    output: { manualChunks: { vendor: [",[464,4699,4700],{"class":491},"\"lodash-es\"",[464,4702,4703],{"class":481},"] } },\n",[464,4705,4706],{"class":466,"line":710},[464,4707,713],{"class":481},[464,4709,4710],{"class":466,"line":716},[464,4711,505],{"class":481},[416,4713,4715],{"id":4714},"rolldownconfig",[420,4716,4717],{},"rolldownConfig",[423,4719,4720],{},"Additional rolldown configuration.",[456,4722,4724],{"className":458,"code":4723,"language":460,"meta":5,"style":5},"export default defineConfig({\n  rolldownConfig: {\n    output: { banner: \"/* built with nitro */\" },\n  },\n});\n",[420,4725,4726,4736,4741,4751,4755],{"__ignoreMap":5},[464,4727,4728,4730,4732,4734],{"class":466,"line":467},[464,4729,471],{"class":470},[464,4731,474],{"class":470},[464,4733,478],{"class":477},[464,4735,482],{"class":481},[464,4737,4738],{"class":466,"line":485},[464,4739,4740],{"class":481},"  rolldownConfig: {\n",[464,4742,4743,4746,4749],{"class":466,"line":502},[464,4744,4745],{"class":481},"    output: { banner: ",[464,4747,4748],{"class":491},"\"/* built with nitro */\"",[464,4750,3325],{"class":481},[464,4752,4753],{"class":466,"line":710},[464,4754,713],{"class":481},[464,4756,4757],{"class":466,"line":716},[464,4758,505],{"class":481},[416,4760,4762],{"id":4761},"entry",[420,4763,4761],{},[423,4765,4766],{},"Bundler entry point.",[456,4768,4770],{"className":458,"code":4769,"language":460,"meta":5,"style":5},"export default defineConfig({\n  entry: \"./server/entry.ts\", // custom entry file\n});\n",[420,4771,4772,4782,4795],{"__ignoreMap":5},[464,4773,4774,4776,4778,4780],{"class":466,"line":467},[464,4775,471],{"class":470},[464,4777,474],{"class":470},[464,4779,478],{"class":477},[464,4781,482],{"class":481},[464,4783,4784,4787,4790,4792],{"class":466,"line":485},[464,4785,4786],{"class":481},"  entry: ",[464,4788,4789],{"class":491},"\"./server/entry.ts\"",[464,4791,495],{"class":481},[464,4793,4794],{"class":498},"// custom entry file\n",[464,4796,4797],{"class":466,"line":502},[464,4798,505],{"class":481},[416,4800,4802],{"id":4801},"unenv",[420,4803,4801],{},[423,4805,4806,4810],{},[592,4807,4801],{"href":4808,"rel":4809},"https://github.com/unjs/unenv/",[596]," preset(s) for environment compatibility.",[456,4812,4814],{"className":458,"code":4813,"language":460,"meta":5,"style":5},"export default defineConfig({\n  unenv: {\n    alias: { \"my-module\": \"my-module/web\" },\n  },\n});\n",[420,4815,4816,4826,4831,4846,4850],{"__ignoreMap":5},[464,4817,4818,4820,4822,4824],{"class":466,"line":467},[464,4819,471],{"class":470},[464,4821,474],{"class":470},[464,4823,478],{"class":477},[464,4825,482],{"class":481},[464,4827,4828],{"class":466,"line":485},[464,4829,4830],{"class":481},"  unenv: {\n",[464,4832,4833,4836,4839,4841,4844],{"class":466,"line":502},[464,4834,4835],{"class":481},"    alias: { ",[464,4837,4838],{"class":491},"\"my-module\"",[464,4840,1164],{"class":481},[464,4842,4843],{"class":491},"\"my-module/web\"",[464,4845,3325],{"class":481},[464,4847,4848],{"class":466,"line":710},[464,4849,713],{"class":481},[464,4851,4852],{"class":466,"line":716},[464,4853,505],{"class":481},[416,4855,4857],{"id":4856},"alias",[420,4858,4856],{},[423,4860,4861],{},"Path aliases for module resolution.",[456,4863,4865],{"className":458,"code":4864,"language":460,"meta":5,"style":5},"export default defineConfig({\n  alias: {\n    \"~utils\": \"./src/utils\",\n    \"#shared\": \"./shared\",\n  },\n});\n",[420,4866,4867,4877,4882,4894,4906,4910],{"__ignoreMap":5},[464,4868,4869,4871,4873,4875],{"class":466,"line":467},[464,4870,471],{"class":470},[464,4872,474],{"class":470},[464,4874,478],{"class":477},[464,4876,482],{"class":481},[464,4878,4879],{"class":466,"line":485},[464,4880,4881],{"class":481},"  alias: {\n",[464,4883,4884,4887,4889,4892],{"class":466,"line":502},[464,4885,4886],{"class":491},"    \"~utils\"",[464,4888,1164],{"class":481},[464,4890,4891],{"class":491},"\"./src/utils\"",[464,4893,562],{"class":481},[464,4895,4896,4899,4901,4904],{"class":466,"line":710},[464,4897,4898],{"class":491},"    \"#shared\"",[464,4900,1164],{"class":481},[464,4902,4903],{"class":491},"\"./shared\"",[464,4905,562],{"class":481},[464,4907,4908],{"class":466,"line":716},[464,4909,713],{"class":481},[464,4911,4912],{"class":466,"line":917},[464,4913,505],{"class":481},[416,4915,4917],{"id":4916},"minify",[420,4918,4916],{},[512,4920,4921],{},[515,4922,517,4923],{},[420,4924,523],{},[423,4926,4927],{},"Minify bundle.",[456,4929,4931],{"className":458,"code":4930,"language":460,"meta":5,"style":5},"export default defineConfig({\n  minify: true, // minify production bundle\n});\n",[420,4932,4933,4943,4955],{"__ignoreMap":5},[464,4934,4935,4937,4939,4941],{"class":466,"line":467},[464,4936,471],{"class":470},[464,4938,474],{"class":470},[464,4940,478],{"class":477},[464,4942,482],{"class":481},[464,4944,4945,4948,4950,4952],{"class":466,"line":485},[464,4946,4947],{"class":481},"  minify: ",[464,4949,529],{"class":522},[464,4951,495],{"class":481},[464,4953,4954],{"class":498},"// minify production bundle\n",[464,4956,4957],{"class":466,"line":502},[464,4958,505],{"class":481},[416,4960,4962],{"id":4961},"inlinedynamicimports",[420,4963,4964],{},"inlineDynamicImports",[512,4966,4967],{},[515,4968,517,4969],{},[420,4970,523],{},[423,4972,4973],{},"Bundle all code into a single file instead of creating separate chunks per route.",[423,4975,3689,4976,4978,4979,4981],{},[420,4977,523],{},", each route handler becomes a separate chunk loaded on-demand. When ",[420,4980,529],{},", everything is bundled together. Some presets enable this by default.",[456,4983,4985],{"className":458,"code":4984,"language":460,"meta":5,"style":5},"export default defineConfig({\n  inlineDynamicImports: true, // single output file\n});\n",[420,4986,4987,4997,5009],{"__ignoreMap":5},[464,4988,4989,4991,4993,4995],{"class":466,"line":467},[464,4990,471],{"class":470},[464,4992,474],{"class":470},[464,4994,478],{"class":477},[464,4996,482],{"class":481},[464,4998,4999,5002,5004,5006],{"class":466,"line":485},[464,5000,5001],{"class":481},"  inlineDynamicImports: ",[464,5003,529],{"class":522},[464,5005,495],{"class":481},[464,5007,5008],{"class":498},"// single output file\n",[464,5010,5011],{"class":466,"line":502},[464,5012,505],{"class":481},[416,5014,5016],{"id":5015},"sourcemap",[420,5017,5015],{},[512,5019,5020],{},[515,5021,517,5022],{},[420,5023,5024],{"className":458,"language":460,"style":5},[464,5025,523],{"class":522},[423,5027,5028,5029,990],{},"Enable source map generation. See ",[592,5030,5033],{"href":5031,"rel":5032},"https://rollupjs.org/configuration-options/#output-sourcemap",[596],"options",[456,5035,5037],{"className":458,"code":5036,"language":460,"meta":5,"style":5},"export default defineConfig({\n  sourcemap: true, // generate .map files\n});\n",[420,5038,5039,5049,5061],{"__ignoreMap":5},[464,5040,5041,5043,5045,5047],{"class":466,"line":467},[464,5042,471],{"class":470},[464,5044,474],{"class":470},[464,5046,478],{"class":477},[464,5048,482],{"class":481},[464,5050,5051,5054,5056,5058],{"class":466,"line":485},[464,5052,5053],{"class":481},"  sourcemap: ",[464,5055,529],{"class":522},[464,5057,495],{"class":481},[464,5059,5060],{"class":498},"// generate .map files\n",[464,5062,5063],{"class":466,"line":502},[464,5064,505],{"class":481},[416,5066,5068],{"id":5067},"node",[420,5069,5067],{},[512,5071,5072],{},[515,5073,517,5074],{},[420,5075,5076],{"className":458,"language":460,"style":5},[464,5077,529],{"class":522},[423,5079,5080,5081,5083,5084,5088],{},"Specify whether the build is used for Node.js or not. If set to ",[420,5082,523],{},", nitro tries to mock Node.js dependencies using ",[592,5085,4801],{"href":5086,"rel":5087},"https://github.com/unjs/unenv",[596]," and adjust its behavior.",[456,5090,5092],{"className":458,"code":5091,"language":460,"meta":5,"style":5},"export default defineConfig({\n  node: false, // target non-Node.js runtimes\n});\n",[420,5093,5094,5104,5116],{"__ignoreMap":5},[464,5095,5096,5098,5100,5102],{"class":466,"line":467},[464,5097,471],{"class":470},[464,5099,474],{"class":470},[464,5101,478],{"class":477},[464,5103,482],{"class":481},[464,5105,5106,5109,5111,5113],{"class":466,"line":485},[464,5107,5108],{"class":481},"  node: ",[464,5110,523],{"class":522},[464,5112,495],{"class":481},[464,5114,5115],{"class":498},"// target non-Node.js runtimes\n",[464,5117,5118],{"class":466,"line":502},[464,5119,505],{"class":481},[416,5121,5123],{"id":5122},"replace",[420,5124,5122],{},[423,5126,5127],{},"Build-time string replacements.",[456,5129,5131],{"className":458,"code":5130,"language":460,"meta":5,"style":5},"export default defineConfig({\n  replace: {\n    \"process.env.APP_VERSION\": JSON.stringify(\"1.0.0\"),\n  },\n});\n",[420,5132,5133,5143,5148,5171,5175],{"__ignoreMap":5},[464,5134,5135,5137,5139,5141],{"class":466,"line":467},[464,5136,471],{"class":470},[464,5138,474],{"class":470},[464,5140,478],{"class":477},[464,5142,482],{"class":481},[464,5144,5145],{"class":466,"line":485},[464,5146,5147],{"class":481},"  replace: {\n",[464,5149,5150,5153,5155,5158,5160,5163,5165,5168],{"class":466,"line":502},[464,5151,5152],{"class":491},"    \"process.env.APP_VERSION\"",[464,5154,1164],{"class":481},[464,5156,5157],{"class":522},"JSON",[464,5159,990],{"class":481},[464,5161,5162],{"class":477},"stringify",[464,5164,2393],{"class":481},[464,5166,5167],{"class":491},"\"1.0.0\"",[464,5169,5170],{"class":481},"),\n",[464,5172,5173],{"class":466,"line":710},[464,5174,713],{"class":481},[464,5176,5177],{"class":466,"line":716},[464,5178,505],{"class":481},[416,5180,5182],{"id":5181},"commonjs",[420,5183,5184],{},"commonJS",[423,5186,5187],{},"Specifies additional configuration for the rollup CommonJS plugin.",[456,5189,5191],{"className":458,"code":5190,"language":460,"meta":5,"style":5},"export default defineConfig({\n  commonJS: {\n    requireReturnsDefault: \"auto\",\n  },\n});\n",[420,5192,5193,5203,5208,5218,5222],{"__ignoreMap":5},[464,5194,5195,5197,5199,5201],{"class":466,"line":467},[464,5196,471],{"class":470},[464,5198,474],{"class":470},[464,5200,478],{"class":477},[464,5202,482],{"class":481},[464,5204,5205],{"class":466,"line":485},[464,5206,5207],{"class":481},"  commonJS: {\n",[464,5209,5210,5213,5216],{"class":466,"line":502},[464,5211,5212],{"class":481},"    requireReturnsDefault: ",[464,5214,5215],{"class":491},"\"auto\"",[464,5217,562],{"class":481},[464,5219,5220],{"class":466,"line":710},[464,5221,713],{"class":481},[464,5223,5224],{"class":466,"line":716},[464,5225,505],{"class":481},[416,5227,5229],{"id":5228},"exportconditions",[420,5230,5231],{},"exportConditions",[423,5233,5234],{},"Custom export conditions for module resolution.",[456,5236,5238],{"className":458,"code":5237,"language":460,"meta":5,"style":5},"export default defineConfig({\n  exportConditions: [\"worker\", \"production\"],\n});\n",[420,5239,5240,5250,5265],{"__ignoreMap":5},[464,5241,5242,5244,5246,5248],{"class":466,"line":467},[464,5243,471],{"class":470},[464,5245,474],{"class":470},[464,5247,478],{"class":477},[464,5249,482],{"class":481},[464,5251,5252,5255,5258,5260,5263],{"class":466,"line":485},[464,5253,5254],{"class":481},"  exportConditions: [",[464,5256,5257],{"class":491},"\"worker\"",[464,5259,495],{"class":481},[464,5261,5262],{"class":491},"\"production\"",[464,5264,2925],{"class":481},[464,5266,5267],{"class":466,"line":502},[464,5268,505],{"class":481},[416,5270,5272],{"id":5271},"noexternals",[420,5273,5274],{},"noExternals",[512,5276,5277],{},[515,5278,517,5279],{},[420,5280,5281],{"className":458,"language":460,"style":5},[464,5282,523],{"class":522},[423,5284,5285,5286,5288],{},"Prevent specific packages from being externalized. Set to ",[420,5287,529],{}," to bundle all dependencies, or pass an array of package names/patterns.",[456,5290,5292],{"className":458,"code":5291,"language":460,"meta":5,"style":5},"export default defineConfig({\n  noExternals: true, // bundle all dependencies\n});\n",[420,5293,5294,5304,5316],{"__ignoreMap":5},[464,5295,5296,5298,5300,5302],{"class":466,"line":467},[464,5297,471],{"class":470},[464,5299,474],{"class":470},[464,5301,478],{"class":477},[464,5303,482],{"class":481},[464,5305,5306,5309,5311,5313],{"class":466,"line":485},[464,5307,5308],{"class":481},"  noExternals: ",[464,5310,529],{"class":522},[464,5312,495],{"class":481},[464,5314,5315],{"class":498},"// bundle all dependencies\n",[464,5317,5318],{"class":466,"line":502},[464,5319,505],{"class":481},[416,5321,5323],{"id":5322},"tracedeps",[420,5324,5325],{},"traceDeps",[512,5327,5328],{},[515,5329,517,5330],{},[420,5331,5332],{"className":458,"language":460,"style":5},[464,5333,2331],{"class":481},[423,5335,5336],{},"Additional dependencies to trace and include in the build output.",[423,5338,5339],{},"Supports special prefixes:",[512,5341,5342,5348],{},[515,5343,5344,5347],{},[420,5345,5346],{},"!pkg"," — Exclude a built-in package from tracing.",[515,5349,5350,5353],{},[420,5351,5352],{},"pkg*"," — Full trace: copies all package files instead of only traced ones.",[456,5355,5357],{"className":458,"code":5356,"language":460,"meta":5,"style":5},"export default defineConfig({\n  traceDeps: [\n    \"sharp\",\n    \"better-sqlite3\",\n    \"my-pkg*\", // full trace (copy all package files)\n    \"!unwanted-pkg\", // exclude from tracing\n  ],\n});\n",[420,5358,5359,5369,5374,5381,5388,5398,5408,5412],{"__ignoreMap":5},[464,5360,5361,5363,5365,5367],{"class":466,"line":467},[464,5362,471],{"class":470},[464,5364,474],{"class":470},[464,5366,478],{"class":477},[464,5368,482],{"class":481},[464,5370,5371],{"class":466,"line":485},[464,5372,5373],{"class":481},"  traceDeps: [\n",[464,5375,5376,5379],{"class":466,"line":502},[464,5377,5378],{"class":491},"    \"sharp\"",[464,5380,562],{"class":481},[464,5382,5383,5386],{"class":466,"line":710},[464,5384,5385],{"class":491},"    \"better-sqlite3\"",[464,5387,562],{"class":481},[464,5389,5390,5393,5395],{"class":466,"line":716},[464,5391,5392],{"class":491},"    \"my-pkg*\"",[464,5394,495],{"class":481},[464,5396,5397],{"class":498},"// full trace (copy all package files)\n",[464,5399,5400,5403,5405],{"class":466,"line":917},[464,5401,5402],{"class":491},"    \"!unwanted-pkg\"",[464,5404,495],{"class":481},[464,5406,5407],{"class":498},"// exclude from tracing\n",[464,5409,5410],{"class":466,"line":1107},[464,5411,2128],{"class":481},[464,5413,5414],{"class":466,"line":1117},[464,5415,505],{"class":481},[416,5417,5419],{"id":5418},"traceopts",[420,5420,5421],{},"traceOpts",[423,5423,5424,5425,5430],{},"Advanced options passed to ",[592,5426,5429],{"href":5427,"rel":5428},"https://github.com/nicolo-ribaudo/nf3",[596],"nf3"," for dependency tracing.",[456,5432,5434],{"className":458,"code":5433,"language":460,"meta":5,"style":5},"export default defineConfig({\n  traceOpts: {\n    // Options passed to @vercel/nft for file tracing\n    nft: { /* ... */ },\n    // Alias for module paths when tracing\n    traceAlias: { \"old-pkg\": \"new-pkg\" },\n    // Preserve or set file permissions when copying (true or octal like 0o755)\n    chmod: true,\n    // Transform traced files before copying\n    transform: [\n      { filter: (id) => id.endsWith(\".js\"), handler: (code) => code },\n    ],\n    // Hook into tracing lifecycle\n    hooks: {\n      tracedPackages(pkgs) {\n        console.log(\"Traced packages:\", Object.keys(pkgs));\n      },\n    },\n  },\n});\n",[420,5435,5436,5446,5451,5456,5465,5470,5485,5490,5499,5504,5509,5554,5559,5564,5569,5583,5606,5612,5617,5622],{"__ignoreMap":5},[464,5437,5438,5440,5442,5444],{"class":466,"line":467},[464,5439,471],{"class":470},[464,5441,474],{"class":470},[464,5443,478],{"class":477},[464,5445,482],{"class":481},[464,5447,5448],{"class":466,"line":485},[464,5449,5450],{"class":481},"  traceOpts: {\n",[464,5452,5453],{"class":466,"line":502},[464,5454,5455],{"class":498},"    // Options passed to @vercel/nft for file tracing\n",[464,5457,5458,5461,5463],{"class":466,"line":710},[464,5459,5460],{"class":481},"    nft: { ",[464,5462,2407],{"class":498},[464,5464,3325],{"class":481},[464,5466,5467],{"class":466,"line":716},[464,5468,5469],{"class":498},"    // Alias for module paths when tracing\n",[464,5471,5472,5475,5478,5480,5483],{"class":466,"line":917},[464,5473,5474],{"class":481},"    traceAlias: { ",[464,5476,5477],{"class":491},"\"old-pkg\"",[464,5479,1164],{"class":481},[464,5481,5482],{"class":491},"\"new-pkg\"",[464,5484,3325],{"class":481},[464,5486,5487],{"class":466,"line":1107},[464,5488,5489],{"class":498},"    // Preserve or set file permissions when copying (true or octal like 0o755)\n",[464,5491,5492,5495,5497],{"class":466,"line":1117},[464,5493,5494],{"class":481},"    chmod: ",[464,5496,529],{"class":522},[464,5498,562],{"class":481},[464,5500,5501],{"class":466,"line":1122},[464,5502,5503],{"class":498},"    // Transform traced files before copying\n",[464,5505,5506],{"class":466,"line":1395},[464,5507,5508],{"class":481},"    transform: [\n",[464,5510,5511,5514,5517,5520,5523,5525,5527,5530,5533,5535,5538,5541,5543,5545,5547,5549,5551],{"class":466,"line":1476},[464,5512,5513],{"class":481},"      { ",[464,5515,5516],{"class":477},"filter",[464,5518,5519],{"class":481},": (",[464,5521,5522],{"class":2373},"id",[464,5524,2376],{"class":481},[464,5526,2379],{"class":470},[464,5528,5529],{"class":481}," id.",[464,5531,5532],{"class":477},"endsWith",[464,5534,2393],{"class":481},[464,5536,5537],{"class":491},"\".js\"",[464,5539,5540],{"class":481},"), ",[464,5542,2497],{"class":477},[464,5544,5519],{"class":481},[464,5546,420],{"class":2373},[464,5548,2376],{"class":481},[464,5550,2379],{"class":470},[464,5552,5553],{"class":481}," code },\n",[464,5555,5556],{"class":466,"line":3879},[464,5557,5558],{"class":481},"    ],\n",[464,5560,5561],{"class":466,"line":3892},[464,5562,5563],{"class":498},"    // Hook into tracing lifecycle\n",[464,5565,5566],{"class":466,"line":3912},[464,5567,5568],{"class":481},"    hooks: {\n",[464,5570,5572,5575,5577,5580],{"class":466,"line":5571},15,[464,5573,5574],{"class":477},"      tracedPackages",[464,5576,2393],{"class":481},[464,5578,5579],{"class":2373},"pkgs",[464,5581,5582],{"class":481},") {\n",[464,5584,5586,5589,5592,5594,5597,5600,5603],{"class":466,"line":5585},16,[464,5587,5588],{"class":481},"        console.",[464,5590,5591],{"class":477},"log",[464,5593,2393],{"class":481},[464,5595,5596],{"class":491},"\"Traced packages:\"",[464,5598,5599],{"class":481},", Object.",[464,5601,5602],{"class":477},"keys",[464,5604,5605],{"class":481},"(pkgs));\n",[464,5607,5609],{"class":466,"line":5608},17,[464,5610,5611],{"class":481},"      },\n",[464,5613,5615],{"class":466,"line":5614},18,[464,5616,1450],{"class":481},[464,5618,5620],{"class":466,"line":5619},19,[464,5621,713],{"class":481},[464,5623,5625],{"class":466,"line":5624},20,[464,5626,505],{"class":481},[416,5628,5630],{"id":5629},"oxc",[420,5631,5629],{},[423,5633,5634,5635,959,5637,5640],{},"OXC options for rolldown builds. Includes ",[420,5636,4916],{},[420,5638,5639],{},"transform"," sub-options.",[456,5642,5644],{"className":458,"code":5643,"language":460,"meta":5,"style":5},"export default defineConfig({\n  oxc: {\n    minify: { compress: true, mangle: true },\n  },\n});\n",[420,5645,5646,5656,5661,5675,5679],{"__ignoreMap":5},[464,5647,5648,5650,5652,5654],{"class":466,"line":467},[464,5649,471],{"class":470},[464,5651,474],{"class":470},[464,5653,478],{"class":477},[464,5655,482],{"class":481},[464,5657,5658],{"class":466,"line":485},[464,5659,5660],{"class":481},"  oxc: {\n",[464,5662,5663,5666,5668,5671,5673],{"class":466,"line":502},[464,5664,5665],{"class":481},"    minify: { compress: ",[464,5667,529],{"class":522},[464,5669,5670],{"class":481},", mangle: ",[464,5672,529],{"class":522},[464,5674,3325],{"class":481},[464,5676,5677],{"class":466,"line":710},[464,5678,713],{"class":481},[464,5680,5681],{"class":466,"line":716},[464,5682,505],{"class":481},[411,5684,5686],{"id":5685},"advanced","Advanced",[416,5688,5690],{"id":5689},"dev-1",[420,5691,2841],{},[512,5693,5694],{},[515,5695,517,5696,5698,5699,5701],{},[420,5697,529],{}," for development and ",[420,5700,523],{}," for production.",[423,5703,5704],{},[434,5705,5706],{},"⚠️ Caution! This is an advanced configuration. Things can go wrong if misconfigured.",[456,5708,5710],{"className":458,"code":5709,"language":460,"meta":5,"style":5},"export default defineConfig({\n  dev: true, // force development mode behavior\n});\n",[420,5711,5712,5722,5734],{"__ignoreMap":5},[464,5713,5714,5716,5718,5720],{"class":466,"line":467},[464,5715,471],{"class":470},[464,5717,474],{"class":470},[464,5719,478],{"class":477},[464,5721,482],{"class":481},[464,5723,5724,5727,5729,5731],{"class":466,"line":485},[464,5725,5726],{"class":481},"  dev: ",[464,5728,529],{"class":522},[464,5730,495],{"class":481},[464,5732,5733],{"class":498},"// force development mode behavior\n",[464,5735,5736],{"class":466,"line":502},[464,5737,505],{"class":481},[416,5739,5741],{"id":5740},"typescript",[420,5742,5740],{},[423,5744,517,5745],{},[420,5746,5747,5749,5752,5754,5756,5758,5761,5763,5765,5767,5770,5772,5774],{"className":458,"language":460,"style":5},[464,5748,645],{"class":481},[464,5750,5751],{"class":477},"strict",[464,5753,1164],{"class":481},[464,5755,529],{"class":522},[464,5757,495],{"class":481},[464,5759,5760],{"class":477},"generateRuntimeConfigTypes",[464,5762,1164],{"class":481},[464,5764,523],{"class":522},[464,5766,495],{"class":481},[464,5768,5769],{"class":477},"generateTsConfig",[464,5771,1164],{"class":481},[464,5773,523],{"class":522},[464,5775,2195],{"class":481},[423,5777,5778,5779,495,5781,495,5783,495,5785,495,5788,2880,5791,990],{},"TypeScript configuration options including ",[420,5780,5751],{},[420,5782,5760],{},[420,5784,5769],{},[420,5786,5787],{},"tsConfig",[420,5789,5790],{},"generatedTypesDir",[420,5792,5793],{},"tsconfigPath",[456,5795,5797],{"className":458,"code":5796,"language":460,"meta":5,"style":5},"export default defineConfig({\n  typescript: {\n    strict: true,\n    generateTsConfig: true,\n  },\n});\n",[420,5798,5799,5809,5814,5823,5832,5836],{"__ignoreMap":5},[464,5800,5801,5803,5805,5807],{"class":466,"line":467},[464,5802,471],{"class":470},[464,5804,474],{"class":470},[464,5806,478],{"class":477},[464,5808,482],{"class":481},[464,5810,5811],{"class":466,"line":485},[464,5812,5813],{"class":481},"  typescript: {\n",[464,5815,5816,5819,5821],{"class":466,"line":502},[464,5817,5818],{"class":481},"    strict: ",[464,5820,529],{"class":522},[464,5822,562],{"class":481},[464,5824,5825,5828,5830],{"class":466,"line":710},[464,5826,5827],{"class":481},"    generateTsConfig: ",[464,5829,529],{"class":522},[464,5831,562],{"class":481},[464,5833,5834],{"class":466,"line":716},[464,5835,713],{"class":481},[464,5837,5838],{"class":466,"line":917},[464,5839,505],{"class":481},[416,5841,5843],{"id":5842},"hooks",[420,5844,5842],{},[423,5846,5847],{},[434,5848,5706],{},[423,5850,5851,5852,598],{},"Nitro hooks. See ",[592,5853,5856],{"href":5854,"rel":5855},"https://github.com/unjs/hookable",[596],"hookable",[456,5858,5860],{"className":458,"code":5859,"language":460,"meta":5,"style":5},"export default defineConfig({\n  hooks: {\n    compiled(nitro) {\n      console.log(\"Build compiled successfully!\");\n    },\n  },\n});\n",[420,5861,5862,5872,5877,5888,5903,5907,5911],{"__ignoreMap":5},[464,5863,5864,5866,5868,5870],{"class":466,"line":467},[464,5865,471],{"class":470},[464,5867,474],{"class":470},[464,5869,478],{"class":477},[464,5871,482],{"class":481},[464,5873,5874],{"class":466,"line":485},[464,5875,5876],{"class":481},"  hooks: {\n",[464,5878,5879,5882,5884,5886],{"class":466,"line":502},[464,5880,5881],{"class":477},"    compiled",[464,5883,2393],{"class":481},[464,5885,648],{"class":2373},[464,5887,5582],{"class":481},[464,5889,5890,5893,5895,5897,5900],{"class":466,"line":710},[464,5891,5892],{"class":481},"      console.",[464,5894,5591],{"class":477},[464,5896,2393],{"class":481},[464,5898,5899],{"class":491},"\"Build compiled successfully!\"",[464,5901,5902],{"class":481},");\n",[464,5904,5905],{"class":466,"line":716},[464,5906,1450],{"class":481},[464,5908,5909],{"class":466,"line":917},[464,5910,713],{"class":481},[464,5912,5913],{"class":466,"line":1107},[464,5914,505],{"class":481},[408,5916],{"to":44},[416,5918,5920],{"id":5919},"commands",[420,5921,5919],{},[423,5923,5924],{},[434,5925,5706],{},[423,5927,5928],{},"Preview and deploy command hints are usually filled by deployment presets.",[456,5930,5932],{"className":458,"code":5931,"language":460,"meta":5,"style":5},"export default defineConfig({\n  commands: {\n    preview: \"node ./server/index.mjs\",\n  },\n});\n",[420,5933,5934,5944,5949,5959,5963],{"__ignoreMap":5},[464,5935,5936,5938,5940,5942],{"class":466,"line":467},[464,5937,471],{"class":470},[464,5939,474],{"class":470},[464,5941,478],{"class":477},[464,5943,482],{"class":481},[464,5945,5946],{"class":466,"line":485},[464,5947,5948],{"class":481},"  commands: {\n",[464,5950,5951,5954,5957],{"class":466,"line":502},[464,5952,5953],{"class":481},"    preview: ",[464,5955,5956],{"class":491},"\"node ./server/index.mjs\"",[464,5958,562],{"class":481},[464,5960,5961],{"class":466,"line":710},[464,5962,713],{"class":481},[464,5964,5965],{"class":466,"line":716},[464,5966,505],{"class":481},[416,5968,5970],{"id":5969},"deverrorhandler",[420,5971,5972],{},"devErrorHandler",[423,5974,5975],{},[434,5976,5706],{},[423,5978,5979],{},"A custom error handler function for development errors.",[456,5981,5983],{"className":458,"code":5982,"language":460,"meta":5,"style":5},"export default defineConfig({\n  devErrorHandler: (error, event) => {\n    return new Response(`Dev error: ${error.message}`, { status: 500 });\n  },\n});\n",[420,5984,5985,5995,6014,6046,6050],{"__ignoreMap":5},[464,5986,5987,5989,5991,5993],{"class":466,"line":467},[464,5988,471],{"class":470},[464,5990,474],{"class":470},[464,5992,478],{"class":477},[464,5994,482],{"class":481},[464,5996,5997,6000,6002,6004,6006,6008,6010,6012],{"class":466,"line":485},[464,5998,5999],{"class":477},"  devErrorHandler",[464,6001,5519],{"class":481},[464,6003,3609],{"class":2373},[464,6005,495],{"class":481},[464,6007,3614],{"class":2373},[464,6009,2376],{"class":481},[464,6011,2379],{"class":470},[464,6013,2382],{"class":481},[464,6015,6016,6019,6021,6023,6025,6028,6030,6032,6035,6038,6041,6044],{"class":466,"line":502},[464,6017,6018],{"class":470},"    return",[464,6020,3628],{"class":470},[464,6022,3631],{"class":477},[464,6024,2393],{"class":481},[464,6026,6027],{"class":491},"`Dev error: ${",[464,6029,3609],{"class":481},[464,6031,990],{"class":491},[464,6033,6034],{"class":481},"message",[464,6036,6037],{"class":491},"}`",[464,6039,6040],{"class":481},", { status: ",[464,6042,6043],{"class":522},"500",[464,6045,2410],{"class":481},[464,6047,6048],{"class":466,"line":710},[464,6049,713],{"class":481},[464,6051,6052],{"class":466,"line":716},[464,6053,505],{"class":481},[416,6055,6057],{"id":6056},"tracingchannel",[420,6058,6059],{},"tracingChannel",[423,6061,6062],{},[434,6063,3677],{},[512,6065,6066,6072],{},[515,6067,517,6068],{},[420,6069,6070],{"className":458,"language":460,"style":5},[464,6071,523],{"class":522},[515,6073,1822,6074,1827,6078],{},[420,6075,6076],{"className":458,"language":460,"style":5},[464,6077,1909],{"class":481},[420,6079,6080,6083,6085,6088,6090],{"className":458,"language":460,"style":5},[464,6081,6082],{"class":481},"{ srvx",[464,6084,1835],{"class":470},[464,6086,6087],{"class":481}," boolean, h3",[464,6089,1835],{"class":470},[464,6091,6092],{"class":481}," boolean }",[423,6094,2143,6095,6097,6098,6105,6106,6109,6110,959,6113,6116],{},[420,6096,6059],{}," option enables ",[592,6099,6102],{"href":6100,"rel":6101},"https://nodejs.org/api/diagnostics_channel.html#class-tracingchannel",[596],[420,6103,6104],{},"TracingChannel"," instrumentation for request handling. It is wired for Node.js and also works in Bun, Deno, and the development preset — any runtime that exposes ",[420,6107,6108],{},"node:diagnostics_channel",". The published ",[420,6111,6112],{},"srvx.request",[420,6114,6115],{},"h3.request"," channels remain available across these runtimes and can be consumed by APM tools and custom subscribers.",[423,6118,6119,6120,6122],{},"Pass ",[420,6121,529],{}," to enable both channels, or an object to toggle them individually.",[456,6124,6126],{"className":458,"code":6125,"language":460,"meta":5,"style":5},"export default defineConfig({\n  tracingChannel: true,\n});\n",[420,6127,6128,6138,6147],{"__ignoreMap":5},[464,6129,6130,6132,6134,6136],{"class":466,"line":467},[464,6131,471],{"class":470},[464,6133,474],{"class":470},[464,6135,478],{"class":477},[464,6137,482],{"class":481},[464,6139,6140,6143,6145],{"class":466,"line":485},[464,6141,6142],{"class":481},"  tracingChannel: ",[464,6144,529],{"class":522},[464,6146,562],{"class":481},[464,6148,6149],{"class":466,"line":502},[464,6150,505],{"class":481},[416,6152,6154],{"id":6153},"framework",[420,6155,6153],{},[512,6157,6158],{},[515,6159,517,6160],{},[420,6161,6162,6164,6167,6169,6172,6174,6177,6179,6182],{"className":458,"language":460,"style":5},[464,6163,645],{"class":481},[464,6165,6166],{"class":477},"name",[464,6168,1164],{"class":481},[464,6170,6171],{"class":491},"\"nitro\"",[464,6173,495],{"class":481},[464,6175,6176],{"class":477},"version",[464,6178,1164],{"class":481},[464,6180,6181],{"class":491},"\"\u003Ccurrent>\"",[464,6183,2195],{"class":481},[423,6185,6186],{},"Framework information. Used by presets and build info. Typically set by higher-level frameworks (e.g. Nuxt).",[456,6188,6190],{"className":458,"code":6189,"language":460,"meta":5,"style":5},"export default defineConfig({\n  framework: { name: \"my-framework\", version: \"2.0.0\" },\n});\n",[420,6191,6192,6202,6218],{"__ignoreMap":5},[464,6193,6194,6196,6198,6200],{"class":466,"line":467},[464,6195,471],{"class":470},[464,6197,474],{"class":470},[464,6199,478],{"class":477},[464,6201,482],{"class":481},[464,6203,6204,6207,6210,6213,6216],{"class":466,"line":485},[464,6205,6206],{"class":481},"  framework: { name: ",[464,6208,6209],{"class":491},"\"my-framework\"",[464,6211,6212],{"class":481},", version: ",[464,6214,6215],{"class":491},"\"2.0.0\"",[464,6217,3325],{"class":481},[464,6219,6220],{"class":466,"line":502},[464,6221,505],{"class":481},[411,6223,6225],{"id":6224},"preset-options","Preset options",[416,6227,6229],{"id":6228},"firebase",[420,6230,6228],{},[423,6232,6233,6234],{},"The options for the firebase functions preset. See ",[592,6235,6237],{"href":6236},"/deploy/providers/firebase#options","Preset Docs",[456,6239,6241],{"className":458,"code":6240,"language":460,"meta":5,"style":5},"export default defineConfig({\n  firebase: {\n    gen: 2, // use Cloud Functions 2nd gen\n    region: \"us-central1\",\n  },\n});\n",[420,6242,6243,6253,6258,6271,6281,6285],{"__ignoreMap":5},[464,6244,6245,6247,6249,6251],{"class":466,"line":467},[464,6246,471],{"class":470},[464,6248,474],{"class":470},[464,6250,478],{"class":477},[464,6252,482],{"class":481},[464,6254,6255],{"class":466,"line":485},[464,6256,6257],{"class":481},"  firebase: {\n",[464,6259,6260,6263,6266,6268],{"class":466,"line":502},[464,6261,6262],{"class":481},"    gen: ",[464,6264,6265],{"class":522},"2",[464,6267,495],{"class":481},[464,6269,6270],{"class":498},"// use Cloud Functions 2nd gen\n",[464,6272,6273,6276,6279],{"class":466,"line":710},[464,6274,6275],{"class":481},"    region: ",[464,6277,6278],{"class":491},"\"us-central1\"",[464,6280,562],{"class":481},[464,6282,6283],{"class":466,"line":716},[464,6284,713],{"class":481},[464,6286,6287],{"class":466,"line":917},[464,6288,505],{"class":481},[416,6290,6292],{"id":6291},"vercel",[420,6293,6291],{},[423,6295,6296,6297],{},"The options for the vercel preset. See ",[592,6298,6237],{"href":212},[456,6300,6302],{"className":458,"code":6301,"language":460,"meta":5,"style":5},"export default defineConfig({\n  vercel: {\n    config: { runtime: \"nodejs20.x\" },\n  },\n});\n",[420,6303,6304,6314,6319,6329,6333],{"__ignoreMap":5},[464,6305,6306,6308,6310,6312],{"class":466,"line":467},[464,6307,471],{"class":470},[464,6309,474],{"class":470},[464,6311,478],{"class":477},[464,6313,482],{"class":481},[464,6315,6316],{"class":466,"line":485},[464,6317,6318],{"class":481},"  vercel: {\n",[464,6320,6321,6324,6327],{"class":466,"line":502},[464,6322,6323],{"class":481},"    config: { runtime: ",[464,6325,6326],{"class":491},"\"nodejs20.x\"",[464,6328,3325],{"class":481},[464,6330,6331],{"class":466,"line":710},[464,6332,713],{"class":481},[464,6334,6335],{"class":466,"line":716},[464,6336,505],{"class":481},[416,6338,6340],{"id":6339},"cloudflare",[420,6341,6339],{},[423,6343,6344,6345],{},"The options for the cloudflare preset. See ",[592,6346,6237],{"href":148},[456,6348,6350],{"className":458,"code":6349,"language":460,"meta":5,"style":5},"export default defineConfig({\n  cloudflare: {\n    wrangler: { compatibility_date: \"2025-01-01\" },\n  },\n});\n",[420,6351,6352,6362,6367,6376,6380],{"__ignoreMap":5},[464,6353,6354,6356,6358,6360],{"class":466,"line":467},[464,6355,471],{"class":470},[464,6357,474],{"class":470},[464,6359,478],{"class":477},[464,6361,482],{"class":481},[464,6363,6364],{"class":466,"line":485},[464,6365,6366],{"class":481},"  cloudflare: {\n",[464,6368,6369,6372,6374],{"class":466,"line":502},[464,6370,6371],{"class":481},"    wrangler: { compatibility_date: ",[464,6373,764],{"class":491},[464,6375,3325],{"class":481},[464,6377,6378],{"class":466,"line":710},[464,6379,713],{"class":481},[464,6381,6382],{"class":466,"line":716},[464,6383,505],{"class":481},[416,6385,6387],{"id":6386},"zephyr",[420,6388,6386],{},[423,6390,6391,6392],{},"The options for the zephyr preset. See ",[592,6393,6237],{"href":6394},"/deploy/providers/zephyr#options",[6396,6397,6398],"style",{},"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 .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 .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":485,"depth":485,"links":6400},[6401,6409,6433,6438,6441,6451,6461,6480,6489],{"id":413,"depth":485,"text":414,"children":6402},[6403,6404,6405,6406,6407,6408],{"id":418,"depth":502,"text":418},{"id":508,"depth":502,"text":508},{"id":569,"depth":502,"text":572},{"id":633,"depth":502,"text":636},{"id":721,"depth":502,"text":724},{"id":773,"depth":502,"text":773},{"id":820,"depth":485,"text":821,"children":6410},[6411,6412,6413,6414,6415,6416,6417,6418,6419,6420,6421,6422,6423,6424,6425,6426,6427,6428,6429,6430,6431,6432],{"id":824,"depth":502,"text":820},{"id":924,"depth":502,"text":924},{"id":1127,"depth":502,"text":941},{"id":1481,"depth":502,"text":1481},{"id":1541,"depth":502,"text":1541},{"id":1614,"depth":502,"text":1617},{"id":1687,"depth":502,"text":1031},{"id":1747,"depth":502,"text":1750},{"id":1815,"depth":502,"text":1815},{"id":1897,"depth":502,"text":1900},{"id":1978,"depth":502,"text":1981},{"id":2033,"depth":502,"text":2036},{"id":2156,"depth":502,"text":2159},{"id":2250,"depth":502,"text":2253},{"id":2320,"depth":502,"text":2320},{"id":2425,"depth":502,"text":2425},{"id":2483,"depth":502,"text":1041},{"id":2549,"depth":502,"text":2552},{"id":2612,"depth":502,"text":2612},{"id":2675,"depth":502,"text":2675},{"id":2729,"depth":502,"text":2729},{"id":2781,"depth":502,"text":2781},{"id":2841,"depth":485,"text":2842,"children":6434},[6435,6436,6437],{"id":2845,"depth":502,"text":2848},{"id":2936,"depth":502,"text":2939},{"id":2993,"depth":502,"text":2996},{"id":3069,"depth":485,"text":3070,"children":6439},[6440],{"id":3073,"depth":502,"text":3069},{"id":3167,"depth":485,"text":23,"children":6442},[6443,6444,6445,6446,6447,6448,6449,6450],{"id":3170,"depth":502,"text":2150},{"id":3221,"depth":502,"text":3224},{"id":3269,"depth":502,"text":3269},{"id":3358,"depth":502,"text":3361},{"id":3433,"depth":502,"text":3433},{"id":3507,"depth":502,"text":3510},{"id":3669,"depth":502,"text":3672},{"id":3920,"depth":502,"text":3920},{"id":4148,"depth":485,"text":4149,"children":6452},[6453,6454,6455,6456,6457,6458,6459,6460],{"id":4152,"depth":502,"text":4155},{"id":4199,"depth":502,"text":4202},{"id":4237,"depth":502,"text":4240},{"id":4335,"depth":502,"text":4338},{"id":4383,"depth":502,"text":4386},{"id":4431,"depth":502,"text":4434},{"id":4478,"depth":502,"text":4481},{"id":4526,"depth":502,"text":4526},{"id":4599,"depth":485,"text":4600,"children":6462},[6463,6464,6465,6466,6467,6468,6469,6470,6471,6472,6473,6474,6475,6476,6477,6478,6479],{"id":4603,"depth":502,"text":4603},{"id":4666,"depth":502,"text":4669},{"id":4714,"depth":502,"text":4717},{"id":4761,"depth":502,"text":4761},{"id":4801,"depth":502,"text":4801},{"id":4856,"depth":502,"text":4856},{"id":4916,"depth":502,"text":4916},{"id":4961,"depth":502,"text":4964},{"id":5015,"depth":502,"text":5015},{"id":5067,"depth":502,"text":5067},{"id":5122,"depth":502,"text":5122},{"id":5181,"depth":502,"text":5184},{"id":5228,"depth":502,"text":5231},{"id":5271,"depth":502,"text":5274},{"id":5322,"depth":502,"text":5325},{"id":5418,"depth":502,"text":5421},{"id":5629,"depth":502,"text":5629},{"id":5685,"depth":485,"text":5686,"children":6481},[6482,6483,6484,6485,6486,6487,6488],{"id":5689,"depth":502,"text":2841},{"id":5740,"depth":502,"text":5740},{"id":5842,"depth":502,"text":5842},{"id":5919,"depth":502,"text":5919},{"id":5969,"depth":502,"text":5972},{"id":6056,"depth":502,"text":6059},{"id":6153,"depth":502,"text":6153},{"id":6224,"depth":485,"text":6225,"children":6490},[6491,6492,6493,6494],{"id":6228,"depth":502,"text":6228},{"id":6291,"depth":502,"text":6291},{"id":6339,"depth":502,"text":6339},{"id":6386,"depth":502,"text":6386},"md",{"icon":36},{"icon":36},{"title":227,"description":5},"VPAmWIzI7YfgYRQ71Ca6OHbSy8n92X43MBHovaVP1KQ",[6501,6503],{"title":223,"path":224,"stem":225,"description":6502,"children":-1},"Deploy Nitro apps to Zerops.",{"title":233,"path":234,"stem":235,"description":6504,"icon":238,"children":-1},"Explore Nitro examples to learn how to build full-stack applications",1776349679075]