[{"data":1,"prerenderedAt":7353},["ShallowReactive",2],{"navigation":3,"deploy-landing":1107,"hosting-provider":1128},[4,1018],{"title":5,"titleTemplate":6,"icon":7,"path":8,"stem":9,"children":10,"page":108},"Docs",null,"i-lucide-bookmark","/docs","docs",[11,109,345,805,897,934,976],{"title":12,"titleTemplate":13,"icon":14,"path":15,"stem":16,"children":17,"page":108},"Get Started","%s · Get Started with Nuxt","i-lucide-rocket","/docs/getting-started","docs/1.getting-started",[18,23,28,33,38,43,48,53,58,63,68,73,78,83,88,93,98,103],{"title":19,"path":20,"stem":21,"titleTemplate":6,"icon":22},"Introduction","/docs/getting-started/introduction","docs/1.getting-started/01.introduction","i-lucide-info",{"title":24,"path":25,"stem":26,"titleTemplate":6,"icon":27},"Installation","/docs/getting-started/installation","docs/1.getting-started/02.installation","i-lucide-play",{"title":29,"path":30,"stem":31,"titleTemplate":6,"icon":32},"Configuration","/docs/getting-started/configuration","docs/1.getting-started/03.configuration","i-lucide-cog",{"title":34,"path":35,"stem":36,"titleTemplate":6,"icon":37},"Views","/docs/getting-started/views","docs/1.getting-started/04.views","i-lucide-panels-top-left",{"title":39,"path":40,"stem":41,"titleTemplate":6,"icon":42},"Assets","/docs/getting-started/assets","docs/1.getting-started/05.assets","i-lucide-image",{"title":44,"path":45,"stem":46,"titleTemplate":6,"icon":47},"Styling","/docs/getting-started/styling","docs/1.getting-started/06.styling","i-lucide-palette",{"title":49,"path":50,"stem":51,"titleTemplate":6,"icon":52},"Routing","/docs/getting-started/routing","docs/1.getting-started/07.routing","i-lucide-milestone",{"title":54,"path":55,"stem":56,"titleTemplate":6,"icon":57},"SEO and Meta","/docs/getting-started/seo-meta","docs/1.getting-started/08.seo-meta","i-lucide-file-search",{"title":59,"path":60,"stem":61,"titleTemplate":6,"icon":62},"Transitions","/docs/getting-started/transitions","docs/1.getting-started/09.transitions","i-lucide-toggle-right",{"title":64,"path":65,"stem":66,"titleTemplate":6,"icon":67},"Data Fetching","/docs/getting-started/data-fetching","docs/1.getting-started/10.data-fetching","i-lucide-cable",{"title":69,"path":70,"stem":71,"titleTemplate":6,"icon":72},"State Management","/docs/getting-started/state-management","docs/1.getting-started/11.state-management","i-lucide-database",{"title":74,"path":75,"stem":76,"titleTemplate":6,"icon":77},"Error Handling","/docs/getting-started/error-handling","docs/1.getting-started/12.error-handling","i-lucide-bug-off",{"title":79,"path":80,"stem":81,"titleTemplate":6,"icon":82},"Server","/docs/getting-started/server","docs/1.getting-started/13.server","i-lucide-pc-case",{"title":84,"path":85,"stem":86,"titleTemplate":6,"icon":87},"Layers","/docs/getting-started/layers","docs/1.getting-started/14.layers","i-lucide-layers",{"title":89,"path":90,"stem":91,"titleTemplate":6,"icon":92},"Prerendering","/docs/getting-started/prerendering","docs/1.getting-started/15.prerendering","i-lucide-file-code-2",{"title":94,"path":95,"stem":96,"titleTemplate":6,"icon":97},"Deployment","/docs/getting-started/deployment","docs/1.getting-started/16.deployment","i-lucide-cloud",{"title":99,"path":100,"stem":101,"titleTemplate":6,"icon":102},"Testing","/docs/getting-started/testing","docs/1.getting-started/17.testing","i-lucide-circle-check",{"title":104,"path":105,"stem":106,"titleTemplate":6,"icon":107},"Upgrade Guide","/docs/getting-started/upgrade","docs/1.getting-started/18.upgrade","i-lucide-circle-arrow-up",false,{"title":110,"titleTemplate":6,"icon":111,"path":112,"stem":113,"children":114,"page":108},"Guide","i-lucide-book-open","/docs/guide","docs/2.guide",[115,158,271,322],{"title":116,"titleTemplate":117,"icon":118,"path":119,"stem":120,"children":121,"page":108},"Key Concepts","%s · Nuxt Concepts","i-lucide-medal","/docs/guide/concepts","docs/2.guide/1.concepts",[122,126,130,134,138,142,146,150,154],{"title":123,"path":124,"stem":125,"titleTemplate":6},"Auto-imports","/docs/guide/concepts/auto-imports","docs/2.guide/1.concepts/1.auto-imports",{"title":127,"path":128,"stem":129,"titleTemplate":6},"Nuxt Lifecycle","/docs/guide/concepts/nuxt-lifecycle","docs/2.guide/1.concepts/10.nuxt-lifecycle",{"title":131,"path":132,"stem":133,"titleTemplate":6},"Vue.js Development","/docs/guide/concepts/vuejs-development","docs/2.guide/1.concepts/2.vuejs-development",{"title":135,"path":136,"stem":137,"titleTemplate":6},"Rendering Modes","/docs/guide/concepts/rendering","docs/2.guide/1.concepts/3.rendering",{"title":139,"path":140,"stem":141,"titleTemplate":6},"Server Engine","/docs/guide/concepts/server-engine","docs/2.guide/1.concepts/4.server-engine",{"title":143,"path":144,"stem":145,"titleTemplate":6},"Modules","/docs/guide/concepts/modules","docs/2.guide/1.concepts/5.modules",{"title":147,"path":148,"stem":149,"titleTemplate":6},"ES Modules","/docs/guide/concepts/esm","docs/2.guide/1.concepts/7.esm",{"title":151,"path":152,"stem":153,"titleTemplate":6},"TypeScript","/docs/guide/concepts/typescript","docs/2.guide/1.concepts/8.typescript",{"title":155,"path":156,"stem":157,"titleTemplate":6},"Code Style","/docs/guide/concepts/code-style","docs/2.guide/1.concepts/9.code-style",{"title":159,"titleTemplate":160,"icon":161,"path":162,"stem":163,"children":164,"page":108},"Directory Structure","%s · Nuxt Directory Structure","i-lucide-folders","/docs/guide/directory-structure","docs/2.guide/2.directory-structure",[165,170,174,178,182,186,190,194,198,202,206,210,214,218,222,226,230,235,239,243,247,251,255,259,263,267],{"title":166,"path":167,"stem":168,"titleTemplate":6,"icon":169},".nuxt","/docs/guide/directory-structure/nuxt","docs/2.guide/2.directory-structure/0.nuxt","i-lucide-folder",{"title":171,"path":172,"stem":173,"titleTemplate":6,"icon":169},".output","/docs/guide/directory-structure/output","docs/2.guide/2.directory-structure/0.output",{"title":175,"path":176,"stem":177,"titleTemplate":6,"icon":169},"assets","/docs/guide/directory-structure/assets","docs/2.guide/2.directory-structure/1.assets",{"title":179,"path":180,"stem":181,"titleTemplate":6,"icon":169},"components","/docs/guide/directory-structure/components","docs/2.guide/2.directory-structure/1.components",{"title":183,"path":184,"stem":185,"titleTemplate":6,"icon":169},"composables","/docs/guide/directory-structure/composables","docs/2.guide/2.directory-structure/1.composables",{"title":187,"path":188,"stem":189,"titleTemplate":6,"icon":169},"content","/docs/guide/directory-structure/content","docs/2.guide/2.directory-structure/1.content",{"title":191,"path":192,"stem":193,"titleTemplate":6,"icon":169},"layouts","/docs/guide/directory-structure/layouts","docs/2.guide/2.directory-structure/1.layouts",{"title":195,"path":196,"stem":197,"titleTemplate":6,"icon":169},"middleware","/docs/guide/directory-structure/middleware","docs/2.guide/2.directory-structure/1.middleware",{"title":199,"path":200,"stem":201,"titleTemplate":6,"icon":169},"modules","/docs/guide/directory-structure/modules","docs/2.guide/2.directory-structure/1.modules",{"title":203,"path":204,"stem":205,"titleTemplate":6,"icon":169},"node_modules","/docs/guide/directory-structure/node_modules","docs/2.guide/2.directory-structure/1.node_modules",{"title":207,"path":208,"stem":209,"titleTemplate":6,"icon":169},"pages","/docs/guide/directory-structure/pages","docs/2.guide/2.directory-structure/1.pages",{"title":211,"path":212,"stem":213,"titleTemplate":6,"icon":169},"plugins","/docs/guide/directory-structure/plugins","docs/2.guide/2.directory-structure/1.plugins",{"title":215,"path":216,"stem":217,"titleTemplate":6,"icon":169},"public","/docs/guide/directory-structure/public","docs/2.guide/2.directory-structure/1.public",{"title":219,"path":220,"stem":221,"titleTemplate":6,"icon":169},"server","/docs/guide/directory-structure/server","docs/2.guide/2.directory-structure/1.server",{"title":223,"path":224,"stem":225,"titleTemplate":6,"icon":169},"shared","/docs/guide/directory-structure/shared","docs/2.guide/2.directory-structure/1.shared",{"title":227,"path":228,"stem":229,"titleTemplate":6,"icon":169},"utils","/docs/guide/directory-structure/utils","docs/2.guide/2.directory-structure/1.utils",{"title":231,"path":232,"stem":233,"titleTemplate":6,"icon":234},".env","/docs/guide/directory-structure/env","docs/2.guide/2.directory-structure/2.env","i-lucide-file",{"title":236,"path":237,"stem":238,"titleTemplate":6,"icon":234},".gitignore","/docs/guide/directory-structure/gitignore","docs/2.guide/2.directory-structure/2.gitignore",{"title":240,"path":241,"stem":242,"titleTemplate":6,"icon":234},".nuxtignore","/docs/guide/directory-structure/nuxtignore","docs/2.guide/2.directory-structure/2.nuxtignore",{"title":244,"path":245,"stem":246,"titleTemplate":6,"icon":234},".nuxtrc","/docs/guide/directory-structure/nuxtrc","docs/2.guide/2.directory-structure/2.nuxtrc",{"title":248,"path":249,"stem":250,"titleTemplate":6,"icon":234},"app.vue","/docs/guide/directory-structure/app","docs/2.guide/2.directory-structure/3.app",{"title":252,"path":253,"stem":254,"titleTemplate":6,"icon":234},"app.config.ts","/docs/guide/directory-structure/app-config","docs/2.guide/2.directory-structure/3.app-config",{"title":256,"path":257,"stem":258,"titleTemplate":6,"icon":234},"error.vue","/docs/guide/directory-structure/error","docs/2.guide/2.directory-structure/3.error",{"title":260,"path":261,"stem":262,"titleTemplate":6,"icon":234},"nuxt.config.ts","/docs/guide/directory-structure/nuxt-config","docs/2.guide/2.directory-structure/3.nuxt-config",{"title":264,"path":265,"stem":266,"titleTemplate":6,"icon":234},"package.json","/docs/guide/directory-structure/package","docs/2.guide/2.directory-structure/3.package",{"title":268,"path":269,"stem":270,"titleTemplate":6,"icon":234},"tsconfig.json","/docs/guide/directory-structure/tsconfig","docs/2.guide/2.directory-structure/3.tsconfig",{"title":272,"titleTemplate":273,"icon":274,"path":275,"stem":276,"children":277,"page":108},"Going Further","%s · Nuxt Advanced","i-lucide-star","/docs/guide/going-further","docs/2.guide/3.going-further",[278,282,286,290,294,298,302,306,310,314,318],{"title":279,"path":280,"stem":281,"titleTemplate":6},"Experimental Features","/docs/guide/going-further/experimental-features","docs/2.guide/3.going-further/1.experimental-features",{"title":283,"path":284,"stem":285,"titleTemplate":6},"Features","/docs/guide/going-further/features","docs/2.guide/3.going-further/1.features",{"title":287,"path":288,"stem":289,"titleTemplate":6},"How Nuxt Works?","/docs/guide/going-further/internals","docs/2.guide/3.going-further/1.internals",{"title":291,"path":292,"stem":293,"titleTemplate":6},"Runtime Config","/docs/guide/going-further/runtime-config","docs/2.guide/3.going-further/10.runtime-config",{"title":295,"path":296,"stem":297,"titleTemplate":6},"Nightly Release Channel","/docs/guide/going-further/nightly-release-channel","docs/2.guide/3.going-further/11.nightly-release-channel",{"title":299,"path":300,"stem":301,"titleTemplate":6},"Lifecycle Hooks","/docs/guide/going-further/hooks","docs/2.guide/3.going-further/2.hooks",{"title":303,"path":304,"stem":305,"titleTemplate":6},"Module Author Guide","/docs/guide/going-further/modules","docs/2.guide/3.going-further/3.modules",{"title":307,"path":308,"stem":309,"titleTemplate":6},"Nuxt Kit","/docs/guide/going-further/kit","docs/2.guide/3.going-further/4.kit",{"title":311,"path":312,"stem":313,"titleTemplate":6},"NuxtApp","/docs/guide/going-further/nuxt-app","docs/2.guide/3.going-further/6.nuxt-app",{"title":315,"path":316,"stem":317,"titleTemplate":6},"Authoring Nuxt Layers","/docs/guide/going-further/layers","docs/2.guide/3.going-further/7.layers",{"title":319,"path":320,"stem":321,"titleTemplate":6},"Debugging","/docs/guide/going-further/debugging","docs/2.guide/3.going-further/9.debugging",{"title":323,"titleTemplate":324,"icon":325,"path":326,"stem":327,"children":328,"page":108},"Recipes","%s · Recipes","i-lucide-cooking-pot","/docs/guide/recipes","docs/2.guide/4.recipes",[329,333,337,341],{"title":330,"path":331,"stem":332,"titleTemplate":6},"Custom Routing","/docs/guide/recipes/custom-routing","docs/2.guide/4.recipes/1.custom-routing",{"title":334,"path":335,"stem":336,"titleTemplate":6},"Vite Plugins","/docs/guide/recipes/vite-plugin","docs/2.guide/4.recipes/2.vite-plugin",{"title":338,"path":339,"stem":340,"titleTemplate":6},"Custom useFetch","/docs/guide/recipes/custom-usefetch","docs/2.guide/4.recipes/3.custom-usefetch",{"title":342,"path":343,"stem":344,"titleTemplate":6},"Sessions and Authentication","/docs/guide/recipes/sessions-and-authentication","docs/2.guide/4.recipes/4.sessions-and-authentication",{"title":346,"titleTemplate":347,"icon":348,"path":349,"stem":350,"children":351,"page":108},"API","%s · Nuxt API","i-lucide-code-xml","/docs/api","docs/3.api",[352,416,539,654,721,787,800],{"title":353,"titleTemplate":354,"icon":355,"path":356,"stem":357,"children":358,"page":108},"Components","%s · Nuxt Components","i-lucide-box","/docs/api/components","docs/3.api/1.components",[359,363,367,371,375,379,384,388,392,396,400,404,408,412],{"title":360,"path":361,"stem":362,"titleTemplate":6},"\u003CClientOnly>","/docs/api/components/client-only","docs/3.api/1.components/1.client-only",{"title":364,"path":365,"stem":366,"titleTemplate":6},"\u003CDevOnly>","/docs/api/components/dev-only","docs/3.api/1.components/1.dev-only",{"title":368,"path":369,"stem":370,"titleTemplate":6},"\u003CNuxtClientFallback>","/docs/api/components/nuxt-client-fallback","docs/3.api/1.components/1.nuxt-client-fallback",{"title":372,"path":373,"stem":374,"titleTemplate":6},"\u003CNuxtPicture>","/docs/api/components/nuxt-picture","docs/3.api/1.components/10.nuxt-picture",{"title":376,"path":377,"stem":378,"titleTemplate":6},"\u003CTeleport>","/docs/api/components/teleports","docs/3.api/1.components/11.teleports",{"title":380,"path":381,"stem":382,"titleTemplate":6,"badge":383},"\u003CNuxtRouteAnnouncer>","/docs/api/components/nuxt-route-announcer","docs/3.api/1.components/12.nuxt-route-announcer","New",{"title":385,"path":386,"stem":387,"titleTemplate":6},"\u003CNuxtPage>","/docs/api/components/nuxt-page","docs/3.api/1.components/2.nuxt-page",{"title":389,"path":390,"stem":391,"titleTemplate":6},"\u003CNuxtLayout>","/docs/api/components/nuxt-layout","docs/3.api/1.components/3.nuxt-layout",{"title":393,"path":394,"stem":395,"titleTemplate":6},"\u003CNuxtLink>","/docs/api/components/nuxt-link","docs/3.api/1.components/4.nuxt-link",{"title":397,"path":398,"stem":399,"titleTemplate":6},"\u003CNuxtLoadingIndicator>","/docs/api/components/nuxt-loading-indicator","docs/3.api/1.components/5.nuxt-loading-indicator",{"title":401,"path":402,"stem":403,"titleTemplate":6},"\u003CNuxtErrorBoundary>","/docs/api/components/nuxt-error-boundary","docs/3.api/1.components/6.nuxt-error-boundary",{"title":405,"path":406,"stem":407,"titleTemplate":6},"\u003CNuxtWelcome>","/docs/api/components/nuxt-welcome","docs/3.api/1.components/7.nuxt-welcome",{"title":409,"path":410,"stem":411,"titleTemplate":6},"\u003CNuxtIsland>","/docs/api/components/nuxt-island","docs/3.api/1.components/8.nuxt-island",{"title":413,"path":414,"stem":415,"titleTemplate":6},"\u003CNuxtImg>","/docs/api/components/nuxt-img","docs/3.api/1.components/9.nuxt-img",{"title":417,"titleTemplate":418,"icon":419,"path":420,"stem":421,"children":422,"page":108},"Composables","%s · Nuxt Composables","i-lucide-arrow-left-right","/docs/api/composables","docs/3.api/2.composables",[423,427,431,435,439,443,447,451,455,459,463,467,471,475,479,483,487,491,495,499,503,507,511,515,519,523,527,531,535],{"title":424,"path":425,"stem":426,"titleTemplate":6},"onPrehydrate","/docs/api/composables/on-prehydrate","docs/3.api/2.composables/on-prehydrate",{"title":428,"path":429,"stem":430,"titleTemplate":6},"useAppConfig","/docs/api/composables/use-app-config","docs/3.api/2.composables/use-app-config",{"title":432,"path":433,"stem":434,"titleTemplate":6},"useAsyncData","/docs/api/composables/use-async-data","docs/3.api/2.composables/use-async-data",{"title":436,"path":437,"stem":438,"titleTemplate":6},"useCookie","/docs/api/composables/use-cookie","docs/3.api/2.composables/use-cookie",{"title":440,"path":441,"stem":442,"titleTemplate":6},"useError","/docs/api/composables/use-error","docs/3.api/2.composables/use-error",{"title":444,"path":445,"stem":446,"titleTemplate":6},"useFetch","/docs/api/composables/use-fetch","docs/3.api/2.composables/use-fetch",{"title":448,"path":449,"stem":450,"titleTemplate":6},"useHead","/docs/api/composables/use-head","docs/3.api/2.composables/use-head",{"title":452,"path":453,"stem":454,"titleTemplate":6},"useHeadSafe","/docs/api/composables/use-head-safe","docs/3.api/2.composables/use-head-safe",{"title":456,"path":457,"stem":458,"titleTemplate":6},"useHydration","/docs/api/composables/use-hydration","docs/3.api/2.composables/use-hydration",{"title":460,"path":461,"stem":462,"titleTemplate":6},"useLazyAsyncData","/docs/api/composables/use-lazy-async-data","docs/3.api/2.composables/use-lazy-async-data",{"title":464,"path":465,"stem":466,"titleTemplate":6},"useLazyFetch","/docs/api/composables/use-lazy-fetch","docs/3.api/2.composables/use-lazy-fetch",{"title":468,"path":469,"stem":470,"titleTemplate":6},"useLoadingIndicator","/docs/api/composables/use-loading-indicator","docs/3.api/2.composables/use-loading-indicator",{"title":472,"path":473,"stem":474,"titleTemplate":6},"useNuxtApp","/docs/api/composables/use-nuxt-app","docs/3.api/2.composables/use-nuxt-app",{"title":476,"path":477,"stem":478,"titleTemplate":6},"useNuxtData","/docs/api/composables/use-nuxt-data","docs/3.api/2.composables/use-nuxt-data",{"title":480,"path":481,"stem":482,"titleTemplate":6},"usePreviewMode","/docs/api/composables/use-preview-mode","docs/3.api/2.composables/use-preview-mode",{"title":484,"path":485,"stem":486,"titleTemplate":6},"useRequestEvent","/docs/api/composables/use-request-event","docs/3.api/2.composables/use-request-event",{"title":488,"path":489,"stem":490,"titleTemplate":6},"useRequestFetch","/docs/api/composables/use-request-fetch","docs/3.api/2.composables/use-request-fetch",{"title":492,"path":493,"stem":494,"titleTemplate":6},"useRequestHeader","/docs/api/composables/use-request-header","docs/3.api/2.composables/use-request-header",{"title":496,"path":497,"stem":498,"titleTemplate":6},"useRequestHeaders","/docs/api/composables/use-request-headers","docs/3.api/2.composables/use-request-headers",{"title":500,"path":501,"stem":502,"titleTemplate":6},"useRequestURL","/docs/api/composables/use-request-url","docs/3.api/2.composables/use-request-url",{"title":504,"path":505,"stem":506,"titleTemplate":6},"useResponseHeader","/docs/api/composables/use-response-header","docs/3.api/2.composables/use-response-header",{"title":508,"path":509,"stem":510,"titleTemplate":6},"useRoute","/docs/api/composables/use-route","docs/3.api/2.composables/use-route",{"title":512,"path":513,"stem":514,"titleTemplate":6,"badge":383},"useRouteAnnouncer","/docs/api/composables/use-route-announcer","docs/3.api/2.composables/use-route-announcer",{"title":516,"path":517,"stem":518,"titleTemplate":6},"useRouter","/docs/api/composables/use-router","docs/3.api/2.composables/use-router",{"title":520,"path":521,"stem":522,"titleTemplate":6},"useRuntimeConfig","/docs/api/composables/use-runtime-config","docs/3.api/2.composables/use-runtime-config",{"title":524,"path":525,"stem":526,"titleTemplate":6},"useRuntimeHook","/docs/api/composables/use-runtime-hook","docs/3.api/2.composables/use-runtime-hook",{"title":528,"path":529,"stem":530,"titleTemplate":6},"useSeoMeta","/docs/api/composables/use-seo-meta","docs/3.api/2.composables/use-seo-meta",{"title":532,"path":533,"stem":534,"titleTemplate":6},"useServerSeoMeta","/docs/api/composables/use-server-seo-meta","docs/3.api/2.composables/use-server-seo-meta",{"title":536,"path":537,"stem":538,"titleTemplate":6},"useState","/docs/api/composables/use-state","docs/3.api/2.composables/use-state",{"title":540,"titleTemplate":541,"icon":542,"path":543,"stem":544,"children":545,"page":108},"Utils","%s · Nuxt Utils","i-lucide-square-function","/docs/api/utils","docs/3.api/3.utils",[546,550,554,558,562,566,570,574,578,582,586,590,594,598,602,606,610,614,618,622,626,630,634,638,642,646,650],{"title":547,"path":548,"stem":549,"titleTemplate":6},"$fetch","/docs/api/utils/dollarfetch","docs/3.api/3.utils/$fetch",{"title":551,"path":552,"stem":553,"titleTemplate":6},"abortNavigation","/docs/api/utils/abort-navigation","docs/3.api/3.utils/abort-navigation",{"title":555,"path":556,"stem":557,"titleTemplate":6},"addRouteMiddleware","/docs/api/utils/add-route-middleware","docs/3.api/3.utils/add-route-middleware",{"title":559,"path":560,"stem":561,"titleTemplate":6,"badge":383},"callOnce","/docs/api/utils/call-once","docs/3.api/3.utils/call-once",{"title":563,"path":564,"stem":565,"titleTemplate":6},"clearError","/docs/api/utils/clear-error","docs/3.api/3.utils/clear-error",{"title":567,"path":568,"stem":569,"titleTemplate":6},"clearNuxtData","/docs/api/utils/clear-nuxt-data","docs/3.api/3.utils/clear-nuxt-data",{"title":571,"path":572,"stem":573,"titleTemplate":6},"clearNuxtState","/docs/api/utils/clear-nuxt-state","docs/3.api/3.utils/clear-nuxt-state",{"title":575,"path":576,"stem":577,"titleTemplate":6},"createError","/docs/api/utils/create-error","docs/3.api/3.utils/create-error",{"title":579,"path":580,"stem":581,"titleTemplate":6},"defineNuxtComponent","/docs/api/utils/define-nuxt-component","docs/3.api/3.utils/define-nuxt-component",{"title":583,"path":584,"stem":585,"titleTemplate":6},"defineNuxtRouteMiddleware","/docs/api/utils/define-nuxt-route-middleware","docs/3.api/3.utils/define-nuxt-route-middleware",{"title":587,"path":588,"stem":589,"titleTemplate":6},"definePageMeta","/docs/api/utils/define-page-meta","docs/3.api/3.utils/define-page-meta",{"title":591,"path":592,"stem":593,"titleTemplate":6},"defineRouteRules","/docs/api/utils/define-route-rules","docs/3.api/3.utils/define-route-rules",{"title":595,"path":596,"stem":597,"titleTemplate":6},"navigateTo","/docs/api/utils/navigate-to","docs/3.api/3.utils/navigate-to",{"title":599,"path":600,"stem":601,"titleTemplate":6},"onBeforeRouteLeave","/docs/api/utils/on-before-route-leave","docs/3.api/3.utils/on-before-route-leave",{"title":603,"path":604,"stem":605,"titleTemplate":6},"onBeforeRouteUpdate","/docs/api/utils/on-before-route-update","docs/3.api/3.utils/on-before-route-update",{"title":607,"path":608,"stem":609,"titleTemplate":6},"onNuxtReady","/docs/api/utils/on-nuxt-ready","docs/3.api/3.utils/on-nuxt-ready",{"title":611,"path":612,"stem":613,"titleTemplate":6},"prefetchComponents","/docs/api/utils/prefetch-components","docs/3.api/3.utils/prefetch-components",{"title":615,"path":616,"stem":617,"titleTemplate":6},"preloadComponents","/docs/api/utils/preload-components","docs/3.api/3.utils/preload-components",{"title":619,"path":620,"stem":621,"titleTemplate":6},"preloadRouteComponents","/docs/api/utils/preload-route-components","docs/3.api/3.utils/preload-route-components",{"title":623,"path":624,"stem":625,"titleTemplate":6},"prerenderRoutes","/docs/api/utils/prerender-routes","docs/3.api/3.utils/prerender-routes",{"title":627,"path":628,"stem":629,"titleTemplate":6,"badge":383},"refreshCookie","/docs/api/utils/refresh-cookie","docs/3.api/3.utils/refresh-cookie",{"title":631,"path":632,"stem":633,"titleTemplate":6},"refreshNuxtData","/docs/api/utils/refresh-nuxt-data","docs/3.api/3.utils/refresh-nuxt-data",{"title":635,"path":636,"stem":637,"titleTemplate":6},"reloadNuxtApp","/docs/api/utils/reload-nuxt-app","docs/3.api/3.utils/reload-nuxt-app",{"title":639,"path":640,"stem":641,"titleTemplate":6},"setPageLayout","/docs/api/utils/set-page-layout","docs/3.api/3.utils/set-page-layout",{"title":643,"path":644,"stem":645,"titleTemplate":6},"setResponseStatus","/docs/api/utils/set-response-status","docs/3.api/3.utils/set-response-status",{"title":647,"path":648,"stem":649,"titleTemplate":6},"showError","/docs/api/utils/show-error","docs/3.api/3.utils/show-error",{"title":651,"path":652,"stem":653,"titleTemplate":6},"updateAppConfig","/docs/api/utils/update-app-config","docs/3.api/3.utils/update-app-config",{"title":655,"titleTemplate":656,"icon":657,"path":658,"stem":659,"children":660,"page":108},"Commands","%s · Nuxt Commands","i-lucide-square-terminal","/docs/api/commands","docs/3.api/4.commands",[661,665,669,673,677,681,685,689,693,697,701,705,709,713,717],{"title":662,"path":663,"stem":664,"titleTemplate":6},"nuxi add","/docs/api/commands/add","docs/3.api/4.commands/add",{"title":666,"path":667,"stem":668,"titleTemplate":6},"nuxi analyze","/docs/api/commands/analyze","docs/3.api/4.commands/analyze",{"title":670,"path":671,"stem":672,"titleTemplate":6},"nuxi build","/docs/api/commands/build","docs/3.api/4.commands/build",{"title":674,"path":675,"stem":676,"titleTemplate":6},"nuxi build-module","/docs/api/commands/build-module","docs/3.api/4.commands/build-module",{"title":678,"path":679,"stem":680,"titleTemplate":6},"nuxi cleanup","/docs/api/commands/cleanup","docs/3.api/4.commands/cleanup",{"title":682,"path":683,"stem":684,"titleTemplate":6},"nuxi dev","/docs/api/commands/dev","docs/3.api/4.commands/dev",{"title":686,"path":687,"stem":688,"titleTemplate":6},"nuxi devtools","/docs/api/commands/devtools","docs/3.api/4.commands/devtools",{"title":690,"path":691,"stem":692,"titleTemplate":6},"nuxi generate","/docs/api/commands/generate","docs/3.api/4.commands/generate",{"title":694,"path":695,"stem":696,"titleTemplate":6},"nuxi info","/docs/api/commands/info","docs/3.api/4.commands/info",{"title":698,"path":699,"stem":700,"titleTemplate":6},"nuxi init","/docs/api/commands/init","docs/3.api/4.commands/init",{"title":702,"path":703,"stem":704,"titleTemplate":6},"nuxi module","/docs/api/commands/module","docs/3.api/4.commands/module",{"title":706,"path":707,"stem":708,"titleTemplate":6},"nuxi prepare","/docs/api/commands/prepare","docs/3.api/4.commands/prepare",{"title":710,"path":711,"stem":712,"titleTemplate":6},"nuxi preview","/docs/api/commands/preview","docs/3.api/4.commands/preview",{"title":714,"path":715,"stem":716,"titleTemplate":6},"nuxi typecheck","/docs/api/commands/typecheck","docs/3.api/4.commands/typecheck",{"title":718,"path":719,"stem":720,"titleTemplate":6},"nuxi upgrade","/docs/api/commands/upgrade","docs/3.api/4.commands/upgrade",{"title":307,"titleTemplate":722,"icon":723,"path":724,"stem":725,"children":726,"page":108},"%s · Nuxt Kit","i-lucide-package","/docs/api/kit","docs/3.api/5.kit",[727,730,733,737,741,745,749,753,757,761,765,768,771,775,779,783],{"title":143,"path":728,"stem":729,"titleTemplate":6},"/docs/api/kit/modules","docs/3.api/5.kit/1.modules",{"title":291,"path":731,"stem":732,"titleTemplate":6},"/docs/api/kit/runtime-config","docs/3.api/5.kit/10.runtime-config",{"title":734,"path":735,"stem":736,"titleTemplate":6},"Templates","/docs/api/kit/templates","docs/3.api/5.kit/10.templates",{"title":738,"path":739,"stem":740,"titleTemplate":6},"Nitro","/docs/api/kit/nitro","docs/3.api/5.kit/11.nitro",{"title":742,"path":743,"stem":744,"titleTemplate":6},"Resolving","/docs/api/kit/resolving","docs/3.api/5.kit/12.resolving",{"title":746,"path":747,"stem":748,"titleTemplate":6},"Logging","/docs/api/kit/logging","docs/3.api/5.kit/13.logging",{"title":750,"path":751,"stem":752,"titleTemplate":6},"Builder","/docs/api/kit/builder","docs/3.api/5.kit/14.builder",{"title":754,"path":755,"stem":756,"titleTemplate":6},"Examples","/docs/api/kit/examples","docs/3.api/5.kit/15.examples",{"title":758,"path":759,"stem":760,"titleTemplate":6},"Programmatic Usage","/docs/api/kit/programmatic","docs/3.api/5.kit/2.programmatic",{"title":762,"path":763,"stem":764,"titleTemplate":6},"Compatibility","/docs/api/kit/compatibility","docs/3.api/5.kit/3.compatibility",{"title":123,"path":766,"stem":767,"titleTemplate":6},"/docs/api/kit/autoimports","docs/3.api/5.kit/4.autoimports",{"title":353,"path":769,"stem":770,"titleTemplate":6},"/docs/api/kit/components","docs/3.api/5.kit/5.components",{"title":772,"path":773,"stem":774,"titleTemplate":6},"Context","/docs/api/kit/context","docs/3.api/5.kit/6.context",{"title":776,"path":777,"stem":778,"titleTemplate":6},"Pages","/docs/api/kit/pages","docs/3.api/5.kit/7.pages",{"title":780,"path":781,"stem":782,"titleTemplate":6},"Layout","/docs/api/kit/layout","docs/3.api/5.kit/8.layout",{"title":784,"path":785,"stem":786,"titleTemplate":6},"Plugins","/docs/api/kit/plugins","docs/3.api/5.kit/9.plugins",{"title":788,"titleTemplate":6,"icon":789,"path":790,"stem":791,"children":792,"page":108},"Advanced","i-lucide-brain","/docs/api/advanced","docs/3.api/6.advanced",[793,796],{"title":299,"path":794,"stem":795,"titleTemplate":6},"/docs/api/advanced/hooks","docs/3.api/6.advanced/1.hooks",{"title":797,"path":798,"stem":799,"titleTemplate":6},"Import meta","/docs/api/advanced/import-meta","docs/3.api/6.advanced/2.import-meta",{"title":801,"path":802,"stem":803,"titleTemplate":804,"icon":32},"Nuxt Configuration","/docs/api/nuxt-config","docs/3.api/6.nuxt-config","%s",{"title":754,"titleTemplate":806,"icon":807,"path":808,"stem":809,"children":810,"page":108},"%s · Nuxt Examples","i-lucide-app-window-mac","/docs/examples","docs/4.examples",[811,815,837,852,888],{"title":812,"path":813,"stem":814,"titleTemplate":6},"Hello World","/docs/examples/hello-world","docs/4.examples/0.hello-world",{"title":283,"path":816,"stem":817,"children":818,"page":108},"/docs/examples/features","docs/4.examples/1.features",[819,823,826,829,833],{"title":820,"path":821,"stem":822,"titleTemplate":6},"Auto Imports","/docs/examples/features/auto-imports","docs/4.examples/1.features/1.auto-imports",{"title":64,"path":824,"stem":825,"titleTemplate":6},"/docs/examples/features/data-fetching","docs/4.examples/1.features/2.data-fetching",{"title":69,"path":827,"stem":828,"titleTemplate":6},"/docs/examples/features/state-management","docs/4.examples/1.features/3.state-management",{"title":830,"path":831,"stem":832,"titleTemplate":6},"Meta Tags","/docs/examples/features/meta-tags","docs/4.examples/1.features/4.meta-tags",{"title":834,"path":835,"stem":836,"titleTemplate":6},"Layouts","/docs/examples/features/layouts","docs/4.examples/1.features/5.layouts",{"title":49,"path":838,"stem":839,"children":840,"page":108},"/docs/examples/routing","docs/4.examples/2.routing",[841,845,848],{"title":842,"path":843,"stem":844,"titleTemplate":6},"Middleware","/docs/examples/routing/middleware","docs/4.examples/2.routing/middleware",{"title":776,"path":846,"stem":847,"titleTemplate":6},"/docs/examples/routing/pages","docs/4.examples/2.routing/pages",{"title":849,"path":850,"stem":851,"titleTemplate":6},"Universal Router","/docs/examples/routing/universal-router","docs/4.examples/2.routing/universal-router",{"title":788,"path":853,"stem":854,"children":855,"page":108},"/docs/examples/advanced","docs/4.examples/4.advanced",[856,859,862,866,870,874,878,881,884],{"title":84,"path":857,"stem":858,"titleTemplate":6},"/docs/examples/advanced/config-extends","docs/4.examples/4.advanced/config-extends",{"title":74,"path":860,"stem":861,"titleTemplate":6},"/docs/examples/advanced/error-handling","docs/4.examples/4.advanced/error-handling",{"title":863,"path":864,"stem":865,"titleTemplate":6},"JSX / TSX","/docs/examples/advanced/jsx","docs/4.examples/4.advanced/jsx",{"title":867,"path":868,"stem":869,"titleTemplate":6},"Locale","/docs/examples/advanced/locale","docs/4.examples/4.advanced/locale",{"title":871,"path":872,"stem":873,"titleTemplate":6},"Module Extend Pages","/docs/examples/advanced/module-extend-pages","docs/4.examples/4.advanced/module-extend-pages",{"title":875,"path":876,"stem":877,"titleTemplate":6},"Teleport","/docs/examples/advanced/teleport","docs/4.examples/4.advanced/teleport",{"title":99,"path":879,"stem":880,"titleTemplate":6},"/docs/examples/advanced/testing","docs/4.examples/4.advanced/testing",{"title":436,"path":882,"stem":883,"titleTemplate":6},"/docs/examples/advanced/use-cookie","docs/4.examples/4.advanced/use-cookie",{"title":885,"path":886,"stem":887,"titleTemplate":6},"Use Custom Fetch Composable","/docs/examples/advanced/use-custom-fetch-composable","docs/4.examples/4.advanced/use-custom-fetch-composable",{"title":889,"path":890,"stem":891,"children":892,"page":108},"Experimental","/docs/examples/experimental","docs/4.examples/7.experimental",[893],{"title":894,"path":895,"stem":896,"titleTemplate":6},"WASM","/docs/examples/experimental/wasm","docs/4.examples/7.experimental/wasm",{"title":898,"titleTemplate":899,"icon":900,"path":901,"stem":902,"children":903,"page":108},"Community","%s · Nuxt Community","i-lucide-messages-square","/docs/community","docs/5.community",[904,909,914,919,924,929],{"title":905,"path":906,"stem":907,"titleTemplate":6,"icon":908},"Getting Help","/docs/community/getting-help","docs/5.community/2.getting-help","i-lucide-life-buoy",{"title":910,"path":911,"stem":912,"titleTemplate":6,"icon":913},"Reporting Bugs","/docs/community/reporting-bugs","docs/5.community/3.reporting-bugs","i-lucide-bug",{"title":915,"path":916,"stem":917,"titleTemplate":6,"icon":918},"Contribution","/docs/community/contribution","docs/5.community/4.contribution","i-lucide-git-pull-request",{"title":920,"path":921,"stem":922,"titleTemplate":6,"icon":923},"Framework","/docs/community/framework-contribution","docs/5.community/5.framework-contribution","i-lucide-github",{"title":925,"path":926,"stem":927,"titleTemplate":6,"icon":928},"Roadmap","/docs/community/roadmap","docs/5.community/6.roadmap","i-lucide-map",{"title":930,"path":931,"stem":932,"titleTemplate":6,"icon":933},"Releases","/docs/community/changelog","docs/5.community/7.changelog","i-lucide-bell-dot",{"title":935,"titleTemplate":936,"icon":937,"path":938,"stem":939,"children":940,"page":108},"Migrate to Nuxt Bridge","Migrate to Nuxt Bridge: %s","i-lucide-ship","/docs/bridge","docs/6.bridge",[941,945,948,951,955,959,963,966,969,972],{"title":942,"path":943,"stem":944,"titleTemplate":6},"Overview","/docs/bridge/overview","docs/6.bridge/1.overview",{"title":29,"path":946,"stem":947,"titleTemplate":6},"/docs/bridge/configuration","docs/6.bridge/10.configuration",{"title":151,"path":949,"stem":950,"titleTemplate":6},"/docs/bridge/typescript","docs/6.bridge/2.typescript",{"title":952,"path":953,"stem":954,"titleTemplate":6},"Legacy Composition API","/docs/bridge/bridge-composition-api","docs/6.bridge/3.bridge-composition-api",{"title":956,"path":957,"stem":958,"titleTemplate":6},"Plugins and Middleware","/docs/bridge/plugins-and-middleware","docs/6.bridge/4.plugins-and-middleware",{"title":960,"path":961,"stem":962,"titleTemplate":6},"New Composition API","/docs/bridge/nuxt3-compatible-api","docs/6.bridge/5.nuxt3-compatible-api",{"title":830,"path":964,"stem":965,"titleTemplate":6},"/docs/bridge/meta","docs/6.bridge/6.meta",{"title":291,"path":967,"stem":968,"titleTemplate":6},"/docs/bridge/runtime-config","docs/6.bridge/7.runtime-config",{"title":738,"path":970,"stem":971,"titleTemplate":6},"/docs/bridge/nitro","docs/6.bridge/8.nitro",{"title":973,"path":974,"stem":975,"titleTemplate":6},"Vite","/docs/bridge/vite","docs/6.bridge/9.vite",{"title":977,"titleTemplate":978,"icon":107,"path":979,"stem":980,"children":981,"page":108},"Migrate to Nuxt 3","Migrate to Nuxt 3: %s","/docs/migration","docs/7.migration",[982,985,989,992,995,998,1001,1004,1007,1011,1015],{"title":942,"path":983,"stem":984,"titleTemplate":6},"/docs/migration/overview","docs/7.migration/1.overview",{"title":986,"path":987,"stem":988,"titleTemplate":6},"Build Tooling","/docs/migration/bundling","docs/7.migration/10.bundling",{"title":79,"path":990,"stem":991,"titleTemplate":6},"/docs/migration/server","docs/7.migration/11.server",{"title":29,"path":993,"stem":994,"titleTemplate":6},"/docs/migration/configuration","docs/7.migration/2.configuration",{"title":143,"path":996,"stem":997,"titleTemplate":6},"/docs/migration/module-authors","docs/7.migration/20.module-authors",{"title":820,"path":999,"stem":1000,"titleTemplate":6},"/docs/migration/auto-imports","docs/7.migration/3.auto-imports",{"title":830,"path":1002,"stem":1003,"titleTemplate":6},"/docs/migration/meta","docs/7.migration/4.meta",{"title":956,"path":1005,"stem":1006,"titleTemplate":6},"/docs/migration/plugins-and-middleware","docs/7.migration/5.plugins-and-middleware",{"title":1008,"path":1009,"stem":1010,"titleTemplate":6},"Pages and Layouts","/docs/migration/pages-and-layouts","docs/7.migration/6.pages-and-layouts",{"title":1012,"path":1013,"stem":1014,"titleTemplate":6},"Component Options","/docs/migration/component-options","docs/7.migration/7.component-options",{"title":291,"path":1016,"stem":1017,"titleTemplate":6},"/docs/migration/runtime-config","docs/7.migration/8.runtime-config",{"title":1019,"path":1020,"stem":1021,"children":1022,"page":108},"Blog","/blog","blog",[1023,1027,1031,1035,1039,1043,1047,1051,1055,1059,1063,1067,1071,1075,1079,1083,1087,1091,1095,1099,1103],{"title":1024,"path":1025,"stem":1026},"Announcing 3.0","/blog/v3","blog/1.v3",{"title":1028,"path":1029,"stem":1030},"Nuxt 3.3","/blog/v3-3","blog/10.v3-3",{"title":1032,"path":1033,"stem":1034},"Nuxt 3.4","/blog/v3-4","blog/11.v3-4",{"title":1036,"path":1037,"stem":1038},"Nuxt 3.5","/blog/v3-5","blog/12.v3-5",{"title":1040,"path":1041,"stem":1042},"Nuxt 3.6","/blog/v3-6","blog/13.v3-6",{"title":1044,"path":1045,"stem":1046},"Nuxt on the Edge","/blog/nuxt-on-the-edge","blog/14.nuxt-on-the-edge",{"title":1048,"path":1049,"stem":1050},"Nuxt DevTools v1.0","/blog/nuxt-devtools-v1-0","blog/18.nuxt-devtools-v1-0",{"title":1052,"path":1053,"stem":1054},"Nuxt: A vision for 2023","/blog/vision-2023","blog/2.vision-2023",{"title":1056,"path":1057,"stem":1058},"The Evolution of Shiki v1.0","/blog/shiki-v1","blog/21.shiki-v1",{"title":1060,"path":1061,"stem":1062},"Refreshed Nuxt ESLint Integrations","/blog/eslint-module","blog/24.eslint-module",{"title":1064,"path":1065,"stem":1066},"Introducing Nuxt Scripts","/blog/nuxt-scripts","blog/26.nuxt-scripts",{"title":1068,"path":1069,"stem":1070},"Introducing Nuxt Icon v1","/blog/nuxt-icon-v1-0","blog/29.nuxt-icon-v1-0",{"title":1072,"path":1073,"stem":1074},"Introducing Nuxt DevTools","/blog/introducing-nuxt-devtools","blog/3.introducing-nuxt-devtools",{"title":1076,"path":1077,"stem":1078},"Announcing Nuxt 3 Release Candidate","/blog/nuxt3-rc","blog/3.nuxt3-rc",{"title":1080,"path":1081,"stem":1082},"Nuxt 2 End-of-Life (EOL)","/blog/nuxt2-eol","blog/4.nuxt2-eol",{"title":1084,"path":1085,"stem":1086},"Introducing Nuxt 3 Beta","/blog/nuxt3-beta","blog/4.nuxt3-beta",{"title":1088,"path":1089,"stem":1090},"Going Full Static","/blog/going-full-static","blog/5.going-full-static",{"title":1092,"path":1093,"stem":1094},"Introducing Smart Prefetching","/blog/introducing-smart-prefetching","blog/6.introducing-smart-prefetching",{"title":1096,"path":1097,"stem":1098},"Understanding how fetch works in Nuxt 2.12","/blog/understanding-how-fetch-works-in-nuxt-2-12","blog/7.understanding-how-fetch-works-in-nuxt-2-12",{"title":1100,"path":1101,"stem":1102},"Nuxt 2 Static Improvements","/blog/nuxt-static-improvements","blog/8.nuxt-static-improvements",{"title":1104,"path":1105,"stem":1106},"Nuxt 2: From Terminal to Browser","/blog/nuxtjs-from-terminal-to-browser","blog/9.nuxtjs-from-terminal-to-browser",{"id":1108,"title":1109,"body":1110,"cta":6,"description":1113,"extension":1119,"head":6,"headline":6,"image":6,"links":1120,"meta":1122,"navigation":1123,"path":1124,"seo":1125,"stem":1126,"__hash__":1127},"landing/deploy.yml","Deploy a Nuxt App",{"navigation":1111,"title":1109,"description":1113,"links":1114},{"title":1112,"icon":14},"Deploy","Discover the different ways to deploy your Nuxt project on different hosting providers.",[1115],{"label":1116,"icon":97,"to":95,"color":1117,"size":1118},"Deployment Guide","neutral","md","yml",[1121],{"label":1116,"icon":97,"to":95,"color":1117,"size":1118},{},{"title":1112,"icon":14},"/deploy",{"title":1109,"description":1113},"deploy","nq5AQp0M95",[1129,1231,1744,1822,2390,2704,3016,3227,4090,4578,4876,5066,5238,5336,5542,5703,5932,6034,6163,6225,6706,6774],{"id":1130,"title":1131,"body":1132,"category":1219,"componentImg":1220,"description":1221,"extension":1118,"featured":108,"logoIcon":1222,"logoSrc":6,"meta":1223,"navigation":1224,"nitroPreset":1225,"path":1226,"seo":1227,"stem":1228,"website":1229,"__hash__":1230},"deploy/deploy/aws-amplify.md","AWS Amplify",{"type":1133,"value":1134,"toc":1213},"minimal",[1135,1159,1164,1191,1195,1203],[1136,1137,1138,1145,1148],"tip",{},[1139,1140,1141],"p",{},[1142,1143,1144],"strong",{},"Zero Configuration ✨",[1146,1147],"br",{},[1139,1149,1150,1151,1158],{},"Integration with AWS Amplify is possible with zero configuration, ",[1152,1153,1157],"a",{"href":1154,"rel":1155},"https://nitro.unjs.io/deploy#zero-config-providers",[1156],"nofollow","learn more",".",[1160,1161,1163],"h2",{"id":1162},"setup","Setup",[1165,1166,1167,1176,1179,1182,1185,1188],"ol",{},[1168,1169,1170,1171],"li",{},"Login to the ",[1152,1172,1175],{"href":1173,"rel":1174},"https://console.aws.amazon.com/amplify/?trk=01c5a476-5997-4e6a-88b9-fd0a0a5bbe34&sc_channel=el",[1156],"AWS Amplify Hosting Console",[1168,1177,1178],{},"Click on \"Get Started\" > Amplify Hosting (Host your web app)",[1168,1180,1181],{},"Select and authorize access to your Git repository provider and select the main branch",[1168,1183,1184],{},"Choose a name for your app, make sure build settings are auto-detected and optionally set requirement environment variables under the advanced section",[1168,1186,1187],{},"Optionally, select Enable SSR logging to enable server-side logging to your Amazon CloudWatch account",[1168,1189,1190],{},"Confirm configuration and click on \"Save and Deploy\"",[1160,1192,1194],{"id":1193},"learn-more","Learn more",[1196,1197,1200],"read-more",{"target":1198,"to":1199},"_blank","https://www.youtube.com/watch?v=CAk5_XGkOG4",[1139,1201,1202],{},"Watch an Amplify Hosting tutorial with Nuxt",[1196,1204,1206],{"target":1198,"to":1205},"https://nitro.unjs.io/deploy/providers/aws-amplify",[1139,1207,1208,1209,1212],{},"Head over ",[1142,1210,1211],{},"Nitro documentation"," to learn more about the aws-amplify deployment preset.",{"title":1214,"searchDepth":1215,"depth":1215,"links":1216},"",2,[1217,1218],{"id":1162,"depth":1215,"text":1163},{"id":1193,"depth":1215,"text":1194},"Hosting","Amplify","Deploy your Nuxt Application to AWS Amplify infrastructure.","i-logos-aws-amplify",{},true,"aws-amplify","/deploy/aws-amplify",{"title":1131,"description":1221},"deploy/aws-amplify","https://aws.amazon.com/amplify/?trk=bed847b4-6e9f-4e09-ba09-0d4680a0447b&sc_channel=el","cZrWGhp2FR",{"id":1232,"title":1233,"body":1234,"category":1219,"componentImg":6,"description":1736,"extension":1118,"featured":108,"logoIcon":1737,"logoSrc":6,"meta":1738,"navigation":1224,"nitroPreset":1266,"path":1739,"seo":1740,"stem":1741,"website":1742,"__hash__":1743},"deploy/deploy/azure.md","Azure",{"type":1133,"value":1235,"toc":1727},[1236,1240,1254,1268,1273,1282,1285,1332,1335,1348,1353,1356,1455,1459,1469,1602,1605,1609,1612,1615,1659,1662,1695,1701,1713,1717,1723],[1160,1237,1239],{"id":1238},"azure-static-web-apps","Azure Static Web Apps",[1136,1241,1242,1246,1248],{},[1139,1243,1244],{},[1142,1245,1144],{},[1146,1247],{},[1139,1249,1250,1251,1158],{},"Integration with Azure Static Web Apps provider is possible with zero configuration, ",[1152,1252,1157],{"href":1154,"rel":1253},[1156],[1139,1255,1256,1257,1262,1263,1267],{},"Azure Static Web Apps are designed to be deployed continuously in a ",[1152,1258,1261],{"href":1259,"rel":1260},"https://docs.microsoft.com/en-us/azure/static-web-apps/github-actions-workflow",[1156],"GitHub Actions workflow",". By default, Nuxt will detect this deployment environment to enable the ",[1264,1265,1266],"code",{},"azure"," preset.",[1269,1270,1272],"h3",{"id":1271},"local-preview","Local preview",[1139,1274,1275,1276,1281],{},"Install ",[1152,1277,1280],{"href":1278,"rel":1279},"https://docs.microsoft.com/en-us/azure/azure-functions/functions-run-local",[1156],"Azure Functions Core Tools"," if you want to test locally.",[1139,1283,1284],{},"You can invoke a development environment to preview before deploying.",[1286,1287,1292],"pre",{"className":1288,"code":1289,"filename":1290,"language":1291,"meta":1214,"style":1214},"language-bash shiki shiki-themes material-theme-lighter material-theme-lighter material-theme-palenight","npx nuxi build --preset=azure\nnpx @azure/static-web-apps-cli start .output/public --api-location .output/server\n","Terminal","bash",[1264,1293,1294,1313],{"__ignoreMap":1214},[1295,1296,1299,1303,1307,1310],"span",{"class":1297,"line":1298},"line",1,[1295,1300,1302],{"class":1301},"sT2Ow","npx",[1295,1304,1306],{"class":1305},"s5UST"," nuxi",[1295,1308,1309],{"class":1305}," build",[1295,1311,1312],{"class":1305}," --preset=azure\n",[1295,1314,1315,1317,1320,1323,1326,1329],{"class":1297,"line":1215},[1295,1316,1302],{"class":1301},[1295,1318,1319],{"class":1305}," @azure/static-web-apps-cli",[1295,1321,1322],{"class":1305}," start",[1295,1324,1325],{"class":1305}," .output/public",[1295,1327,1328],{"class":1305}," --api-location",[1295,1330,1331],{"class":1305}," .output/server\n",[1269,1333,29],{"id":1334},"configuration",[1139,1336,1337,1338,1343,1344,1347],{},"Azure Static Web Apps are ",[1152,1339,1342],{"href":1340,"rel":1341},"https://learn.microsoft.com/en-us/azure/static-web-apps/configuration",[1156],"configured"," using the ",[1264,1345,1346],{},"staticwebapp.config.json"," file.",[1139,1349,1350,1351,1267],{},"Nuxt automatically generates this configuration file whenever the application is built with the ",[1264,1352,1266],{},[1139,1354,1355],{},"It adds the following properties based on the following criteria:",[1357,1358,1359,1375],"table",{},[1360,1361,1362],"thead",{},[1363,1364,1365,1369,1372],"tr",{},[1366,1367,1368],"th",{},"Property",[1366,1370,1371],{},"Criteria",[1366,1373,1374],{},"Default",[1376,1377,1378,1405,1426],"tbody",{},[1363,1379,1380,1390,1401],{},[1381,1382,1383],"td",{},[1142,1384,1385],{},[1152,1386,1389],{"href":1387,"rel":1388},"https://learn.microsoft.com/en-us/azure/static-web-apps/configuration#platform",[1156],"platform.apiRuntime",[1381,1391,1392,1393,1396,1397,1400],{},"Will automatically set to ",[1264,1394,1395],{},"node:16"," or ",[1264,1398,1399],{},"node:14"," depending on your package configuration.",[1381,1402,1403],{},[1264,1404,1395],{},[1363,1406,1407,1416,1422],{},[1381,1408,1409],{},[1142,1410,1411],{},[1152,1412,1415],{"href":1413,"rel":1414},"https://learn.microsoft.com/en-us/azure/static-web-apps/configuration#fallback-routes",[1156],"navigationFallback.rewrite",[1381,1417,1418,1419],{},"Is always ",[1264,1420,1421],{},"/api/server",[1381,1423,1424],{},[1264,1425,1421],{},[1363,1427,1428,1437,1450],{},[1381,1429,1430],{},[1142,1431,1432],{},[1152,1433,1436],{"href":1434,"rel":1435},"https://learn.microsoft.com/en-us/azure/static-web-apps/configuration#routes",[1156],"routes",[1381,1438,1439,1440,1443,1444,1447,1448,1158],{},"All prerendered routes are added. Additionally, if you do not have an ",[1264,1441,1442],{},"index.html"," file an empty one is created for you for compatibility purposes and also requests to ",[1264,1445,1446],{},"/index.html"," are redirected to the root directory which is handled by ",[1264,1449,1421],{},[1381,1451,1452],{},[1264,1453,1454],{},"[]",[1269,1456,1458],{"id":1457},"custom-configuration","Custom Configuration",[1139,1460,1461,1462,1465,1466,1468],{},"You can alter the generated configuration using ",[1264,1463,1464],{},"azure.config"," option. For instance, if you wanted to specify a Node runtime for your Azure Functions, edit your ",[1264,1467,260],{}," file to the following:",[1286,1470,1474],{"className":1471,"code":1472,"filename":260,"language":1473,"meta":1214,"style":1214},"language-ts shiki shiki-themes material-theme-lighter material-theme-lighter material-theme-palenight","export default defineNuxtConfig({\n  // ...\n  nitro: {\n    azure: {\n      config: {\n        // ...\n        platform: {\n          apiRuntime: 'node:18'\n        }\n      }\n    }\n  }\n})\n","ts",[1264,1475,1476,1497,1503,1516,1526,1536,1542,1552,1569,1575,1581,1587,1593],{"__ignoreMap":1214},[1295,1477,1478,1482,1485,1489,1493],{"class":1297,"line":1298},[1295,1479,1481],{"class":1480},"sFVN2","export",[1295,1483,1484],{"class":1480}," default",[1295,1486,1488],{"class":1487},"szd4z"," defineNuxtConfig",[1295,1490,1492],{"class":1491},"spdxX","(",[1295,1494,1496],{"class":1495},"sYp4K","{\n",[1295,1498,1499],{"class":1297,"line":1215},[1295,1500,1502],{"class":1501},"svXlt","  // ...\n",[1295,1504,1506,1510,1513],{"class":1297,"line":1505},3,[1295,1507,1509],{"class":1508},"sQ5dg","  nitro",[1295,1511,1512],{"class":1495},":",[1295,1514,1515],{"class":1495}," {\n",[1295,1517,1519,1522,1524],{"class":1297,"line":1518},4,[1295,1520,1521],{"class":1508},"    azure",[1295,1523,1512],{"class":1495},[1295,1525,1515],{"class":1495},[1295,1527,1529,1532,1534],{"class":1297,"line":1528},5,[1295,1530,1531],{"class":1508},"      config",[1295,1533,1512],{"class":1495},[1295,1535,1515],{"class":1495},[1295,1537,1539],{"class":1297,"line":1538},6,[1295,1540,1541],{"class":1501},"        // ...\n",[1295,1543,1545,1548,1550],{"class":1297,"line":1544},7,[1295,1546,1547],{"class":1508},"        platform",[1295,1549,1512],{"class":1495},[1295,1551,1515],{"class":1495},[1295,1553,1555,1558,1560,1563,1566],{"class":1297,"line":1554},8,[1295,1556,1557],{"class":1508},"          apiRuntime",[1295,1559,1512],{"class":1495},[1295,1561,1562],{"class":1495}," '",[1295,1564,1565],{"class":1305},"node:18",[1295,1567,1568],{"class":1495},"'\n",[1295,1570,1572],{"class":1297,"line":1571},9,[1295,1573,1574],{"class":1495},"        }\n",[1295,1576,1578],{"class":1297,"line":1577},10,[1295,1579,1580],{"class":1495},"      }\n",[1295,1582,1584],{"class":1297,"line":1583},11,[1295,1585,1586],{"class":1495},"    }\n",[1295,1588,1590],{"class":1297,"line":1589},12,[1295,1591,1592],{"class":1495},"  }\n",[1295,1594,1596,1599],{"class":1297,"line":1595},13,[1295,1597,1598],{"class":1495},"}",[1295,1600,1601],{"class":1491},")\n",[1139,1603,1604],{},"Custom routes will be added and matched first. In the case of a conflict (determined if an object has the same route property), custom routes will override generated ones.",[1269,1606,1608],{"id":1607},"deploy-from-cicd-via-github-actions","Deploy from CI/CD via GitHub Actions",[1139,1610,1611],{},"When you link your GitHub repository to Azure Static Web Apps, a workflow file is added to the repository.",[1139,1613,1614],{},"When you are asked to select your framework, select custom and provide the following information:",[1357,1616,1617,1627],{},[1360,1618,1619],{},[1363,1620,1621,1624],{},[1366,1622,1623],{},"Input",[1366,1625,1626],{},"Value",[1376,1628,1629,1639,1649],{},[1363,1630,1631,1636],{},[1381,1632,1633],{},[1142,1634,1635],{},"app_location",[1381,1637,1638],{},"'/'",[1363,1640,1641,1646],{},[1381,1642,1643],{},[1142,1644,1645],{},"api_location",[1381,1647,1648],{},"'.output/server'",[1363,1650,1651,1656],{},[1381,1652,1653],{},[1142,1654,1655],{},"output_location",[1381,1657,1658],{},"'.output/public'",[1139,1660,1661],{},"If you miss this step, you can always find the build configuration section in your workflow and update the build configuration:",[1286,1663,1668],{"className":1664,"code":1665,"filename":1666,"language":1667,"meta":1214,"style":1214},"language-yaml shiki shiki-themes material-theme-lighter material-theme-lighter material-theme-palenight","###### Repository/Build Configurations ######\napp_location: '/'\napi_location: '.output/server'\noutput_location: '.output/public'\n###### End of Repository/Build Configurations ######\n",".github/workflows/azure-static-web-apps-\u003CRANDOM_NAME>.yml","yaml",[1264,1669,1670,1675,1680,1685,1690],{"__ignoreMap":1214},[1295,1671,1672],{"class":1297,"line":1298},[1295,1673,1674],{},"###### Repository/Build Configurations ######\n",[1295,1676,1677],{"class":1297,"line":1215},[1295,1678,1679],{},"app_location: '/'\n",[1295,1681,1682],{"class":1297,"line":1505},[1295,1683,1684],{},"api_location: '.output/server'\n",[1295,1686,1687],{"class":1297,"line":1518},[1295,1688,1689],{},"output_location: '.output/public'\n",[1295,1691,1692],{"class":1297,"line":1528},[1295,1693,1694],{},"###### End of Repository/Build Configurations ######\n",[1696,1697,1698],"callout",{},[1139,1699,1700],{},"That's it! Now Azure Static Web Apps will automatically deploy your Nitro-powered application on push.",[1139,1702,1703,1704,1707,1708,1158],{},"If you are using ",[1264,1705,1706],{},"runtimeConfig",", you will likely want to configure the corresponding ",[1152,1709,1712],{"href":1710,"rel":1711},"https://docs.microsoft.com/en-us/azure/static-web-apps/application-settings",[1156],"environment variables on Azure",[1160,1714,1716],{"id":1715},"more-options","More options",[1196,1718,1720],{"target":1198,"to":1719},"https://nitro.unjs.io/deploy/providers/azure",[1139,1721,1722],{},"Learn about the other Azure deployment presets on Nitro documentation.",[1724,1725,1726],"style",{},"html pre.shiki code .sT2Ow, html code.shiki .sT2Ow{--shiki-light:#E2931D;--shiki-default:#E2931D;--shiki-dark:#FFCB6B}html pre.shiki code .s5UST, html code.shiki .s5UST{--shiki-light:#91B859;--shiki-default:#91B859;--shiki-dark:#C3E88D}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 .sFVN2, html code.shiki .sFVN2{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#39ADB5;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic}html pre.shiki code .szd4z, html code.shiki .szd4z{--shiki-light:#6182B8;--shiki-default:#6182B8;--shiki-dark:#82AAFF}html pre.shiki code .spdxX, html code.shiki .spdxX{--shiki-light:#90A4AE;--shiki-default:#90A4AE;--shiki-dark:#BABED8}html pre.shiki code .sYp4K, html code.shiki .sYp4K{--shiki-light:#39ADB5;--shiki-default:#39ADB5;--shiki-dark:#89DDFF}html pre.shiki code .svXlt, html code.shiki .svXlt{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#90A4AE;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}html pre.shiki code .sQ5dg, html code.shiki .sQ5dg{--shiki-light:#E53935;--shiki-default:#E53935;--shiki-dark:#F07178}",{"title":1214,"searchDepth":1215,"depth":1215,"links":1728},[1729,1735],{"id":1238,"depth":1215,"text":1239,"children":1730},[1731,1732,1733,1734],{"id":1271,"depth":1505,"text":1272},{"id":1334,"depth":1505,"text":29},{"id":1457,"depth":1505,"text":1458},{"id":1607,"depth":1505,"text":1608},{"id":1715,"depth":1215,"text":1716},"Deploy your Nuxt Application to Azure infrastructure.","i-logos-azure-icon",{},"/deploy/azure",{"title":1233,"description":1736},"deploy/azure","https://azure.microsoft.com/en-us/services/app-service/static/","sSP0TTEHKx",{"id":1745,"title":1746,"body":1747,"category":1219,"componentImg":6,"description":1814,"extension":1118,"featured":108,"logoIcon":6,"logoSrc":1815,"meta":1816,"navigation":1224,"nitroPreset":1817,"path":1818,"seo":1819,"stem":1820,"website":1772,"__hash__":1821},"deploy/deploy/cleavr.md","Cleavr",{"type":1133,"value":1748,"toc":1810},[1749,1763,1765,1776,1797,1800,1802],[1136,1750,1751,1755,1757],{},[1139,1752,1753],{},[1142,1754,1144],{},[1146,1756],{},[1139,1758,1759,1760,1158],{},"Integration with this provider is possible with zero configuration, ",[1152,1761,1157],{"href":1154,"rel":1762},[1156],[1160,1764,1163],{"id":1162},[1139,1766,1767],{},[1142,1768,1769,1770,1775],{},"In your ",[1152,1771,1774],{"href":1772,"rel":1773},"https://cleavr.io/",[1156],"Cleavr.io"," panel:",[1165,1777,1778,1781,1788,1791],{},[1168,1779,1780],{},"Provision a new server",[1168,1782,1783,1784,1787],{},"Add a website, selecting ",[1142,1785,1786],{},"Nuxt 3"," as the app type",[1168,1789,1790],{},"In web app > settings > Code Repo, point to your project's code repository",[1168,1792,1793,1794],{},"In web app > settings > Environment variables, set ",[1264,1795,1796],{},"SERVER_PRESET=cleavr",[1139,1798,1799],{},"You're now all set to deploy your project!",[1160,1801,1194],{"id":1193},[1196,1803,1805],{"target":1198,"to":1804},"https://nitro.unjs.io/deploy/providers/cleavr",[1139,1806,1208,1807,1809],{},[1142,1808,1211],{}," to learn more about the cleavr deployment preset.",{"title":1214,"searchDepth":1215,"depth":1215,"links":1811},[1812,1813],{"id":1162,"depth":1215,"text":1163},{"id":1193,"depth":1215,"text":1194},"Deploy your Nuxt Application to Cleavr infrastructure.","/assets/integrations/cleavr.svg",{},"cleavr","/deploy/cleavr",{"title":1746,"description":1814},"deploy/cleavr","EWBvT9q1Rk",{"id":1823,"title":1824,"body":1825,"category":1219,"componentImg":6,"description":2382,"extension":1118,"featured":108,"logoIcon":6,"logoSrc":2383,"meta":2384,"navigation":1224,"nitroPreset":2385,"path":2386,"seo":2387,"stem":2388,"website":1832,"__hash__":2389},"deploy/deploy/clever-cloud.md","Clever Cloud",{"type":1133,"value":1826,"toc":2378},[1827,1835,1839,1846,1911,1919,2119,2127,2332,2367,2369,2375],[1139,1828,1829,1830,1834],{},"Nuxt supports deploying on ",[1152,1831,1824],{"href":1832,"rel":1833},"https://www.clever-cloud.com/",[1156]," with minimal configuration.",[1160,1836,1838],{"id":1837},"deploy-clever-cloud-from-the-console","Deploy Clever Cloud from the Console",[1139,1840,1841,1842,1845],{},"To deploy your Nuxt project to Clever Cloud, you will need to create a ",[1142,1843,1844],{},"new application",". The application wizard will walk you through the necessary configuration steps.",[1165,1847,1848,1854,1863,1873,1892,1898,1905],{},[1168,1849,1850,1851],{},"From the lateral menubar, click ",[1142,1852,1853],{},"Create > An application",[1168,1855,1856,1857,1396,1860],{},"Choose how to deploy: ",[1142,1858,1859],{},"Create an application from a local repository",[1142,1861,1862],{},"Create an application from a GitHub repository",[1168,1864,1865,1866,1869,1870,1158],{},"Select a ",[1142,1867,1868],{},"Node.js"," application, or a ",[1142,1871,1872],{},"static one",[1168,1874,1875,1876,1879,1880,1882,1883,1879,1886,1888,1889,1891],{},"Set up the minimal size for your instance and scalability options. Nuxt app must be deployed with a minimum size of ",[1142,1877,1878],{},"XS"," instance for ",[1142,1881,1868],{}," application and ",[1142,1884,1885],{},"nano",[1142,1887,1872],{},". The build process, however, will need to be configured later with at least an M instance size to ensure it can handle the resource requirements. Depending on your project’s specifications and dependencies, you may need to adjust further as you monitor the metrics from the ",[1142,1890,942],{}," page.",[1168,1893,1865,1894,1897],{},[1142,1895,1896],{},"region"," to deploy your instance.",[1168,1899,1900,1901,1904],{},"Skip connecting ",[1142,1902,1903],{},"Add-ons"," to your Clever application unless you’re using a database.",[1168,1906,1907,1908,1512],{},"Inject ",[1142,1909,1910],{},"environment variables",[1912,1913,1914],"ul",{},[1168,1915,1916,1917],{},"For ",[1142,1918,1868],{},[1920,1921,1922,1961,2005,2063],"package-managers",{},[1286,1923,1928],{"className":1924,"code":1925,"filename":1926,"language":1927,"meta":1214,"style":1214},"language-ini shiki shiki-themes material-theme-lighter material-theme-lighter material-theme-palenight","CC_PRE_BUILD_HOOK=\"npm run build\"\nCC_RUN_COMMAND=\"node .output/server/index.mjs\"\n","npm","ini",[1264,1929,1930,1947],{"__ignoreMap":1214},[1295,1931,1932,1935,1938,1941,1944],{"class":1297,"line":1298},[1295,1933,1934],{"class":1508},"CC_PRE_BUILD_HOOK",[1295,1936,1937],{"class":1495},"=",[1295,1939,1940],{"class":1495},"\"",[1295,1942,1943],{"class":1305},"npm run build",[1295,1945,1946],{"class":1495},"\"\n",[1295,1948,1949,1952,1954,1956,1959],{"class":1297,"line":1215},[1295,1950,1951],{"class":1508},"CC_RUN_COMMAND",[1295,1953,1937],{"class":1495},[1295,1955,1940],{"class":1495},[1295,1957,1958],{"class":1305},"node .output/server/index.mjs",[1295,1960,1946],{"class":1495},[1286,1962,1965],{"className":1924,"code":1963,"filename":1964,"language":1927,"meta":1214,"style":1214},"CC_NODE_BUILD_TOOL=\"yarn\"\nCC_PRE_BUILD_HOOK=\"yarn install --frozen-lockfile && yarn build\"\nCC_RUN_COMMAND=\"node .output/server/index.mjs\"\n","yarn",[1264,1966,1967,1980,1993],{"__ignoreMap":1214},[1295,1968,1969,1972,1974,1976,1978],{"class":1297,"line":1298},[1295,1970,1971],{"class":1508},"CC_NODE_BUILD_TOOL",[1295,1973,1937],{"class":1495},[1295,1975,1940],{"class":1495},[1295,1977,1964],{"class":1305},[1295,1979,1946],{"class":1495},[1295,1981,1982,1984,1986,1988,1991],{"class":1297,"line":1215},[1295,1983,1934],{"class":1508},[1295,1985,1937],{"class":1495},[1295,1987,1940],{"class":1495},[1295,1989,1990],{"class":1305},"yarn install --frozen-lockfile && yarn build",[1295,1992,1946],{"class":1495},[1295,1994,1995,1997,1999,2001,2003],{"class":1297,"line":1505},[1295,1996,1951],{"class":1508},[1295,1998,1937],{"class":1495},[1295,2000,1940],{"class":1495},[1295,2002,1958],{"class":1305},[1295,2004,1946],{"class":1495},[1286,2006,2009],{"className":1924,"code":2007,"filename":2008,"language":1927,"meta":1214,"style":1214},"CC_CUSTOM_BUILD_TOOL=\"pnpm build\"\nCC_NODE_BUILD_TOOL=\"custom\"\nCC_PRE_BUILD_HOOK=\"npm i -g pnpm && pnpm install --frozen-lockfile && pnpm run build\"\nCC_RUN_COMMAND=\"node .output/server/index.mjs\"\n","pnpm",[1264,2010,2011,2025,2038,2051],{"__ignoreMap":1214},[1295,2012,2013,2016,2018,2020,2023],{"class":1297,"line":1298},[1295,2014,2015],{"class":1508},"CC_CUSTOM_BUILD_TOOL",[1295,2017,1937],{"class":1495},[1295,2019,1940],{"class":1495},[1295,2021,2022],{"class":1305},"pnpm build",[1295,2024,1946],{"class":1495},[1295,2026,2027,2029,2031,2033,2036],{"class":1297,"line":1215},[1295,2028,1971],{"class":1508},[1295,2030,1937],{"class":1495},[1295,2032,1940],{"class":1495},[1295,2034,2035],{"class":1305},"custom",[1295,2037,1946],{"class":1495},[1295,2039,2040,2042,2044,2046,2049],{"class":1297,"line":1505},[1295,2041,1934],{"class":1508},[1295,2043,1937],{"class":1495},[1295,2045,1940],{"class":1495},[1295,2047,2048],{"class":1305},"npm i -g pnpm && pnpm install --frozen-lockfile && pnpm run build",[1295,2050,1946],{"class":1495},[1295,2052,2053,2055,2057,2059,2061],{"class":1297,"line":1518},[1295,2054,1951],{"class":1508},[1295,2056,1937],{"class":1495},[1295,2058,1940],{"class":1495},[1295,2060,1958],{"class":1305},[1295,2062,1946],{"class":1495},[1286,2064,2067],{"className":1924,"code":2065,"filename":2066,"language":1927,"meta":1214,"style":1214},"CC_CUSTOM_BUILD_TOOL=\"bun build\"\nCC_NODE_BUILD_TOOL=\"custom\"\nCC_PRE_BUILD_HOOK=\"npm i -g bun && bun install && bun run build \"\nCC_RUN_COMMAND=\"node .output/server/index.mjs\"\n","bun",[1264,2068,2069,2082,2094,2107],{"__ignoreMap":1214},[1295,2070,2071,2073,2075,2077,2080],{"class":1297,"line":1298},[1295,2072,2015],{"class":1508},[1295,2074,1937],{"class":1495},[1295,2076,1940],{"class":1495},[1295,2078,2079],{"class":1305},"bun build",[1295,2081,1946],{"class":1495},[1295,2083,2084,2086,2088,2090,2092],{"class":1297,"line":1215},[1295,2085,1971],{"class":1508},[1295,2087,1937],{"class":1495},[1295,2089,1940],{"class":1495},[1295,2091,2035],{"class":1305},[1295,2093,1946],{"class":1495},[1295,2095,2096,2098,2100,2102,2105],{"class":1297,"line":1505},[1295,2097,1934],{"class":1508},[1295,2099,1937],{"class":1495},[1295,2101,1940],{"class":1495},[1295,2103,2104],{"class":1305},"npm i -g bun && bun install && bun run build ",[1295,2106,1946],{"class":1495},[1295,2108,2109,2111,2113,2115,2117],{"class":1297,"line":1518},[1295,2110,1951],{"class":1508},[1295,2112,1937],{"class":1495},[1295,2114,1940],{"class":1495},[1295,2116,1958],{"class":1305},[1295,2118,1946],{"class":1495},[1912,2120,2121],{},[1168,2122,2123,2124],{},"For a ",[1142,2125,2126],{},"static application",[1920,2128,2129,2182,2232,2282],{},[1286,2130,2132],{"className":1924,"code":2131,"filename":1926,"language":1927,"meta":1214,"style":1214},"CC_NODE_VERSION=20\nCC_WEBROOT=/.output/public\nCC_OVERRIDE_BUILDCACHE=/.output/public\nCC_PRE_BUILD_HOOK=npm install\nCC_POST_BUILD_HOOK=npx nuxi generate\n",[1264,2133,2134,2144,2154,2163,2172],{"__ignoreMap":1214},[1295,2135,2136,2139,2141],{"class":1297,"line":1298},[1295,2137,2138],{"class":1508},"CC_NODE_VERSION",[1295,2140,1937],{"class":1495},[1295,2142,2143],{"class":1491},"20\n",[1295,2145,2146,2149,2151],{"class":1297,"line":1215},[1295,2147,2148],{"class":1508},"CC_WEBROOT",[1295,2150,1937],{"class":1495},[1295,2152,2153],{"class":1491},"/.output/public\n",[1295,2155,2156,2159,2161],{"class":1297,"line":1505},[1295,2157,2158],{"class":1508},"CC_OVERRIDE_BUILDCACHE",[1295,2160,1937],{"class":1495},[1295,2162,2153],{"class":1491},[1295,2164,2165,2167,2169],{"class":1297,"line":1518},[1295,2166,1934],{"class":1508},[1295,2168,1937],{"class":1495},[1295,2170,2171],{"class":1491},"npm install\n",[1295,2173,2174,2177,2179],{"class":1297,"line":1528},[1295,2175,2176],{"class":1508},"CC_POST_BUILD_HOOK",[1295,2178,1937],{"class":1495},[1295,2180,2181],{"class":1491},"npx nuxi generate\n",[1286,2183,2185],{"className":1924,"code":2184,"filename":1964,"language":1927,"meta":1214,"style":1214},"CC_NODE_VERSION=20\nCC_WEBROOT=/.output/public\nCC_OVERRIDE_BUILDCACHE=/.output/public\nCC_PRE_BUILD_HOOK=\"yarn install --frozen-lockfile\"\nCC_POST_BUILD_HOOK=npx nuxi generate\n",[1264,2186,2187,2195,2203,2211,2224],{"__ignoreMap":1214},[1295,2188,2189,2191,2193],{"class":1297,"line":1298},[1295,2190,2138],{"class":1508},[1295,2192,1937],{"class":1495},[1295,2194,2143],{"class":1491},[1295,2196,2197,2199,2201],{"class":1297,"line":1215},[1295,2198,2148],{"class":1508},[1295,2200,1937],{"class":1495},[1295,2202,2153],{"class":1491},[1295,2204,2205,2207,2209],{"class":1297,"line":1505},[1295,2206,2158],{"class":1508},[1295,2208,1937],{"class":1495},[1295,2210,2153],{"class":1491},[1295,2212,2213,2215,2217,2219,2222],{"class":1297,"line":1518},[1295,2214,1934],{"class":1508},[1295,2216,1937],{"class":1495},[1295,2218,1940],{"class":1495},[1295,2220,2221],{"class":1305},"yarn install --frozen-lockfile",[1295,2223,1946],{"class":1495},[1295,2225,2226,2228,2230],{"class":1297,"line":1528},[1295,2227,2176],{"class":1508},[1295,2229,1937],{"class":1495},[1295,2231,2181],{"class":1491},[1286,2233,2235],{"className":1924,"code":2234,"filename":2008,"language":1927,"meta":1214,"style":1214},"CC_NODE_VERSION=20\nCC_WEBROOT=/.output/public\nCC_OVERRIDE_BUILDCACHE=/.output/public\nCC_PRE_BUILD_HOOK=\"npm i -g pnpm && pnpm install --frozen-lockfile\"\nCC_POST_BUILD_HOOK=npx nuxi generate\n",[1264,2236,2237,2245,2253,2261,2274],{"__ignoreMap":1214},[1295,2238,2239,2241,2243],{"class":1297,"line":1298},[1295,2240,2138],{"class":1508},[1295,2242,1937],{"class":1495},[1295,2244,2143],{"class":1491},[1295,2246,2247,2249,2251],{"class":1297,"line":1215},[1295,2248,2148],{"class":1508},[1295,2250,1937],{"class":1495},[1295,2252,2153],{"class":1491},[1295,2254,2255,2257,2259],{"class":1297,"line":1505},[1295,2256,2158],{"class":1508},[1295,2258,1937],{"class":1495},[1295,2260,2153],{"class":1491},[1295,2262,2263,2265,2267,2269,2272],{"class":1297,"line":1518},[1295,2264,1934],{"class":1508},[1295,2266,1937],{"class":1495},[1295,2268,1940],{"class":1495},[1295,2270,2271],{"class":1305},"npm i -g pnpm && pnpm install --frozen-lockfile",[1295,2273,1946],{"class":1495},[1295,2275,2276,2278,2280],{"class":1297,"line":1528},[1295,2277,2176],{"class":1508},[1295,2279,1937],{"class":1495},[1295,2281,2181],{"class":1491},[1286,2283,2285],{"className":1924,"code":2284,"filename":2066,"language":1927,"meta":1214,"style":1214},"CC_NODE_VERSION=20\nCC_WEBROOT=/.output/public\nCC_OVERRIDE_BUILDCACHE=/.output/public\nCC_PRE_BUILD_HOOK=\"npm i -g bun && bun install\"\nCC_POST_BUILD_HOOK=npx nuxi generate\n",[1264,2286,2287,2295,2303,2311,2324],{"__ignoreMap":1214},[1295,2288,2289,2291,2293],{"class":1297,"line":1298},[1295,2290,2138],{"class":1508},[1295,2292,1937],{"class":1495},[1295,2294,2143],{"class":1491},[1295,2296,2297,2299,2301],{"class":1297,"line":1215},[1295,2298,2148],{"class":1508},[1295,2300,1937],{"class":1495},[1295,2302,2153],{"class":1491},[1295,2304,2305,2307,2309],{"class":1297,"line":1505},[1295,2306,2158],{"class":1508},[1295,2308,1937],{"class":1495},[1295,2310,2153],{"class":1491},[1295,2312,2313,2315,2317,2319,2322],{"class":1297,"line":1518},[1295,2314,1934],{"class":1508},[1295,2316,1937],{"class":1495},[1295,2318,1940],{"class":1495},[1295,2320,2321],{"class":1305},"npm i -g bun && bun install",[1295,2323,1946],{"class":1495},[1295,2325,2326,2328,2330],{"class":1297,"line":1528},[1295,2327,2176],{"class":1508},[1295,2329,1937],{"class":1495},[1295,2331,2181],{"class":1491},[1165,2333,2334,2348],{"start":1554},[1168,2335,2336,2337,2340,2341,2344,2345,1158],{},"Navigate to the application ",[1142,2338,2339],{},"Information"," menu and enable the ",[1142,2342,2343],{},"enable dedicated build instance"," option on a minimal instance of type ",[1142,2346,2347],{},"M",[1168,2349,2350,2353,2354,2357,2358,2361,2362,1158],{},[1142,2351,2352],{},"Deploy!"," If you’re deploying from ",[1142,2355,2356],{},"GitHub",", your deployment should start automatically. If you’re using ",[1142,2359,2360],{},"Git",", show ",[1152,2363,2366],{"href":2364,"rel":2365},"https://www.clever-cloud.com/developers/doc/quickstart/#choose-how-to-deploy",[1156],"this docs",[1160,2368,1194],{"id":1193},[1196,2370,2372],{"target":1198,"to":2371},"https://developers.clever-cloud.com/guides/nuxt",[1139,2373,2374],{},"Clever Cloud documentation for deploying Nuxt",[1724,2376,2377],{},"html pre.shiki code .sQ5dg, html code.shiki .sQ5dg{--shiki-light:#E53935;--shiki-default:#E53935;--shiki-dark:#F07178}html pre.shiki code .sYp4K, html code.shiki .sYp4K{--shiki-light:#39ADB5;--shiki-default:#39ADB5;--shiki-dark:#89DDFF}html pre.shiki code .s5UST, html code.shiki .s5UST{--shiki-light:#91B859;--shiki-default:#91B859;--shiki-dark:#C3E88D}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 .spdxX, html code.shiki .spdxX{--shiki-light:#90A4AE;--shiki-default:#90A4AE;--shiki-dark:#BABED8}",{"title":1214,"searchDepth":1215,"depth":1215,"links":2379},[2380,2381],{"id":1837,"depth":1215,"text":1838},{"id":1193,"depth":1215,"text":1194},"Deploy your Nuxt Application to Clever Cloud infrastructure.","/assets/integrations/clever-cloud.svg",{},"node_server","/deploy/clever-cloud",{"title":1824,"description":2382},"deploy/clever-cloud","Gr4sZnz8L7",{"id":2391,"title":2392,"body":2393,"category":1219,"componentImg":6,"description":2695,"extension":1118,"featured":108,"logoIcon":6,"logoSrc":2696,"meta":2697,"navigation":1224,"nitroPreset":2698,"path":2699,"seo":2700,"stem":2701,"website":2702,"__hash__":2703},"deploy/deploy/cloudflare.md","Cloudflare",{"type":1133,"value":2394,"toc":2685},[2395,2399,2413,2429,2433,2440,2451,2457,2463,2467,2484,2500,2559,2563,2572,2575,2617,2619,2626,2635,2638,2672,2675,2682],[1160,2396,2398],{"id":2397},"cloudflare-pages","Cloudflare Pages",[1136,2400,2401,2405,2407],{},[1139,2402,2403],{},[1142,2404,1144],{},[1146,2406],{},[1139,2408,2409,2410,1158],{},"Integration with Cloudflare Pages is possible with zero configuration, ",[1152,2411,1157],{"href":1154,"rel":2412},[1156],[2414,2415,2416],"important",{},[1139,2417,2418,2419,2423,2424,1158],{},"Checkout the ",[1152,2420,2422],{"href":2421},"/modules/hub","@nuxthub/core"," module to build full-stack Nuxt applications with Cloudflare, learn more on ",[1152,2425,2428],{"href":2426,"rel":2427},"https://hub.nuxt.com",[1156],"hub.nuxt.com",[1269,2430,2432],{"id":2431},"git-integration","Git Integration",[1139,2434,2435,2436,2439],{},"If you use the GitHub/GitLab integration with Cloudflare Pages, ",[1142,2437,2438],{},"no configuration is required",". Pushing to your repository will automatically build your project and deploy it.",[2441,2442,2443],"note",{},[1139,2444,2445,2446,1158],{},"Nuxt will detect the environment to set the correct ",[1152,2447,2450],{"href":2448,"rel":2449},"https://nitro.unjs.io/deploy/providers/cloudflare",[1156],"Server/Nitro preset",[1139,2452,2453,2454],{},"To leverage server-side rendering on the edge, set the build command to: ",[1264,2455,2456],{},"nuxt build",[1139,2458,2459,2460],{},"To statically generate your website, set the build command to: ",[1264,2461,2462],{},"nuxt generate",[1269,2464,2466],{"id":2465},"route-matching","Route matching",[1139,2468,2469,2470,2473,2474,2477,2478,2473,2481,1158],{},"On CloudFlare Pages, if an HTML file is found with a matching path to the current route requested, it will serve it. It will also redirect HTML pages to their extension-less counterparts: for instance, ",[1264,2471,2472],{},"/contact.html"," will be redirected to ",[1264,2475,2476],{},"/contact",", and ",[1264,2479,2480],{},"/about/index.html",[1264,2482,2483],{},"/about/",[1139,2485,2486,2487,2492,2493,2496,2497,1158],{},"To match Cloudflare ",[1152,2488,2491],{"href":2489,"rel":2490},"https://developers.cloudflare.com/pages/configuration/serving-pages/#route-matching",[1156],"route matching"," rules, set the nitro option ",[1264,2494,2495],{},"autoSubfolderIndex"," to ",[1264,2498,2499],{},"false",[1286,2501,2503],{"className":1471,"code":2502,"filename":260,"language":1473,"meta":1214,"style":1214},"export default defineNuxtConfig({\n  nitro: {\n    prerender: {\n      autoSubfolderIndex: false\n    }\n  }\n})\n",[1264,2504,2505,2517,2525,2534,2545,2549,2553],{"__ignoreMap":1214},[1295,2506,2507,2509,2511,2513,2515],{"class":1297,"line":1298},[1295,2508,1481],{"class":1480},[1295,2510,1484],{"class":1480},[1295,2512,1488],{"class":1487},[1295,2514,1492],{"class":1491},[1295,2516,1496],{"class":1495},[1295,2518,2519,2521,2523],{"class":1297,"line":1215},[1295,2520,1509],{"class":1508},[1295,2522,1512],{"class":1495},[1295,2524,1515],{"class":1495},[1295,2526,2527,2530,2532],{"class":1297,"line":1505},[1295,2528,2529],{"class":1508},"    prerender",[1295,2531,1512],{"class":1495},[1295,2533,1515],{"class":1495},[1295,2535,2536,2539,2541],{"class":1297,"line":1518},[1295,2537,2538],{"class":1508},"      autoSubfolderIndex",[1295,2540,1512],{"class":1495},[1295,2542,2544],{"class":2543},"sagxc"," false\n",[1295,2546,2547],{"class":1297,"line":1528},[1295,2548,1586],{"class":1495},[1295,2550,2551],{"class":1297,"line":1538},[1295,2552,1592],{"class":1495},[1295,2554,2555,2557],{"class":1297,"line":1544},[1295,2556,1598],{"class":1495},[1295,2558,1601],{"class":1491},[1269,2560,2562],{"id":2561},"direct-upload","Direct Upload",[1139,2564,2565,2566,2571],{},"Alternatively, you can use ",[1152,2567,2570],{"href":2568,"rel":2569},"https://github.com/cloudflare/workers-sdk",[1156],"wrangler"," to upload your project to Cloudflare.",[1139,2573,2574],{},"In this case, you will have to set the preset manually.",[1165,2576,2577,2596],{},[1168,2578,2579,2580],{},"Build your project for Cloudflare Pages:",[1286,2581,2583],{"className":1288,"code":2582,"filename":1290,"language":1291,"meta":1214,"style":1214},"npx nuxi build --preset=cloudflare_pages\n",[1264,2584,2585],{"__ignoreMap":1214},[1295,2586,2587,2589,2591,2593],{"class":1297,"line":1298},[1295,2588,1302],{"class":1301},[1295,2590,1306],{"class":1305},[1295,2592,1309],{"class":1305},[1295,2594,2595],{"class":1305}," --preset=cloudflare_pages\n",[1168,2597,2598,2599],{},"Deploy, it will ask you to create a project for the first time:",[1286,2600,2602],{"className":1288,"code":2601,"filename":1290,"language":1291,"meta":1214,"style":1214},"wrangler pages deploy dist/\n",[1264,2603,2604],{"__ignoreMap":1214},[1295,2605,2606,2608,2611,2614],{"class":1297,"line":1298},[1295,2607,2570],{"class":1301},[1295,2609,2610],{"class":1305}," pages",[1295,2612,2613],{"class":1305}," deploy",[1295,2615,2616],{"class":1305}," dist/\n",[1160,2618,1194],{"id":1193},[1196,2620,2621],{"target":1198,"to":2448},[1139,2622,1208,2623,2625],{},[1142,2624,1211],{}," to learn more about the Cloudflare deployment preset.",[1196,2627,2629],{"target":1198,"to":2628},"https://developers.cloudflare.com/pages/framework-guides/deploy-a-nuxt-site/#use-bindings-in-your-nuxt-application",[1139,2630,1208,2631,2634],{},[1142,2632,2633],{},"CloudFlare Pages"," documentation to learn more about it.",[1160,2636,734],{"id":2637},"templates",[2639,2640,2641,2651,2658,2665],"card-group",{},[2642,2643,2648],"card",{":ui":2644,"icon":2645,"target":1198,"title":2646,"to":2647},"{\"icon\":{\"base\":\"text-black dark:text-white\"}}","i-simple-icons-github","Atidone","https://github.com/atinux/atidone",[1139,2649,2650],{},"A todos application with user authentication, SSR and Cloudflare D1.",[2642,2652,2655],{":ui":2644,"icon":2645,"target":1198,"title":2653,"to":2654},"Atinotes","https://github.com/atinux/atinotes",[1139,2656,2657],{},"An editable website with universal rendering based on Cloudflare KV.",[2642,2659,2662],{":ui":2644,"icon":2645,"target":1198,"title":2660,"to":2661},"Atidraw","https://github.com/atinux/atidraw",[1139,2663,2664],{},"Web application that lets you to draw and share your drawings with the world, with Cloudflare R2 & AI.",[2642,2666,2669],{":ui":2644,"icon":2645,"target":1198,"title":2667,"to":2668},"Nuxt Image Gallery","https://github.com/flosciante/nuxt-image-gallery",[1139,2670,2671],{},"An image gallery to upload, edit and share your images to the world, with Cloudflare R2.",[1160,2673,1194],{"id":2674},"learn-more-1",[1196,2676,2677],{"target":1198,"to":2448},[1139,2678,1208,2679,2681],{},[1142,2680,1211],{}," to learn more about the cloudflare deployment preset.",[1724,2683,2684],{},"html pre.shiki code .sFVN2, html code.shiki .sFVN2{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#39ADB5;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic}html pre.shiki code .szd4z, html code.shiki .szd4z{--shiki-light:#6182B8;--shiki-default:#6182B8;--shiki-dark:#82AAFF}html pre.shiki code .spdxX, html code.shiki .spdxX{--shiki-light:#90A4AE;--shiki-default:#90A4AE;--shiki-dark:#BABED8}html pre.shiki code .sYp4K, html code.shiki .sYp4K{--shiki-light:#39ADB5;--shiki-default:#39ADB5;--shiki-dark:#89DDFF}html pre.shiki code .sQ5dg, html code.shiki .sQ5dg{--shiki-light:#E53935;--shiki-default:#E53935;--shiki-dark:#F07178}html pre.shiki code .sagxc, html code.shiki .sagxc{--shiki-light:#FF5370;--shiki-default:#FF5370;--shiki-dark:#FF9CAC}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 .sT2Ow, html code.shiki .sT2Ow{--shiki-light:#E2931D;--shiki-default:#E2931D;--shiki-dark:#FFCB6B}html pre.shiki code .s5UST, html code.shiki .s5UST{--shiki-light:#91B859;--shiki-default:#91B859;--shiki-dark:#C3E88D}",{"title":1214,"searchDepth":1215,"depth":1215,"links":2686},[2687,2692,2693,2694],{"id":2397,"depth":1215,"text":2398,"children":2688},[2689,2690,2691],{"id":2431,"depth":1505,"text":2432},{"id":2465,"depth":1505,"text":2466},{"id":2561,"depth":1505,"text":2562},{"id":1193,"depth":1215,"text":1194},{"id":2637,"depth":1215,"text":734},{"id":2674,"depth":1215,"text":1194},"Deploy your Nuxt Application to Cloudflare infrastructure.","/assets/integrations/cloudflare.svg",{},"cloudflare","/deploy/cloudflare",{"title":2392,"description":2695},"deploy/cloudflare","https://pages.cloudflare.com/","kx55rf6Sbx",{"id":2705,"title":2706,"body":2707,"category":1219,"componentImg":6,"description":3007,"extension":1118,"featured":108,"logoIcon":3008,"logoSrc":6,"meta":3009,"navigation":1224,"nitroPreset":3010,"path":3011,"seo":3012,"stem":3013,"website":3014,"__hash__":3015},"deploy/deploy/deno-deploy.md","Deno Deploy",{"type":1133,"value":2708,"toc":3001},[2709,2714,2718,2727,2739,2802,2806,2813,2816,2968,2977,2979,2988,2990,2998],[2414,2710,2711],{},[1139,2712,2713],{},"Deno deploy preset is experimental.",[1160,2715,2717],{"id":2716},"deploy-with-the-cli","Deploy with the CLI",[1139,2719,2720,2721,2726],{},"You can use ",[1152,2722,2725],{"href":2723,"rel":2724},"https://deno.com/deploy/docs/deployctl",[1156],"deployctl"," to deploy your app.",[1139,2728,2729,2730,2734,2735,2738],{},"Login to ",[1152,2731,2706],{"href":2732,"rel":2733},"https://dash.deno.com/account#access-tokens",[1156]," to obtain a ",[1264,2736,2737],{},"DENO_DEPLOY_TOKEN"," access token, and set it as an environment variable.",[1286,2740,2742],{"className":1288,"code":2741,"language":1291,"meta":1214,"style":1214},"# Build with the deno_deploy preset\nnpm run build --preset=deno_deploy\n\n# Make sure to run the deployctl command from the output directory\ncd .output\ndeployctl deploy --project=my-project server/index.ts --token=\u003CDENO_DEPLOY_TOKEN>\n",[1264,2743,2744,2749,2761,2766,2771,2779],{"__ignoreMap":1214},[1295,2745,2746],{"class":1297,"line":1298},[1295,2747,2748],{"class":1501},"# Build with the deno_deploy preset\n",[1295,2750,2751,2753,2756,2758],{"class":1297,"line":1215},[1295,2752,1926],{"class":1301},[1295,2754,2755],{"class":1305}," run",[1295,2757,1309],{"class":1305},[1295,2759,2760],{"class":1305}," --preset=deno_deploy\n",[1295,2762,2763],{"class":1297,"line":1505},[1295,2764,2765],{"emptyLinePlaceholder":1224},"\n",[1295,2767,2768],{"class":1297,"line":1518},[1295,2769,2770],{"class":1501},"# Make sure to run the deployctl command from the output directory\n",[1295,2772,2773,2776],{"class":1297,"line":1528},[1295,2774,2775],{"class":1487},"cd",[1295,2777,2778],{"class":1305}," .output\n",[1295,2780,2781,2783,2785,2788,2791,2794,2797,2799],{"class":1297,"line":1538},[1295,2782,2725],{"class":1301},[1295,2784,2613],{"class":1305},[1295,2786,2787],{"class":1305}," --project=my-project",[1295,2789,2790],{"class":1305}," server/index.ts",[1295,2792,2793],{"class":1305}," --token=",[1295,2795,2796],{"class":1495},"\u003C",[1295,2798,2737],{"class":1305},[1295,2800,2801],{"class":1495},">\n",[1160,2803,2805],{"id":2804},"deploy-within-cicd-using-github-actions","Deploy within CI/CD using GitHub Actions",[1139,2807,2808,2809,1158],{},"Link your GitHub repository to your Deno Deploy project and choose the \"GitHub Actions\" deployment mode. You can do this in your project settings on ",[1152,2810,2811],{"href":2811,"rel":2812},"https://dash.deno.com",[1156],[1139,2814,2815],{},"Create a GitHub action file in your repository:",[1286,2817,2820],{"className":1664,"code":2818,"filename":2819,"language":1667,"meta":1214,"style":1214},"name: deno-deploy\non:\n  push:\n    branches:\n      - main\n  pull_request:\n    branches:\n      - main\njobs:\n  deploy:\n    steps:\n      - uses: actions/checkout@v3\n      - run: corepack enable\n      - uses: actions/setup-node@v3\n        with:\n          node-version: 18\n          cache: pnpm\n      - run: pnpm install\n      - run: pnpm build\n        env:\n          NITRO_PRESET: deno_deploy\n      - name: Deploy to Deno Deploy\n        uses: denoland/deployctl@v1\n        with:\n          project: \u003Cmy-project>\n          entrypoint: server/index.ts\n          root: .output\n",".github/workflows/deno_deploy.yml",[1264,2821,2822,2827,2832,2837,2842,2847,2852,2856,2860,2865,2870,2875,2880,2885,2891,2897,2903,2909,2915,2921,2927,2933,2939,2945,2950,2956,2962],{"__ignoreMap":1214},[1295,2823,2824],{"class":1297,"line":1298},[1295,2825,2826],{},"name: deno-deploy\n",[1295,2828,2829],{"class":1297,"line":1215},[1295,2830,2831],{},"on:\n",[1295,2833,2834],{"class":1297,"line":1505},[1295,2835,2836],{},"  push:\n",[1295,2838,2839],{"class":1297,"line":1518},[1295,2840,2841],{},"    branches:\n",[1295,2843,2844],{"class":1297,"line":1528},[1295,2845,2846],{},"      - main\n",[1295,2848,2849],{"class":1297,"line":1538},[1295,2850,2851],{},"  pull_request:\n",[1295,2853,2854],{"class":1297,"line":1544},[1295,2855,2841],{},[1295,2857,2858],{"class":1297,"line":1554},[1295,2859,2846],{},[1295,2861,2862],{"class":1297,"line":1571},[1295,2863,2864],{},"jobs:\n",[1295,2866,2867],{"class":1297,"line":1577},[1295,2868,2869],{},"  deploy:\n",[1295,2871,2872],{"class":1297,"line":1583},[1295,2873,2874],{},"    steps:\n",[1295,2876,2877],{"class":1297,"line":1589},[1295,2878,2879],{},"      - uses: actions/checkout@v3\n",[1295,2881,2882],{"class":1297,"line":1595},[1295,2883,2884],{},"      - run: corepack enable\n",[1295,2886,2888],{"class":1297,"line":2887},14,[1295,2889,2890],{},"      - uses: actions/setup-node@v3\n",[1295,2892,2894],{"class":1297,"line":2893},15,[1295,2895,2896],{},"        with:\n",[1295,2898,2900],{"class":1297,"line":2899},16,[1295,2901,2902],{},"          node-version: 18\n",[1295,2904,2906],{"class":1297,"line":2905},17,[1295,2907,2908],{},"          cache: pnpm\n",[1295,2910,2912],{"class":1297,"line":2911},18,[1295,2913,2914],{},"      - run: pnpm install\n",[1295,2916,2918],{"class":1297,"line":2917},19,[1295,2919,2920],{},"      - run: pnpm build\n",[1295,2922,2924],{"class":1297,"line":2923},20,[1295,2925,2926],{},"        env:\n",[1295,2928,2930],{"class":1297,"line":2929},21,[1295,2931,2932],{},"          NITRO_PRESET: deno_deploy\n",[1295,2934,2936],{"class":1297,"line":2935},22,[1295,2937,2938],{},"      - name: Deploy to Deno Deploy\n",[1295,2940,2942],{"class":1297,"line":2941},23,[1295,2943,2944],{},"        uses: denoland/deployctl@v1\n",[1295,2946,2948],{"class":1297,"line":2947},24,[1295,2949,2896],{},[1295,2951,2953],{"class":1297,"line":2952},25,[1295,2954,2955],{},"          project: \u003Cmy-project>\n",[1295,2957,2959],{"class":1297,"line":2958},26,[1295,2960,2961],{},"          entrypoint: server/index.ts\n",[1295,2963,2965],{"class":1297,"line":2964},27,[1295,2966,2967],{},"          root: .output\n",[2414,2969,2970],{},[1139,2971,2972,2973,2976],{},"Make sure to rename ",[1264,2974,2975],{},"\u003Cmy-project>"," with your project name.",[1160,2978,734],{"id":2637},[2639,2980,2981],{},[2642,2982,2985],{":ui":2644,"icon":2645,"target":1198,"title":2983,"to":2984},"Nuxt Deno KV","https://github.com/Atinux/nuxt-deno-kv",[1139,2986,2987],{},"A collaborative todo-list app built with Deno KV and Nuxt.",[1160,2989,1194],{"id":1193},[1196,2991,2993],{"target":1198,"to":2992},"https://nitro.unjs.io/deploy/providers/deno-deploy",[1139,2994,1208,2995,2997],{},[1142,2996,1211],{}," to learn more about the deno-deploy deployment preset.",[1724,2999,3000],{},"html pre.shiki code .svXlt, html code.shiki .svXlt{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#90A4AE;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}html pre.shiki code .sT2Ow, html code.shiki .sT2Ow{--shiki-light:#E2931D;--shiki-default:#E2931D;--shiki-dark:#FFCB6B}html pre.shiki code .s5UST, html code.shiki .s5UST{--shiki-light:#91B859;--shiki-default:#91B859;--shiki-dark:#C3E88D}html pre.shiki code .szd4z, html code.shiki .szd4z{--shiki-light:#6182B8;--shiki-default:#6182B8;--shiki-dark:#82AAFF}html pre.shiki code .sYp4K, html code.shiki .sYp4K{--shiki-light:#39ADB5;--shiki-default:#39ADB5;--shiki-dark:#89DDFF}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);}",{"title":1214,"searchDepth":1215,"depth":1215,"links":3002},[3003,3004,3005,3006],{"id":2716,"depth":1215,"text":2717},{"id":2804,"depth":1215,"text":2805},{"id":2637,"depth":1215,"text":734},{"id":1193,"depth":1215,"text":1194},"Deploy your Nuxt Application to Deno Deploy infrastructure.","i-logos-deno",{},"deno-deploy","/deploy/deno-deploy",{"title":2706,"description":3007},"deploy/deno-deploy","https://deno.com/deploy","IPrLsSAM1r",{"id":3017,"title":3018,"body":3019,"category":1219,"componentImg":6,"description":3218,"extension":1118,"featured":108,"logoIcon":6,"logoSrc":3219,"meta":3220,"navigation":1224,"nitroPreset":3221,"path":3222,"seo":3223,"stem":3224,"website":3225,"__hash__":3226},"deploy/deploy/digitalocean.md","DigitalOcean",{"type":1133,"value":3020,"toc":3214},[3021,3029,3031,3191,3201,3203,3211],[1139,3022,3023,3024,1834],{},"Nuxt supports deploying on the ",[1152,3025,3028],{"href":3026,"rel":3027},"https://docs.digitalocean.com/products/app-platform/",[1156],"DigitalOcean App Platform",[1160,3030,1163],{"id":1162},[1165,3032,3033,3041,3064,3129,3181],{},[1168,3034,3035,3036,1158],{},"Create a new DigitalOcean app following the ",[1152,3037,3040],{"href":3038,"rel":3039},"https://docs.digitalocean.com/products/app-platform/how-to/create-apps/",[1156],"guide",[1168,3042,3043,3044,1512,3049],{},"Next, you'll need to configure environment variables. In your app settings, ensure the following ",[1152,3045,3048],{"href":3046,"rel":3047},"https://docs.digitalocean.com/products/app-platform/how-to/use-environment-variables/",[1156],"app-level environment variables",[1286,3050,3052],{"className":1288,"code":3051,"language":1291,"meta":1214,"style":1214},"SERVER_PRESET=digital-ocean\n",[1264,3053,3054],{"__ignoreMap":1214},[1295,3055,3056,3059,3061],{"class":1297,"line":1298},[1295,3057,3058],{"class":1491},"SERVER_PRESET",[1295,3060,1937],{"class":1495},[1295,3062,3063],{"class":1305},"digital-ocean\n",[1168,3065,3066,3067,3070,3071,3073,3074],{},"You will need to ensure you set an ",[1264,3068,3069],{},"engines.node"," field in your app's ",[1264,3072,264],{}," to ensure DigitalOcean uses a supported version of Node.js:",[1286,3075,3079],{"className":3076,"code":3077,"filename":264,"language":3078,"meta":1214,"style":1214},"language-json shiki shiki-themes material-theme-lighter material-theme-lighter material-theme-palenight","{\n  \"engines\": {\n      \"node\": \"20.x\"\n  }\n}\n","json",[1264,3080,3081,3085,3100,3120,3124],{"__ignoreMap":1214},[1295,3082,3083],{"class":1297,"line":1298},[1295,3084,1496],{"class":1495},[1295,3086,3087,3090,3094,3096,3098],{"class":1297,"line":1215},[1295,3088,3089],{"class":1495},"  \"",[1295,3091,3093],{"class":3092},"sRBFq","engines",[1295,3095,1940],{"class":1495},[1295,3097,1512],{"class":1495},[1295,3099,1515],{"class":1495},[1295,3101,3102,3105,3108,3110,3112,3115,3118],{"class":1297,"line":1505},[1295,3103,3104],{"class":1495},"      \"",[1295,3106,3107],{"class":1301},"node",[1295,3109,1940],{"class":1495},[1295,3111,1512],{"class":1495},[1295,3113,3114],{"class":1495}," \"",[1295,3116,3117],{"class":1305},"20.x",[1295,3119,1946],{"class":1495},[1295,3121,3122],{"class":1297,"line":1518},[1295,3123,1592],{"class":1495},[1295,3125,3126],{"class":1297,"line":1528},[1295,3127,3128],{"class":1495},"}\n",[1168,3130,3131,3132,1512,3134],{},"You'll also need to add a run command so DigitalOcean knows what command to run after a build. You can do so by adding a start script to your ",[1264,3133,264],{},[1286,3135,3137],{"className":3076,"code":3136,"filename":264,"language":3078,"meta":1214,"style":1214},"{\n  \"scripts\": {\n      \"start\": \"node .output/server/index.mjs\"\n  }\n}\n",[1264,3138,3139,3143,3156,3173,3177],{"__ignoreMap":1214},[1295,3140,3141],{"class":1297,"line":1298},[1295,3142,1496],{"class":1495},[1295,3144,3145,3147,3150,3152,3154],{"class":1297,"line":1215},[1295,3146,3089],{"class":1495},[1295,3148,3149],{"class":3092},"scripts",[1295,3151,1940],{"class":1495},[1295,3153,1512],{"class":1495},[1295,3155,1515],{"class":1495},[1295,3157,3158,3160,3163,3165,3167,3169,3171],{"class":1297,"line":1505},[1295,3159,3104],{"class":1495},[1295,3161,3162],{"class":1301},"start",[1295,3164,1940],{"class":1495},[1295,3166,1512],{"class":1495},[1295,3168,3114],{"class":1495},[1295,3170,1958],{"class":1305},[1295,3172,1946],{"class":1495},[1295,3174,3175],{"class":1297,"line":1518},[1295,3176,1592],{"class":1495},[1295,3178,3179],{"class":1297,"line":1528},[1295,3180,3128],{"class":1495},[1168,3182,3183,3184,3187,3188],{},"Finally, you'll need to add this start script to your DigitalOcean app's run command. Go to ",[1264,3185,3186],{},"Components > Settings > Commands",", click \"Edit\", then add ",[1264,3189,3190],{},"npm run start",[1136,3192,3193],{},[1139,3194,3195,3196,1158],{},"Your Nuxt app should be live at a DigitalOcean generated URL and you can now follow ",[1152,3197,3200],{"href":3198,"rel":3199},"https://docs.digitalocean.com/products/app-platform/how-to/manage-deployments/",[1156],"the rest of the DigitalOcean deployment guide",[1160,3202,1194],{"id":1193},[1196,3204,3206],{"target":1198,"to":3205},"https://nitro.unjs.io/deploy/providers/digitalocean",[1139,3207,1208,3208,3210],{},[1142,3209,1211],{}," to learn more about the digitalocean deployment preset.",[1724,3212,3213],{},"html pre.shiki code .spdxX, html code.shiki .spdxX{--shiki-light:#90A4AE;--shiki-default:#90A4AE;--shiki-dark:#BABED8}html pre.shiki code .sYp4K, html code.shiki .sYp4K{--shiki-light:#39ADB5;--shiki-default:#39ADB5;--shiki-dark:#89DDFF}html pre.shiki code .s5UST, html code.shiki .s5UST{--shiki-light:#91B859;--shiki-default:#91B859;--shiki-dark:#C3E88D}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 .sRBFq, html code.shiki .sRBFq{--shiki-light:#9C3EDA;--shiki-default:#9C3EDA;--shiki-dark:#C792EA}html pre.shiki code .sT2Ow, html code.shiki .sT2Ow{--shiki-light:#E2931D;--shiki-default:#E2931D;--shiki-dark:#FFCB6B}",{"title":1214,"searchDepth":1215,"depth":1215,"links":3215},[3216,3217],{"id":1162,"depth":1215,"text":1163},{"id":1193,"depth":1215,"text":1194},"Deploy your Nuxt Application to DigitalOcean infrastructure.","/assets/integrations/digitalocean.svg",{},"digitalocean","/deploy/digitalocean",{"title":3018,"description":3218},"deploy/digitalocean","https://www.digitalocean.com/","KBgLU7avUJ",{"id":3228,"title":3229,"body":3230,"category":1219,"componentImg":6,"description":4082,"extension":1118,"featured":108,"logoIcon":4083,"logoSrc":6,"meta":4084,"navigation":1224,"nitroPreset":3376,"path":4085,"seo":4086,"stem":4087,"website":4088,"__hash__":4089},"deploy/deploy/firebase.md","Firebase",{"type":1133,"value":3231,"toc":4070},[3232,3236,3246,3305,3314,3323,3329,3333,3341,3390,3403,3410,3587,3590,3593,3619,3623,3630,3654,3658,3664,3771,3775,3778,3844,3857,3862,3928,3937,3941,3948,3965,3973,3977,3984,3994,3998,4014,4060,4067],[1160,3233,3235],{"id":3234},"firebase-functions","Firebase Functions",[1139,3237,3238,3239,3242,3243,1512],{},"To use the more recent and recommended generation of firebase functions, set the ",[1264,3240,3241],{},"firebase.gen"," option to ",[1264,3244,3245],{},"2",[1286,3247,3249],{"className":1471,"code":3248,"filename":260,"language":1473,"meta":1214,"style":1214},"export default defineNuxtConfig({\n  nitro: {\n    firebase: {\n      gen: 2\n    }\n  }\n})\n",[1264,3250,3251,3263,3271,3280,3291,3295,3299],{"__ignoreMap":1214},[1295,3252,3253,3255,3257,3259,3261],{"class":1297,"line":1298},[1295,3254,1481],{"class":1480},[1295,3256,1484],{"class":1480},[1295,3258,1488],{"class":1487},[1295,3260,1492],{"class":1491},[1295,3262,1496],{"class":1495},[1295,3264,3265,3267,3269],{"class":1297,"line":1215},[1295,3266,1509],{"class":1508},[1295,3268,1512],{"class":1495},[1295,3270,1515],{"class":1495},[1295,3272,3273,3276,3278],{"class":1297,"line":1505},[1295,3274,3275],{"class":1508},"    firebase",[1295,3277,1512],{"class":1495},[1295,3279,1515],{"class":1495},[1295,3281,3282,3285,3287],{"class":1297,"line":1518},[1295,3283,3284],{"class":1508},"      gen",[1295,3286,1512],{"class":1495},[1295,3288,3290],{"class":3289},"sV9sa"," 2\n",[1295,3292,3293],{"class":1297,"line":1528},[1295,3294,1586],{"class":1495},[1295,3296,3297],{"class":1297,"line":1538},[1295,3298,1592],{"class":1495},[1295,3300,3301,3303],{"class":1297,"line":1544},[1295,3302,1598],{"class":1495},[1295,3304,1601],{"class":1491},[2441,3306,3307],{},[1139,3308,3309,3310,3313],{},"If you cannot use configuration for any reason, alternatively you can use ",[1264,3311,3312],{},"NITRO_FIREBASE_GEN=2"," environment variable.",[1139,3315,3316,3317,3322],{},"If you already have a deployed version of your website and want to upgrade to 2nd gen, ",[1152,3318,3321],{"href":3319,"rel":3320},"https://firebase.google.com/docs/functions/2nd-gen-upgrade",[1156],"see the Migration process on Firebase docs",". Namely, the CLI will ask you to delete your existing functions before deploying the new ones.",[1136,3324,3326],{"target":1198,"to":3325},"https://firebase.google.com/docs/functions/version-comparison",[1139,3327,3328],{},"Comparison between 1st and 2nd generation functions",[1160,3330,3332],{"id":3331},"project-setup","Project Setup",[1139,3334,3335,3336,1158],{},"You may instead prefer to set up your project with the Firebase CLI, which will fetch your project ID for you, add required dependencies (see above) and even set up automated deployments via GitHub Actions (for hosting only). ",[1152,3337,3340],{"href":3338,"rel":3339},"https://firebase.google.com/docs/cli#windows-npm",[1156],"Learn about installing the firebase CLI",[1165,3342,3343,3364],{},[1168,3344,3345,3346],{},"Install the latest version of the Firebase CLI.",[1286,3347,3349],{"className":1288,"code":3348,"filename":1290,"language":1291,"meta":1214,"style":1214},"npm install -g firebase-tools@latest\n",[1264,3350,3351],{"__ignoreMap":1214},[1295,3352,3353,3355,3358,3361],{"class":1297,"line":1298},[1295,3354,1926],{"class":1301},[1295,3356,3357],{"class":1305}," install",[1295,3359,3360],{"class":1305}," -g",[1295,3362,3363],{"class":1305}," firebase-tools@latest\n",[1168,3365,3366,3367],{},"Initialize your Firebase Project",[1286,3368,3370],{"className":1288,"code":3369,"filename":1290,"language":1291,"meta":1214,"style":1214},"firebase login\nfirebase init hosting\n",[1264,3371,3372,3380],{"__ignoreMap":1214},[1295,3373,3374,3377],{"class":1297,"line":1298},[1295,3375,3376],{"class":1301},"firebase",[1295,3378,3379],{"class":1305}," login\n",[1295,3381,3382,3384,3387],{"class":1297,"line":1215},[1295,3383,3376],{"class":1301},[1295,3385,3386],{"class":1305}," init",[1295,3388,3389],{"class":1305}," hosting\n",[2441,3391,3392],{},[1139,3393,3394,3395,3398,3399,3402],{},"When prompted, you can enter ",[1264,3396,3397],{},".output/public"," as the public directory. In the next step, ",[1142,3400,3401],{},"do not"," configure your project as a single-page app.",[1139,3404,3405,3406,3409],{},"Once complete, add the following to your ",[1264,3407,3408],{},"firebase.json"," to enable server rendering in Cloud Functions:",[1286,3411,3413],{"className":3076,"code":3412,"filename":3408,"language":3078,"meta":1214,"style":1214},"{\n  \"functions\": { \"source\": \".output/server\" },\n  \"hosting\": [\n    {\n      \"site\": \"\u003Cyour_project_id>\",\n      \"public\": \".output/public\",\n      \"cleanUrls\": true,\n      \"rewrites\": [{ \"source\": \"**\", \"function\": \"server\" }]\n    }\n  ]\n}\n",[1264,3414,3415,3419,3452,3466,3471,3492,3510,3524,3574,3578,3583],{"__ignoreMap":1214},[1295,3416,3417],{"class":1297,"line":1298},[1295,3418,1496],{"class":1495},[1295,3420,3421,3423,3426,3428,3430,3433,3435,3438,3440,3442,3444,3447,3449],{"class":1297,"line":1215},[1295,3422,3089],{"class":1495},[1295,3424,3425],{"class":3092},"functions",[1295,3427,1940],{"class":1495},[1295,3429,1512],{"class":1495},[1295,3431,3432],{"class":1495}," {",[1295,3434,3114],{"class":1495},[1295,3436,3437],{"class":1301},"source",[1295,3439,1940],{"class":1495},[1295,3441,1512],{"class":1495},[1295,3443,3114],{"class":1495},[1295,3445,3446],{"class":1305},".output/server",[1295,3448,1940],{"class":1495},[1295,3450,3451],{"class":1495}," },\n",[1295,3453,3454,3456,3459,3461,3463],{"class":1297,"line":1505},[1295,3455,3089],{"class":1495},[1295,3457,3458],{"class":3092},"hosting",[1295,3460,1940],{"class":1495},[1295,3462,1512],{"class":1495},[1295,3464,3465],{"class":1495}," [\n",[1295,3467,3468],{"class":1297,"line":1518},[1295,3469,3470],{"class":1495},"    {\n",[1295,3472,3473,3475,3478,3480,3482,3484,3487,3489],{"class":1297,"line":1528},[1295,3474,3104],{"class":1495},[1295,3476,3477],{"class":1301},"site",[1295,3479,1940],{"class":1495},[1295,3481,1512],{"class":1495},[1295,3483,3114],{"class":1495},[1295,3485,3486],{"class":1305},"\u003Cyour_project_id>",[1295,3488,1940],{"class":1495},[1295,3490,3491],{"class":1495},",\n",[1295,3493,3494,3496,3498,3500,3502,3504,3506,3508],{"class":1297,"line":1538},[1295,3495,3104],{"class":1495},[1295,3497,215],{"class":1301},[1295,3499,1940],{"class":1495},[1295,3501,1512],{"class":1495},[1295,3503,3114],{"class":1495},[1295,3505,3397],{"class":1305},[1295,3507,1940],{"class":1495},[1295,3509,3491],{"class":1495},[1295,3511,3512,3514,3517,3519,3521],{"class":1297,"line":1544},[1295,3513,3104],{"class":1495},[1295,3515,3516],{"class":1301},"cleanUrls",[1295,3518,1940],{"class":1495},[1295,3520,1512],{"class":1495},[1295,3522,3523],{"class":1495}," true,\n",[1295,3525,3526,3528,3531,3533,3535,3538,3540,3542,3544,3546,3548,3551,3553,3556,3558,3561,3563,3565,3567,3569,3571],{"class":1297,"line":1554},[1295,3527,3104],{"class":1495},[1295,3529,3530],{"class":1301},"rewrites",[1295,3532,1940],{"class":1495},[1295,3534,1512],{"class":1495},[1295,3536,3537],{"class":1495}," [{",[1295,3539,3114],{"class":1495},[1295,3541,3437],{"class":3289},[1295,3543,1940],{"class":1495},[1295,3545,1512],{"class":1495},[1295,3547,3114],{"class":1495},[1295,3549,3550],{"class":1305},"**",[1295,3552,1940],{"class":1495},[1295,3554,3555],{"class":1495},",",[1295,3557,3114],{"class":1495},[1295,3559,3560],{"class":3289},"function",[1295,3562,1940],{"class":1495},[1295,3564,1512],{"class":1495},[1295,3566,3114],{"class":1495},[1295,3568,219],{"class":1305},[1295,3570,1940],{"class":1495},[1295,3572,3573],{"class":1495}," }]\n",[1295,3575,3576],{"class":1297,"line":1571},[1295,3577,1586],{"class":1495},[1295,3579,3580],{"class":1297,"line":1577},[1295,3581,3582],{"class":1495},"  ]\n",[1295,3584,3585],{"class":1297,"line":1583},[1295,3586,3128],{"class":1495},[1160,3588,3589],{"id":1271},"Local Preview",[1139,3591,3592],{},"You can preview a local version of your site if you need to test things out without deploying.",[1286,3594,3596],{"className":1288,"code":3595,"language":1291,"meta":1214,"style":1214},"npm run build -- --preset=firebase\nfirebase emulators:start\n",[1264,3597,3598,3612],{"__ignoreMap":1214},[1295,3599,3600,3602,3604,3606,3609],{"class":1297,"line":1298},[1295,3601,1926],{"class":1301},[1295,3603,2755],{"class":1305},[1295,3605,1309],{"class":1305},[1295,3607,3608],{"class":1305}," --",[1295,3610,3611],{"class":1305}," --preset=firebase\n",[1295,3613,3614,3616],{"class":1297,"line":1215},[1295,3615,3376],{"class":1301},[1295,3617,3618],{"class":1305}," emulators:start\n",[1160,3620,3622],{"id":3621},"build-and-deploy","Build and Deploy",[1139,3624,3625,3626,3629],{},"Deploy to Firebase Hosting by running a Nitro build and then running the ",[1264,3627,3628],{},"firebase deploy"," command.",[1286,3631,3633],{"className":1288,"code":3632,"language":1291,"meta":1214,"style":1214},"npm run build -- --preset=firebase\nfirebase deploy\n",[1264,3634,3635,3647],{"__ignoreMap":1214},[1295,3636,3637,3639,3641,3643,3645],{"class":1297,"line":1298},[1295,3638,1926],{"class":1301},[1295,3640,2755],{"class":1305},[1295,3642,1309],{"class":1305},[1295,3644,3608],{"class":1305},[1295,3646,3611],{"class":1305},[1295,3648,3649,3651],{"class":1297,"line":1215},[1295,3650,3376],{"class":1301},[1295,3652,3653],{"class":1305}," deploy\n",[1160,3655,3657],{"id":3656},"options","Options",[1139,3659,3660,3661,3663],{},"You can set options for the firebase functions in your ",[1264,3662,260],{}," file:",[1286,3665,3667],{"className":1471,"code":3666,"filename":260,"language":1473,"meta":1214,"style":1214},"export default defineNuxtConfig({\n  nitro: {\n    firebase: {\n      gen: 2,\n      httpsOptions: {\n        region: 'europe-west1',\n        maxInstances: 3,\n      },\n    },\n  },\n});\n",[1264,3668,3669,3681,3689,3697,3708,3717,3734,3746,3751,3756,3761],{"__ignoreMap":1214},[1295,3670,3671,3673,3675,3677,3679],{"class":1297,"line":1298},[1295,3672,1481],{"class":1480},[1295,3674,1484],{"class":1480},[1295,3676,1488],{"class":1487},[1295,3678,1492],{"class":1491},[1295,3680,1496],{"class":1495},[1295,3682,3683,3685,3687],{"class":1297,"line":1215},[1295,3684,1509],{"class":1508},[1295,3686,1512],{"class":1495},[1295,3688,1515],{"class":1495},[1295,3690,3691,3693,3695],{"class":1297,"line":1505},[1295,3692,3275],{"class":1508},[1295,3694,1512],{"class":1495},[1295,3696,1515],{"class":1495},[1295,3698,3699,3701,3703,3706],{"class":1297,"line":1518},[1295,3700,3284],{"class":1508},[1295,3702,1512],{"class":1495},[1295,3704,3705],{"class":3289}," 2",[1295,3707,3491],{"class":1495},[1295,3709,3710,3713,3715],{"class":1297,"line":1528},[1295,3711,3712],{"class":1508},"      httpsOptions",[1295,3714,1512],{"class":1495},[1295,3716,1515],{"class":1495},[1295,3718,3719,3722,3724,3726,3729,3732],{"class":1297,"line":1538},[1295,3720,3721],{"class":1508},"        region",[1295,3723,1512],{"class":1495},[1295,3725,1562],{"class":1495},[1295,3727,3728],{"class":1305},"europe-west1",[1295,3730,3731],{"class":1495},"'",[1295,3733,3491],{"class":1495},[1295,3735,3736,3739,3741,3744],{"class":1297,"line":1544},[1295,3737,3738],{"class":1508},"        maxInstances",[1295,3740,1512],{"class":1495},[1295,3742,3743],{"class":3289}," 3",[1295,3745,3491],{"class":1495},[1295,3747,3748],{"class":1297,"line":1554},[1295,3749,3750],{"class":1495},"      },\n",[1295,3752,3753],{"class":1297,"line":1571},[1295,3754,3755],{"class":1495},"    },\n",[1295,3757,3758],{"class":1297,"line":1577},[1295,3759,3760],{"class":1495},"  },\n",[1295,3762,3763,3765,3768],{"class":1297,"line":1583},[1295,3764,1598],{"class":1495},[1295,3766,3767],{"class":1491},")",[1295,3769,3770],{"class":1495},";\n",[1269,3772,3774],{"id":3773},"runtime-nodejs-version","Runtime Node.js Version",[1139,3776,3777],{},"You can set custom Node.js version in configuration:",[1286,3779,3781],{"className":1471,"code":3780,"filename":260,"language":1473,"meta":1214,"style":1214},"export default defineNuxtConfig({\n  nitro: {\n    firebase: {\n      nodeVersion: '18' // Can be '16' or '18' or '20'\n    },\n  },\n});\n",[1264,3782,3783,3795,3803,3811,3828,3832,3836],{"__ignoreMap":1214},[1295,3784,3785,3787,3789,3791,3793],{"class":1297,"line":1298},[1295,3786,1481],{"class":1480},[1295,3788,1484],{"class":1480},[1295,3790,1488],{"class":1487},[1295,3792,1492],{"class":1491},[1295,3794,1496],{"class":1495},[1295,3796,3797,3799,3801],{"class":1297,"line":1215},[1295,3798,1509],{"class":1508},[1295,3800,1512],{"class":1495},[1295,3802,1515],{"class":1495},[1295,3804,3805,3807,3809],{"class":1297,"line":1505},[1295,3806,3275],{"class":1508},[1295,3808,1512],{"class":1495},[1295,3810,1515],{"class":1495},[1295,3812,3813,3816,3818,3820,3823,3825],{"class":1297,"line":1518},[1295,3814,3815],{"class":1508},"      nodeVersion",[1295,3817,1512],{"class":1495},[1295,3819,1562],{"class":1495},[1295,3821,3822],{"class":1305},"18",[1295,3824,3731],{"class":1495},[1295,3826,3827],{"class":1501}," // Can be '16' or '18' or '20'\n",[1295,3829,3830],{"class":1297,"line":1528},[1295,3831,3755],{"class":1495},[1295,3833,3834],{"class":1297,"line":1538},[1295,3835,3760],{"class":1495},[1295,3837,3838,3840,3842],{"class":1297,"line":1544},[1295,3839,1598],{"class":1495},[1295,3841,3767],{"class":1491},[1295,3843,3770],{"class":1495},[1139,3845,3846,3847,3849,3850,3852,3853,3856],{},"Firebase tools use the ",[1264,3848,3069],{}," version in  ",[1264,3851,264],{}," to determine which node version to use for your functions. Nuxt automatically writes to the ",[1264,3854,3855],{},".output/server/package.json"," with configured Node.js version.",[1139,3858,3859,3860,3663],{},"You might also need to add a runtime key to your ",[1264,3861,3408],{},[1286,3863,3865],{"className":3076,"code":3864,"filename":3408,"language":3078,"meta":1214,"style":1214},"{\n  \"functions\": {\n    \"source\": \".output/server\",\n    \"runtime\": \"nodejs20\"\n  }\n}\n",[1264,3866,3867,3871,3883,3902,3920,3924],{"__ignoreMap":1214},[1295,3868,3869],{"class":1297,"line":1298},[1295,3870,1496],{"class":1495},[1295,3872,3873,3875,3877,3879,3881],{"class":1297,"line":1215},[1295,3874,3089],{"class":1495},[1295,3876,3425],{"class":3092},[1295,3878,1940],{"class":1495},[1295,3880,1512],{"class":1495},[1295,3882,1515],{"class":1495},[1295,3884,3885,3888,3890,3892,3894,3896,3898,3900],{"class":1297,"line":1505},[1295,3886,3887],{"class":1495},"    \"",[1295,3889,3437],{"class":1301},[1295,3891,1940],{"class":1495},[1295,3893,1512],{"class":1495},[1295,3895,3114],{"class":1495},[1295,3897,3446],{"class":1305},[1295,3899,1940],{"class":1495},[1295,3901,3491],{"class":1495},[1295,3903,3904,3906,3909,3911,3913,3915,3918],{"class":1297,"line":1518},[1295,3905,3887],{"class":1495},[1295,3907,3908],{"class":1301},"runtime",[1295,3910,1940],{"class":1495},[1295,3912,1512],{"class":1495},[1295,3914,3114],{"class":1495},[1295,3916,3917],{"class":1305},"nodejs20",[1295,3919,1946],{"class":1495},[1295,3921,3922],{"class":1297,"line":1528},[1295,3923,1592],{"class":1495},[1295,3925,3926],{"class":1297,"line":1538},[1295,3927,3128],{"class":1495},[1196,3929,3931],{"target":1198,"to":3930},"https://firebase.google.com/docs/functions/manage-functions?gen=2nd#set_nodejs_version",[1139,3932,3933,3934,1158],{},"You can read more about this in ",[1142,3935,3936],{},"Firebase Docs",[1160,3938,3940],{"id":3939},"if-your-firebase-project-has-other-cloud-functions","If your firebase project has other cloud functions",[1139,3942,3943,3944,3947],{},"You may be warned that other cloud functions will be deleted when you deploy your Nuxt project. This is because nitro will deploy your entire project to firebase functions. If you want to deploy only your Nuxt project, you can use the ",[1264,3945,3946],{},"--only"," flag:",[1286,3949,3951],{"className":1288,"code":3950,"language":1291,"meta":1214,"style":1214},"firebase deploy --only functions:server,hosting\n",[1264,3952,3953],{"__ignoreMap":1214},[1295,3954,3955,3957,3959,3962],{"class":1297,"line":1298},[1295,3956,3376],{"class":1301},[1295,3958,2613],{"class":1305},[1295,3960,3961],{"class":1305}," --only",[1295,3963,3964],{"class":1305}," functions:server,hosting\n",[1196,3966,3968],{"target":1198,"to":3967},"https://nitro.unjs.io/deploy/providers/firebase",[1139,3969,1208,3970,3972],{},[1142,3971,1211],{}," to learn more about the Firebase deployment preset.",[1160,3974,3976],{"id":3975},"using-cookies-in-production","Using Cookies in production",[1139,3978,3979,3980,3983],{},"When using Firebase Hosting together with Cloud Functions or Cloud Run, cookies are generally stripped from incoming requests to allow for efficient CDN cache behavior. Only the specially-named ",[1264,3981,3982],{},"__session"," cookie is permitted to pass through to your app.",[1196,3985,3988],{"target":3986,"to":3987},"\\_blank","https://firebase.google.com/docs/hosting/manage-cache#using_cookies",[1139,3989,3990,3991,1158],{},"For more information, refer to the ",[1142,3992,3993],{},"Firebase documentation",[1160,3995,3997],{"id":3996},"working-with-environment-variables","Working with Environment Variables",[1139,3999,4000,4001,4003,4004,4006,4007,4010,4011,4013],{},"To set environment variables for your Firebase functions, you need to copy the ",[1264,4002,231],{}," file to the ",[1264,4005,3446],{}," directory.\nYou can do this by adding a ",[1264,4008,4009],{},"postbuild"," script to your ",[1264,4012,264],{},", that will automatically run after the build command:",[1286,4015,4017],{"className":3076,"code":4016,"filename":264,"language":3078,"meta":1214,"style":1214},"{\n  \"scripts\": {\n    \"postbuild\": \"cp .env .output/server/.env\"\n  }\n}\n",[1264,4018,4019,4023,4035,4052,4056],{"__ignoreMap":1214},[1295,4020,4021],{"class":1297,"line":1298},[1295,4022,1496],{"class":1495},[1295,4024,4025,4027,4029,4031,4033],{"class":1297,"line":1215},[1295,4026,3089],{"class":1495},[1295,4028,3149],{"class":3092},[1295,4030,1940],{"class":1495},[1295,4032,1512],{"class":1495},[1295,4034,1515],{"class":1495},[1295,4036,4037,4039,4041,4043,4045,4047,4050],{"class":1297,"line":1505},[1295,4038,3887],{"class":1495},[1295,4040,4009],{"class":1301},[1295,4042,1940],{"class":1495},[1295,4044,1512],{"class":1495},[1295,4046,3114],{"class":1495},[1295,4048,4049],{"class":1305},"cp .env .output/server/.env",[1295,4051,1946],{"class":1495},[1295,4053,4054],{"class":1297,"line":1518},[1295,4055,1592],{"class":1495},[1295,4057,4058],{"class":1297,"line":1528},[1295,4059,3128],{"class":1495},[1196,4061,4063],{"target":3986,"to":4062},"https://firebase.google.com/docs/functions/config-env?gen=2nd#env-variables",[1139,4064,3990,4065,1158],{},[1142,4066,3993],{},[1724,4068,4069],{},"html pre.shiki code .sFVN2, html code.shiki .sFVN2{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#39ADB5;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic}html pre.shiki code .szd4z, html code.shiki .szd4z{--shiki-light:#6182B8;--shiki-default:#6182B8;--shiki-dark:#82AAFF}html pre.shiki code .spdxX, html code.shiki .spdxX{--shiki-light:#90A4AE;--shiki-default:#90A4AE;--shiki-dark:#BABED8}html pre.shiki code .sYp4K, html code.shiki .sYp4K{--shiki-light:#39ADB5;--shiki-default:#39ADB5;--shiki-dark:#89DDFF}html pre.shiki code .sQ5dg, html code.shiki .sQ5dg{--shiki-light:#E53935;--shiki-default:#E53935;--shiki-dark:#F07178}html pre.shiki code .sV9sa, html code.shiki .sV9sa{--shiki-light:#F76D47;--shiki-default:#F76D47;--shiki-dark:#F78C6C}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 .sT2Ow, html code.shiki .sT2Ow{--shiki-light:#E2931D;--shiki-default:#E2931D;--shiki-dark:#FFCB6B}html pre.shiki code .s5UST, html code.shiki .s5UST{--shiki-light:#91B859;--shiki-default:#91B859;--shiki-dark:#C3E88D}html pre.shiki code .sRBFq, html code.shiki .sRBFq{--shiki-light:#9C3EDA;--shiki-default:#9C3EDA;--shiki-dark:#C792EA}html pre.shiki code .svXlt, html code.shiki .svXlt{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#90A4AE;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}",{"title":1214,"searchDepth":1215,"depth":1215,"links":4071},[4072,4073,4074,4075,4076,4079,4080,4081],{"id":3234,"depth":1215,"text":3235},{"id":3331,"depth":1215,"text":3332},{"id":1271,"depth":1215,"text":3589},{"id":3621,"depth":1215,"text":3622},{"id":3656,"depth":1215,"text":3657,"children":4077},[4078],{"id":3773,"depth":1505,"text":3774},{"id":3939,"depth":1215,"text":3940},{"id":3975,"depth":1215,"text":3976},{"id":3996,"depth":1215,"text":3997},"Deploy your Nuxt Application to Firebase infrastructure.","i-logos-firebase",{},"/deploy/firebase",{"title":3229,"description":4082},"deploy/firebase","https://firebase.google.com/","nmoKKXA0u1",{"id":4091,"title":4092,"body":4093,"category":1219,"componentImg":6,"description":4569,"extension":1118,"featured":108,"logoIcon":6,"logoSrc":4570,"meta":4571,"navigation":1224,"nitroPreset":4572,"path":4573,"seo":4574,"stem":4575,"website":4576,"__hash__":4577},"deploy/deploy/flightcontrol.md","Flightcontrol",{"type":1133,"value":4094,"toc":4563},[4095,4103,4114,4118,4121,4150,4154,4175,4181,4196,4542,4546,4552,4560],[1139,4096,4097,4098,1834],{},"Nitro supports deploying to ",[1152,4099,4102],{"href":4100,"rel":4101},"https://flightcontrol.dev?ref=nuxt",[1156],"AWS via Flightcontrol",[1136,4104,4105,4109,4111],{},[1139,4106,4107],{},[1142,4108,1144],{},[1146,4110],{},[1139,4112,4113],{},"Integration with Flightcontrol is possible with zero configuration.",[1160,4115,4117],{"id":4116},"set-up-your-flightcontrol-account","Set Up your Flightcontrol account",[1139,4119,4120],{},"On a high level, the steps you will need to follow to deploy a project for the first time are:",[1165,4122,4123,4130,4138,4141,4144],{},[1168,4124,4125,4126],{},"Create an account at ",[1152,4127,4092],{"href":4128,"rel":4129},"https://app.flightcontrol.dev/signup?ref=nuxt",[1156],[1168,4131,4125,4132,4137],{},[1152,4133,4136],{"href":4134,"rel":4135},"https://portal.aws.amazon.com/billing/signup",[1156],"AWS"," (if you don't already have one)",[1168,4139,4140],{},"Link your AWS account to the Flightcontrol",[1168,4142,4143],{},"Authorize the Flightcontrol GitHub App to access your chosen repositories, public or private.",[1168,4145,4146,4147,1158],{},"Create a Flightcontrol project with configuration via the Dashboard or with configuration via ",[1264,4148,4149],{},"flightcontrol.json",[1160,4151,4153],{"id":4152},"create-a-project-with-configuration-via-the-dashboard","Create a Project with Configuration via the Dashboard",[1165,4155,4156,4159,4166,4169,4172],{},[1168,4157,4158],{},"Create a Flightcontrol project from the Dashboard. Select a repository for the source.",[1168,4160,4161,4162,4165],{},"Select the ",[1264,4163,4164],{},"GUI"," config type.",[1168,4167,4168],{},"Select the Nuxt preset.",[1168,4170,4171],{},"Select your preferred AWS server size.",[1168,4173,4174],{},"Submit the new project form.",[1160,4176,4178,4179],{"id":4177},"create-a-project-with-configuration-via-flightcontroljson","Create a Project with Configuration via ",[1264,4180,4149],{},[1165,4182,4183,4186,4190],{},[1168,4184,4185],{},"Create a Flightcontrol project from your dashboard. Select a repository for the source.",[1168,4187,4161,4188,4165],{},[1264,4189,4149],{},[1168,4191,4192,4193,4195],{},"Add a new file at the root of your repository called ",[1264,4194,4149],{},". Here is an example configuration that creates an AWS fargate service for your app:",[1286,4197,4199],{"className":3076,"code":4198,"filename":4149,"language":3078,"meta":1214,"style":1214},"{\n  \"$schema\": \"https://app.flightcontrol.dev/schema.json\",\n  \"environments\": [\n    {\n      \"id\": \"production\",\n      \"name\": \"Production\",\n      \"region\": \"us-west-2\",\n      \"source\": {\n        \"branch\": \"main\"\n      },\n      \"services\": [\n        {\n          \"id\": \"nitro\",\n          \"buildType\": \"nixpacks\",\n          \"name\": \"My Nitro site\",\n          \"type\": \"fargate\",\n          \"domain\": \"www.yourdomain.com\",\n          \"outputDirectory\": \".output\",\n          \"startCommand\": \"node .output/server/index.mjs\",\n          \"cpu\": 0.25,\n          \"memory\": 0.5\n        }\n      ]\n    }\n  ]\n}\n",[1264,4200,4201,4205,4225,4238,4242,4262,4282,4301,4313,4332,4336,4349,4354,4374,4394,4413,4433,4453,4472,4491,4507,4521,4525,4530,4534,4538],{"__ignoreMap":1214},[1295,4202,4203],{"class":1297,"line":1298},[1295,4204,1496],{"class":1495},[1295,4206,4207,4209,4212,4214,4216,4218,4221,4223],{"class":1297,"line":1215},[1295,4208,3089],{"class":1495},[1295,4210,4211],{"class":3092},"$schema",[1295,4213,1940],{"class":1495},[1295,4215,1512],{"class":1495},[1295,4217,3114],{"class":1495},[1295,4219,4220],{"class":1305},"https://app.flightcontrol.dev/schema.json",[1295,4222,1940],{"class":1495},[1295,4224,3491],{"class":1495},[1295,4226,4227,4229,4232,4234,4236],{"class":1297,"line":1505},[1295,4228,3089],{"class":1495},[1295,4230,4231],{"class":3092},"environments",[1295,4233,1940],{"class":1495},[1295,4235,1512],{"class":1495},[1295,4237,3465],{"class":1495},[1295,4239,4240],{"class":1297,"line":1518},[1295,4241,3470],{"class":1495},[1295,4243,4244,4246,4249,4251,4253,4255,4258,4260],{"class":1297,"line":1528},[1295,4245,3104],{"class":1495},[1295,4247,4248],{"class":1301},"id",[1295,4250,1940],{"class":1495},[1295,4252,1512],{"class":1495},[1295,4254,3114],{"class":1495},[1295,4256,4257],{"class":1305},"production",[1295,4259,1940],{"class":1495},[1295,4261,3491],{"class":1495},[1295,4263,4264,4266,4269,4271,4273,4275,4278,4280],{"class":1297,"line":1538},[1295,4265,3104],{"class":1495},[1295,4267,4268],{"class":1301},"name",[1295,4270,1940],{"class":1495},[1295,4272,1512],{"class":1495},[1295,4274,3114],{"class":1495},[1295,4276,4277],{"class":1305},"Production",[1295,4279,1940],{"class":1495},[1295,4281,3491],{"class":1495},[1295,4283,4284,4286,4288,4290,4292,4294,4297,4299],{"class":1297,"line":1544},[1295,4285,3104],{"class":1495},[1295,4287,1896],{"class":1301},[1295,4289,1940],{"class":1495},[1295,4291,1512],{"class":1495},[1295,4293,3114],{"class":1495},[1295,4295,4296],{"class":1305},"us-west-2",[1295,4298,1940],{"class":1495},[1295,4300,3491],{"class":1495},[1295,4302,4303,4305,4307,4309,4311],{"class":1297,"line":1554},[1295,4304,3104],{"class":1495},[1295,4306,3437],{"class":1301},[1295,4308,1940],{"class":1495},[1295,4310,1512],{"class":1495},[1295,4312,1515],{"class":1495},[1295,4314,4315,4318,4321,4323,4325,4327,4330],{"class":1297,"line":1571},[1295,4316,4317],{"class":1495},"        \"",[1295,4319,4320],{"class":3289},"branch",[1295,4322,1940],{"class":1495},[1295,4324,1512],{"class":1495},[1295,4326,3114],{"class":1495},[1295,4328,4329],{"class":1305},"main",[1295,4331,1946],{"class":1495},[1295,4333,4334],{"class":1297,"line":1577},[1295,4335,3750],{"class":1495},[1295,4337,4338,4340,4343,4345,4347],{"class":1297,"line":1583},[1295,4339,3104],{"class":1495},[1295,4341,4342],{"class":1301},"services",[1295,4344,1940],{"class":1495},[1295,4346,1512],{"class":1495},[1295,4348,3465],{"class":1495},[1295,4350,4351],{"class":1297,"line":1589},[1295,4352,4353],{"class":1495},"        {\n",[1295,4355,4356,4359,4361,4363,4365,4367,4370,4372],{"class":1297,"line":1595},[1295,4357,4358],{"class":1495},"          \"",[1295,4360,4248],{"class":3289},[1295,4362,1940],{"class":1495},[1295,4364,1512],{"class":1495},[1295,4366,3114],{"class":1495},[1295,4368,4369],{"class":1305},"nitro",[1295,4371,1940],{"class":1495},[1295,4373,3491],{"class":1495},[1295,4375,4376,4378,4381,4383,4385,4387,4390,4392],{"class":1297,"line":2887},[1295,4377,4358],{"class":1495},[1295,4379,4380],{"class":3289},"buildType",[1295,4382,1940],{"class":1495},[1295,4384,1512],{"class":1495},[1295,4386,3114],{"class":1495},[1295,4388,4389],{"class":1305},"nixpacks",[1295,4391,1940],{"class":1495},[1295,4393,3491],{"class":1495},[1295,4395,4396,4398,4400,4402,4404,4406,4409,4411],{"class":1297,"line":2893},[1295,4397,4358],{"class":1495},[1295,4399,4268],{"class":3289},[1295,4401,1940],{"class":1495},[1295,4403,1512],{"class":1495},[1295,4405,3114],{"class":1495},[1295,4407,4408],{"class":1305},"My Nitro site",[1295,4410,1940],{"class":1495},[1295,4412,3491],{"class":1495},[1295,4414,4415,4417,4420,4422,4424,4426,4429,4431],{"class":1297,"line":2899},[1295,4416,4358],{"class":1495},[1295,4418,4419],{"class":3289},"type",[1295,4421,1940],{"class":1495},[1295,4423,1512],{"class":1495},[1295,4425,3114],{"class":1495},[1295,4427,4428],{"class":1305},"fargate",[1295,4430,1940],{"class":1495},[1295,4432,3491],{"class":1495},[1295,4434,4435,4437,4440,4442,4444,4446,4449,4451],{"class":1297,"line":2905},[1295,4436,4358],{"class":1495},[1295,4438,4439],{"class":3289},"domain",[1295,4441,1940],{"class":1495},[1295,4443,1512],{"class":1495},[1295,4445,3114],{"class":1495},[1295,4447,4448],{"class":1305},"www.yourdomain.com",[1295,4450,1940],{"class":1495},[1295,4452,3491],{"class":1495},[1295,4454,4455,4457,4460,4462,4464,4466,4468,4470],{"class":1297,"line":2911},[1295,4456,4358],{"class":1495},[1295,4458,4459],{"class":3289},"outputDirectory",[1295,4461,1940],{"class":1495},[1295,4463,1512],{"class":1495},[1295,4465,3114],{"class":1495},[1295,4467,171],{"class":1305},[1295,4469,1940],{"class":1495},[1295,4471,3491],{"class":1495},[1295,4473,4474,4476,4479,4481,4483,4485,4487,4489],{"class":1297,"line":2917},[1295,4475,4358],{"class":1495},[1295,4477,4478],{"class":3289},"startCommand",[1295,4480,1940],{"class":1495},[1295,4482,1512],{"class":1495},[1295,4484,3114],{"class":1495},[1295,4486,1958],{"class":1305},[1295,4488,1940],{"class":1495},[1295,4490,3491],{"class":1495},[1295,4492,4493,4495,4498,4500,4502,4505],{"class":1297,"line":2923},[1295,4494,4358],{"class":1495},[1295,4496,4497],{"class":3289},"cpu",[1295,4499,1940],{"class":1495},[1295,4501,1512],{"class":1495},[1295,4503,4504],{"class":3289}," 0.25",[1295,4506,3491],{"class":1495},[1295,4508,4509,4511,4514,4516,4518],{"class":1297,"line":2929},[1295,4510,4358],{"class":1495},[1295,4512,4513],{"class":3289},"memory",[1295,4515,1940],{"class":1495},[1295,4517,1512],{"class":1495},[1295,4519,4520],{"class":3289}," 0.5\n",[1295,4522,4523],{"class":1297,"line":2935},[1295,4524,1574],{"class":1495},[1295,4526,4527],{"class":1297,"line":2941},[1295,4528,4529],{"class":1495},"      ]\n",[1295,4531,4532],{"class":1297,"line":2947},[1295,4533,1586],{"class":1495},[1295,4535,4536],{"class":1297,"line":2952},[1295,4537,3582],{"class":1495},[1295,4539,4540],{"class":1297,"line":2958},[1295,4541,3128],{"class":1495},[1165,4543,4544],{"start":1518},[1168,4545,4174],{},[1196,4547,4549],{"target":1198,"to":4548},"https://www.flightcontrol.dev/docs?ref=nuxt",[1139,4550,4551],{},"Learn more about Flightcontrol's configuration.",[1196,4553,4555],{"target":1198,"to":4554},"https://nitro.unjs.io/deploy/providers/flightcontrol",[1139,4556,1208,4557,4559],{},[1142,4558,1211],{}," to learn more about the flightcontrol deployment preset.",[1724,4561,4562],{},"html pre.shiki code .sYp4K, html code.shiki .sYp4K{--shiki-light:#39ADB5;--shiki-default:#39ADB5;--shiki-dark:#89DDFF}html pre.shiki code .sRBFq, html code.shiki .sRBFq{--shiki-light:#9C3EDA;--shiki-default:#9C3EDA;--shiki-dark:#C792EA}html pre.shiki code .s5UST, html code.shiki .s5UST{--shiki-light:#91B859;--shiki-default:#91B859;--shiki-dark:#C3E88D}html pre.shiki code .sT2Ow, html code.shiki .sT2Ow{--shiki-light:#E2931D;--shiki-default:#E2931D;--shiki-dark:#FFCB6B}html pre.shiki code .sV9sa, html code.shiki .sV9sa{--shiki-light:#F76D47;--shiki-default:#F76D47;--shiki-dark:#F78C6C}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);}",{"title":1214,"searchDepth":1215,"depth":1215,"links":4564},[4565,4566,4567],{"id":4116,"depth":1215,"text":4117},{"id":4152,"depth":1215,"text":4153},{"id":4177,"depth":1215,"text":4568},"Create a Project with Configuration via flightcontrol.json","Deploy your Nuxt Application to Flightcontrol infrastructure.","/assets/integrations/flightcontrol.webp",{},"flightcontrol","/deploy/flightcontrol",{"title":4092,"description":4569},"deploy/flightcontrol","https://www.flightcontrol.dev","bixizc0NeU",{"id":4579,"title":4580,"body":4581,"category":1219,"componentImg":6,"description":4869,"extension":1118,"featured":108,"logoIcon":2645,"logoSrc":6,"meta":4870,"navigation":1224,"nitroPreset":4871,"path":4872,"seo":4873,"stem":4874,"website":4588,"__hash__":4875},"deploy/deploy/github-pages.md","GitHub Pages",{"type":1133,"value":4582,"toc":4865},[4583,4590,4596,4621,4623,4631,4634,4641,4854,4862],[1139,4584,4585,4586,1834],{},"Nuxt supports deploying to ",[1152,4587,4580],{"href":4588,"rel":4589},"https://pages.github.com/",[1156],[4591,4592,4593],"caution",{},[1139,4594,4595],{},"GitHub Pages only support static sites, Nuxt will pre-render your application to static HTML files.",[4591,4597,4598,4609],{},[1139,4599,4600,4601,4604,4605,4608],{},"If you are ",[1142,4602,4603],{},"not"," using a custom domain, you need to set ",[1264,4606,4607],{},"NUXT_APP_BASE_URL"," to your repository-slug for your build step.",[1139,4610,4611,4614,4615,4614,4618],{},[1142,4612,4613],{},"Example",": ",[1264,4616,4617],{},"https://\u003Cuser>.github.io/\u003Crepository>/",[1264,4619,4620],{},"NUXT_APP_BASE_URL=/\u003Crepository>/ npx nuxt build --preset github_pages",[1160,4622,1163],{"id":1162},[1139,4624,4625,4626,1158],{},"Follow the steps to ",[1152,4627,4630],{"href":4628,"rel":4629},"https://docs.github.com/en/pages/getting-started-with-github-pages/creating-a-github-pages-site",[1156],"create a GitHub Pages site",[1160,4632,94],{"id":4633},"deployment",[1139,4635,4636,4637,4640],{},"Here is an example GitHub Actions workflow to deploy your site to GitHub Pages using the ",[1264,4638,4639],{},"github_pages"," preset:",[1286,4642,4645],{"className":1664,"code":4643,"filename":4644,"language":1667,"meta":1214,"style":1214},"# https://github.com/actions/deploy-pages#usage\nname: Deploy to GitHub Pages\non:\n  workflow_dispatch:\n  push:\n    branches:\n      - main\njobs:\n  build:\n    runs-on: ubuntu-latest\n    steps:\n      - uses: actions/checkout@v4\n      - run: corepack enable\n      - uses: actions/setup-node@v4\n        with:\n          node-version: \"20\"\n      # Pick your own package manager and build script\n      - run: npm install\n      - run: npx nuxt build --preset github_pages\n      - name: Upload artifact\n        uses: actions/upload-pages-artifact@v3\n        with:\n          path: ./.output/public\n  # Deployment job\n  deploy:\n    # Add a dependency to the build job\n    needs: build\n    # Grant GITHUB_TOKEN the permissions required to make a Pages deployment\n    permissions:\n      pages: write      # to deploy to Pages\n      id-token: write   # to verify the deployment originates from an appropriate source\n    # Deploy to the github_pages environment\n    environment:\n      name: github_pages\n      url: ${{ steps.deployment.outputs.page_url }}\n    # Specify runner + deployment step\n    runs-on: ubuntu-latest\n    steps:\n      - name: Deploy to GitHub Pages\n        id: deployment\n        uses: actions/deploy-pages@v4\n",".github/workflows/deploy.yml",[1264,4646,4647,4652,4657,4661,4666,4670,4674,4678,4682,4687,4692,4696,4701,4705,4710,4714,4719,4724,4729,4734,4739,4744,4748,4753,4758,4762,4767,4772,4778,4784,4790,4796,4802,4808,4814,4820,4826,4831,4836,4842,4848],{"__ignoreMap":1214},[1295,4648,4649],{"class":1297,"line":1298},[1295,4650,4651],{},"# https://github.com/actions/deploy-pages#usage\n",[1295,4653,4654],{"class":1297,"line":1215},[1295,4655,4656],{},"name: Deploy to GitHub Pages\n",[1295,4658,4659],{"class":1297,"line":1505},[1295,4660,2831],{},[1295,4662,4663],{"class":1297,"line":1518},[1295,4664,4665],{},"  workflow_dispatch:\n",[1295,4667,4668],{"class":1297,"line":1528},[1295,4669,2836],{},[1295,4671,4672],{"class":1297,"line":1538},[1295,4673,2841],{},[1295,4675,4676],{"class":1297,"line":1544},[1295,4677,2846],{},[1295,4679,4680],{"class":1297,"line":1554},[1295,4681,2864],{},[1295,4683,4684],{"class":1297,"line":1571},[1295,4685,4686],{},"  build:\n",[1295,4688,4689],{"class":1297,"line":1577},[1295,4690,4691],{},"    runs-on: ubuntu-latest\n",[1295,4693,4694],{"class":1297,"line":1583},[1295,4695,2874],{},[1295,4697,4698],{"class":1297,"line":1589},[1295,4699,4700],{},"      - uses: actions/checkout@v4\n",[1295,4702,4703],{"class":1297,"line":1595},[1295,4704,2884],{},[1295,4706,4707],{"class":1297,"line":2887},[1295,4708,4709],{},"      - uses: actions/setup-node@v4\n",[1295,4711,4712],{"class":1297,"line":2893},[1295,4713,2896],{},[1295,4715,4716],{"class":1297,"line":2899},[1295,4717,4718],{},"          node-version: \"20\"\n",[1295,4720,4721],{"class":1297,"line":2905},[1295,4722,4723],{},"      # Pick your own package manager and build script\n",[1295,4725,4726],{"class":1297,"line":2911},[1295,4727,4728],{},"      - run: npm install\n",[1295,4730,4731],{"class":1297,"line":2917},[1295,4732,4733],{},"      - run: npx nuxt build --preset github_pages\n",[1295,4735,4736],{"class":1297,"line":2923},[1295,4737,4738],{},"      - name: Upload artifact\n",[1295,4740,4741],{"class":1297,"line":2929},[1295,4742,4743],{},"        uses: actions/upload-pages-artifact@v3\n",[1295,4745,4746],{"class":1297,"line":2935},[1295,4747,2896],{},[1295,4749,4750],{"class":1297,"line":2941},[1295,4751,4752],{},"          path: ./.output/public\n",[1295,4754,4755],{"class":1297,"line":2947},[1295,4756,4757],{},"  # Deployment job\n",[1295,4759,4760],{"class":1297,"line":2952},[1295,4761,2869],{},[1295,4763,4764],{"class":1297,"line":2958},[1295,4765,4766],{},"    # Add a dependency to the build job\n",[1295,4768,4769],{"class":1297,"line":2964},[1295,4770,4771],{},"    needs: build\n",[1295,4773,4775],{"class":1297,"line":4774},28,[1295,4776,4777],{},"    # Grant GITHUB_TOKEN the permissions required to make a Pages deployment\n",[1295,4779,4781],{"class":1297,"line":4780},29,[1295,4782,4783],{},"    permissions:\n",[1295,4785,4787],{"class":1297,"line":4786},30,[1295,4788,4789],{},"      pages: write      # to deploy to Pages\n",[1295,4791,4793],{"class":1297,"line":4792},31,[1295,4794,4795],{},"      id-token: write   # to verify the deployment originates from an appropriate source\n",[1295,4797,4799],{"class":1297,"line":4798},32,[1295,4800,4801],{},"    # Deploy to the github_pages environment\n",[1295,4803,4805],{"class":1297,"line":4804},33,[1295,4806,4807],{},"    environment:\n",[1295,4809,4811],{"class":1297,"line":4810},34,[1295,4812,4813],{},"      name: github_pages\n",[1295,4815,4817],{"class":1297,"line":4816},35,[1295,4818,4819],{},"      url: ${{ steps.deployment.outputs.page_url }}\n",[1295,4821,4823],{"class":1297,"line":4822},36,[1295,4824,4825],{},"    # Specify runner + deployment step\n",[1295,4827,4829],{"class":1297,"line":4828},37,[1295,4830,4691],{},[1295,4832,4834],{"class":1297,"line":4833},38,[1295,4835,2874],{},[1295,4837,4839],{"class":1297,"line":4838},39,[1295,4840,4841],{},"      - name: Deploy to GitHub Pages\n",[1295,4843,4845],{"class":1297,"line":4844},40,[1295,4846,4847],{},"        id: deployment\n",[1295,4849,4851],{"class":1297,"line":4850},41,[1295,4852,4853],{},"        uses: actions/deploy-pages@v4\n",[1196,4855,4857],{"target":1198,"to":4856},"https://nitro.unjs.io/deploy/providers/github-pages",[1139,4858,1208,4859,4861],{},[1142,4860,1211],{}," to learn more about the github-pages deployment preset.",[1724,4863,4864],{},"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);}",{"title":1214,"searchDepth":1215,"depth":1215,"links":4866},[4867,4868],{"id":1162,"depth":1215,"text":1163},{"id":4633,"depth":1215,"text":94},"Deploy your Nuxt Application to GitHub Pages infrastructure.",{},"github-pages","/deploy/github-pages",{"title":4580,"description":4869},"deploy/github-pages","EOuYovsU2n",{"id":4877,"title":4878,"body":4879,"category":1219,"componentImg":6,"description":5059,"extension":1118,"featured":108,"logoIcon":6,"logoSrc":5060,"meta":5061,"navigation":1224,"nitroPreset":6,"path":5062,"seo":5063,"stem":5064,"website":4885,"__hash__":5065},"deploy/deploy/gitlab.md","GitLab Pages",{"type":1133,"value":4880,"toc":5055},[4881,4887,4892,4910,4912,4917,5042,5044,5053],[1139,4882,3023,4883,1834],{},[1152,4884,4878],{"href":4885,"rel":4886},"https://docs.gitlab.com/ee/user/project/pages",[1156],[4591,4888,4889],{},[1139,4890,4891],{},"GitLab Pages only support static sites, Nuxt will pre-render your application to static HTML files.",[4591,4893,4894,4900],{},[1139,4895,4600,4896,4604,4898,4608],{},[1142,4897,4603],{},[1264,4899,4607],{},[1139,4901,4902,4614,4904,4614,4907],{},[1142,4903,4613],{},[1264,4905,4906],{},"https://\u003Cgroup/user>.gitlab.io/\u003Crepository>/",[1264,4908,4909],{},"NUXT_APP_BASE_URL=/\u003Crepository>/ npm run generate",[1160,4911,94],{"id":4633},[1165,4913,4914],{},[1168,4915,4916],{},"Here is an example GitLab Pages workflow to deploy your site to GitLab Pages:",[1286,4918,4921],{"className":1664,"code":4919,"filename":4920,"language":1667,"meta":1214,"style":1214},"# Job name has to be `pages`. See https://docs.gitlab.com/ee/user/project/pages/#how-it-works\npages:\n   image: node\n   before_script:\n      - npm ci --cache .npm --prefer-offline\n   script:\n      # Specify the steps involved to build your app here\n      - npm run generate\n   cache: # https://docs.gitlab.com/ee/ci/caching/#cache-nodejs-dependencies\n      key:\n         files:\n         - package-lock.json\n      paths:\n         - .npm/\n   artifacts:\n      paths:\n         # The directory that contains the built files to be published\n         - .output/public\n   # The directory that contains the built files to be published\n   publish: .output/public\n   rules:\n      # This ensures that only pushes to the default branch \n      # will trigger a pages deploy\n      - if: $CI_COMMIT_REF_NAME == $CI_DEFAULT_BRANCH\n",".gitlab-ci.yml",[1264,4922,4923,4928,4933,4938,4943,4948,4953,4958,4963,4968,4973,4978,4983,4988,4993,4998,5002,5007,5012,5017,5022,5027,5032,5037],{"__ignoreMap":1214},[1295,4924,4925],{"class":1297,"line":1298},[1295,4926,4927],{},"# Job name has to be `pages`. See https://docs.gitlab.com/ee/user/project/pages/#how-it-works\n",[1295,4929,4930],{"class":1297,"line":1215},[1295,4931,4932],{},"pages:\n",[1295,4934,4935],{"class":1297,"line":1505},[1295,4936,4937],{},"   image: node\n",[1295,4939,4940],{"class":1297,"line":1518},[1295,4941,4942],{},"   before_script:\n",[1295,4944,4945],{"class":1297,"line":1528},[1295,4946,4947],{},"      - npm ci --cache .npm --prefer-offline\n",[1295,4949,4950],{"class":1297,"line":1538},[1295,4951,4952],{},"   script:\n",[1295,4954,4955],{"class":1297,"line":1544},[1295,4956,4957],{},"      # Specify the steps involved to build your app here\n",[1295,4959,4960],{"class":1297,"line":1554},[1295,4961,4962],{},"      - npm run generate\n",[1295,4964,4965],{"class":1297,"line":1571},[1295,4966,4967],{},"   cache: # https://docs.gitlab.com/ee/ci/caching/#cache-nodejs-dependencies\n",[1295,4969,4970],{"class":1297,"line":1577},[1295,4971,4972],{},"      key:\n",[1295,4974,4975],{"class":1297,"line":1583},[1295,4976,4977],{},"         files:\n",[1295,4979,4980],{"class":1297,"line":1589},[1295,4981,4982],{},"         - package-lock.json\n",[1295,4984,4985],{"class":1297,"line":1595},[1295,4986,4987],{},"      paths:\n",[1295,4989,4990],{"class":1297,"line":2887},[1295,4991,4992],{},"         - .npm/\n",[1295,4994,4995],{"class":1297,"line":2893},[1295,4996,4997],{},"   artifacts:\n",[1295,4999,5000],{"class":1297,"line":2899},[1295,5001,4987],{},[1295,5003,5004],{"class":1297,"line":2905},[1295,5005,5006],{},"         # The directory that contains the built files to be published\n",[1295,5008,5009],{"class":1297,"line":2911},[1295,5010,5011],{},"         - .output/public\n",[1295,5013,5014],{"class":1297,"line":2917},[1295,5015,5016],{},"   # The directory that contains the built files to be published\n",[1295,5018,5019],{"class":1297,"line":2923},[1295,5020,5021],{},"   publish: .output/public\n",[1295,5023,5024],{"class":1297,"line":2929},[1295,5025,5026],{},"   rules:\n",[1295,5028,5029],{"class":1297,"line":2935},[1295,5030,5031],{},"      # This ensures that only pushes to the default branch \n",[1295,5033,5034],{"class":1297,"line":2941},[1295,5035,5036],{},"      # will trigger a pages deploy\n",[1295,5038,5039],{"class":1297,"line":2947},[1295,5040,5041],{},"      - if: $CI_COMMIT_REF_NAME == $CI_DEFAULT_BRANCH\n",[1160,5043,1194],{"id":1193},[1196,5045,5047],{"target":1198,"to":5046},"https://docs.gitlab.com/ee/user/project/pages/getting_started_part_one.html#project-website-examples",[1139,5048,1208,5049,5052],{},[1142,5050,5051],{},"GitLab Pages default domain names and URLs"," to learn more about the GitLab Pages default domain names.",[1724,5054,4864],{},{"title":1214,"searchDepth":1215,"depth":1215,"links":5056},[5057,5058],{"id":4633,"depth":1215,"text":94},{"id":1193,"depth":1215,"text":1194},"Deploy your Nuxt Application to GitLab Pages.","/assets/integrations/gitlab.svg",{},"/deploy/gitlab",{"title":4878,"description":5059},"deploy/gitlab","phjEYmrwSu",{"id":5067,"title":5068,"body":5069,"category":1219,"componentImg":6,"description":5230,"extension":1118,"featured":108,"logoIcon":6,"logoSrc":5231,"meta":5232,"navigation":1224,"nitroPreset":5095,"path":5233,"seo":5234,"stem":5235,"website":5236,"__hash__":5237},"deploy/deploy/heroku.md","Heroku",{"type":1133,"value":5070,"toc":5226},[5071,5077,5081,5213,5215,5223],[1139,5072,1829,5073,1834],{},[1152,5074,5068],{"href":5075,"rel":5076},"https://heroku.com/",[1156],[1160,5078,5080],{"id":5079},"using-the-heroku-cli","Using the Heroku CLI",[1165,5082,5083,5102,5120,5138],{},[1168,5084,5085,5086],{},"Create a new Heroku app.",[1286,5087,5089],{"className":1288,"code":5088,"filename":1290,"language":1291,"meta":1214,"style":1214},"heroku create myapp\n",[1264,5090,5091],{"__ignoreMap":1214},[1295,5092,5093,5096,5099],{"class":1297,"line":1298},[1295,5094,5095],{"class":1301},"heroku",[1295,5097,5098],{"class":1305}," create",[1295,5100,5101],{"class":1305}," myapp\n",[1168,5103,5104,5105],{},"Configure Heroku to use the nodejs buildpack.",[1286,5106,5108],{"className":1288,"code":5107,"filename":1290,"language":1291,"meta":1214,"style":1214},"heroku buildpacks:set heroku/nodejs\n",[1264,5109,5110],{"__ignoreMap":1214},[1295,5111,5112,5114,5117],{"class":1297,"line":1298},[1295,5113,5095],{"class":1301},[1295,5115,5116],{"class":1305}," buildpacks:set",[1295,5118,5119],{"class":1305}," heroku/nodejs\n",[1168,5121,5122,5123],{},"Configure your app.",[1286,5124,5126],{"className":1288,"code":5125,"filename":1290,"language":1291,"meta":1214,"style":1214},"heroku config:set SERVER_PRESET=heroku\n",[1264,5127,5128],{"__ignoreMap":1214},[1295,5129,5130,5132,5135],{"class":1297,"line":1298},[1295,5131,5095],{"class":1301},[1295,5133,5134],{"class":1305}," config:set",[1295,5136,5137],{"class":1305}," SERVER_PRESET=heroku\n",[1168,5139,5140,5141,5143,5144,5147,5148,1347,5150],{},"Ensure you have ",[1264,5142,3162],{}," and ",[1264,5145,5146],{},"build"," commands in your ",[1264,5149,264],{},[1286,5151,5153],{"className":3076,"code":5152,"filename":264,"language":3078,"meta":1214,"style":1214},"{\n  \"scripts\": {\n    \"build\": \"nuxt build\",\n    \"start\": \"node .output/server/index.mjs\"\n  }\n}\n",[1264,5154,5155,5159,5171,5189,5205,5209],{"__ignoreMap":1214},[1295,5156,5157],{"class":1297,"line":1298},[1295,5158,1496],{"class":1495},[1295,5160,5161,5163,5165,5167,5169],{"class":1297,"line":1215},[1295,5162,3089],{"class":1495},[1295,5164,3149],{"class":3092},[1295,5166,1940],{"class":1495},[1295,5168,1512],{"class":1495},[1295,5170,1515],{"class":1495},[1295,5172,5173,5175,5177,5179,5181,5183,5185,5187],{"class":1297,"line":1505},[1295,5174,3887],{"class":1495},[1295,5176,5146],{"class":1301},[1295,5178,1940],{"class":1495},[1295,5180,1512],{"class":1495},[1295,5182,3114],{"class":1495},[1295,5184,2456],{"class":1305},[1295,5186,1940],{"class":1495},[1295,5188,3491],{"class":1495},[1295,5190,5191,5193,5195,5197,5199,5201,5203],{"class":1297,"line":1518},[1295,5192,3887],{"class":1495},[1295,5194,3162],{"class":1301},[1295,5196,1940],{"class":1495},[1295,5198,1512],{"class":1495},[1295,5200,3114],{"class":1495},[1295,5202,1958],{"class":1305},[1295,5204,1946],{"class":1495},[1295,5206,5207],{"class":1297,"line":1528},[1295,5208,1592],{"class":1495},[1295,5210,5211],{"class":1297,"line":1538},[1295,5212,3128],{"class":1495},[1160,5214,1194],{"id":1193},[1196,5216,5218],{"target":1198,"to":5217},"https://nitro.unjs.io/deploy/providers/heroku",[1139,5219,1208,5220,5222],{},[1142,5221,1211],{}," to learn more about the Heroku deployment preset.",[1724,5224,5225],{},"html pre.shiki code .sT2Ow, html code.shiki .sT2Ow{--shiki-light:#E2931D;--shiki-default:#E2931D;--shiki-dark:#FFCB6B}html pre.shiki code .s5UST, html code.shiki .s5UST{--shiki-light:#91B859;--shiki-default:#91B859;--shiki-dark:#C3E88D}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 .sYp4K, html code.shiki .sYp4K{--shiki-light:#39ADB5;--shiki-default:#39ADB5;--shiki-dark:#89DDFF}html pre.shiki code .sRBFq, html code.shiki .sRBFq{--shiki-light:#9C3EDA;--shiki-default:#9C3EDA;--shiki-dark:#C792EA}",{"title":1214,"searchDepth":1215,"depth":1215,"links":5227},[5228,5229],{"id":5079,"depth":1215,"text":5080},{"id":1193,"depth":1215,"text":1194},"Deploy your Nuxt Application to Heroku infrastructure.","/assets/integrations/heroku.svg",{},"/deploy/heroku",{"title":5068,"description":5230},"deploy/heroku","https://www.heroku.com/","lQtR7T8cMp",{"id":5239,"title":5240,"body":5241,"category":1219,"componentImg":6,"description":5327,"extension":1118,"featured":108,"logoIcon":6,"logoSrc":5328,"meta":5329,"navigation":1224,"nitroPreset":5330,"path":5331,"seo":5332,"stem":5333,"website":5334,"__hash__":5335},"deploy/deploy/iis.md","IIS",{"type":1133,"value":5242,"toc":5323},[5243,5247,5310,5312,5320],[1160,5244,5246],{"id":5245},"using-iisnode","Using IISnode",[1165,5248,5249,5257,5264,5275,5285,5304],{},[1168,5250,5251,5252,5256],{},"Install the latest LTS version of ",[1152,5253,1868],{"href":5254,"rel":5255},"https://nodejs.org/en/",[1156]," on your Windows Server.",[1168,5258,1275,5259],{},[1152,5260,5263],{"href":5261,"rel":5262},"https://github.com/azure/iisnode/releases",[1156],"IISnode",[1168,5265,1275,5266,1158],{},[1152,5267,5270,5271,5274],{"href":5268,"rel":5269},"https://www.iis.net/downloads/microsoft/url-rewrite",[1156],"IIS ",[1264,5272,5273],{},"URLRewrite"," Module",[1168,5276,5277,5278,5281,5282,1158],{},"In IIS, add ",[1264,5279,5280],{},".mjs"," as a new mime type and set its content type to ",[1264,5283,5284],{},"application/javascript",[1168,5286,5287,5288],{},"Build you application with the following command:\n",[1286,5289,5291],{"className":1288,"code":5290,"filename":1290,"language":1291,"meta":1214,"style":1214},"npx nuxi build --preset=iis_node\n",[1264,5292,5293],{"__ignoreMap":1214},[1295,5294,5295,5297,5299,5301],{"class":1297,"line":1298},[1295,5296,1302],{"class":1301},[1295,5298,1306],{"class":1305},[1295,5300,1309],{"class":1305},[1295,5302,5303],{"class":1305}," --preset=iis_node\n",[1168,5305,5306,5307,5309],{},"Deploy the contents of your ",[1264,5308,171],{}," folder to your website in IIS.",[1160,5311,1716],{"id":1715},[1196,5313,5315],{"target":1198,"to":5314},"https://nitro.unjs.io/deploy/providers/iis",[1139,5316,1208,5317,5319],{},[1142,5318,1211],{}," to learn more about the IIS deployment presets.",[1724,5321,5322],{},"html pre.shiki code .sT2Ow, html code.shiki .sT2Ow{--shiki-light:#E2931D;--shiki-default:#E2931D;--shiki-dark:#FFCB6B}html pre.shiki code .s5UST, html code.shiki .s5UST{--shiki-light:#91B859;--shiki-default:#91B859;--shiki-dark:#C3E88D}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);}",{"title":1214,"searchDepth":1215,"depth":1215,"links":5324},[5325,5326],{"id":5245,"depth":1215,"text":5246},{"id":1715,"depth":1215,"text":1716},"Deploy your Nuxt Application to IIS infrastructure.","/assets/integrations/microsoft.webp",{},"iis","/deploy/iis",{"title":5240,"description":5327},"deploy/iis","https://www.iis.net/","l7z7GbRabN",{"id":5337,"title":5338,"body":5339,"category":1219,"componentImg":6,"description":5533,"extension":1118,"featured":108,"logoIcon":5534,"logoSrc":6,"meta":5535,"navigation":1224,"nitroPreset":5536,"path":5537,"seo":5538,"stem":5539,"website":5540,"__hash__":5541},"deploy/deploy/koyeb.md","Koyeb",{"type":1133,"value":5340,"toc":5529},[5341,5348,5350,5516,5518,5526],[1139,5342,3023,5343,1834],{},[1152,5344,5347],{"href":5345,"rel":5346},"https://www.koyeb.com/docs",[1156],"Koyeb serverless platform",[1160,5349,1163],{"id":1162},[1165,5351,5352,5359,5417,5491,5513],{},[1168,5353,5354,5355,1158],{},"Create a new Koyeb app for Nuxt following the ",[1152,5356,3040],{"href":5357,"rel":5358},"https://www.koyeb.com/docs/deploy/nuxt",[1156],[1168,5360,5361,5362,5364,5365,5367,5368,1512,5373],{},"Set the ",[1264,5363,3069],{}," field in your project's ",[1264,5366,264],{}," file to a ",[1152,5369,5372],{"href":5370,"rel":5371},"https://www.koyeb.com/docs/build-and-deploy/build-from-git/nodejs#runtime",[1156],"Koyeb-supported version of Node.js",[1286,5374,5375],{"className":3076,"code":3077,"filename":264,"language":3078,"meta":1214,"style":1214},[1264,5376,5377,5381,5393,5409,5413],{"__ignoreMap":1214},[1295,5378,5379],{"class":1297,"line":1298},[1295,5380,1496],{"class":1495},[1295,5382,5383,5385,5387,5389,5391],{"class":1297,"line":1215},[1295,5384,3089],{"class":1495},[1295,5386,3093],{"class":3092},[1295,5388,1940],{"class":1495},[1295,5390,1512],{"class":1495},[1295,5392,1515],{"class":1495},[1295,5394,5395,5397,5399,5401,5403,5405,5407],{"class":1297,"line":1505},[1295,5396,3104],{"class":1495},[1295,5398,3107],{"class":1301},[1295,5400,1940],{"class":1495},[1295,5402,1512],{"class":1495},[1295,5404,3114],{"class":1495},[1295,5406,3117],{"class":1305},[1295,5408,1946],{"class":1495},[1295,5410,5411],{"class":1297,"line":1518},[1295,5412,1592],{"class":1495},[1295,5414,5415],{"class":1297,"line":1528},[1295,5416,3128],{"class":1495},[1168,5418,5419,5420,5143,5422,5424,5425,5427,5428],{},"Ensure that ",[1264,5421,5146],{},[1264,5423,3162],{}," scripts are defined within the project's ",[1264,5426,264],{}," file to define how to build and run the application:",[1286,5429,5431],{"className":3076,"code":5430,"filename":264,"language":3078,"meta":1214,"style":1214},"{\n  \"scripts\": {\n      \"build\": \"nuxt build\",\n      \"start\": \"node .output/server/index.mjs\"\n  }\n}\n",[1264,5432,5433,5437,5449,5467,5483,5487],{"__ignoreMap":1214},[1295,5434,5435],{"class":1297,"line":1298},[1295,5436,1496],{"class":1495},[1295,5438,5439,5441,5443,5445,5447],{"class":1297,"line":1215},[1295,5440,3089],{"class":1495},[1295,5442,3149],{"class":3092},[1295,5444,1940],{"class":1495},[1295,5446,1512],{"class":1495},[1295,5448,1515],{"class":1495},[1295,5450,5451,5453,5455,5457,5459,5461,5463,5465],{"class":1297,"line":1505},[1295,5452,3104],{"class":1495},[1295,5454,5146],{"class":1301},[1295,5456,1940],{"class":1495},[1295,5458,1512],{"class":1495},[1295,5460,3114],{"class":1495},[1295,5462,2456],{"class":1305},[1295,5464,1940],{"class":1495},[1295,5466,3491],{"class":1495},[1295,5468,5469,5471,5473,5475,5477,5479,5481],{"class":1297,"line":1518},[1295,5470,3104],{"class":1495},[1295,5472,3162],{"class":1301},[1295,5474,1940],{"class":1495},[1295,5476,1512],{"class":1495},[1295,5478,3114],{"class":1495},[1295,5480,1958],{"class":1305},[1295,5482,1946],{"class":1495},[1295,5484,5485],{"class":1297,"line":1528},[1295,5486,1592],{"class":1495},[1295,5488,5489],{"class":1297,"line":1538},[1295,5490,3128],{"class":1495},[1168,5492,5493,5494,1512,5499],{},"During deployment, you'll need to configure environment variables. In your service settings, set the following ",[1152,5495,5498],{"href":5496,"rel":5497},"https://www.koyeb.com/docs/build-and-deploy/environment-variables",[1156],"environment variable",[1286,5500,5502],{"className":1288,"code":5501,"language":1291,"meta":1214,"style":1214},"SERVER_PRESET=koyeb\n",[1264,5503,5504],{"__ignoreMap":1214},[1295,5505,5506,5508,5510],{"class":1297,"line":1298},[1295,5507,3058],{"class":1491},[1295,5509,1937],{"class":1495},[1295,5511,5512],{"class":1305},"koyeb\n",[1168,5514,5515],{},"Click \"Deploy\" to build and deploy your Nuxt app.",[1160,5517,1194],{"id":1193},[1196,5519,5521],{"target":1198,"to":5520},"https://nitro.unjs.io/deploy/providers/koyeb",[1139,5522,1208,5523,5525],{},[1142,5524,1211],{}," to learn more about the Koyeb deployment preset.",[1724,5527,5528],{},"html pre.shiki code .sYp4K, html code.shiki .sYp4K{--shiki-light:#39ADB5;--shiki-default:#39ADB5;--shiki-dark:#89DDFF}html pre.shiki code .sRBFq, html code.shiki .sRBFq{--shiki-light:#9C3EDA;--shiki-default:#9C3EDA;--shiki-dark:#C792EA}html pre.shiki code .sT2Ow, html code.shiki .sT2Ow{--shiki-light:#E2931D;--shiki-default:#E2931D;--shiki-dark:#FFCB6B}html pre.shiki code .s5UST, html code.shiki .s5UST{--shiki-light:#91B859;--shiki-default:#91B859;--shiki-dark:#C3E88D}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 .spdxX, html code.shiki .spdxX{--shiki-light:#90A4AE;--shiki-default:#90A4AE;--shiki-dark:#BABED8}",{"title":1214,"searchDepth":1215,"depth":1215,"links":5530},[5531,5532],{"id":1162,"depth":1215,"text":1163},{"id":1193,"depth":1215,"text":1194},"Deploy your Nuxt Application to Koyeb infrastructure.","i-simple-icons-koyeb",{},"koyeb","/deploy/koyeb",{"title":5338,"description":5533},"deploy/koyeb","https://www.koyeb.com/","pClODHafgm",{"id":5543,"title":5544,"body":5545,"category":1219,"componentImg":5544,"description":5694,"extension":1118,"featured":1224,"logoIcon":5695,"logoSrc":6,"meta":5696,"navigation":1224,"nitroPreset":5697,"path":5698,"seo":5699,"stem":5700,"website":5701,"__hash__":5702},"deploy/deploy/netlify.md","Netlify",{"type":1133,"value":5546,"toc":5689},[5547,5561,5563,5571,5580,5585,5606,5618,5622,5628,5631,5645,5649,5652,5655,5661,5664,5678,5686],[1136,5548,5549,5553,5555],{},[1139,5550,5551],{},[1142,5552,1144],{},[1146,5554],{},[1139,5556,5557,5558,1158],{},"Integration with Netlify is possible with zero configuration, ",[1152,5559,1157],{"href":1154,"rel":5560},[1156],[1160,5562,1163],{"id":1162},[1139,5564,5565,5566,5570],{},"Nuxt will auto-detect that you are in a ",[1152,5567,5544],{"href":5568,"rel":5569},"https://www.netlify.com",[1156]," build environment and build an optimized version of your server.",[1139,5572,5573,5574,5577,5578,1158],{},"For new sites, Netlify will detect that you are using Nuxt 3 and set the publish directory to ",[1264,5575,5576],{},"dist"," and build command to ",[1264,5579,1943],{},[2441,5581,5582],{},[1139,5583,5584],{},"If you are upgrading an existing site from Nuxt 2 you should check these and update them if needed.",[1139,5586,5587,5588,5594,5595,5602,5603,5605],{},"If you want to add custom redirects, you can do so with ",[1152,5589,5591],{"href":5590},"/docs/guide/concepts/rendering#hybrid-rendering",[1264,5592,5593],{},"routeRules"," or by adding a ",[1152,5596,5599],{"href":5597,"rel":5598},"https://docs.netlify.com/routing/redirects/#syntax-for-the-redirects-file",[1156],[1264,5600,5601],{},"_redirects"," file to your ",[1264,5604,215],{}," directory.",[1136,5607,5610],{"color":5608,"icon":5609},"green","i-lucide-check-circle",[1139,5611,5612,5613,1158],{},"For deployment, just push to your git repository ",[1152,5614,5617],{"href":5615,"rel":5616},"https://docs.netlify.com/configure-builds/get-started/",[1156],"as you would normally do for Netlify",[1160,5619,5621],{"id":5620},"netlify-edge-functions","Netlify Edge Functions",[1196,5623,5625],{"target":1198,"to":5624},"https://www.netlify.com/blog/announcing-serverless-compute-with-edge-functions",[1139,5626,5627],{},"Netlify Edge Functions use Deno and the powerful V8 JavaScript runtime to let you run globally distributed functions for the fastest possible response times.",[1139,5629,5630],{},"Set the following environment variable to run Nuxt on Edge Functions:",[1286,5632,5634],{"className":1288,"code":5633,"language":1291,"meta":1214,"style":1214},"SERVER_PRESET=netlify_edge\n",[1264,5635,5636],{"__ignoreMap":1214},[1295,5637,5638,5640,5642],{"class":1297,"line":1298},[1295,5639,3058],{"class":1491},[1295,5641,1937],{"class":1495},[1295,5643,5644],{"class":1305},"netlify_edge\n",[1160,5646,5648],{"id":5647},"on-demand-builders","On-demand Builders",[1139,5650,5651],{},"On-demand Builders are serverless functions used to generate web content as needed that’s automatically cached on Netlify’s Edge CDN.",[1139,5653,5654],{},"They enable you to build pages for your site when a user visits them for the first time and then cache them at the edge for subsequent visits until the next deployment.",[1196,5656,5658],{"target":1198,"to":5657},"https://docs.netlify.com/configure-builds/on-demand-builders/",[1139,5659,5660],{},"Read More about Netlify on-demand builders",[1139,5662,5663],{},"Set the following environment variable to enable on-demand builders:",[1286,5665,5667],{"className":1288,"code":5666,"language":1291,"meta":1214,"style":1214},"SERVER_PRESET=netlify_builder\n",[1264,5668,5669],{"__ignoreMap":1214},[1295,5670,5671,5673,5675],{"class":1297,"line":1298},[1295,5672,3058],{"class":1491},[1295,5674,1937],{"class":1495},[1295,5676,5677],{"class":1305},"netlify_builder\n",[1196,5679,5681],{"target":1198,"to":5680},"https://nitro.unjs.io/deploy/providers/netlify",[1139,5682,1208,5683,5685],{},[1142,5684,1211],{}," to learn more about the netlify deployment preset.",[1724,5687,5688],{},"html pre.shiki code .spdxX, html code.shiki .spdxX{--shiki-light:#90A4AE;--shiki-default:#90A4AE;--shiki-dark:#BABED8}html pre.shiki code .sYp4K, html code.shiki .sYp4K{--shiki-light:#39ADB5;--shiki-default:#39ADB5;--shiki-dark:#89DDFF}html pre.shiki code .s5UST, html code.shiki .s5UST{--shiki-light:#91B859;--shiki-default:#91B859;--shiki-dark:#C3E88D}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);}",{"title":1214,"searchDepth":1215,"depth":1215,"links":5690},[5691,5692,5693],{"id":1162,"depth":1215,"text":1163},{"id":5620,"depth":1215,"text":5621},{"id":5647,"depth":1215,"text":5648},"Deploy your Nuxt Application to Netlify infrastructure.","i-logos-netlify-icon",{},"netlify","/deploy/netlify",{"title":5544,"description":5694},"deploy/netlify","https://www.netlify.com/","CPRip6Us9q",{"id":5704,"title":5705,"body":5706,"category":1219,"componentImg":5705,"description":5925,"extension":1118,"featured":1224,"logoIcon":6,"logoSrc":5926,"meta":5927,"navigation":1224,"nitroPreset":2397,"path":5928,"seo":5929,"stem":5930,"website":5747,"__hash__":5931},"deploy/deploy/nuxthub.md","NuxtHub",{"type":1133,"value":5707,"toc":5919},[5708,5722,5725,5728,5734,5742,5749,5753,5756,5770,5773,5795,5798,5820,5833,5837,5868,5871,5873,5908,5917],[1136,5709,5710,5714,5716],{},[1139,5711,5712],{},[1142,5713,1144],{},[1146,5715],{},[1139,5717,5718,5719,1158],{},"Integration with NuxtHub is possible with zero configuration, ",[1152,5720,1157],{"href":1154,"rel":5721},[1156],[1160,5723,19],{"id":5724},"introduction",[1139,5726,5727],{},"NuxtHub is a deployment and administration platform for Nuxt, powered by Cloudflare.",[1139,5729,5730,5731,5733],{},"The main difference with the ",[1152,5732,2392],{"href":2699}," deployment is that NuxtHub provides a zero-configuration deployment experience (provisioning, deployment, and administration).",[1139,5735,5736,5737,1158],{},"It also provides a powerful admin interface to manage your Nuxt projects (database, blob, KV, ...) as well as ",[1152,5738,5741],{"href":5739,"rel":5740},"https://hub.nuxt.com/docs/getting-started/remote-storage?utm_source=nuxt-website&utm_medium=deploy-page",[1156],"remote storage",[1139,5743,5744,5745,1158],{},"Read more on ",[1152,5746,2428],{"href":5747,"rel":5748},"https://hub.nuxt.com/?utm_source=nuxt-website&utm_medium=deploy-page",[1156],[1160,5750,5752],{"id":5751},"nuxthub-cli","NuxtHub CLI",[1139,5754,5755],{},"You can deploy your local project with a single command:",[1286,5757,5759],{"className":1288,"code":5758,"filename":1290,"language":1291,"meta":1214,"style":1214},"npx nuxthub deploy\n",[1264,5760,5761],{"__ignoreMap":1214},[1295,5762,5763,5765,5768],{"class":1297,"line":1298},[1295,5764,1302],{"class":1301},[1295,5766,5767],{"class":1305}," nuxthub",[1295,5769,3653],{"class":1305},[1139,5771,5772],{},"The command will:",[1165,5774,5775,5783,5786,5789,5792],{},[1168,5776,5777,5778],{},"Ensure you are logged in on ",[1152,5779,5782],{"href":5780,"rel":5781},"https://admin.hub.nuxt.com/?utm_source=nuxt-website&utm_medium=deploy-page",[1156],"admin.hub.nuxt.com",[1168,5784,5785],{},"Link your local project with a NuxtHub project or help you create a new one",[1168,5787,5788],{},"Build your Nuxt project with the correct preset",[1168,5790,5791],{},"Deploy it to your Cloudflare account with all the necessary resources",[1168,5793,5794],{},"Provide you with a URL to access your project",[1139,5796,5797],{},"See an example in video:",[5799,5800,5808,5812,5816],"video",{":controls":5801,"className":5802,"controls":1224,"poster":5807},"true",[5803,5804,5805,5806],"rounded","dark:border","dark:border-gray-700","md:w-2/3","https://res.cloudinary.com/nuxt/video/upload/v1723569534/nuxthub/nuxthub-deploy_xxs5s8.jpg",[3437,5809],{"src":5810,"type":5811},"https://res.cloudinary.com/nuxt/video/upload/v1723569534/nuxthub/nuxthub-deploy_xxs5s8.webm","video/webm",[3437,5813],{"src":5814,"type":5815},"https://res.cloudinary.com/nuxt/video/upload/v1723569534/nuxthub/nuxthub-deploy_xxs5s8.mp4","video/mp4",[3437,5817],{"src":5818,"type":5819},"https://res.cloudinary.com/nuxt/video/upload/v1723569534/nuxthub/nuxthub-deploy_xxs5s8.ogg","video/ogg",[2441,5821,5822],{},[1139,5823,5824,5825,5829,5830,1158],{},"You can also install the ",[1152,5826,5752],{"href":5827,"rel":5828},"https://github.com/nuxt-hub/cli",[1156]," globally with: ",[1264,5831,5832],{},"npm i -g nuxthub",[1160,5834,5836],{"id":5835},"deploy-using-git","Deploy using Git",[1165,5838,5839,5842,5852,5858,5861],{},[1168,5840,5841],{},"Push your code to your git repository (GitHub)",[1168,5843,5844,5845,5848,5849],{},"Click on ",[1264,5846,5847],{},"New Project"," then ",[1264,5850,5851],{},"Import a Git repository",[1168,5853,5854,5855],{},"Select your repository and click on ",[1264,5856,5857],{},"Import repository",[1168,5859,5860],{},"NuxtHub will configure a GitHub Action workflow to deploy your project",[1168,5862,5863,5864,5867],{},"Your application is deployed with a ",[1264,5865,5866],{},".nuxt.dev"," domain",[1139,5869,5870],{},"After your project has been imported and deployed, all subsequent pushes to branches will generate preview deployments and all changes made to the production branch (commonly “main”) will result in a production deployment.",[1160,5872,734],{"id":2637},[2639,5874,5875,5882,5889,5894,5899,5904],{},[2642,5876,5879],{":ui":2644,"icon":2645,"target":1198,"title":5877,"to":5878},"Hello Edge","https://github.com/nuxt-hub/hello-edge",[1139,5880,5881],{},"A minimal Nuxt starter running on the edge.",[2642,5883,5886],{":ui":2644,"icon":2645,"target":1198,"title":5884,"to":5885},"NuxtHub Starter","https://github.com/nuxt-hub/starter",[1139,5887,5888],{},"A starter to get started with NuxtHub features (Database, Blob, KV, ...).",[2642,5890,5891],{":ui":2644,"icon":2645,"target":1198,"title":2646,"to":2647},[1139,5892,5893],{},"A full-stack application with authentication and a database to manage your Todos.",[2642,5895,5896],{":ui":2644,"icon":2645,"target":1198,"title":2667,"to":2668},[1139,5897,5898],{},"An image gallery to upload, edit and share your images to the world.",[2642,5900,5901],{":ui":2644,"icon":2645,"target":1198,"title":2653,"to":2654},[1139,5902,5903],{},"An editable website powered by Markdown & Vue components with dynamic OG image generation.",[2642,5905,5906],{":ui":2644,"icon":2645,"target":1198,"title":2660,"to":2661},[1139,5907,2664],{},[1696,5909,5910],{},[1139,5911,5912,5913],{},"See the whole list of templates on ",[1152,5914,5915],{"href":5915,"rel":5916},"https://hub.nuxt.com/templates",[1156],[1724,5918,5322],{},{"title":1214,"searchDepth":1215,"depth":1215,"links":5920},[5921,5922,5923,5924],{"id":5724,"depth":1215,"text":19},{"id":5751,"depth":1215,"text":5752},{"id":5835,"depth":1215,"text":5836},{"id":2637,"depth":1215,"text":734},"Deploy Nuxt applications globally on your Cloudflare account with zero configuration.","/assets/integrations/nuxthub-logo.svg",{},"/deploy/nuxthub",{"title":5705,"description":5925},"deploy/nuxthub","oWIIXR78H5",{"id":5933,"title":5934,"body":5935,"category":1219,"componentImg":6,"description":6026,"extension":1118,"featured":108,"logoIcon":6,"logoSrc":6027,"meta":6028,"navigation":1224,"nitroPreset":6029,"path":6030,"seo":6031,"stem":6032,"website":5941,"__hash__":6033},"deploy/deploy/render.md","Render",{"type":1133,"value":5936,"toc":6022},[5937,5943,5947,6010,6012,6020],[1139,5938,1829,5939,1834],{},[1152,5940,5934],{"href":5941,"rel":5942},"https://render.com/",[1156],[1160,5944,5946],{"id":5945},"set-up-application","Set up application",[1165,5948,5949,5957,5960,5974,5979,6005],{},[1168,5950,5951,5956],{},[1152,5952,5955],{"href":5953,"rel":5954},"https://dashboard.render.com/select-repo?type=web",[1156],"Create a new Web Service"," and select the repository that contains your code.",[1168,5958,5959],{},"Ensure the 'Node' environment is selected.",[1168,5961,5962,5963,5966,5967,5970,5971,1158],{},"Depending on your package manager, set the build command to ",[1264,5964,5965],{},"yarn && yarn build",", ",[1264,5968,5969],{},"npm install && npm run build",", or ",[1264,5972,5973],{},"pnpm i --shamefully-hoist && pnpm build",[1168,5975,5976,5977],{},"Update the start command to ",[1264,5978,1958],{},[1168,5980,5981,5982],{},"Click 'Advanced' and add the following environment variables\n",[1286,5983,5985],{"className":1288,"code":5984,"language":1291,"meta":1214,"style":1214},"SERVER_PRESET=render_com\nNODE_VERSION=20\n",[1264,5986,5987,5996],{"__ignoreMap":1214},[1295,5988,5989,5991,5993],{"class":1297,"line":1298},[1295,5990,3058],{"class":1491},[1295,5992,1937],{"class":1495},[1295,5994,5995],{"class":1305},"render_com\n",[1295,5997,5998,6001,6003],{"class":1297,"line":1215},[1295,5999,6000],{"class":1491},"NODE_VERSION",[1295,6002,1937],{"class":1495},[1295,6004,2143],{"class":1305},[1168,6006,5844,6007,1158],{},[1264,6008,6009],{},"Create Web Service",[1160,6011,1716],{"id":1715},[1196,6013,6015],{"target":1198,"to":6014},"https://nitro.unjs.io/deploy/providers/render",[1139,6016,1208,6017,6019],{},[1142,6018,1211],{}," to learn more about the Render deployment presets.",[1724,6021,5688],{},{"title":1214,"searchDepth":1215,"depth":1215,"links":6023},[6024,6025],{"id":5945,"depth":1215,"text":5946},{"id":1715,"depth":1215,"text":1716},"Deploy your Nuxt Application to Render infrastructure.","/assets/integrations/render.png",{},"render","/deploy/render",{"title":5934,"description":6026},"deploy/render","cJ6F42pZHR",{"id":6035,"title":6036,"body":6037,"category":1219,"componentImg":6,"description":6156,"extension":1118,"featured":108,"logoIcon":6,"logoSrc":6157,"meta":6158,"navigation":1224,"nitroPreset":6102,"path":6159,"seo":6160,"stem":6161,"website":6043,"__hash__":6162},"deploy/deploy/sst.md","SST",{"type":1133,"value":6038,"toc":6152},[6039,6045,6049,6132,6140,6142,6149],[1139,6040,1829,6041,1834],{},[1152,6042,6036],{"href":6043,"rel":6044},"https://sst.dev/",[1156],[1160,6046,6048],{"id":6047},"quick-start","Quick start",[1165,6050,6051,6054,6072,6109],{},[1168,6052,6053],{},"Create a Nuxt project.",[1168,6055,6056,6057],{},"Init SST in your project.\n",[1286,6058,6060],{"className":1288,"code":6059,"language":1291,"meta":1214,"style":1214},"npx sst@latest init\n",[1264,6061,6062],{"__ignoreMap":1214},[1295,6063,6064,6066,6069],{"class":1297,"line":1298},[1295,6065,1302],{"class":1301},[1295,6067,6068],{"class":1305}," sst@latest",[1295,6070,6071],{"class":1305}," init\n",[1168,6073,6074,6075,6077,6078],{},"It should detect that your are using Nuxt and ask you to update your ",[1264,6076,260],{}," file.\n",[1286,6079,6081],{"className":1471,"code":6080,"language":1473,"meta":1214,"style":1214},"nitro: {\n  preset: 'aws-lambda'\n}\n",[1264,6082,6083,6091,6105],{"__ignoreMap":1214},[1295,6084,6085,6087,6089],{"class":1297,"line":1298},[1295,6086,4369],{"class":1301},[1295,6088,1512],{"class":1495},[1295,6090,1515],{"class":1495},[1295,6092,6093,6096,6098,6100,6103],{"class":1297,"line":1215},[1295,6094,6095],{"class":1301},"  preset",[1295,6097,1512],{"class":1495},[1295,6099,1562],{"class":1495},[1295,6101,6102],{"class":1305},"aws-lambda",[1295,6104,1568],{"class":1495},[1295,6106,6107],{"class":1297,"line":1505},[1295,6108,3128],{"class":1495},[1168,6110,6111,6112],{},"Once you are ready to deploy, run.\n",[1286,6113,6115],{"className":1288,"code":6114,"language":1291,"meta":1214,"style":1214},"npx sst deploy --stage production\n",[1264,6116,6117],{"__ignoreMap":1214},[1295,6118,6119,6121,6124,6126,6129],{"class":1297,"line":1298},[1295,6120,1302],{"class":1301},[1295,6122,6123],{"class":1305}," sst",[1295,6125,2613],{"class":1305},[1295,6127,6128],{"class":1305}," --stage",[1295,6130,6131],{"class":1305}," production\n",[1139,6133,6134,6135,1158],{},"You can ",[1152,6136,6139],{"href":6137,"rel":6138},"https://sst.dev/docs/start/aws/nuxt",[1156],"read the full Nuxt on SST tutorial here",[1160,6141,1716],{"id":1715},[1139,6143,6144,6145,1158],{},"You can also deploy Nuxt to a container using SST. Head over to the ",[1152,6146,6148],{"href":6137,"rel":6147},[1156],"SST docs to learn more",[1724,6150,6151],{},"html pre.shiki code .sT2Ow, html code.shiki .sT2Ow{--shiki-light:#E2931D;--shiki-default:#E2931D;--shiki-dark:#FFCB6B}html pre.shiki code .s5UST, html code.shiki .s5UST{--shiki-light:#91B859;--shiki-default:#91B859;--shiki-dark:#C3E88D}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 .sYp4K, html code.shiki .sYp4K{--shiki-light:#39ADB5;--shiki-default:#39ADB5;--shiki-dark:#89DDFF}",{"title":1214,"searchDepth":1215,"depth":1215,"links":6153},[6154,6155],{"id":6047,"depth":1215,"text":6048},{"id":1715,"depth":1215,"text":1716},"Deploy your Nuxt Application to AWS with SST.","/assets/integrations/sst.svg",{},"/deploy/sst",{"title":6036,"description":6156},"deploy/sst","7mukqPGZp3",{"id":6164,"title":6165,"body":6166,"category":1219,"componentImg":6,"description":6217,"extension":1118,"featured":108,"logoIcon":6,"logoSrc":6218,"meta":6219,"navigation":1224,"nitroPreset":6220,"path":6221,"seo":6222,"stem":6223,"website":6181,"__hash__":6224},"deploy/deploy/stormkit.md","Stormkit",{"type":1133,"value":6167,"toc":6213},[6168,6187,6189,6197,6199,6205],[1136,6169,6170,6174,6176],{},[1139,6171,6172],{},[1142,6173,1144],{},[1146,6175],{},[1139,6177,6178,6179,6183,6184,1158],{},"Integration with ",[1152,6180,6165],{"href":6181,"rel":6182},"https://www.stormkit.io/",[1156]," is possible with zero configuration, ",[1152,6185,1157],{"href":1154,"rel":6186},[1156],[1160,6188,1163],{"id":1162},[1139,6190,4625,6191,6196],{},[1152,6192,6195],{"href":6193,"rel":6194},"https://app.stormkit.io/apps/new",[1156],"create a new app"," on Stormkit.",[1160,6198,94],{"id":4633},[1139,6200,6201,6202,1158],{},"By default, Stormkit will deploy your apps automatically when you push changes to your main branch. But to trigger a manual deploy (for example, you might do this for the very first deployment), you may click ",[1264,6203,6204],{},"Deploy now",[1196,6206,6208],{"target":1198,"to":6207},"https://nitro.unjs.io/deploy/providers/stormkit",[1139,6209,1208,6210,6212],{},[1142,6211,1211],{}," to learn more about the stormkit deployment preset.",{"title":1214,"searchDepth":1215,"depth":1215,"links":6214},[6215,6216],{"id":1162,"depth":1215,"text":1163},{"id":4633,"depth":1215,"text":94},"Deploy your Nuxt Application to Stormkit infrastructure.","/assets/integrations/stormkit.webp",{},"stormkit","/deploy/stormkit",{"title":6165,"description":6217},"deploy/stormkit","vRCpjz84EZ",{"id":6226,"title":6227,"body":6228,"category":1219,"componentImg":6227,"description":6697,"extension":1118,"featured":1224,"logoIcon":6,"logoSrc":6698,"meta":6699,"navigation":1224,"nitroPreset":6700,"path":6701,"seo":6702,"stem":6703,"website":6704,"__hash__":6705},"deploy/deploy/vercel.md","Vercel",{"type":1133,"value":6229,"toc":6689},[6230,6244,6246,6265,6279,6286,6290,6297,6307,6310,6324,6330,6334,6346,6352,6461,6485,6492,6637,6641,6657,6659,6675,6678,6686],[1136,6231,6232,6236,6238],{},[1139,6233,6234],{},[1142,6235,1144],{},[1146,6237],{},[1139,6239,6240,6241,1158],{},"Integration with Vercel is possible with zero configuration, ",[1152,6242,1157],{"href":1154,"rel":6243},[1156],[1160,6245,5836],{"id":5835},[1165,6247,6248,6251,6259,6262],{},[1168,6249,6250],{},"Push your code to your git repository (GitHub, GitLab, Bitbucket).",[1168,6252,6253,6258],{},[1152,6254,6257],{"href":6255,"rel":6256},"https://vercel.com/new",[1156],"Import your project"," into Vercel.",[1168,6260,6261],{},"Vercel will detect that you are using Nitro and will enable the correct settings for your deployment.",[1168,6263,6264],{},"Your application is deployed!",[1139,6266,6267,6268,6273,6274,1158],{},"After your project has been imported and deployed, all subsequent pushes to branches will generate ",[1152,6269,6272],{"href":6270,"rel":6271},"https://vercel.com/docs/concepts/deploy/environments#preview",[1156],"Preview Deployments",", and all changes made to the Production Branch (commonly “main”) will result in a ",[1152,6275,6278],{"href":6276,"rel":6277},"https://vercel.com/docs/concepts/deploy/environments#production",[1156],"Production Deployment",[1139,6280,6281,6282,1158],{},"Learn more about Vercel’s ",[1152,6283,2432],{"href":6284,"rel":6285},"https://vercel.com/docs/concepts/git",[1156],[1160,6287,6289],{"id":6288},"vercel-edge-functions","Vercel Edge Functions",[1139,6291,6292,6293,1158],{},"It is possible to deploy your Nuxt applications directly on ",[1152,6294,6289],{"href":6295,"rel":6296},"https://vercel.com/docs/concepts/functions/edge-functions",[1156],[6298,6299,6300],"blockquote",{},[1139,6301,6302,6303],{},"Vercel Edge Functions allow you to deliver content to your site's visitors with speed and personalization.\nThey are deployed globally by default on Vercel's Edge Network and enable you to move server-side logic to the Edge, close to your visitor's origin.\nEdge Functions use the Vercel Edge Runtime, which is built on the same high-performance V8 JavaScript and WebAssembly engine that is used by the Chrome browser.\nBy taking advantage of this small runtime, Edge Functions can have faster cold boots and higher scalability than Serverless Functions.\nEdge Functions run after the cache, and can both cache and return responses. ",[1152,6304,6306],{"href":6295,"rel":6305},[1156],"Read More",[1139,6308,6309],{},"In order to enable this target, set the following environment variable:",[1286,6311,6313],{"className":1288,"code":6312,"language":1291,"meta":1214,"style":1214},"SERVER_PRESET=vercel_edge\n",[1264,6314,6315],{"__ignoreMap":1214},[1295,6316,6317,6319,6321],{"class":1297,"line":1298},[1295,6318,3058],{"class":1491},[1295,6320,1937],{"class":1495},[1295,6322,6323],{"class":1305},"vercel_edge\n",[1139,6325,6326,6327,1158],{},"Or update the build command to ",[1264,6328,6329],{},"nuxt build --preset=vercel_edge",[1160,6331,6333],{"id":6332},"vercel-kv-storage","Vercel KV Storage",[1139,6335,6336,6337,6341,6342,1158],{},"You can easily use ",[1152,6338,6333],{"href":6339,"rel":6340},"https://vercel.com/docs/storage/vercel-kv",[1156]," with ",[1152,6343,6345],{"href":6344},"/docs/guide/directory-structure/server#server-storage","Nuxt Server Storage",[1196,6347,6349],{"target":1198,"to":6348},"https://unstorage.unjs.io/drivers/vercel-kv",[1139,6350,6351],{},"Read more about the Vercel KV driver on Unstorage documentation.",[1165,6353,6354,6375],{},[1168,6355,1275,6356,6359,6360],{},[1264,6357,6358],{},"@vercel/kv"," dependency:",[1286,6361,6363],{"className":1288,"code":6362,"filename":1290,"language":1291,"meta":1214,"style":1214},"npm i @vercel/kv\n",[1264,6364,6365],{"__ignoreMap":1214},[1295,6366,6367,6369,6372],{"class":1297,"line":1298},[1295,6368,1926],{"class":1301},[1295,6370,6371],{"class":1305}," i",[1295,6373,6374],{"class":1305}," @vercel/kv\n",[1168,6376,6377,6378,1512,6381],{},"Update your ",[1264,6379,6380],{},"nuxt.config",[1286,6382,6384],{"className":1471,"code":6383,"filename":260,"language":1473,"meta":1214,"style":1214},"export default defineNuxtConfig({\n  nitro: {\n    storage: {\n      data: {\n        driver: 'vercelKV'\n        /* Vercel KV driver options */\n      }\n    }\n  }\n})\n",[1264,6385,6386,6398,6406,6415,6424,6438,6443,6447,6451,6455],{"__ignoreMap":1214},[1295,6387,6388,6390,6392,6394,6396],{"class":1297,"line":1298},[1295,6389,1481],{"class":1480},[1295,6391,1484],{"class":1480},[1295,6393,1488],{"class":1487},[1295,6395,1492],{"class":1491},[1295,6397,1496],{"class":1495},[1295,6399,6400,6402,6404],{"class":1297,"line":1215},[1295,6401,1509],{"class":1508},[1295,6403,1512],{"class":1495},[1295,6405,1515],{"class":1495},[1295,6407,6408,6411,6413],{"class":1297,"line":1505},[1295,6409,6410],{"class":1508},"    storage",[1295,6412,1512],{"class":1495},[1295,6414,1515],{"class":1495},[1295,6416,6417,6420,6422],{"class":1297,"line":1518},[1295,6418,6419],{"class":1508},"      data",[1295,6421,1512],{"class":1495},[1295,6423,1515],{"class":1495},[1295,6425,6426,6429,6431,6433,6436],{"class":1297,"line":1528},[1295,6427,6428],{"class":1508},"        driver",[1295,6430,1512],{"class":1495},[1295,6432,1562],{"class":1495},[1295,6434,6435],{"class":1305},"vercelKV",[1295,6437,1568],{"class":1495},[1295,6439,6440],{"class":1297,"line":1538},[1295,6441,6442],{"class":1501},"        /* Vercel KV driver options */\n",[1295,6444,6445],{"class":1297,"line":1544},[1295,6446,1580],{"class":1495},[1295,6448,6449],{"class":1297,"line":1554},[1295,6450,1586],{"class":1495},[1295,6452,6453],{"class":1297,"line":1571},[1295,6454,1592],{"class":1495},[1295,6456,6457,6459],{"class":1297,"line":1577},[1295,6458,1598],{"class":1495},[1295,6460,1601],{"class":1491},[4591,6462,6463],{},[1139,6464,6465,6466,5143,6469,6472,6473,5143,6476,6479,6480,6484],{},"You need to either set ",[1264,6467,6468],{},"KV_REST_API_URL",[1264,6470,6471],{},"KV_REST_API_TOKEN"," environment variables or pass ",[1264,6474,6475],{},"url",[1264,6477,6478],{},"token"," to driver options. Check ",[1152,6481,6483],{"href":6348,"rel":6482},[1156],"driver docs"," for more information about usage.",[1139,6486,6487,6488,6491],{},"You can now access your data store anywhere in your ",[1264,6489,6490],{},"server/"," directory:",[1286,6493,6496],{"className":1471,"code":6494,"filename":6495,"language":1473,"meta":1214,"style":1214},"export default defineEventHandler(async (event) => {\n  const dataStorage = useStorage('data');\n  await dataStorage.setItem('hello', 'world');\n\n  return {\n    hello: await dataStorage.getItem(\"hello\"),\n  }\n})\n","server/routes/hello.ts",[1264,6497,6498,6526,6553,6587,6591,6598,6627,6631],{"__ignoreMap":1214},[1295,6499,6500,6502,6504,6507,6509,6512,6515,6519,6521,6524],{"class":1297,"line":1298},[1295,6501,1481],{"class":1480},[1295,6503,1484],{"class":1480},[1295,6505,6506],{"class":1487}," defineEventHandler",[1295,6508,1492],{"class":1491},[1295,6510,6511],{"class":3092},"async",[1295,6513,6514],{"class":1495}," (",[1295,6516,6518],{"class":6517},"ssYd4","event",[1295,6520,3767],{"class":1495},[1295,6522,6523],{"class":3092}," =>",[1295,6525,1515],{"class":1495},[1295,6527,6528,6531,6534,6537,6540,6542,6544,6547,6549,6551],{"class":1297,"line":1215},[1295,6529,6530],{"class":3092},"  const",[1295,6532,6533],{"class":1491}," dataStorage",[1295,6535,6536],{"class":1495}," =",[1295,6538,6539],{"class":1487}," useStorage",[1295,6541,1492],{"class":1508},[1295,6543,3731],{"class":1495},[1295,6545,6546],{"class":1305},"data",[1295,6548,3731],{"class":1495},[1295,6550,3767],{"class":1508},[1295,6552,3770],{"class":1495},[1295,6554,6555,6558,6560,6562,6565,6567,6569,6572,6574,6576,6578,6581,6583,6585],{"class":1297,"line":1505},[1295,6556,6557],{"class":1480},"  await",[1295,6559,6533],{"class":1491},[1295,6561,1158],{"class":1495},[1295,6563,6564],{"class":1487},"setItem",[1295,6566,1492],{"class":1508},[1295,6568,3731],{"class":1495},[1295,6570,6571],{"class":1305},"hello",[1295,6573,3731],{"class":1495},[1295,6575,3555],{"class":1495},[1295,6577,1562],{"class":1495},[1295,6579,6580],{"class":1305},"world",[1295,6582,3731],{"class":1495},[1295,6584,3767],{"class":1508},[1295,6586,3770],{"class":1495},[1295,6588,6589],{"class":1297,"line":1518},[1295,6590,2765],{"emptyLinePlaceholder":1224},[1295,6592,6593,6596],{"class":1297,"line":1528},[1295,6594,6595],{"class":1480},"  return",[1295,6597,1515],{"class":1495},[1295,6599,6600,6603,6605,6608,6610,6612,6615,6617,6619,6621,6623,6625],{"class":1297,"line":1538},[1295,6601,6602],{"class":1508},"    hello",[1295,6604,1512],{"class":1495},[1295,6606,6607],{"class":1480}," await",[1295,6609,6533],{"class":1491},[1295,6611,1158],{"class":1495},[1295,6613,6614],{"class":1487},"getItem",[1295,6616,1492],{"class":1508},[1295,6618,1940],{"class":1495},[1295,6620,6571],{"class":1305},[1295,6622,1940],{"class":1495},[1295,6624,3767],{"class":1508},[1295,6626,3491],{"class":1495},[1295,6628,6629],{"class":1297,"line":1544},[1295,6630,1592],{"class":1495},[1295,6632,6633,6635],{"class":1297,"line":1554},[1295,6634,1598],{"class":1495},[1295,6636,1601],{"class":1491},[1160,6638,6640],{"id":6639},"custom-build-output-configuration","Custom Build Output Configuration",[1139,6642,6643,6644,6649,6650,6653,6654,6656],{},"You can provide additional ",[1152,6645,6648],{"href":6646,"rel":6647},"https://vercel.com/docs/build-output-api/v3",[1156],"build output configuration"," using ",[1264,6651,6652],{},"nitro.vercel.config"," key inside ",[1264,6655,6380],{},". It will be merged with built-in auto generated config.",[1160,6658,734],{"id":2637},[2639,6660,6661,6668],{},[2642,6662,6665],{":ui":2644,"icon":2645,"target":1198,"title":6663,"to":6664},"Nuxt Vercel ISR","https://github.com/danielroe/nuxt-vercel-isr",[1139,6666,6667],{},"Example of a Nuxt application with hybrid rendering deployed on Vercel.",[2642,6669,6672],{":ui":2644,"icon":2645,"target":1198,"title":6670,"to":6671},"Nuxt on the Edge on Vercel","https://github.com/pi0/nuxt-on-the-edge",[1139,6673,6674],{},"Example of a Nuxt application running on Vercel Edge Functions.",[1160,6676,6677],{"id":1193},"Learn More",[1196,6679,6681],{"target":1198,"to":6680},"https://nitro.unjs.io/deploy/providers/vercel",[1139,6682,1208,6683,6685],{},[1142,6684,1211],{}," to learn more about On-Demand Incremental Static Regeneration or more advanced options.",[1724,6687,6688],{},"html pre.shiki code .spdxX, html code.shiki .spdxX{--shiki-light:#90A4AE;--shiki-default:#90A4AE;--shiki-dark:#BABED8}html pre.shiki code .sYp4K, html code.shiki .sYp4K{--shiki-light:#39ADB5;--shiki-default:#39ADB5;--shiki-dark:#89DDFF}html pre.shiki code .s5UST, html code.shiki .s5UST{--shiki-light:#91B859;--shiki-default:#91B859;--shiki-dark:#C3E88D}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 .sT2Ow, html code.shiki .sT2Ow{--shiki-light:#E2931D;--shiki-default:#E2931D;--shiki-dark:#FFCB6B}html pre.shiki code .sFVN2, html code.shiki .sFVN2{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#39ADB5;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic}html pre.shiki code .szd4z, html code.shiki .szd4z{--shiki-light:#6182B8;--shiki-default:#6182B8;--shiki-dark:#82AAFF}html pre.shiki code .sQ5dg, html code.shiki .sQ5dg{--shiki-light:#E53935;--shiki-default:#E53935;--shiki-dark:#F07178}html pre.shiki code .svXlt, html code.shiki .svXlt{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#90A4AE;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}html pre.shiki code .sRBFq, html code.shiki .sRBFq{--shiki-light:#9C3EDA;--shiki-default:#9C3EDA;--shiki-dark:#C792EA}html pre.shiki code .ssYd4, html code.shiki .ssYd4{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#90A4AE;--shiki-default-font-style:italic;--shiki-dark:#BABED8;--shiki-dark-font-style:italic}",{"title":1214,"searchDepth":1215,"depth":1215,"links":6690},[6691,6692,6693,6694,6695,6696],{"id":5835,"depth":1215,"text":5836},{"id":6288,"depth":1215,"text":6289},{"id":6332,"depth":1215,"text":6333},{"id":6639,"depth":1215,"text":6640},{"id":2637,"depth":1215,"text":734},{"id":1193,"depth":1215,"text":6677},"Deploy your Nuxt Application to Vercel infrastructure.","/assets/integrations/vercel.svg",{},"vercel","/deploy/vercel",{"title":6227,"description":6697},"deploy/vercel","https://vercel.com/","AWqyPvPKHD",{"id":6707,"title":6708,"body":6709,"category":1219,"componentImg":6,"description":6765,"extension":1118,"featured":108,"logoIcon":6,"logoSrc":6766,"meta":6767,"navigation":1224,"nitroPreset":6768,"path":6769,"seo":6770,"stem":6771,"website":6772,"__hash__":6773},"deploy/deploy/zeabur.md","Zeabur",{"type":1133,"value":6710,"toc":6761},[6711,6717,6719,6749,6751,6759],[1139,6712,1829,6713,1834],{},[1152,6714,6708],{"href":6715,"rel":6716},"https://zeabur.com",[1156],[1160,6718,1163],{"id":1162},[1165,6720,6721,6728],{},[1168,6722,6723,6724,1158],{},"Create a new Zeabur app for Nuxt following the ",[1152,6725,3040],{"href":6726,"rel":6727},"https://zeabur.com/docs/guides/nodejs/nuxt",[1156],[1168,6729,6730,6731,1512,6735],{},"During the deployment process, you can configure environment variables in Zeabur dashboard. In your service page, open the variables tab set the following ",[1152,6732,5498],{"href":6733,"rel":6734},"https://zeabur.com/docs/deploy/variables",[1156],[1286,6736,6738],{"className":1288,"code":6737,"language":1291,"meta":1214,"style":1214},"SERVER_PRESET=zeabur\n",[1264,6739,6740],{"__ignoreMap":1214},[1295,6741,6742,6744,6746],{"class":1297,"line":1298},[1295,6743,3058],{"class":1491},[1295,6745,1937],{"class":1495},[1295,6747,6748],{"class":1305},"zeabur\n",[1160,6750,1194],{"id":1193},[1196,6752,6754],{"target":1198,"to":6753},"https://nitro.unjs.io/deploy/providers/zeabur",[1139,6755,1208,6756,6758],{},[1142,6757,1211],{}," to learn more about the Zeabur deployment preset.",[1724,6760,5688],{},{"title":1214,"searchDepth":1215,"depth":1215,"links":6762},[6763,6764],{"id":1162,"depth":1215,"text":1163},{"id":1193,"depth":1215,"text":1194},"Deploy your Nuxt Application to Zeabur.","/assets/integrations/zeabur.svg",{},"zeabur","/deploy/zeabur",{"title":6708,"description":6765},"deploy/zeabur","https://zeabur.com/","CD4sLqdmJR",{"id":6775,"title":6776,"body":6777,"category":1219,"componentImg":6776,"description":7346,"extension":1118,"featured":108,"logoIcon":6,"logoSrc":7347,"meta":7348,"navigation":1224,"nitroPreset":6,"path":7349,"seo":7350,"stem":7351,"website":6795,"__hash__":7352},"deploy/deploy/zerops.md","Zerops",{"type":1133,"value":6778,"toc":7336},[6779,6793,6796,6819,6822,6826,6835,6839,6897,6907,6911,6918,7009,7028,7032,7037,7084,7091,7094,7098,7219,7229,7233,7243,7261,7275,7299,7307,7319,7329,7333],[1139,6780,6781,4614,6784,6787,4614,6790],{},[1142,6782,6783],{},"Nodejs Preset",[1264,6785,6786],{},"SERVER_PRESET: zerops",[1142,6788,6789],{},"Static Preset",[1264,6791,6792],{},"SERVER_PRESET: zerops-static",[1196,6794],{"title":6776,"to":6795},"https://zerops.io",[1136,6797,6798,6803,6805],{},[1139,6799,6800],{},[1142,6801,6802],{},"Nuxt x Zerops Quickrun ✨",[1146,6804],{},[1139,6806,6807,6808,1396,6813,6818],{},"Want to test running Nuxt on Zerops without installing or setting up anything? Using repositories ",[1152,6809,6812],{"href":6810,"rel":6811},"https://github.com/zeropsio/recipe-nuxt-static",[1156],"Zerops x Nuxt - Static",[1152,6814,6817],{"href":6815,"rel":6816},"https://github.com/zeropsio/recipe-nuxt-nodejs",[1156],"Zerops x Nuxt - SSR on Node.js"," you can deploy example Nuxt app with a single click.",[1139,6820,6821],{},"Zerops supports deploying both static and server-side rendered apps with a simple configuration file in your project root.",[1160,6823,6825],{"id":6824},"static","Static",[1139,6827,6828,6829,6834],{},"Projects and services can be added either through a ",[1152,6830,6833],{"href":6831,"rel":6832},"https://app.zerops.io/dashboard/project-add",[1156],"Project add wizard"," or imported using a YAML structure:",[1269,6836,6838],{"id":6837},"creating-a-project","Creating a Project",[1286,6840,6844],{"className":6841,"code":6842,"filename":6843,"language":1119,"meta":1214,"style":1214},"language-yml shiki shiki-themes material-theme-lighter material-theme-lighter material-theme-palenight","project:\n  name: recipe-nuxt\n\nservices:\n  - hostname: app\n    type: static\n","zerops-project-import.yml",[1264,6845,6846,6854,6864,6868,6874,6887],{"__ignoreMap":1214},[1295,6847,6848,6851],{"class":1297,"line":1298},[1295,6849,6850],{"class":1508},"project",[1295,6852,6853],{"class":1495},":\n",[1295,6855,6856,6859,6861],{"class":1297,"line":1215},[1295,6857,6858],{"class":1508},"  name",[1295,6860,1512],{"class":1495},[1295,6862,6863],{"class":1305}," recipe-nuxt\n",[1295,6865,6866],{"class":1297,"line":1505},[1295,6867,2765],{"emptyLinePlaceholder":1224},[1295,6869,6870,6872],{"class":1297,"line":1518},[1295,6871,4342],{"class":1508},[1295,6873,6853],{"class":1495},[1295,6875,6876,6879,6882,6884],{"class":1297,"line":1528},[1295,6877,6878],{"class":1495},"  -",[1295,6880,6881],{"class":1508}," hostname",[1295,6883,1512],{"class":1495},[1295,6885,6886],{"class":1305}," app\n",[1295,6888,6889,6892,6894],{"class":1297,"line":1538},[1295,6890,6891],{"class":1508},"    type",[1295,6893,1512],{"class":1495},[1295,6895,6896],{"class":1305}," static\n",[1139,6898,6899,6900,6903,6904,1158],{},"This will create a project called ",[1264,6901,6902],{},"recipe-nuxt"," with a Zerops Static service called ",[1264,6905,6906],{},"app",[1269,6908,6910],{"id":6909},"setting-up-zerops-yaml","Setting up Zerops YAML",[1139,6912,6913,6914,6917],{},"To tell Zerops how to build and run your app, add a ",[1264,6915,6916],{},"zerops.yml"," to your root:",[1286,6919,6921],{"className":6841,"code":6920,"filename":6916,"language":1119,"meta":1214,"style":1214},"zerops:\n  - setup: app\n    build:\n      base: nodejs@20\n      buildCommands:\n        - yarn\n        - yarn nuxi generate\n      deployFiles:\n        - .output/public/~\n    run:\n      base: static\n",[1264,6922,6923,6930,6941,6948,6958,6965,6973,6980,6987,6994,7001],{"__ignoreMap":1214},[1295,6924,6925,6928],{"class":1297,"line":1298},[1295,6926,6927],{"class":1508},"zerops",[1295,6929,6853],{"class":1495},[1295,6931,6932,6934,6937,6939],{"class":1297,"line":1215},[1295,6933,6878],{"class":1495},[1295,6935,6936],{"class":1508}," setup",[1295,6938,1512],{"class":1495},[1295,6940,6886],{"class":1305},[1295,6942,6943,6946],{"class":1297,"line":1505},[1295,6944,6945],{"class":1508},"    build",[1295,6947,6853],{"class":1495},[1295,6949,6950,6953,6955],{"class":1297,"line":1518},[1295,6951,6952],{"class":1508},"      base",[1295,6954,1512],{"class":1495},[1295,6956,6957],{"class":1305}," nodejs@20\n",[1295,6959,6960,6963],{"class":1297,"line":1528},[1295,6961,6962],{"class":1508},"      buildCommands",[1295,6964,6853],{"class":1495},[1295,6966,6967,6970],{"class":1297,"line":1538},[1295,6968,6969],{"class":1495},"        -",[1295,6971,6972],{"class":1305}," yarn\n",[1295,6974,6975,6977],{"class":1297,"line":1544},[1295,6976,6969],{"class":1495},[1295,6978,6979],{"class":1305}," yarn nuxi generate\n",[1295,6981,6982,6985],{"class":1297,"line":1554},[1295,6983,6984],{"class":1508},"      deployFiles",[1295,6986,6853],{"class":1495},[1295,6988,6989,6991],{"class":1297,"line":1571},[1295,6990,6969],{"class":1495},[1295,6992,6993],{"class":1305}," .output/public/~\n",[1295,6995,6996,6999],{"class":1297,"line":1577},[1295,6997,6998],{"class":1508},"    run",[1295,7000,6853],{"class":1495},[1295,7002,7003,7005,7007],{"class":1297,"line":1583},[1295,7004,6952],{"class":1508},[1295,7006,1512],{"class":1495},[1295,7008,6896],{"class":1305},[1139,7010,7011,7012,7016,7017,7021,7022,7027],{},"Now you can trigger the ",[1152,7013,7015],{"href":7014},"#building-deploying-your-app","build & deploy pipeline using the Zerops CLI"," or by connecting the app service with your ",[1152,7018,2356],{"href":7019,"rel":7020},"https://docs.zerops.io/references/github-integration/",[1156]," / ",[1152,7023,7026],{"href":7024,"rel":7025},"https://docs.zerops.io/references/gitlab-integration",[1156],"GitLab"," repository from inside the service detail.",[1160,7029,7031],{"id":7030},"ssr-nodejs","SSR Node.js",[1139,7033,6828,7034,6834],{},[1152,7035,6833],{"href":6831,"rel":7036},[1156],[1286,7038,7040],{"className":6841,"code":7039,"filename":6843,"language":1119,"meta":1214,"style":1214},"project:\n  name: recipe-nuxt\n\nservices:\n  - hostname: app\n    type: nodejs@20\n",[1264,7041,7042,7048,7056,7060,7066,7076],{"__ignoreMap":1214},[1295,7043,7044,7046],{"class":1297,"line":1298},[1295,7045,6850],{"class":1508},[1295,7047,6853],{"class":1495},[1295,7049,7050,7052,7054],{"class":1297,"line":1215},[1295,7051,6858],{"class":1508},[1295,7053,1512],{"class":1495},[1295,7055,6863],{"class":1305},[1295,7057,7058],{"class":1297,"line":1505},[1295,7059,2765],{"emptyLinePlaceholder":1224},[1295,7061,7062,7064],{"class":1297,"line":1518},[1295,7063,4342],{"class":1508},[1295,7065,6853],{"class":1495},[1295,7067,7068,7070,7072,7074],{"class":1297,"line":1528},[1295,7069,6878],{"class":1495},[1295,7071,6881],{"class":1508},[1295,7073,1512],{"class":1495},[1295,7075,6886],{"class":1305},[1295,7077,7078,7080,7082],{"class":1297,"line":1538},[1295,7079,6891],{"class":1508},[1295,7081,1512],{"class":1495},[1295,7083,6957],{"class":1305},[1139,7085,6899,7086,7088,7089,1158],{},[1264,7087,6902],{}," with a Zerops Node.js service called ",[1264,7090,6906],{},[1269,7092,6910],{"id":7093},"setting-up-zerops-yaml-1",[1139,7095,6913,7096,6917],{},[1264,7097,6916],{},[1286,7099,7101],{"className":6841,"code":7100,"filename":6916,"language":1119,"meta":1214,"style":1214},"zerops:\n  - setup: nuxt\n    build:\n      base: nodejs@20\n      buildCommands:\n        - yarn\n        - yarn build\n      deployFiles:\n        - .output/~\n    run:\n      base: nodejs@20\n      ports:\n        - port: 3000\n          httpSupport: true\n      start: node server/index.mjs\n",[1264,7102,7103,7109,7120,7126,7134,7140,7146,7153,7159,7166,7172,7180,7187,7199,7209],{"__ignoreMap":1214},[1295,7104,7105,7107],{"class":1297,"line":1298},[1295,7106,6927],{"class":1508},[1295,7108,6853],{"class":1495},[1295,7110,7111,7113,7115,7117],{"class":1297,"line":1215},[1295,7112,6878],{"class":1495},[1295,7114,6936],{"class":1508},[1295,7116,1512],{"class":1495},[1295,7118,7119],{"class":1305}," nuxt\n",[1295,7121,7122,7124],{"class":1297,"line":1505},[1295,7123,6945],{"class":1508},[1295,7125,6853],{"class":1495},[1295,7127,7128,7130,7132],{"class":1297,"line":1518},[1295,7129,6952],{"class":1508},[1295,7131,1512],{"class":1495},[1295,7133,6957],{"class":1305},[1295,7135,7136,7138],{"class":1297,"line":1528},[1295,7137,6962],{"class":1508},[1295,7139,6853],{"class":1495},[1295,7141,7142,7144],{"class":1297,"line":1538},[1295,7143,6969],{"class":1495},[1295,7145,6972],{"class":1305},[1295,7147,7148,7150],{"class":1297,"line":1544},[1295,7149,6969],{"class":1495},[1295,7151,7152],{"class":1305}," yarn build\n",[1295,7154,7155,7157],{"class":1297,"line":1554},[1295,7156,6984],{"class":1508},[1295,7158,6853],{"class":1495},[1295,7160,7161,7163],{"class":1297,"line":1571},[1295,7162,6969],{"class":1495},[1295,7164,7165],{"class":1305}," .output/~\n",[1295,7167,7168,7170],{"class":1297,"line":1577},[1295,7169,6998],{"class":1508},[1295,7171,6853],{"class":1495},[1295,7173,7174,7176,7178],{"class":1297,"line":1583},[1295,7175,6952],{"class":1508},[1295,7177,1512],{"class":1495},[1295,7179,6957],{"class":1305},[1295,7181,7182,7185],{"class":1297,"line":1589},[1295,7183,7184],{"class":1508},"      ports",[1295,7186,6853],{"class":1495},[1295,7188,7189,7191,7194,7196],{"class":1297,"line":1595},[1295,7190,6969],{"class":1495},[1295,7192,7193],{"class":1508}," port",[1295,7195,1512],{"class":1495},[1295,7197,7198],{"class":3289}," 3000\n",[1295,7200,7201,7204,7206],{"class":1297,"line":2887},[1295,7202,7203],{"class":1508},"          httpSupport",[1295,7205,1512],{"class":1495},[1295,7207,7208],{"class":2543}," true\n",[1295,7210,7211,7214,7216],{"class":1297,"line":2893},[1295,7212,7213],{"class":1508},"      start",[1295,7215,1512],{"class":1495},[1295,7217,7218],{"class":1305}," node server/index.mjs\n",[1139,7220,7011,7221,7016,7223,7021,7226,7027],{},[1152,7222,7015],{"href":7014},[1152,7224,2356],{"href":7019,"rel":7225},[1156],[1152,7227,7026],{"href":7024,"rel":7228},[1156],[1160,7230,7232],{"id":7231},"building-deploying-your-app","Building & Deploying your App",[1912,7234,7235],{},[1168,7236,7237,7238,1158],{},"Install the ",[1152,7239,7242],{"href":7240,"rel":7241},"https://github.com/zeropsio/zcli",[1156],"Zerops CLI",[1286,7244,7248],{"className":7245,"code":7246,"language":7247,"meta":1214,"style":1214},"language-sh shiki shiki-themes material-theme-lighter material-theme-lighter material-theme-palenight","npm i -g @zerops/zcli\n","sh",[1264,7249,7250],{"__ignoreMap":1214},[1295,7251,7252,7254,7256,7258],{"class":1297,"line":1298},[1295,7253,1926],{"class":1301},[1295,7255,6371],{"class":1305},[1295,7257,3360],{"class":1305},[1295,7259,7260],{"class":1305}," @zerops/zcli\n",[1912,7262,7263,7272],{},[1168,7264,7265,7266,7271],{},"Open ",[1152,7267,7270],{"href":7268,"rel":7269},"https://app.zerops.io/settings/token-management",[1156],"Settings > Access Token Management"," in the Zerops app and generate a new access token.",[1168,7273,7274],{},"Log in using your access token with the following command:",[1286,7276,7278],{"className":7245,"code":7277,"language":7247,"meta":1214,"style":1214},"zcli login \u003Ctoken>\n",[1264,7279,7280],{"__ignoreMap":1214},[1295,7281,7282,7285,7288,7291,7294,7297],{"class":1297,"line":1298},[1295,7283,7284],{"class":1301},"zcli",[1295,7286,7287],{"class":1305}," login",[1295,7289,7290],{"class":1495}," \u003C",[1295,7292,7293],{"class":1305},"toke",[1295,7295,7296],{"class":1491},"n",[1295,7298,2801],{"class":1495},[1912,7300,7301],{},[1168,7302,7303,7304,7306],{},"Navigate to the root of your app (where ",[1264,7305,6916],{}," is located) and run the following command to trigger the deploy:",[1286,7308,7310],{"className":7245,"code":7309,"language":7247,"meta":1214,"style":1214},"zcli push\n",[1264,7311,7312],{"__ignoreMap":1214},[1295,7313,7314,7316],{"class":1297,"line":1298},[1295,7315,7284],{"class":1301},[1295,7317,7318],{"class":1305}," push\n",[1139,7320,7321,7322,7021,7325,7328],{},"Your code can be deployed automatically on each commit or a new tag by connecting the service with your ",[1152,7323,2356],{"href":7024,"rel":7324},[1156],[1152,7326,7026],{"href":7024,"rel":7327},[1156]," repository. This connection can be set up in the service detail.",[1196,7330],{"title":7331,"to":7332},"Zerops Documentation","https://docs.zerops.io/",[1724,7334,7335],{},"html pre.shiki code .sT2Ow, html code.shiki .sT2Ow{--shiki-light:#E2931D;--shiki-default:#E2931D;--shiki-dark:#FFCB6B}html pre.shiki code .s5UST, html code.shiki .s5UST{--shiki-light:#91B859;--shiki-default:#91B859;--shiki-dark:#C3E88D}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 .sYp4K, html code.shiki .sYp4K{--shiki-light:#39ADB5;--shiki-default:#39ADB5;--shiki-dark:#89DDFF}html pre.shiki code .spdxX, html code.shiki .spdxX{--shiki-light:#90A4AE;--shiki-default:#90A4AE;--shiki-dark:#BABED8}html pre.shiki code .sQ5dg, html code.shiki .sQ5dg{--shiki-light:#E53935;--shiki-default:#E53935;--shiki-dark:#F07178}html pre.shiki code .sV9sa, html code.shiki .sV9sa{--shiki-light:#F76D47;--shiki-default:#F76D47;--shiki-dark:#F78C6C}html pre.shiki code .sagxc, html code.shiki .sagxc{--shiki-light:#FF5370;--shiki-default:#FF5370;--shiki-dark:#FF9CAC}",{"title":1214,"searchDepth":1215,"depth":1215,"links":7337},[7338,7342,7345],{"id":6824,"depth":1215,"text":6825,"children":7339},[7340,7341],{"id":6837,"depth":1505,"text":6838},{"id":6909,"depth":1505,"text":6910},{"id":7030,"depth":1215,"text":7031,"children":7343},[7344],{"id":7093,"depth":1505,"text":6910},{"id":7231,"depth":1215,"text":7232},"Deploy your Nuxt Application to Zerops infrastructure.","/assets/integrations/zerops.svg",{"NuxtPreset":6927},"/deploy/zerops",{"title":6776,"description":7346},"deploy/zerops","32BVKaTgdF",1742651336887]