[{"data":1,"prerenderedAt":541},["ShallowReactive",2],{"navigation":3,"-deploy":225,"-deploy-surround":536},[4,76,219],{"title":5,"path":6,"stem":7,"children":8,"icon":10},"Docs","/guide","1.guide/0.index",[9,11,16,21,26,31,36,41,46,51,56,61,66,71],{"title":5,"path":6,"stem":7,"icon":10},"ph:book-open-duotone",{"title":12,"path":13,"stem":14,"icon":15},"Server Utils","/guide/utils","1.guide/1.utils","ri:tools-line",{"title":17,"path":18,"stem":19,"icon":20},"Tasks","/guide/tasks","1.guide/10.tasks","codicon:run-all",{"title":22,"path":23,"stem":24,"icon":25},"Server Routes","/guide/routing","1.guide/2.routing","ri:direction-line",{"title":27,"path":28,"stem":29,"icon":30},"WebSocket","/guide/websocket","1.guide/3.websocket","cib:socket-io",{"title":32,"path":33,"stem":34,"icon":35},"KV Storage","/guide/storage","1.guide/4.storage","carbon:datastore",{"title":37,"path":38,"stem":39,"icon":40},"SQL Database","/guide/database","1.guide/5.database","ri:database-2-line",{"title":42,"path":43,"stem":44,"icon":45},"Cache","/guide/cache","1.guide/6.cache","ri:speed-line",{"title":47,"path":48,"stem":49,"icon":50},"Fetch","/guide/fetch","1.guide/7.fetch","ri:global-line",{"title":52,"path":53,"stem":54,"icon":55},"Assets","/guide/assets","1.guide/8.assets","ri:image-2-line",{"title":57,"path":58,"stem":59,"icon":60},"Plugins","/guide/plugins","1.guide/9.plugins","ri:plug-line",{"title":62,"path":63,"stem":64,"icon":65},"Configuration","/guide/configuration","1.guide/97.configuration","ri:settings-3-line",{"title":67,"path":68,"stem":69,"icon":70},"TypeScript","/guide/typescript","1.guide/98.typescript","tabler:brand-typescript",{"title":72,"path":73,"stem":74,"icon":75},"Nightly Channel","/guide/nightly","1.guide/99.nightly","ri:moon-fill",{"title":77,"path":78,"stem":79,"children":80,"icon":82},"Deploy","/deploy","2.deploy/0.index",[81,83,87,113,118],{"title":77,"path":78,"stem":79,"icon":82},"ri:upload-cloud-2-line",{"title":84,"path":85,"stem":86,"icon":50},"Edge Workers","/deploy/workers","2.deploy/1.workers",{"title":88,"path":89,"stem":90,"children":91,"page":112},"Runtimes","/deploy/runtimes","2.deploy/10.runtimes",[92,97,102,107],{"title":93,"path":94,"stem":95,"icon":96},"Node.js","/deploy/runtimes/node","2.deploy/10.runtimes/1.node","akar-icons:node-fill",{"title":98,"path":99,"stem":100,"icon":101},"WinterJS","/deploy/runtimes/_winterjs","2.deploy/10.runtimes/_winterjs","game-icons:cold-heart",{"title":103,"path":104,"stem":105,"icon":106},"Bun","/deploy/runtimes/bun","2.deploy/10.runtimes/bun","simple-icons:bun",{"title":108,"path":109,"stem":110,"icon":111},"Deno","/deploy/runtimes/deno","2.deploy/10.runtimes/deno","simple-icons:deno",false,{"title":114,"path":115,"stem":116,"icon":117},"Custom Preset","/deploy/custom-presets","2.deploy/2.custom-presets","ri:file-code-line",{"title":119,"path":120,"stem":121,"children":122,"page":112},"Providers","/deploy/providers","2.deploy/20.providers",[123,127,131,135,139,143,147,151,155,159,163,167,171,175,179,183,187,191,195,199,203,207,211,215],{"title":124,"path":125,"stem":126},"Alwaysdata","/deploy/providers/alwaysdata","2.deploy/20.providers/alwaysdata",{"title":128,"path":129,"stem":130},"AWS Lambda","/deploy/providers/aws","2.deploy/20.providers/aws",{"title":132,"path":133,"stem":134},"AWS Amplify","/deploy/providers/aws-amplify","2.deploy/20.providers/aws-amplify",{"title":136,"path":137,"stem":138},"Azure","/deploy/providers/azure","2.deploy/20.providers/azure",{"title":140,"path":141,"stem":142},"Cleavr","/deploy/providers/cleavr","2.deploy/20.providers/cleavr",{"title":144,"path":145,"stem":146},"Cloudflare","/deploy/providers/cloudflare","2.deploy/20.providers/cloudflare",{"title":148,"path":149,"stem":150},"Deno Deploy","/deploy/providers/deno-deploy","2.deploy/20.providers/deno-deploy",{"title":152,"path":153,"stem":154},"DigitalOcean","/deploy/providers/digitalocean","2.deploy/20.providers/digitalocean",{"title":156,"path":157,"stem":158},"Edgio","/deploy/providers/edgio","2.deploy/20.providers/edgio",{"title":160,"path":161,"stem":162},"Firebase","/deploy/providers/firebase","2.deploy/20.providers/firebase",{"title":164,"path":165,"stem":166},"Flightcontrol","/deploy/providers/flightcontrol","2.deploy/20.providers/flightcontrol",{"title":168,"path":169,"stem":170},"Genezio","/deploy/providers/genezio","2.deploy/20.providers/genezio",{"title":172,"path":173,"stem":174},"GitHub Pages","/deploy/providers/github-pages","2.deploy/20.providers/github-pages",{"title":176,"path":177,"stem":178},"GitLab Pages","/deploy/providers/gitlab-pages","2.deploy/20.providers/gitlab-pages",{"title":180,"path":181,"stem":182},"Heroku","/deploy/providers/heroku","2.deploy/20.providers/heroku",{"title":184,"path":185,"stem":186},"IIS","/deploy/providers/iis","2.deploy/20.providers/iis",{"title":188,"path":189,"stem":190},"Koyeb","/deploy/providers/koyeb","2.deploy/20.providers/koyeb",{"title":192,"path":193,"stem":194},"Netlify","/deploy/providers/netlify","2.deploy/20.providers/netlify",{"title":196,"path":197,"stem":198},"Platform.sh","/deploy/providers/platform-sh","2.deploy/20.providers/platform-sh",{"title":200,"path":201,"stem":202},"Render.com","/deploy/providers/render","2.deploy/20.providers/render",{"title":204,"path":205,"stem":206},"StormKit","/deploy/providers/stormkit","2.deploy/20.providers/stormkit",{"title":208,"path":209,"stem":210},"Vercel","/deploy/providers/vercel","2.deploy/20.providers/vercel",{"title":212,"path":213,"stem":214},"Zeabur","/deploy/providers/zeabur","2.deploy/20.providers/zeabur",{"title":216,"path":217,"stem":218},"Zerops","/deploy/providers/zerops","2.deploy/20.providers/zerops",{"title":220,"path":221,"stem":222,"children":223,"icon":65},"Config","/config","3.config/0.index",[224],{"title":220,"path":221,"stem":222,"icon":65},{"id":226,"title":77,"body":227,"description":371,"extension":530,"meta":531,"navigation":533,"path":78,"seo":534,"stem":79,"__hash__":535},"content/2.deploy/0.index.md",{"type":228,"value":229,"toc":524,"icon":82},"minimark",[230,235,242,245,250,259,267,271,274,319,329,333,352,355,365,394,403,441,445,448,451,458,461,520],[231,232,234],"h1",{"id":233},"overview","Overview",[236,237,238],"blockquote",{},[239,240,241],"p",{},"Learn more about Nitro deploy providers.",[239,243,244],{},"Nitro can generate different output formats suitable for different hosting providers from the same code base.\nUsing built-in presets, you can easily configure Nitro to adjust its output format with almost no additional code or configuration!",[246,247,249],"h2",{"id":248},"default-output","Default output",[239,251,252,253,258],{},"The default production output preset is ",[254,255,257],"a",{"href":256},"/deploy/node","Node.js server",".",[239,260,261,262,266],{},"When running Nitro in development mode, Nitro will always use a special preset called ",[263,264,265],"code",{},"nitro-dev"," using Node.js with ESM in an isolated Worker environment with behavior as close as possible to the production environment.",[246,268,270],{"id":269},"zero-config-providers","Zero-Config Providers",[239,272,273],{},"When deploying to production using CI/CD, Nitro tries to automatically detect the provider environment and set the right one without any additional configuration required. Currently, the providers below can be auto-detected with zero config.",[275,276,277,283,288,293,299,304,309,314],"ul",{},[278,279,280],"li",{},[254,281,282],{"href":133},"aws amplify",[278,284,285],{},[254,286,287],{"href":137},"azure",[278,289,290],{},[254,291,292],{"href":145},"cloudflare",[278,294,295],{},[254,296,298],{"href":297},"/deploy/providers/firebase#firebase-app-hosting","firebase app hosting",[278,300,301],{},[254,302,303],{"href":193},"netlify",[278,305,306],{},[254,307,308],{"href":205},"stormkit",[278,310,311],{},[254,312,313],{"href":209},"vercel",[278,315,316],{},[254,317,318],{"href":213},"zeabur",[320,321,322],"warning",{},[239,323,324,325,328],{},"For Turborepo users, zero config detection will be interferenced by its Strict Environment Mode. You may need to allowing the variables explictly or use its Loose Environment Mode (with ",[263,326,327],{},"--env-mode=loose"," flag).",[246,330,332],{"id":331},"changing-the-deployment-preset","Changing the deployment preset",[239,334,335,336,339,340,343,344,347,348,351],{},"If you need to build Nitro against a specific provider, you can target it by defining an environment variable named ",[263,337,338],{},"NITRO_PRESET"," or ",[263,341,342],{},"SERVER_PRESET",", or by updating your Nitro ",[254,345,346],{"href":63},"configuration"," or using ",[263,349,350],{},"--preset"," argument.",[239,353,354],{},"Using the environment variable approach is recommended for deployments depending on CI/CD.",[239,356,357,361,362,364],{},[358,359,360],"strong",{},"Example:"," Defining a ",[263,363,338],{}," environment variable",[366,367,372],"pre",{"className":368,"code":369,"language":370,"meta":371,"style":371},"language-bash shiki shiki-themes github-light github-dark github-dark","nitro build --preset cloudflare_pages\n","bash","",[263,373,374],{"__ignoreMap":371},[375,376,379,383,387,391],"span",{"class":377,"line":378},"line",1,[375,380,382],{"class":381},"shcOC","nitro",[375,384,386],{"class":385},"sfrk1"," build",[375,388,390],{"class":389},"suiK_"," --preset",[375,392,393],{"class":385}," cloudflare_pages\n",[239,395,396,398,399,402],{},[358,397,360],{}," Updating the ",[263,400,401],{},"nitro.config.ts"," file",[366,404,408],{"className":405,"code":406,"language":407,"meta":371,"style":371},"language-ts shiki shiki-themes github-light github-dark github-dark","export default defineNitroConfig({\n  preset: 'cloudflare_pages'\n})\n","ts",[263,409,410,426,435],{"__ignoreMap":371},[375,411,412,416,419,422],{"class":377,"line":378},[375,413,415],{"class":414},"so5gQ","export",[375,417,418],{"class":414}," default",[375,420,421],{"class":381}," defineNitroConfig",[375,423,425],{"class":424},"slsVL","({\n",[375,427,429,432],{"class":377,"line":428},2,[375,430,431],{"class":424},"  preset: ",[375,433,434],{"class":385},"'cloudflare_pages'\n",[375,436,438],{"class":377,"line":437},3,[375,439,440],{"class":424},"})\n",[246,442,444],{"id":443},"compatibility-date","Compatibility date",[239,446,447],{},"Deployment providers regularly update their runtime behavior. Nitro presets are updated to support these new features.",[239,449,450],{},"To prevent breaking existing deployments, Nitro uses compatibility dates. These dates let you lock in behavior at the project creation time. You can also opt in to future updates when ready.",[239,452,453,454,457],{},"When you create a new project, the ",[263,455,456],{},"compatibilityDate"," is set to the current date. This setting is saved in your project's configuration.",[239,459,460],{},"You should update the compatibility date periodically. Always test your deployment thoroughly after updating. Below is a list of key dates and their effects.",[462,463,464,479],"table",{},[465,466,467],"thead",{},[468,469,470,473,476],"tr",{},[471,472,444],"th",{},[471,474,475],{},"Platform",[471,477,478],{},"Description",[480,481,482,495,507],"tbody",{},[468,483,484,490,492],{},[485,486,487],"td",{},[358,488,489],{},"≥ 2024-05-07",[485,491,303],{},[485,493,494],{},"Netlify functions v2",[468,496,497,502,504],{},[485,498,499],{},[358,500,501],{},"≥ 2024-09-19",[485,503,292],{},[485,505,506],{},"Static assets support for cloudflare-module preset",[468,508,509,514,517],{},[485,510,511],{},[358,512,513],{},"≥ 2025-01-30",[485,515,516],{},"deno",[485,518,519],{},"Deno v2 Node.js compatibility",[521,522,523],"style",{},"html pre.shiki code .shcOC, html code.shiki .shcOC{--shiki-light:#6F42C1;--shiki-default:#B392F0;--shiki-dark:#B392F0}html pre.shiki code .sfrk1, html code.shiki .sfrk1{--shiki-light:#032F62;--shiki-default:#9ECBFF;--shiki-dark:#9ECBFF}html pre.shiki code .suiK_, html code.shiki .suiK_{--shiki-light:#005CC5;--shiki-default:#79B8FF;--shiki-dark:#79B8FF}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .so5gQ, html code.shiki .so5gQ{--shiki-light:#D73A49;--shiki-default:#F97583;--shiki-dark:#F97583}html pre.shiki code .slsVL, html code.shiki .slsVL{--shiki-light:#24292E;--shiki-default:#E1E4E8;--shiki-dark:#E1E4E8}",{"title":371,"searchDepth":428,"depth":428,"links":525},[526,527,528,529],{"id":248,"depth":428,"text":249},{"id":269,"depth":428,"text":270},{"id":331,"depth":428,"text":332},{"id":443,"depth":428,"text":444},"md",{"automd":532,"icon":82},true,{"icon":82},{"title":77,"description":371},"MNVEtCjSfsNDuyd9DpaWXl_U4wlvrX7I2mb1jHnsfeY",[537,539],{"title":72,"path":73,"stem":74,"description":538,"icon":75,"children":-1},"Nitro has a nightly release channel that automatically releases for every commit to main branch to try latest changes.",{"title":84,"path":85,"stem":86,"description":540,"icon":50,"children":-1},"Nitro provides out of the box support for deploying to Edge Workers.",1775117853279]