[{"data":1,"prerenderedAt":3827},["ShallowReactive",2],{"navigation":3,"-docs-api-kit-templates":1119,"-docs-api-kit-templates-surround":3822},[4,1030],{"title":5,"titleTemplate":6,"icon":7,"path":8,"stem":9,"children":10,"page":108},"Docs",null,"i-lucide-book-marked","/docs","docs",[11,109,349,813,905,942,984,1026],{"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,326],{"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,322],{"title":279,"path":280,"stem":281,"titleTemplate":6},"Events","/docs/guide/going-further/events","docs/2.guide/3.going-further/1.events",{"title":283,"path":284,"stem":285,"titleTemplate":6},"Experimental Features","/docs/guide/going-further/experimental-features","docs/2.guide/3.going-further/1.experimental-features",{"title":287,"path":288,"stem":289,"titleTemplate":6},"Features","/docs/guide/going-further/features","docs/2.guide/3.going-further/1.features",{"title":291,"path":292,"stem":293,"titleTemplate":6},"How Nuxt Works?","/docs/guide/going-further/internals","docs/2.guide/3.going-further/1.internals",{"title":295,"path":296,"stem":297,"titleTemplate":6},"Runtime Config","/docs/guide/going-further/runtime-config","docs/2.guide/3.going-further/10.runtime-config",{"title":299,"path":300,"stem":301,"titleTemplate":6},"Nightly Release Channel","/docs/guide/going-further/nightly-release-channel","docs/2.guide/3.going-further/11.nightly-release-channel",{"title":303,"path":304,"stem":305,"titleTemplate":6},"Lifecycle Hooks","/docs/guide/going-further/hooks","docs/2.guide/3.going-further/2.hooks",{"title":307,"path":308,"stem":309,"titleTemplate":6},"Module Author Guide","/docs/guide/going-further/modules","docs/2.guide/3.going-further/3.modules",{"title":311,"path":312,"stem":313,"titleTemplate":6},"Nuxt Kit","/docs/guide/going-further/kit","docs/2.guide/3.going-further/4.kit",{"title":315,"path":316,"stem":317,"titleTemplate":6},"NuxtApp","/docs/guide/going-further/nuxt-app","docs/2.guide/3.going-further/6.nuxt-app",{"title":319,"path":320,"stem":321,"titleTemplate":6},"Authoring Nuxt Layers","/docs/guide/going-further/layers","docs/2.guide/3.going-further/7.layers",{"title":323,"path":324,"stem":325,"titleTemplate":6},"Debugging","/docs/guide/going-further/debugging","docs/2.guide/3.going-further/9.debugging",{"title":327,"titleTemplate":328,"icon":329,"path":330,"stem":331,"children":332,"page":108},"Recipes","%s · Recipes","i-lucide-cooking-pot","/docs/guide/recipes","docs/2.guide/4.recipes",[333,337,341,345],{"title":334,"path":335,"stem":336,"titleTemplate":6},"Custom Routing","/docs/guide/recipes/custom-routing","docs/2.guide/4.recipes/1.custom-routing",{"title":338,"path":339,"stem":340,"titleTemplate":6},"Vite Plugins","/docs/guide/recipes/vite-plugin","docs/2.guide/4.recipes/2.vite-plugin",{"title":342,"path":343,"stem":344,"titleTemplate":6},"Custom useFetch","/docs/guide/recipes/custom-usefetch","docs/2.guide/4.recipes/3.custom-usefetch",{"title":346,"path":347,"stem":348,"titleTemplate":6},"Sessions and Authentication","/docs/guide/recipes/sessions-and-authentication","docs/2.guide/4.recipes/4.sessions-and-authentication",{"title":350,"titleTemplate":351,"icon":352,"path":353,"stem":354,"children":355,"page":108},"API","%s · Nuxt API","i-lucide-code-xml","/docs/api","docs/3.api",[356,424,547,662,729,795,808],{"title":357,"titleTemplate":358,"icon":359,"path":360,"stem":361,"children":362,"page":108},"Components","%s · Nuxt Components","i-lucide-box","/docs/api/components","docs/3.api/1.components",[363,367,371,375,379,383,388,392,396,400,404,408,412,416,420],{"title":364,"path":365,"stem":366,"titleTemplate":6},"\u003CClientOnly>","/docs/api/components/client-only","docs/3.api/1.components/1.client-only",{"title":368,"path":369,"stem":370,"titleTemplate":6},"\u003CDevOnly>","/docs/api/components/dev-only","docs/3.api/1.components/1.dev-only",{"title":372,"path":373,"stem":374,"titleTemplate":6},"\u003CNuxtClientFallback>","/docs/api/components/nuxt-client-fallback","docs/3.api/1.components/1.nuxt-client-fallback",{"title":376,"path":377,"stem":378,"titleTemplate":6},"\u003CNuxtPicture>","/docs/api/components/nuxt-picture","docs/3.api/1.components/10.nuxt-picture",{"title":380,"path":381,"stem":382,"titleTemplate":6},"\u003CTeleport>","/docs/api/components/teleports","docs/3.api/1.components/11.teleports",{"title":384,"path":385,"stem":386,"titleTemplate":6,"badge":387},"\u003CNuxtRouteAnnouncer>","/docs/api/components/nuxt-route-announcer","docs/3.api/1.components/12.nuxt-route-announcer","New",{"title":389,"path":390,"stem":391,"titleTemplate":6,"badge":387},"\u003CNuxtTime>","/docs/api/components/nuxt-time","docs/3.api/1.components/13.nuxt-time",{"title":393,"path":394,"stem":395,"titleTemplate":6},"\u003CNuxtPage>","/docs/api/components/nuxt-page","docs/3.api/1.components/2.nuxt-page",{"title":397,"path":398,"stem":399,"titleTemplate":6},"\u003CNuxtLayout>","/docs/api/components/nuxt-layout","docs/3.api/1.components/3.nuxt-layout",{"title":401,"path":402,"stem":403,"titleTemplate":6},"\u003CNuxtLink>","/docs/api/components/nuxt-link","docs/3.api/1.components/4.nuxt-link",{"title":405,"path":406,"stem":407,"titleTemplate":6},"\u003CNuxtLoadingIndicator>","/docs/api/components/nuxt-loading-indicator","docs/3.api/1.components/5.nuxt-loading-indicator",{"title":409,"path":410,"stem":411,"titleTemplate":6},"\u003CNuxtErrorBoundary>","/docs/api/components/nuxt-error-boundary","docs/3.api/1.components/6.nuxt-error-boundary",{"title":413,"path":414,"stem":415,"titleTemplate":6},"\u003CNuxtWelcome>","/docs/api/components/nuxt-welcome","docs/3.api/1.components/7.nuxt-welcome",{"title":417,"path":418,"stem":419,"titleTemplate":6},"\u003CNuxtIsland>","/docs/api/components/nuxt-island","docs/3.api/1.components/8.nuxt-island",{"title":421,"path":422,"stem":423,"titleTemplate":6},"\u003CNuxtImg>","/docs/api/components/nuxt-img","docs/3.api/1.components/9.nuxt-img",{"title":425,"titleTemplate":426,"icon":427,"path":428,"stem":429,"children":430,"page":108},"Composables","%s · Nuxt Composables","i-lucide-arrow-left-right","/docs/api/composables","docs/3.api/2.composables",[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,539,543],{"title":432,"path":433,"stem":434,"titleTemplate":6},"onPrehydrate","/docs/api/composables/on-prehydrate","docs/3.api/2.composables/on-prehydrate",{"title":436,"path":437,"stem":438,"titleTemplate":6},"useAppConfig","/docs/api/composables/use-app-config","docs/3.api/2.composables/use-app-config",{"title":440,"path":441,"stem":442,"titleTemplate":6},"useAsyncData","/docs/api/composables/use-async-data","docs/3.api/2.composables/use-async-data",{"title":444,"path":445,"stem":446,"titleTemplate":6},"useCookie","/docs/api/composables/use-cookie","docs/3.api/2.composables/use-cookie",{"title":448,"path":449,"stem":450,"titleTemplate":6},"useError","/docs/api/composables/use-error","docs/3.api/2.composables/use-error",{"title":452,"path":453,"stem":454,"titleTemplate":6},"useFetch","/docs/api/composables/use-fetch","docs/3.api/2.composables/use-fetch",{"title":456,"path":457,"stem":458,"titleTemplate":6},"useHead","/docs/api/composables/use-head","docs/3.api/2.composables/use-head",{"title":460,"path":461,"stem":462,"titleTemplate":6},"useHeadSafe","/docs/api/composables/use-head-safe","docs/3.api/2.composables/use-head-safe",{"title":464,"path":465,"stem":466,"titleTemplate":6},"useHydration","/docs/api/composables/use-hydration","docs/3.api/2.composables/use-hydration",{"title":468,"path":469,"stem":470,"titleTemplate":6},"useLazyAsyncData","/docs/api/composables/use-lazy-async-data","docs/3.api/2.composables/use-lazy-async-data",{"title":472,"path":473,"stem":474,"titleTemplate":6},"useLazyFetch","/docs/api/composables/use-lazy-fetch","docs/3.api/2.composables/use-lazy-fetch",{"title":476,"path":477,"stem":478,"titleTemplate":6},"useLoadingIndicator","/docs/api/composables/use-loading-indicator","docs/3.api/2.composables/use-loading-indicator",{"title":480,"path":481,"stem":482,"titleTemplate":6},"useNuxtApp","/docs/api/composables/use-nuxt-app","docs/3.api/2.composables/use-nuxt-app",{"title":484,"path":485,"stem":486,"titleTemplate":6},"useNuxtData","/docs/api/composables/use-nuxt-data","docs/3.api/2.composables/use-nuxt-data",{"title":488,"path":489,"stem":490,"titleTemplate":6},"usePreviewMode","/docs/api/composables/use-preview-mode","docs/3.api/2.composables/use-preview-mode",{"title":492,"path":493,"stem":494,"titleTemplate":6},"useRequestEvent","/docs/api/composables/use-request-event","docs/3.api/2.composables/use-request-event",{"title":496,"path":497,"stem":498,"titleTemplate":6},"useRequestFetch","/docs/api/composables/use-request-fetch","docs/3.api/2.composables/use-request-fetch",{"title":500,"path":501,"stem":502,"titleTemplate":6},"useRequestHeader","/docs/api/composables/use-request-header","docs/3.api/2.composables/use-request-header",{"title":504,"path":505,"stem":506,"titleTemplate":6},"useRequestHeaders","/docs/api/composables/use-request-headers","docs/3.api/2.composables/use-request-headers",{"title":508,"path":509,"stem":510,"titleTemplate":6},"useRequestURL","/docs/api/composables/use-request-url","docs/3.api/2.composables/use-request-url",{"title":512,"path":513,"stem":514,"titleTemplate":6},"useResponseHeader","/docs/api/composables/use-response-header","docs/3.api/2.composables/use-response-header",{"title":516,"path":517,"stem":518,"titleTemplate":6},"useRoute","/docs/api/composables/use-route","docs/3.api/2.composables/use-route",{"title":520,"path":521,"stem":522,"titleTemplate":6,"badge":387},"useRouteAnnouncer","/docs/api/composables/use-route-announcer","docs/3.api/2.composables/use-route-announcer",{"title":524,"path":525,"stem":526,"titleTemplate":6},"useRouter","/docs/api/composables/use-router","docs/3.api/2.composables/use-router",{"title":528,"path":529,"stem":530,"titleTemplate":6},"useRuntimeConfig","/docs/api/composables/use-runtime-config","docs/3.api/2.composables/use-runtime-config",{"title":532,"path":533,"stem":534,"titleTemplate":6},"useRuntimeHook","/docs/api/composables/use-runtime-hook","docs/3.api/2.composables/use-runtime-hook",{"title":536,"path":537,"stem":538,"titleTemplate":6},"useSeoMeta","/docs/api/composables/use-seo-meta","docs/3.api/2.composables/use-seo-meta",{"title":540,"path":541,"stem":542,"titleTemplate":6},"useServerSeoMeta","/docs/api/composables/use-server-seo-meta","docs/3.api/2.composables/use-server-seo-meta",{"title":544,"path":545,"stem":546,"titleTemplate":6},"useState","/docs/api/composables/use-state","docs/3.api/2.composables/use-state",{"title":548,"titleTemplate":549,"icon":550,"path":551,"stem":552,"children":553,"page":108},"Utils","%s · Nuxt Utils","i-lucide-square-function","/docs/api/utils","docs/3.api/3.utils",[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,654,658],{"title":555,"path":556,"stem":557,"titleTemplate":6},"$fetch","/docs/api/utils/dollarfetch","docs/3.api/3.utils/$fetch",{"title":559,"path":560,"stem":561,"titleTemplate":6},"abortNavigation","/docs/api/utils/abort-navigation","docs/3.api/3.utils/abort-navigation",{"title":563,"path":564,"stem":565,"titleTemplate":6},"addRouteMiddleware","/docs/api/utils/add-route-middleware","docs/3.api/3.utils/add-route-middleware",{"title":567,"path":568,"stem":569,"titleTemplate":6,"badge":387},"callOnce","/docs/api/utils/call-once","docs/3.api/3.utils/call-once",{"title":571,"path":572,"stem":573,"titleTemplate":6},"clearError","/docs/api/utils/clear-error","docs/3.api/3.utils/clear-error",{"title":575,"path":576,"stem":577,"titleTemplate":6},"clearNuxtData","/docs/api/utils/clear-nuxt-data","docs/3.api/3.utils/clear-nuxt-data",{"title":579,"path":580,"stem":581,"titleTemplate":6},"clearNuxtState","/docs/api/utils/clear-nuxt-state","docs/3.api/3.utils/clear-nuxt-state",{"title":583,"path":584,"stem":585,"titleTemplate":6},"createError","/docs/api/utils/create-error","docs/3.api/3.utils/create-error",{"title":587,"path":588,"stem":589,"titleTemplate":6},"defineNuxtComponent","/docs/api/utils/define-nuxt-component","docs/3.api/3.utils/define-nuxt-component",{"title":591,"path":592,"stem":593,"titleTemplate":6},"defineNuxtRouteMiddleware","/docs/api/utils/define-nuxt-route-middleware","docs/3.api/3.utils/define-nuxt-route-middleware",{"title":595,"path":596,"stem":597,"titleTemplate":6},"definePageMeta","/docs/api/utils/define-page-meta","docs/3.api/3.utils/define-page-meta",{"title":599,"path":600,"stem":601,"titleTemplate":6},"defineRouteRules","/docs/api/utils/define-route-rules","docs/3.api/3.utils/define-route-rules",{"title":603,"path":604,"stem":605,"titleTemplate":6},"navigateTo","/docs/api/utils/navigate-to","docs/3.api/3.utils/navigate-to",{"title":607,"path":608,"stem":609,"titleTemplate":6},"onBeforeRouteLeave","/docs/api/utils/on-before-route-leave","docs/3.api/3.utils/on-before-route-leave",{"title":611,"path":612,"stem":613,"titleTemplate":6},"onBeforeRouteUpdate","/docs/api/utils/on-before-route-update","docs/3.api/3.utils/on-before-route-update",{"title":615,"path":616,"stem":617,"titleTemplate":6},"onNuxtReady","/docs/api/utils/on-nuxt-ready","docs/3.api/3.utils/on-nuxt-ready",{"title":619,"path":620,"stem":621,"titleTemplate":6},"prefetchComponents","/docs/api/utils/prefetch-components","docs/3.api/3.utils/prefetch-components",{"title":623,"path":624,"stem":625,"titleTemplate":6},"preloadComponents","/docs/api/utils/preload-components","docs/3.api/3.utils/preload-components",{"title":627,"path":628,"stem":629,"titleTemplate":6},"preloadRouteComponents","/docs/api/utils/preload-route-components","docs/3.api/3.utils/preload-route-components",{"title":631,"path":632,"stem":633,"titleTemplate":6},"prerenderRoutes","/docs/api/utils/prerender-routes","docs/3.api/3.utils/prerender-routes",{"title":635,"path":636,"stem":637,"titleTemplate":6,"badge":387},"refreshCookie","/docs/api/utils/refresh-cookie","docs/3.api/3.utils/refresh-cookie",{"title":639,"path":640,"stem":641,"titleTemplate":6},"refreshNuxtData","/docs/api/utils/refresh-nuxt-data","docs/3.api/3.utils/refresh-nuxt-data",{"title":643,"path":644,"stem":645,"titleTemplate":6},"reloadNuxtApp","/docs/api/utils/reload-nuxt-app","docs/3.api/3.utils/reload-nuxt-app",{"title":647,"path":648,"stem":649,"titleTemplate":6},"setPageLayout","/docs/api/utils/set-page-layout","docs/3.api/3.utils/set-page-layout",{"title":651,"path":652,"stem":653,"titleTemplate":6},"setResponseStatus","/docs/api/utils/set-response-status","docs/3.api/3.utils/set-response-status",{"title":655,"path":656,"stem":657,"titleTemplate":6},"showError","/docs/api/utils/show-error","docs/3.api/3.utils/show-error",{"title":659,"path":660,"stem":661,"titleTemplate":6},"updateAppConfig","/docs/api/utils/update-app-config","docs/3.api/3.utils/update-app-config",{"title":663,"titleTemplate":664,"icon":665,"path":666,"stem":667,"children":668,"page":108},"Commands","%s · Nuxt Commands","i-lucide-square-terminal","/docs/api/commands","docs/3.api/4.commands",[669,673,677,681,685,689,693,697,701,705,709,713,717,721,725],{"title":670,"path":671,"stem":672,"titleTemplate":6},"nuxt add","/docs/api/commands/add","docs/3.api/4.commands/add",{"title":674,"path":675,"stem":676,"titleTemplate":6},"nuxt analyze","/docs/api/commands/analyze","docs/3.api/4.commands/analyze",{"title":678,"path":679,"stem":680,"titleTemplate":6},"nuxt build","/docs/api/commands/build","docs/3.api/4.commands/build",{"title":682,"path":683,"stem":684,"titleTemplate":6},"nuxt build-module","/docs/api/commands/build-module","docs/3.api/4.commands/build-module",{"title":686,"path":687,"stem":688,"titleTemplate":6},"nuxt cleanup","/docs/api/commands/cleanup","docs/3.api/4.commands/cleanup",{"title":690,"path":691,"stem":692,"titleTemplate":6},"nuxt dev","/docs/api/commands/dev","docs/3.api/4.commands/dev",{"title":694,"path":695,"stem":696,"titleTemplate":6},"nuxt devtools","/docs/api/commands/devtools","docs/3.api/4.commands/devtools",{"title":698,"path":699,"stem":700,"titleTemplate":6},"nuxt generate","/docs/api/commands/generate","docs/3.api/4.commands/generate",{"title":702,"path":703,"stem":704,"titleTemplate":6},"nuxt info","/docs/api/commands/info","docs/3.api/4.commands/info",{"title":706,"path":707,"stem":708,"titleTemplate":6},"create nuxt","/docs/api/commands/init","docs/3.api/4.commands/init",{"title":710,"path":711,"stem":712,"titleTemplate":6},"nuxt module","/docs/api/commands/module","docs/3.api/4.commands/module",{"title":714,"path":715,"stem":716,"titleTemplate":6},"nuxt prepare","/docs/api/commands/prepare","docs/3.api/4.commands/prepare",{"title":718,"path":719,"stem":720,"titleTemplate":6},"nuxt preview","/docs/api/commands/preview","docs/3.api/4.commands/preview",{"title":722,"path":723,"stem":724,"titleTemplate":6},"nuxt typecheck","/docs/api/commands/typecheck","docs/3.api/4.commands/typecheck",{"title":726,"path":727,"stem":728,"titleTemplate":6},"nuxt upgrade","/docs/api/commands/upgrade","docs/3.api/4.commands/upgrade",{"title":311,"titleTemplate":730,"icon":731,"path":732,"stem":733,"children":734,"page":108},"%s · Nuxt Kit","i-lucide-package","/docs/api/kit","docs/3.api/5.kit",[735,738,741,745,749,753,757,761,765,769,773,776,779,783,787,791],{"title":143,"path":736,"stem":737,"titleTemplate":6},"/docs/api/kit/modules","docs/3.api/5.kit/1.modules",{"title":295,"path":739,"stem":740,"titleTemplate":6},"/docs/api/kit/runtime-config","docs/3.api/5.kit/10.runtime-config",{"title":742,"path":743,"stem":744,"titleTemplate":6},"Templates","/docs/api/kit/templates","docs/3.api/5.kit/10.templates",{"title":746,"path":747,"stem":748,"titleTemplate":6},"Nitro","/docs/api/kit/nitro","docs/3.api/5.kit/11.nitro",{"title":750,"path":751,"stem":752,"titleTemplate":6},"Resolving","/docs/api/kit/resolving","docs/3.api/5.kit/12.resolving",{"title":754,"path":755,"stem":756,"titleTemplate":6},"Logging","/docs/api/kit/logging","docs/3.api/5.kit/13.logging",{"title":758,"path":759,"stem":760,"titleTemplate":6},"Builder","/docs/api/kit/builder","docs/3.api/5.kit/14.builder",{"title":762,"path":763,"stem":764,"titleTemplate":6},"Examples","/docs/api/kit/examples","docs/3.api/5.kit/15.examples",{"title":766,"path":767,"stem":768,"titleTemplate":6},"Programmatic Usage","/docs/api/kit/programmatic","docs/3.api/5.kit/2.programmatic",{"title":770,"path":771,"stem":772,"titleTemplate":6},"Compatibility","/docs/api/kit/compatibility","docs/3.api/5.kit/3.compatibility",{"title":123,"path":774,"stem":775,"titleTemplate":6},"/docs/api/kit/autoimports","docs/3.api/5.kit/4.autoimports",{"title":357,"path":777,"stem":778,"titleTemplate":6},"/docs/api/kit/components","docs/3.api/5.kit/5.components",{"title":780,"path":781,"stem":782,"titleTemplate":6},"Context","/docs/api/kit/context","docs/3.api/5.kit/6.context",{"title":784,"path":785,"stem":786,"titleTemplate":6},"Pages","/docs/api/kit/pages","docs/3.api/5.kit/7.pages",{"title":788,"path":789,"stem":790,"titleTemplate":6},"Layout","/docs/api/kit/layout","docs/3.api/5.kit/8.layout",{"title":792,"path":793,"stem":794,"titleTemplate":6},"Plugins","/docs/api/kit/plugins","docs/3.api/5.kit/9.plugins",{"title":796,"titleTemplate":6,"icon":797,"path":798,"stem":799,"children":800,"page":108},"Advanced","i-lucide-brain","/docs/api/advanced","docs/3.api/6.advanced",[801,804],{"title":303,"path":802,"stem":803,"titleTemplate":6},"/docs/api/advanced/hooks","docs/3.api/6.advanced/1.hooks",{"title":805,"path":806,"stem":807,"titleTemplate":6},"Import meta","/docs/api/advanced/import-meta","docs/3.api/6.advanced/2.import-meta",{"title":809,"path":810,"stem":811,"titleTemplate":812,"icon":32},"Nuxt Configuration","/docs/api/nuxt-config","docs/3.api/6.nuxt-config","%s",{"title":762,"titleTemplate":814,"icon":815,"path":816,"stem":817,"children":818,"page":108},"%s · Nuxt Examples","i-lucide-app-window-mac","/docs/examples","docs/4.examples",[819,823,845,860,896],{"title":820,"path":821,"stem":822,"titleTemplate":6},"Hello World","/docs/examples/hello-world","docs/4.examples/0.hello-world",{"title":287,"path":824,"stem":825,"children":826,"page":108},"/docs/examples/features","docs/4.examples/1.features",[827,831,834,837,841],{"title":828,"path":829,"stem":830,"titleTemplate":6},"Auto Imports","/docs/examples/features/auto-imports","docs/4.examples/1.features/1.auto-imports",{"title":64,"path":832,"stem":833,"titleTemplate":6},"/docs/examples/features/data-fetching","docs/4.examples/1.features/2.data-fetching",{"title":69,"path":835,"stem":836,"titleTemplate":6},"/docs/examples/features/state-management","docs/4.examples/1.features/3.state-management",{"title":838,"path":839,"stem":840,"titleTemplate":6},"Meta Tags","/docs/examples/features/meta-tags","docs/4.examples/1.features/4.meta-tags",{"title":842,"path":843,"stem":844,"titleTemplate":6},"Layouts","/docs/examples/features/layouts","docs/4.examples/1.features/5.layouts",{"title":49,"path":846,"stem":847,"children":848,"page":108},"/docs/examples/routing","docs/4.examples/2.routing",[849,853,856],{"title":850,"path":851,"stem":852,"titleTemplate":6},"Middleware","/docs/examples/routing/middleware","docs/4.examples/2.routing/middleware",{"title":784,"path":854,"stem":855,"titleTemplate":6},"/docs/examples/routing/pages","docs/4.examples/2.routing/pages",{"title":857,"path":858,"stem":859,"titleTemplate":6},"Universal Router","/docs/examples/routing/universal-router","docs/4.examples/2.routing/universal-router",{"title":796,"path":861,"stem":862,"children":863,"page":108},"/docs/examples/advanced","docs/4.examples/4.advanced",[864,867,870,874,878,882,886,889,892],{"title":84,"path":865,"stem":866,"titleTemplate":6},"/docs/examples/advanced/config-extends","docs/4.examples/4.advanced/config-extends",{"title":74,"path":868,"stem":869,"titleTemplate":6},"/docs/examples/advanced/error-handling","docs/4.examples/4.advanced/error-handling",{"title":871,"path":872,"stem":873,"titleTemplate":6},"JSX / TSX","/docs/examples/advanced/jsx","docs/4.examples/4.advanced/jsx",{"title":875,"path":876,"stem":877,"titleTemplate":6},"Locale","/docs/examples/advanced/locale","docs/4.examples/4.advanced/locale",{"title":879,"path":880,"stem":881,"titleTemplate":6},"Module Extend Pages","/docs/examples/advanced/module-extend-pages","docs/4.examples/4.advanced/module-extend-pages",{"title":883,"path":884,"stem":885,"titleTemplate":6},"Teleport","/docs/examples/advanced/teleport","docs/4.examples/4.advanced/teleport",{"title":99,"path":887,"stem":888,"titleTemplate":6},"/docs/examples/advanced/testing","docs/4.examples/4.advanced/testing",{"title":444,"path":890,"stem":891,"titleTemplate":6},"/docs/examples/advanced/use-cookie","docs/4.examples/4.advanced/use-cookie",{"title":893,"path":894,"stem":895,"titleTemplate":6},"Use Custom Fetch Composable","/docs/examples/advanced/use-custom-fetch-composable","docs/4.examples/4.advanced/use-custom-fetch-composable",{"title":897,"path":898,"stem":899,"children":900,"page":108},"Experimental","/docs/examples/experimental","docs/4.examples/7.experimental",[901],{"title":902,"path":903,"stem":904,"titleTemplate":6},"WASM","/docs/examples/experimental/wasm","docs/4.examples/7.experimental/wasm",{"title":906,"titleTemplate":907,"icon":908,"path":909,"stem":910,"children":911,"page":108},"Community","%s · Nuxt Community","i-lucide-messages-square","/docs/community","docs/5.community",[912,917,922,927,932,937],{"title":913,"path":914,"stem":915,"titleTemplate":6,"icon":916},"Getting Help","/docs/community/getting-help","docs/5.community/2.getting-help","i-lucide-life-buoy",{"title":918,"path":919,"stem":920,"titleTemplate":6,"icon":921},"Reporting Bugs","/docs/community/reporting-bugs","docs/5.community/3.reporting-bugs","i-lucide-bug",{"title":923,"path":924,"stem":925,"titleTemplate":6,"icon":926},"Contribution","/docs/community/contribution","docs/5.community/4.contribution","i-lucide-git-pull-request",{"title":928,"path":929,"stem":930,"titleTemplate":6,"icon":931},"Framework","/docs/community/framework-contribution","docs/5.community/5.framework-contribution","i-lucide-github",{"title":933,"path":934,"stem":935,"titleTemplate":6,"icon":936},"Roadmap","/docs/community/roadmap","docs/5.community/6.roadmap","i-lucide-map",{"title":938,"path":939,"stem":940,"titleTemplate":6,"icon":941},"Releases","/docs/community/changelog","docs/5.community/7.changelog","i-lucide-bell-dot",{"title":943,"titleTemplate":944,"icon":945,"path":946,"stem":947,"children":948,"page":108},"Migrate to Nuxt Bridge","Migrate to Nuxt Bridge: %s","i-lucide-ship","/docs/bridge","docs/6.bridge",[949,953,956,959,963,967,971,974,977,980],{"title":950,"path":951,"stem":952,"titleTemplate":6},"Overview","/docs/bridge/overview","docs/6.bridge/1.overview",{"title":29,"path":954,"stem":955,"titleTemplate":6},"/docs/bridge/configuration","docs/6.bridge/10.configuration",{"title":151,"path":957,"stem":958,"titleTemplate":6},"/docs/bridge/typescript","docs/6.bridge/2.typescript",{"title":960,"path":961,"stem":962,"titleTemplate":6},"Legacy Composition API","/docs/bridge/bridge-composition-api","docs/6.bridge/3.bridge-composition-api",{"title":964,"path":965,"stem":966,"titleTemplate":6},"Plugins and Middleware","/docs/bridge/plugins-and-middleware","docs/6.bridge/4.plugins-and-middleware",{"title":968,"path":969,"stem":970,"titleTemplate":6},"New Composition API","/docs/bridge/nuxt3-compatible-api","docs/6.bridge/5.nuxt3-compatible-api",{"title":838,"path":972,"stem":973,"titleTemplate":6},"/docs/bridge/meta","docs/6.bridge/6.meta",{"title":295,"path":975,"stem":976,"titleTemplate":6},"/docs/bridge/runtime-config","docs/6.bridge/7.runtime-config",{"title":746,"path":978,"stem":979,"titleTemplate":6},"/docs/bridge/nitro","docs/6.bridge/8.nitro",{"title":981,"path":982,"stem":983,"titleTemplate":6},"Vite","/docs/bridge/vite","docs/6.bridge/9.vite",{"title":985,"titleTemplate":986,"icon":107,"path":987,"stem":988,"children":989,"page":108},"Migrate to Nuxt 3","Migrate to Nuxt 3: %s","/docs/migration","docs/7.migration",[990,993,997,1000,1003,1006,1009,1012,1015,1019,1023],{"title":950,"path":991,"stem":992,"titleTemplate":6},"/docs/migration/overview","docs/7.migration/1.overview",{"title":994,"path":995,"stem":996,"titleTemplate":6},"Build Tooling","/docs/migration/bundling","docs/7.migration/10.bundling",{"title":79,"path":998,"stem":999,"titleTemplate":6},"/docs/migration/server","docs/7.migration/11.server",{"title":29,"path":1001,"stem":1002,"titleTemplate":6},"/docs/migration/configuration","docs/7.migration/2.configuration",{"title":143,"path":1004,"stem":1005,"titleTemplate":6},"/docs/migration/module-authors","docs/7.migration/20.module-authors",{"title":828,"path":1007,"stem":1008,"titleTemplate":6},"/docs/migration/auto-imports","docs/7.migration/3.auto-imports",{"title":838,"path":1010,"stem":1011,"titleTemplate":6},"/docs/migration/meta","docs/7.migration/4.meta",{"title":964,"path":1013,"stem":1014,"titleTemplate":6},"/docs/migration/plugins-and-middleware","docs/7.migration/5.plugins-and-middleware",{"title":1016,"path":1017,"stem":1018,"titleTemplate":6},"Pages and Layouts","/docs/migration/pages-and-layouts","docs/7.migration/6.pages-and-layouts",{"title":1020,"path":1021,"stem":1022,"titleTemplate":6},"Component Options","/docs/migration/component-options","docs/7.migration/7.component-options",{"title":295,"path":1024,"stem":1025,"titleTemplate":6},"/docs/migration/runtime-config","docs/7.migration/8.runtime-config",{"title":1027,"path":1028,"stem":1029,"titleTemplate":6},"Package","/docs/package","docs/package",{"title":1031,"path":1032,"stem":1033,"children":1034,"page":108},"Blog","/blog","blog",[1035,1039,1043,1047,1051,1055,1059,1063,1067,1071,1075,1079,1083,1087,1091,1095,1099,1103,1107,1111,1115],{"title":1036,"path":1037,"stem":1038},"Announcing 3.0","/blog/v3","blog/1.v3",{"title":1040,"path":1041,"stem":1042},"Nuxt 3.3","/blog/v3-3","blog/10.v3-3",{"title":1044,"path":1045,"stem":1046},"Nuxt 3.4","/blog/v3-4","blog/11.v3-4",{"title":1048,"path":1049,"stem":1050},"Nuxt 3.5","/blog/v3-5","blog/12.v3-5",{"title":1052,"path":1053,"stem":1054},"Nuxt 3.6","/blog/v3-6","blog/13.v3-6",{"title":1056,"path":1057,"stem":1058},"Nuxt on the Edge","/blog/nuxt-on-the-edge","blog/14.nuxt-on-the-edge",{"title":1060,"path":1061,"stem":1062},"Nuxt DevTools v1.0","/blog/nuxt-devtools-v1-0","blog/18.nuxt-devtools-v1-0",{"title":1064,"path":1065,"stem":1066},"Nuxt: A vision for 2023","/blog/vision-2023","blog/2.vision-2023",{"title":1068,"path":1069,"stem":1070},"The Evolution of Shiki v1.0","/blog/shiki-v1","blog/21.shiki-v1",{"title":1072,"path":1073,"stem":1074},"Refreshed Nuxt ESLint Integrations","/blog/eslint-module","blog/24.eslint-module",{"title":1076,"path":1077,"stem":1078},"Introducing Nuxt Scripts","/blog/nuxt-scripts","blog/26.nuxt-scripts",{"title":1080,"path":1081,"stem":1082},"Introducing Nuxt Icon v1","/blog/nuxt-icon-v1-0","blog/29.nuxt-icon-v1-0",{"title":1084,"path":1085,"stem":1086},"Introducing Nuxt DevTools","/blog/introducing-nuxt-devtools","blog/3.introducing-nuxt-devtools",{"title":1088,"path":1089,"stem":1090},"Announcing Nuxt 3 Release Candidate","/blog/nuxt3-rc","blog/3.nuxt3-rc",{"title":1092,"path":1093,"stem":1094},"Nuxt 2 End-of-Life (EOL)","/blog/nuxt2-eol","blog/4.nuxt2-eol",{"title":1096,"path":1097,"stem":1098},"Introducing Nuxt 3 Beta","/blog/nuxt3-beta","blog/4.nuxt3-beta",{"title":1100,"path":1101,"stem":1102},"Going Full Static","/blog/going-full-static","blog/5.going-full-static",{"title":1104,"path":1105,"stem":1106},"Introducing Smart Prefetching","/blog/introducing-smart-prefetching","blog/6.introducing-smart-prefetching",{"title":1108,"path":1109,"stem":1110},"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":1112,"path":1113,"stem":1114},"Nuxt 2 Static Improvements","/blog/nuxt-static-improvements","blog/8.nuxt-static-improvements",{"title":1116,"path":1117,"stem":1118},"Nuxt 2: From Terminal to Browser","/blog/nuxtjs-from-terminal-to-browser","blog/9.nuxtjs-from-terminal-to-browser",{"id":1120,"title":742,"body":1121,"description":3811,"extension":3812,"links":3813,"meta":3819,"navigation":1233,"path":743,"seo":3820,"stem":744,"titleTemplate":6,"__hash__":3821},"docs/docs/3.api/5.kit/10.templates.md",{"type":1122,"value":1123,"toc":3785},"minimal",[1124,1141,1147,1153,1158,1471,1475,1511,1515,1525,1724,1727,1732,1735,1969,1979,2202,2207,2210,2213,2345,2348,2403,2406,2412,2552,2558,2613,2616,2620,2623,2781,2788,2916,2922,2925,2928,3046,3049,3074,3077,3082,3150,3153,3157,3160,3270,3273,3332,3337,3340,3343,3687,3690,3719,3722,3727,3781],[1125,1126,1127,1128,1132,1133,1136,1137,1140],"p",{},"Templates allows to generate extra files during development and build time. These files will be available in virtual filesystem and can be used in plugins, layouts, components, etc. ",[1129,1130,1131],"code",{},"addTemplate"," and ",[1129,1134,1135],{},"addTypeTemplate"," allow you to add templates to the Nuxt application. ",[1129,1138,1139],{},"updateTemplates"," allows you to regenerate templates that match the filter.",[1142,1143,1145],"h2",{"id":1144},"addtemplate",[1129,1146,1131],{},[1125,1148,1149,1150],{},"Renders given template during build into the virtual file system, and optionally to disk in the project ",[1129,1151,1152],{},"buildDir",[1154,1155,1157],"h3",{"id":1156},"usage","Usage",[1159,1160,1166],"pre",{"className":1161,"code":1162,"language":1163,"meta":1164,"style":1165},"language-ts shiki shiki-themes material-theme-lighter material-theme-lighter material-theme-palenight","import { addTemplate, defineNuxtModule } from '@nuxt/kit'\nimport { defu } from 'defu'\n\nexport default defineNuxtModule({\n  setup(options, nuxt) {\n    const globalMeta = defu(nuxt.options.app.head, {\n      charset: options.charset,\n      viewport: options.viewport\n    })\n\n    addTemplate({\n      filename: 'meta.config.mjs',\n      getContents: () => 'export default ' + JSON.stringify({ globalMeta, mixinKey: 'setup' })\n    })\n  }\n})\n","ts","twoslash","",[1129,1167,1168,1207,1228,1235,1253,1277,1316,1336,1351,1360,1365,1375,1393,1450,1457,1463],{"__ignoreMap":1165},[1169,1170,1173,1177,1181,1185,1188,1191,1194,1197,1200,1204],"span",{"class":1171,"line":1172},"line",1,[1169,1174,1176],{"class":1175},"s8R28","import",[1169,1178,1180],{"class":1179},"sDfIl"," {",[1169,1182,1184],{"class":1183},"sZSNi"," addTemplate",[1169,1186,1187],{"class":1179},",",[1169,1189,1190],{"class":1183}," defineNuxtModule",[1169,1192,1193],{"class":1179}," }",[1169,1195,1196],{"class":1175}," from",[1169,1198,1199],{"class":1179}," '",[1169,1201,1203],{"class":1202},"sGFVr","@nuxt/kit",[1169,1205,1206],{"class":1179},"'\n",[1169,1208,1210,1212,1214,1217,1219,1221,1223,1226],{"class":1171,"line":1209},2,[1169,1211,1176],{"class":1175},[1169,1213,1180],{"class":1179},[1169,1215,1216],{"class":1183}," defu",[1169,1218,1193],{"class":1179},[1169,1220,1196],{"class":1175},[1169,1222,1199],{"class":1179},[1169,1224,1225],{"class":1202},"defu",[1169,1227,1206],{"class":1179},[1169,1229,1231],{"class":1171,"line":1230},3,[1169,1232,1234],{"emptyLinePlaceholder":1233},true,"\n",[1169,1236,1238,1241,1244,1247,1250],{"class":1171,"line":1237},4,[1169,1239,1240],{"class":1175},"export",[1169,1242,1243],{"class":1175}," default",[1169,1245,1190],{"class":1246},"s3cPz",[1169,1248,1249],{"class":1183},"(",[1169,1251,1252],{"class":1179},"{\n",[1169,1254,1256,1260,1262,1266,1268,1271,1274],{"class":1171,"line":1255},5,[1169,1257,1259],{"class":1258},"sRlkE","  setup",[1169,1261,1249],{"class":1179},[1169,1263,1265],{"class":1264},"s1nJG","options",[1169,1267,1187],{"class":1179},[1169,1269,1270],{"class":1264}," nuxt",[1169,1272,1273],{"class":1179},")",[1169,1275,1276],{"class":1179}," {\n",[1169,1278,1280,1284,1287,1290,1292,1294,1297,1300,1302,1304,1307,1309,1312,1314],{"class":1171,"line":1279},6,[1169,1281,1283],{"class":1282},"smZ93","    const",[1169,1285,1286],{"class":1183}," globalMeta",[1169,1288,1289],{"class":1179}," =",[1169,1291,1216],{"class":1246},[1169,1293,1249],{"class":1258},[1169,1295,1296],{"class":1183},"nuxt",[1169,1298,1299],{"class":1179},".",[1169,1301,1265],{"class":1183},[1169,1303,1299],{"class":1179},[1169,1305,1306],{"class":1183},"app",[1169,1308,1299],{"class":1179},[1169,1310,1311],{"class":1183},"head",[1169,1313,1187],{"class":1179},[1169,1315,1276],{"class":1179},[1169,1317,1319,1322,1325,1328,1330,1333],{"class":1171,"line":1318},7,[1169,1320,1321],{"class":1258},"      charset",[1169,1323,1324],{"class":1179},":",[1169,1326,1327],{"class":1183}," options",[1169,1329,1299],{"class":1179},[1169,1331,1332],{"class":1183},"charset",[1169,1334,1335],{"class":1179},",\n",[1169,1337,1339,1342,1344,1346,1348],{"class":1171,"line":1338},8,[1169,1340,1341],{"class":1258},"      viewport",[1169,1343,1324],{"class":1179},[1169,1345,1327],{"class":1183},[1169,1347,1299],{"class":1179},[1169,1349,1350],{"class":1183},"viewport\n",[1169,1352,1354,1357],{"class":1171,"line":1353},9,[1169,1355,1356],{"class":1179},"    }",[1169,1358,1359],{"class":1258},")\n",[1169,1361,1363],{"class":1171,"line":1362},10,[1169,1364,1234],{"emptyLinePlaceholder":1233},[1169,1366,1368,1371,1373],{"class":1171,"line":1367},11,[1169,1369,1370],{"class":1246},"    addTemplate",[1169,1372,1249],{"class":1258},[1169,1374,1252],{"class":1179},[1169,1376,1378,1381,1383,1385,1388,1391],{"class":1171,"line":1377},12,[1169,1379,1380],{"class":1258},"      filename",[1169,1382,1324],{"class":1179},[1169,1384,1199],{"class":1179},[1169,1386,1387],{"class":1202},"meta.config.mjs",[1169,1389,1390],{"class":1179},"'",[1169,1392,1335],{"class":1179},[1169,1394,1396,1399,1401,1404,1407,1409,1412,1414,1417,1420,1422,1425,1427,1430,1432,1434,1437,1439,1441,1444,1446,1448],{"class":1171,"line":1395},13,[1169,1397,1398],{"class":1246},"      getContents",[1169,1400,1324],{"class":1179},[1169,1402,1403],{"class":1179}," ()",[1169,1405,1406],{"class":1282}," =>",[1169,1408,1199],{"class":1179},[1169,1410,1411],{"class":1202},"export default ",[1169,1413,1390],{"class":1179},[1169,1415,1416],{"class":1179}," +",[1169,1418,1419],{"class":1183}," JSON",[1169,1421,1299],{"class":1179},[1169,1423,1424],{"class":1246},"stringify",[1169,1426,1249],{"class":1258},[1169,1428,1429],{"class":1179},"{",[1169,1431,1286],{"class":1183},[1169,1433,1187],{"class":1179},[1169,1435,1436],{"class":1258}," mixinKey",[1169,1438,1324],{"class":1179},[1169,1440,1199],{"class":1179},[1169,1442,1443],{"class":1202},"setup",[1169,1445,1390],{"class":1179},[1169,1447,1193],{"class":1179},[1169,1449,1359],{"class":1258},[1169,1451,1453,1455],{"class":1171,"line":1452},14,[1169,1454,1356],{"class":1179},[1169,1456,1359],{"class":1258},[1169,1458,1460],{"class":1171,"line":1459},15,[1169,1461,1462],{"class":1179},"  }\n",[1169,1464,1466,1469],{"class":1171,"line":1465},16,[1169,1467,1468],{"class":1179},"}",[1169,1470,1359],{"class":1183},[1154,1472,1474],{"id":1473},"type","Type",[1159,1476,1478],{"className":1161,"code":1477,"language":1163,"meta":1164,"style":1165},"// @errors: 2391\nimport type { NuxtTemplate, ResolvedNuxtTemplate } from '@nuxt/schema'\n// ---cut---\nfunction addTemplate (template: NuxtTemplate | string): ResolvedNuxtTemplate\n",[1129,1479,1480],{"__ignoreMap":1165},[1169,1481,1482,1485,1487,1490,1493,1495,1499,1502,1505,1508],{"class":1171,"line":1172},[1169,1483,1484],{"class":1282},"function",[1169,1486,1184],{"class":1246},[1169,1488,1489],{"class":1179}," (",[1169,1491,1492],{"class":1264},"template",[1169,1494,1324],{"class":1179},[1169,1496,1498],{"class":1497},"s52Pk"," NuxtTemplate",[1169,1500,1501],{"class":1179}," |",[1169,1503,1504],{"class":1497}," string",[1169,1506,1507],{"class":1179},"):",[1169,1509,1510],{"class":1497}," ResolvedNuxtTemplate\n",[1154,1512,1514],{"id":1513},"parameters","Parameters",[1125,1516,1517,1520,1521,1524],{},[1518,1519,1492],"strong",{},": A template object or a string with the path to the template. If a string is provided, it will be converted to a template object with ",[1129,1522,1523],{},"src"," set to the string value. If a template object is provided, it must have the following properties:",[1526,1527,1528,1546],"table",{},[1529,1530,1531],"thead",{},[1532,1533,1534,1538,1540,1543],"tr",{},[1535,1536,1537],"th",{},"Property",[1535,1539,1474],{},[1535,1541,1542],{},"Required",[1535,1544,1545],{},"Description",[1547,1548,1549,1576,1603,1629,1647,1701],"tbody",{},[1532,1550,1551,1556,1561,1566],{},[1552,1553,1554],"td",{},[1129,1555,1523],{},[1552,1557,1558],{},[1129,1559,1560],{},"string",[1552,1562,1563],{},[1129,1564,1565],{},"false",[1552,1567,1568,1569,1571,1572,1575],{},"Path to the template. If ",[1129,1570,1523],{}," is not provided, ",[1129,1573,1574],{},"getContents"," must be provided instead.",[1532,1577,1578,1583,1587,1591],{},[1552,1579,1580],{},[1129,1581,1582],{},"filename",[1552,1584,1585],{},[1129,1586,1560],{},[1552,1588,1589],{},[1129,1590,1565],{},[1552,1592,1593,1594,1596,1597,1599,1600,1602],{},"Filename of the template. If ",[1129,1595,1582],{}," is not provided, it will be generated from the ",[1129,1598,1523],{}," path. In this case, the ",[1129,1601,1523],{}," option is required.",[1532,1604,1605,1610,1614,1618],{},[1552,1606,1607],{},[1129,1608,1609],{},"dst",[1552,1611,1612],{},[1129,1613,1560],{},[1552,1615,1616],{},[1129,1617,1565],{},[1552,1619,1620,1621,1596,1623,1625,1626,1628],{},"Path to the destination file. If ",[1129,1622,1609],{},[1129,1624,1582],{}," path and nuxt ",[1129,1627,1152],{}," option.",[1532,1630,1631,1635,1640,1644],{},[1552,1632,1633],{},[1129,1634,1265],{},[1552,1636,1637],{},[1129,1638,1639],{},"Options",[1552,1641,1642],{},[1129,1643,1565],{},[1552,1645,1646],{},"Options to pass to the template.",[1532,1648,1649,1653,1688,1692],{},[1552,1650,1651],{},[1129,1652,1574],{},[1552,1654,1655],{},[1129,1656,1657,1659,1662,1664,1667,1669,1671,1674,1677,1680,1683,1685],{"className":1161,"language":1163,"style":1165},[1169,1658,1249],{"class":1179},[1169,1660,1661],{"class":1264},"data",[1169,1663,1324],{"class":1179},[1169,1665,1666],{"class":1497}," Options",[1169,1668,1273],{"class":1179},[1169,1670,1406],{"class":1282},[1169,1672,1673],{"class":1183}," string ",[1169,1675,1676],{"class":1179},"|",[1169,1678,1679],{"class":1497}," Promise",[1169,1681,1682],{"class":1179},"\u003C",[1169,1684,1560],{"class":1183},[1169,1686,1687],{"class":1179},">",[1552,1689,1690],{},[1129,1691,1565],{},[1552,1693,1694,1695,1697,1698,1700],{},"A function that will be called with the ",[1129,1696,1265],{}," object. It should return a string or a promise that resolves to a string. If ",[1129,1699,1523],{}," is provided, this function will be ignored.",[1532,1702,1703,1708,1713,1717],{},[1552,1704,1705],{},[1129,1706,1707],{},"write",[1552,1709,1710],{},[1129,1711,1712],{},"boolean",[1552,1714,1715],{},[1129,1716,1565],{},[1552,1718,1719,1720,1723],{},"If set to ",[1129,1721,1722],{},"true",", the template will be written to the destination file. Otherwise, the template will be used only in virtual filesystem.",[1154,1725,762],{"id":1726},"examples",[1728,1729,1731],"h4",{"id":1730},"creating-a-virtual-file-for-runtime-plugin","Creating a Virtual File for Runtime Plugin",[1125,1733,1734],{},"In this example, we merge an object inside a module and consume the result in a runtime plugin.",[1159,1736,1739],{"className":1161,"code":1737,"filename":1738,"language":1163,"meta":1164,"style":1165},"import { addTemplate, defineNuxtModule } from '@nuxt/kit'\nimport { defu } from 'defu'\n\nexport default defineNuxtModule({\n  setup (options, nuxt) {\n    const globalMeta = defu(nuxt.options.app.head, {\n      charset: options.charset,\n      viewport: options.viewport,\n    })\n\n    addTemplate({\n      filename: 'meta.config.mjs',\n      getContents: () => 'export default ' + JSON.stringify({ globalMeta, mixinKey: 'setup' }),\n    })\n  },\n})\n","module.ts",[1129,1740,1741,1763,1781,1785,1797,1813,1843,1857,1872,1878,1882,1890,1904,1952,1958,1963],{"__ignoreMap":1165},[1169,1742,1743,1745,1747,1749,1751,1753,1755,1757,1759,1761],{"class":1171,"line":1172},[1169,1744,1176],{"class":1175},[1169,1746,1180],{"class":1179},[1169,1748,1184],{"class":1183},[1169,1750,1187],{"class":1179},[1169,1752,1190],{"class":1183},[1169,1754,1193],{"class":1179},[1169,1756,1196],{"class":1175},[1169,1758,1199],{"class":1179},[1169,1760,1203],{"class":1202},[1169,1762,1206],{"class":1179},[1169,1764,1765,1767,1769,1771,1773,1775,1777,1779],{"class":1171,"line":1209},[1169,1766,1176],{"class":1175},[1169,1768,1180],{"class":1179},[1169,1770,1216],{"class":1183},[1169,1772,1193],{"class":1179},[1169,1774,1196],{"class":1175},[1169,1776,1199],{"class":1179},[1169,1778,1225],{"class":1202},[1169,1780,1206],{"class":1179},[1169,1782,1783],{"class":1171,"line":1230},[1169,1784,1234],{"emptyLinePlaceholder":1233},[1169,1786,1787,1789,1791,1793,1795],{"class":1171,"line":1237},[1169,1788,1240],{"class":1175},[1169,1790,1243],{"class":1175},[1169,1792,1190],{"class":1246},[1169,1794,1249],{"class":1183},[1169,1796,1252],{"class":1179},[1169,1798,1799,1801,1803,1805,1807,1809,1811],{"class":1171,"line":1255},[1169,1800,1259],{"class":1258},[1169,1802,1489],{"class":1179},[1169,1804,1265],{"class":1264},[1169,1806,1187],{"class":1179},[1169,1808,1270],{"class":1264},[1169,1810,1273],{"class":1179},[1169,1812,1276],{"class":1179},[1169,1814,1815,1817,1819,1821,1823,1825,1827,1829,1831,1833,1835,1837,1839,1841],{"class":1171,"line":1279},[1169,1816,1283],{"class":1282},[1169,1818,1286],{"class":1183},[1169,1820,1289],{"class":1179},[1169,1822,1216],{"class":1246},[1169,1824,1249],{"class":1258},[1169,1826,1296],{"class":1183},[1169,1828,1299],{"class":1179},[1169,1830,1265],{"class":1183},[1169,1832,1299],{"class":1179},[1169,1834,1306],{"class":1183},[1169,1836,1299],{"class":1179},[1169,1838,1311],{"class":1183},[1169,1840,1187],{"class":1179},[1169,1842,1276],{"class":1179},[1169,1844,1845,1847,1849,1851,1853,1855],{"class":1171,"line":1318},[1169,1846,1321],{"class":1258},[1169,1848,1324],{"class":1179},[1169,1850,1327],{"class":1183},[1169,1852,1299],{"class":1179},[1169,1854,1332],{"class":1183},[1169,1856,1335],{"class":1179},[1169,1858,1859,1861,1863,1865,1867,1870],{"class":1171,"line":1338},[1169,1860,1341],{"class":1258},[1169,1862,1324],{"class":1179},[1169,1864,1327],{"class":1183},[1169,1866,1299],{"class":1179},[1169,1868,1869],{"class":1183},"viewport",[1169,1871,1335],{"class":1179},[1169,1873,1874,1876],{"class":1171,"line":1353},[1169,1875,1356],{"class":1179},[1169,1877,1359],{"class":1258},[1169,1879,1880],{"class":1171,"line":1362},[1169,1881,1234],{"emptyLinePlaceholder":1233},[1169,1883,1884,1886,1888],{"class":1171,"line":1367},[1169,1885,1370],{"class":1246},[1169,1887,1249],{"class":1258},[1169,1889,1252],{"class":1179},[1169,1891,1892,1894,1896,1898,1900,1902],{"class":1171,"line":1377},[1169,1893,1380],{"class":1258},[1169,1895,1324],{"class":1179},[1169,1897,1199],{"class":1179},[1169,1899,1387],{"class":1202},[1169,1901,1390],{"class":1179},[1169,1903,1335],{"class":1179},[1169,1905,1906,1908,1910,1912,1914,1916,1918,1920,1922,1924,1926,1928,1930,1932,1934,1936,1938,1940,1942,1944,1946,1948,1950],{"class":1171,"line":1395},[1169,1907,1398],{"class":1246},[1169,1909,1324],{"class":1179},[1169,1911,1403],{"class":1179},[1169,1913,1406],{"class":1282},[1169,1915,1199],{"class":1179},[1169,1917,1411],{"class":1202},[1169,1919,1390],{"class":1179},[1169,1921,1416],{"class":1179},[1169,1923,1419],{"class":1183},[1169,1925,1299],{"class":1179},[1169,1927,1424],{"class":1246},[1169,1929,1249],{"class":1258},[1169,1931,1429],{"class":1179},[1169,1933,1286],{"class":1183},[1169,1935,1187],{"class":1179},[1169,1937,1436],{"class":1258},[1169,1939,1324],{"class":1179},[1169,1941,1199],{"class":1179},[1169,1943,1443],{"class":1202},[1169,1945,1390],{"class":1179},[1169,1947,1193],{"class":1179},[1169,1949,1273],{"class":1258},[1169,1951,1335],{"class":1179},[1169,1953,1954,1956],{"class":1171,"line":1452},[1169,1955,1356],{"class":1179},[1169,1957,1359],{"class":1258},[1169,1959,1960],{"class":1171,"line":1459},[1169,1961,1962],{"class":1179},"  },\n",[1169,1964,1965,1967],{"class":1171,"line":1465},[1169,1966,1468],{"class":1179},[1169,1968,1359],{"class":1183},[1125,1970,1971,1972,1974,1975,1978],{},"In the module above, we generate a virtual file named ",[1129,1973,1387],{},". In the runtime plugin, we can import it using the ",[1129,1976,1977],{},"#build"," alias:",[1159,1980,1983],{"className":1161,"code":1981,"filename":1982,"language":1163,"meta":1165,"style":1165},"import { createHead as createServerHead } from '@unhead/vue/server'\nimport { createHead as createClientHead } from '@unhead/vue/client'\nimport { defineNuxtPlugin } from '#imports'\n// @ts-ignore\nimport metaConfig from '#build/meta.config.mjs'\n\nexport default defineNuxtPlugin((nuxtApp) => {\n  const createHead = import.meta.server ? createServerHead : createClientHead\n  const head = createHead()\n  head.push(metaConfig.globalMeta)\n\n  nuxtApp.vueApp.use(head)\n})\n","runtime/plugin.ts",[1129,1984,1985,2011,2035,2055,2061,2078,2082,2103,2135,2149,2171,2175,2196],{"__ignoreMap":1165},[1169,1986,1987,1989,1991,1994,1997,2000,2002,2004,2006,2009],{"class":1171,"line":1172},[1169,1988,1176],{"class":1175},[1169,1990,1180],{"class":1179},[1169,1992,1993],{"class":1183}," createHead",[1169,1995,1996],{"class":1175}," as",[1169,1998,1999],{"class":1183}," createServerHead",[1169,2001,1193],{"class":1179},[1169,2003,1196],{"class":1175},[1169,2005,1199],{"class":1179},[1169,2007,2008],{"class":1202},"@unhead/vue/server",[1169,2010,1206],{"class":1179},[1169,2012,2013,2015,2017,2019,2021,2024,2026,2028,2030,2033],{"class":1171,"line":1209},[1169,2014,1176],{"class":1175},[1169,2016,1180],{"class":1179},[1169,2018,1993],{"class":1183},[1169,2020,1996],{"class":1175},[1169,2022,2023],{"class":1183}," createClientHead",[1169,2025,1193],{"class":1179},[1169,2027,1196],{"class":1175},[1169,2029,1199],{"class":1179},[1169,2031,2032],{"class":1202},"@unhead/vue/client",[1169,2034,1206],{"class":1179},[1169,2036,2037,2039,2041,2044,2046,2048,2050,2053],{"class":1171,"line":1230},[1169,2038,1176],{"class":1175},[1169,2040,1180],{"class":1179},[1169,2042,2043],{"class":1183}," defineNuxtPlugin",[1169,2045,1193],{"class":1179},[1169,2047,1196],{"class":1175},[1169,2049,1199],{"class":1179},[1169,2051,2052],{"class":1202},"#imports",[1169,2054,1206],{"class":1179},[1169,2056,2057],{"class":1171,"line":1237},[1169,2058,2060],{"class":2059},"sWuyu","// @ts-ignore\n",[1169,2062,2063,2065,2068,2071,2073,2076],{"class":1171,"line":1255},[1169,2064,1176],{"class":1175},[1169,2066,2067],{"class":1183}," metaConfig ",[1169,2069,2070],{"class":1175},"from",[1169,2072,1199],{"class":1179},[1169,2074,2075],{"class":1202},"#build/meta.config.mjs",[1169,2077,1206],{"class":1179},[1169,2079,2080],{"class":1171,"line":1279},[1169,2081,1234],{"emptyLinePlaceholder":1233},[1169,2083,2084,2086,2088,2090,2092,2094,2097,2099,2101],{"class":1171,"line":1318},[1169,2085,1240],{"class":1175},[1169,2087,1243],{"class":1175},[1169,2089,2043],{"class":1246},[1169,2091,1249],{"class":1183},[1169,2093,1249],{"class":1179},[1169,2095,2096],{"class":1264},"nuxtApp",[1169,2098,1273],{"class":1179},[1169,2100,1406],{"class":1282},[1169,2102,1276],{"class":1179},[1169,2104,2105,2108,2110,2112,2115,2117,2120,2122,2124,2127,2129,2132],{"class":1171,"line":1338},[1169,2106,2107],{"class":1282},"  const",[1169,2109,1993],{"class":1183},[1169,2111,1289],{"class":1179},[1169,2113,2114],{"class":1175}," import",[1169,2116,1299],{"class":1179},[1169,2118,2119],{"class":1183},"meta",[1169,2121,1299],{"class":1179},[1169,2123,219],{"class":1183},[1169,2125,2126],{"class":1179}," ?",[1169,2128,1999],{"class":1183},[1169,2130,2131],{"class":1179}," :",[1169,2133,2134],{"class":1183}," createClientHead\n",[1169,2136,2137,2139,2142,2144,2146],{"class":1171,"line":1353},[1169,2138,2107],{"class":1282},[1169,2140,2141],{"class":1183}," head",[1169,2143,1289],{"class":1179},[1169,2145,1993],{"class":1246},[1169,2147,2148],{"class":1258},"()\n",[1169,2150,2151,2154,2156,2159,2161,2164,2166,2169],{"class":1171,"line":1362},[1169,2152,2153],{"class":1183},"  head",[1169,2155,1299],{"class":1179},[1169,2157,2158],{"class":1246},"push",[1169,2160,1249],{"class":1258},[1169,2162,2163],{"class":1183},"metaConfig",[1169,2165,1299],{"class":1179},[1169,2167,2168],{"class":1183},"globalMeta",[1169,2170,1359],{"class":1258},[1169,2172,2173],{"class":1171,"line":1367},[1169,2174,1234],{"emptyLinePlaceholder":1233},[1169,2176,2177,2180,2182,2185,2187,2190,2192,2194],{"class":1171,"line":1377},[1169,2178,2179],{"class":1183},"  nuxtApp",[1169,2181,1299],{"class":1179},[1169,2183,2184],{"class":1183},"vueApp",[1169,2186,1299],{"class":1179},[1169,2188,2189],{"class":1246},"use",[1169,2191,1249],{"class":1258},[1169,2193,1311],{"class":1183},[1169,2195,1359],{"class":1258},[1169,2197,2198,2200],{"class":1171,"line":1395},[1169,2199,1468],{"class":1179},[1169,2201,1359],{"class":1183},[1142,2203,2205],{"id":2204},"addtypetemplate",[1129,2206,1135],{},[1125,2208,2209],{},"Renders given template during build into the project buildDir, then registers it as types.",[1154,2211,1157],{"id":2212},"usage-1",[1159,2214,2216],{"className":1161,"code":2215,"language":1163,"meta":1164,"style":1165},"import { addTypeTemplate, defineNuxtModule } from '@nuxt/kit'\n\nexport default defineNuxtModule({\n  setup () {\n    addTypeTemplate({\n      filename: 'types/markdown.d.ts',\n      getContents: () => `declare module '*.md' {\n  import type { ComponentOptions } from 'vue'\n  const Component: ComponentOptions\n  export default Component\n}`,\n    })\n  },\n})\n",[1129,2217,2218,2241,2245,2257,2265,2274,2289,2305,2310,2315,2320,2329,2335,2339],{"__ignoreMap":1165},[1169,2219,2220,2222,2224,2227,2229,2231,2233,2235,2237,2239],{"class":1171,"line":1172},[1169,2221,1176],{"class":1175},[1169,2223,1180],{"class":1179},[1169,2225,2226],{"class":1183}," addTypeTemplate",[1169,2228,1187],{"class":1179},[1169,2230,1190],{"class":1183},[1169,2232,1193],{"class":1179},[1169,2234,1196],{"class":1175},[1169,2236,1199],{"class":1179},[1169,2238,1203],{"class":1202},[1169,2240,1206],{"class":1179},[1169,2242,2243],{"class":1171,"line":1209},[1169,2244,1234],{"emptyLinePlaceholder":1233},[1169,2246,2247,2249,2251,2253,2255],{"class":1171,"line":1230},[1169,2248,1240],{"class":1175},[1169,2250,1243],{"class":1175},[1169,2252,1190],{"class":1246},[1169,2254,1249],{"class":1183},[1169,2256,1252],{"class":1179},[1169,2258,2259,2261,2263],{"class":1171,"line":1237},[1169,2260,1259],{"class":1258},[1169,2262,1403],{"class":1179},[1169,2264,1276],{"class":1179},[1169,2266,2267,2270,2272],{"class":1171,"line":1255},[1169,2268,2269],{"class":1246},"    addTypeTemplate",[1169,2271,1249],{"class":1258},[1169,2273,1252],{"class":1179},[1169,2275,2276,2278,2280,2282,2285,2287],{"class":1171,"line":1279},[1169,2277,1380],{"class":1258},[1169,2279,1324],{"class":1179},[1169,2281,1199],{"class":1179},[1169,2283,2284],{"class":1202},"types/markdown.d.ts",[1169,2286,1390],{"class":1179},[1169,2288,1335],{"class":1179},[1169,2290,2291,2293,2295,2297,2299,2302],{"class":1171,"line":1318},[1169,2292,1398],{"class":1246},[1169,2294,1324],{"class":1179},[1169,2296,1403],{"class":1179},[1169,2298,1406],{"class":1282},[1169,2300,2301],{"class":1179}," `",[1169,2303,2304],{"class":1202},"declare module '*.md' {\n",[1169,2306,2307],{"class":1171,"line":1338},[1169,2308,2309],{"class":1202},"  import type { ComponentOptions } from 'vue'\n",[1169,2311,2312],{"class":1171,"line":1353},[1169,2313,2314],{"class":1202},"  const Component: ComponentOptions\n",[1169,2316,2317],{"class":1171,"line":1362},[1169,2318,2319],{"class":1202},"  export default Component\n",[1169,2321,2322,2324,2327],{"class":1171,"line":1367},[1169,2323,1468],{"class":1202},[1169,2325,2326],{"class":1179},"`",[1169,2328,1335],{"class":1179},[1169,2330,2331,2333],{"class":1171,"line":1377},[1169,2332,1356],{"class":1179},[1169,2334,1359],{"class":1258},[1169,2336,2337],{"class":1171,"line":1395},[1169,2338,1962],{"class":1179},[1169,2340,2341,2343],{"class":1171,"line":1452},[1169,2342,1468],{"class":1179},[1169,2344,1359],{"class":1183},[1154,2346,1474],{"id":2347},"type-1",[1159,2349,2351],{"className":1161,"code":2350,"language":1163,"meta":1165,"style":1165},"function addTypeTemplate (template: NuxtTypeTemplate | string, context?: { nitro?: boolean, nuxt?: boolean }): ResolvedNuxtTemplate\n",[1129,2352,2353],{"__ignoreMap":1165},[1169,2354,2355,2357,2359,2361,2363,2365,2368,2370,2372,2374,2377,2380,2382,2385,2387,2390,2392,2394,2396,2398,2401],{"class":1171,"line":1172},[1169,2356,1484],{"class":1282},[1169,2358,2226],{"class":1246},[1169,2360,1489],{"class":1179},[1169,2362,1492],{"class":1264},[1169,2364,1324],{"class":1179},[1169,2366,2367],{"class":1497}," NuxtTypeTemplate",[1169,2369,1501],{"class":1179},[1169,2371,1504],{"class":1497},[1169,2373,1187],{"class":1179},[1169,2375,2376],{"class":1264}," context",[1169,2378,2379],{"class":1179},"?:",[1169,2381,1180],{"class":1179},[1169,2383,2384],{"class":1258}," nitro",[1169,2386,2379],{"class":1179},[1169,2388,2389],{"class":1497}," boolean",[1169,2391,1187],{"class":1179},[1169,2393,1270],{"class":1258},[1169,2395,2379],{"class":1179},[1169,2397,2389],{"class":1497},[1169,2399,2400],{"class":1179}," }):",[1169,2402,1510],{"class":1497},[1154,2404,1514],{"id":2405},"parameters-1",[1125,2407,2408,1520,2410,1524],{},[1518,2409,1492],{},[1129,2411,1523],{},[1526,2413,2414,2426],{},[1529,2415,2416],{},[1532,2417,2418,2420,2422,2424],{},[1535,2419,1537],{},[1535,2421,1474],{},[1535,2423,1542],{},[1535,2425,1545],{},[1547,2427,2428,2448,2470,2492,2508],{},[1532,2429,2430,2434,2438,2442],{},[1552,2431,2432],{},[1129,2433,1523],{},[1552,2435,2436],{},[1129,2437,1560],{},[1552,2439,2440],{},[1129,2441,1565],{},[1552,2443,1568,2444,1571,2446,1575],{},[1129,2445,1523],{},[1129,2447,1574],{},[1532,2449,2450,2454,2458,2462],{},[1552,2451,2452],{},[1129,2453,1582],{},[1552,2455,2456],{},[1129,2457,1560],{},[1552,2459,2460],{},[1129,2461,1565],{},[1552,2463,1593,2464,1596,2466,1599,2468,1602],{},[1129,2465,1582],{},[1129,2467,1523],{},[1129,2469,1523],{},[1532,2471,2472,2476,2480,2484],{},[1552,2473,2474],{},[1129,2475,1609],{},[1552,2477,2478],{},[1129,2479,1560],{},[1552,2481,2482],{},[1129,2483,1565],{},[1552,2485,1620,2486,1596,2488,1625,2490,1628],{},[1129,2487,1609],{},[1129,2489,1582],{},[1129,2491,1152],{},[1532,2493,2494,2498,2502,2506],{},[1552,2495,2496],{},[1129,2497,1265],{},[1552,2499,2500],{},[1129,2501,1639],{},[1552,2503,2504],{},[1129,2505,1565],{},[1552,2507,1646],{},[1532,2509,2510,2514,2542,2546],{},[1552,2511,2512],{},[1129,2513,1574],{},[1552,2515,2516],{},[1129,2517,2518,2520,2522,2524,2526,2528,2530,2532,2534,2536,2538,2540],{"className":1161,"language":1163,"style":1165},[1169,2519,1249],{"class":1179},[1169,2521,1661],{"class":1264},[1169,2523,1324],{"class":1179},[1169,2525,1666],{"class":1497},[1169,2527,1273],{"class":1179},[1169,2529,1406],{"class":1282},[1169,2531,1673],{"class":1183},[1169,2533,1676],{"class":1179},[1169,2535,1679],{"class":1497},[1169,2537,1682],{"class":1179},[1169,2539,1560],{"class":1183},[1169,2541,1687],{"class":1179},[1552,2543,2544],{},[1129,2545,1565],{},[1552,2547,1694,2548,1697,2550,1700],{},[1129,2549,1265],{},[1129,2551,1523],{},[1125,2553,2554,2557],{},[1518,2555,2556],{},"context",": An optional context object can be passed to control where the type is added. If omitted, the type will only be added to the Nuxt context. This object supports the following properties:",[1526,2559,2560,2572],{},[1529,2561,2562],{},[1532,2563,2564,2566,2568,2570],{},[1535,2565,1537],{},[1535,2567,1474],{},[1535,2569,1542],{},[1535,2571,1545],{},[1547,2573,2574,2593],{},[1532,2575,2576,2580,2584,2588],{},[1552,2577,2578],{},[1129,2579,1296],{},[1552,2581,2582],{},[1129,2583,1712],{},[1552,2585,2586],{},[1129,2587,1565],{},[1552,2589,1719,2590,2592],{},[1129,2591,1722],{},", the type will be added to the Nuxt context.",[1532,2594,2595,2600,2604,2608],{},[1552,2596,2597],{},[1129,2598,2599],{},"nitro",[1552,2601,2602],{},[1129,2603,1712],{},[1552,2605,2606],{},[1129,2607,1565],{},[1552,2609,1719,2610,2612],{},[1129,2611,1722],{},", the type will be added to the Nitro context.",[1154,2614,762],{"id":2615},"examples-1",[1728,2617,2619],{"id":2618},"adding-type-templates-to-the-nitro-context","Adding Type Templates to the Nitro Context",[1125,2621,2622],{},"By default, －－ only adds the type declarations to the Nuxt context. To also add them to the Nitro context, set nitro to true.",[1159,2624,2626],{"className":1161,"code":2625,"language":1163,"meta":1164,"style":1165},"import { addTypeTemplate, defineNuxtModule } from '@nuxt/kit'\n\nexport default defineNuxtModule({\n  setup () {\n    addTypeTemplate({\n      filename: 'types/auth.d.ts',\n      getContents: () => `declare module '#auth-utils' {\n  interface User {\n    id: string;\n    name: string;\n  }\n\n}`,\n    }, {\n      nitro: true,\n    })\n  },\n})\n",[1129,2627,2628,2650,2654,2666,2674,2682,2697,2712,2717,2722,2727,2731,2735,2743,2750,2763,2769,2774],{"__ignoreMap":1165},[1169,2629,2630,2632,2634,2636,2638,2640,2642,2644,2646,2648],{"class":1171,"line":1172},[1169,2631,1176],{"class":1175},[1169,2633,1180],{"class":1179},[1169,2635,2226],{"class":1183},[1169,2637,1187],{"class":1179},[1169,2639,1190],{"class":1183},[1169,2641,1193],{"class":1179},[1169,2643,1196],{"class":1175},[1169,2645,1199],{"class":1179},[1169,2647,1203],{"class":1202},[1169,2649,1206],{"class":1179},[1169,2651,2652],{"class":1171,"line":1209},[1169,2653,1234],{"emptyLinePlaceholder":1233},[1169,2655,2656,2658,2660,2662,2664],{"class":1171,"line":1230},[1169,2657,1240],{"class":1175},[1169,2659,1243],{"class":1175},[1169,2661,1190],{"class":1246},[1169,2663,1249],{"class":1183},[1169,2665,1252],{"class":1179},[1169,2667,2668,2670,2672],{"class":1171,"line":1237},[1169,2669,1259],{"class":1258},[1169,2671,1403],{"class":1179},[1169,2673,1276],{"class":1179},[1169,2675,2676,2678,2680],{"class":1171,"line":1255},[1169,2677,2269],{"class":1246},[1169,2679,1249],{"class":1258},[1169,2681,1252],{"class":1179},[1169,2683,2684,2686,2688,2690,2693,2695],{"class":1171,"line":1279},[1169,2685,1380],{"class":1258},[1169,2687,1324],{"class":1179},[1169,2689,1199],{"class":1179},[1169,2691,2692],{"class":1202},"types/auth.d.ts",[1169,2694,1390],{"class":1179},[1169,2696,1335],{"class":1179},[1169,2698,2699,2701,2703,2705,2707,2709],{"class":1171,"line":1318},[1169,2700,1398],{"class":1246},[1169,2702,1324],{"class":1179},[1169,2704,1403],{"class":1179},[1169,2706,1406],{"class":1282},[1169,2708,2301],{"class":1179},[1169,2710,2711],{"class":1202},"declare module '#auth-utils' {\n",[1169,2713,2714],{"class":1171,"line":1338},[1169,2715,2716],{"class":1202},"  interface User {\n",[1169,2718,2719],{"class":1171,"line":1353},[1169,2720,2721],{"class":1202},"    id: string;\n",[1169,2723,2724],{"class":1171,"line":1362},[1169,2725,2726],{"class":1202},"    name: string;\n",[1169,2728,2729],{"class":1171,"line":1367},[1169,2730,1462],{"class":1202},[1169,2732,2733],{"class":1171,"line":1377},[1169,2734,1234],{"emptyLinePlaceholder":1233},[1169,2736,2737,2739,2741],{"class":1171,"line":1395},[1169,2738,1468],{"class":1202},[1169,2740,2326],{"class":1179},[1169,2742,1335],{"class":1179},[1169,2744,2745,2748],{"class":1171,"line":1452},[1169,2746,2747],{"class":1179},"    },",[1169,2749,1276],{"class":1179},[1169,2751,2752,2755,2757,2761],{"class":1171,"line":1459},[1169,2753,2754],{"class":1258},"      nitro",[1169,2756,1324],{"class":1179},[1169,2758,2760],{"class":2759},"sbKd-"," true",[1169,2762,1335],{"class":1179},[1169,2764,2765,2767],{"class":1171,"line":1465},[1169,2766,1356],{"class":1179},[1169,2768,1359],{"class":1258},[1169,2770,2772],{"class":1171,"line":2771},17,[1169,2773,1962],{"class":1179},[1169,2775,2777,2779],{"class":1171,"line":2776},18,[1169,2778,1468],{"class":1179},[1169,2780,1359],{"class":1183},[1125,2782,2783,2784,2787],{},"This allows the ",[1129,2785,2786],{},"#auth-utils"," module to be used within the Nitro context.",[1159,2789,2792],{"className":1161,"code":2790,"filename":2791,"language":1163,"meta":1165,"style":1165},"import type { User } from '#auth-utils'\n\nexport default eventHandler(() => {\n  const user: User = {\n    id: '123',\n    name: 'John Doe',\n  }\n\n  // do something with the user\n\n  return user\n})\n","server/api/auth.ts",[1129,2793,2794,2816,2820,2838,2853,2869,2885,2889,2893,2898,2902,2910],{"__ignoreMap":1165},[1169,2795,2796,2798,2801,2803,2806,2808,2810,2812,2814],{"class":1171,"line":1172},[1169,2797,1176],{"class":1175},[1169,2799,2800],{"class":1175}," type",[1169,2802,1180],{"class":1179},[1169,2804,2805],{"class":1183}," User",[1169,2807,1193],{"class":1179},[1169,2809,1196],{"class":1175},[1169,2811,1199],{"class":1179},[1169,2813,2786],{"class":1202},[1169,2815,1206],{"class":1179},[1169,2817,2818],{"class":1171,"line":1209},[1169,2819,1234],{"emptyLinePlaceholder":1233},[1169,2821,2822,2824,2826,2829,2831,2834,2836],{"class":1171,"line":1230},[1169,2823,1240],{"class":1175},[1169,2825,1243],{"class":1175},[1169,2827,2828],{"class":1246}," eventHandler",[1169,2830,1249],{"class":1183},[1169,2832,2833],{"class":1179},"()",[1169,2835,1406],{"class":1282},[1169,2837,1276],{"class":1179},[1169,2839,2840,2842,2845,2847,2849,2851],{"class":1171,"line":1237},[1169,2841,2107],{"class":1282},[1169,2843,2844],{"class":1183}," user",[1169,2846,1324],{"class":1179},[1169,2848,2805],{"class":1497},[1169,2850,1289],{"class":1179},[1169,2852,1276],{"class":1179},[1169,2854,2855,2858,2860,2862,2865,2867],{"class":1171,"line":1255},[1169,2856,2857],{"class":1258},"    id",[1169,2859,1324],{"class":1179},[1169,2861,1199],{"class":1179},[1169,2863,2864],{"class":1202},"123",[1169,2866,1390],{"class":1179},[1169,2868,1335],{"class":1179},[1169,2870,2871,2874,2876,2878,2881,2883],{"class":1171,"line":1279},[1169,2872,2873],{"class":1258},"    name",[1169,2875,1324],{"class":1179},[1169,2877,1199],{"class":1179},[1169,2879,2880],{"class":1202},"John Doe",[1169,2882,1390],{"class":1179},[1169,2884,1335],{"class":1179},[1169,2886,2887],{"class":1171,"line":1318},[1169,2888,1462],{"class":1179},[1169,2890,2891],{"class":1171,"line":1338},[1169,2892,1234],{"emptyLinePlaceholder":1233},[1169,2894,2895],{"class":1171,"line":1353},[1169,2896,2897],{"class":2059},"  // do something with the user\n",[1169,2899,2900],{"class":1171,"line":1362},[1169,2901,1234],{"emptyLinePlaceholder":1233},[1169,2903,2904,2907],{"class":1171,"line":1367},[1169,2905,2906],{"class":1175},"  return",[1169,2908,2909],{"class":1183}," user\n",[1169,2911,2912,2914],{"class":1171,"line":1377},[1169,2913,1468],{"class":1179},[1169,2915,1359],{"class":1183},[1142,2917,2919],{"id":2918},"addservertemplate",[1129,2920,2921],{},"addServerTemplate",[1125,2923,2924],{},"Adds a virtual file that can be used within the Nuxt Nitro server build.",[1154,2926,1157],{"id":2927},"usage-2",[1159,2929,2931],{"className":1161,"code":2930,"language":1163,"meta":1164,"style":1165},"import { addServerTemplate, defineNuxtModule } from '@nuxt/kit'\n\nexport default defineNuxtModule({\n  setup () {\n    addServerTemplate({\n      filename: '#my-module/test.mjs',\n      getContents () {\n        return 'export const test = 123'\n      },\n    })\n  },\n})\n",[1129,2932,2933,2956,2960,2972,2980,2989,3004,3013,3025,3030,3036,3040],{"__ignoreMap":1165},[1169,2934,2935,2937,2939,2942,2944,2946,2948,2950,2952,2954],{"class":1171,"line":1172},[1169,2936,1176],{"class":1175},[1169,2938,1180],{"class":1179},[1169,2940,2941],{"class":1183}," addServerTemplate",[1169,2943,1187],{"class":1179},[1169,2945,1190],{"class":1183},[1169,2947,1193],{"class":1179},[1169,2949,1196],{"class":1175},[1169,2951,1199],{"class":1179},[1169,2953,1203],{"class":1202},[1169,2955,1206],{"class":1179},[1169,2957,2958],{"class":1171,"line":1209},[1169,2959,1234],{"emptyLinePlaceholder":1233},[1169,2961,2962,2964,2966,2968,2970],{"class":1171,"line":1230},[1169,2963,1240],{"class":1175},[1169,2965,1243],{"class":1175},[1169,2967,1190],{"class":1246},[1169,2969,1249],{"class":1183},[1169,2971,1252],{"class":1179},[1169,2973,2974,2976,2978],{"class":1171,"line":1237},[1169,2975,1259],{"class":1258},[1169,2977,1403],{"class":1179},[1169,2979,1276],{"class":1179},[1169,2981,2982,2985,2987],{"class":1171,"line":1255},[1169,2983,2984],{"class":1246},"    addServerTemplate",[1169,2986,1249],{"class":1258},[1169,2988,1252],{"class":1179},[1169,2990,2991,2993,2995,2997,3000,3002],{"class":1171,"line":1279},[1169,2992,1380],{"class":1258},[1169,2994,1324],{"class":1179},[1169,2996,1199],{"class":1179},[1169,2998,2999],{"class":1202},"#my-module/test.mjs",[1169,3001,1390],{"class":1179},[1169,3003,1335],{"class":1179},[1169,3005,3006,3009,3011],{"class":1171,"line":1318},[1169,3007,3008],{"class":1258},"      getContents ",[1169,3010,2833],{"class":1179},[1169,3012,1276],{"class":1179},[1169,3014,3015,3018,3020,3023],{"class":1171,"line":1338},[1169,3016,3017],{"class":1175},"        return",[1169,3019,1199],{"class":1179},[1169,3021,3022],{"class":1202},"export const test = 123",[1169,3024,1206],{"class":1179},[1169,3026,3027],{"class":1171,"line":1353},[1169,3028,3029],{"class":1179},"      },\n",[1169,3031,3032,3034],{"class":1171,"line":1362},[1169,3033,1356],{"class":1179},[1169,3035,1359],{"class":1258},[1169,3037,3038],{"class":1171,"line":1367},[1169,3039,1962],{"class":1179},[1169,3041,3042,3044],{"class":1171,"line":1377},[1169,3043,1468],{"class":1179},[1169,3045,1359],{"class":1183},[1154,3047,1474],{"id":3048},"type-2",[1159,3050,3052],{"className":1161,"code":3051,"language":1163,"meta":1164,"style":1165},"// @errors: 2391\nimport type { NuxtServerTemplate } from '@nuxt/schema'\n// ---cut---\nfunction addServerTemplate (template: NuxtServerTemplate): NuxtServerTemplate\n",[1129,3053,3054],{"__ignoreMap":1165},[1169,3055,3056,3058,3060,3062,3064,3066,3069,3071],{"class":1171,"line":1172},[1169,3057,1484],{"class":1282},[1169,3059,2941],{"class":1246},[1169,3061,1489],{"class":1179},[1169,3063,1492],{"class":1264},[1169,3065,1324],{"class":1179},[1169,3067,3068],{"class":1497}," NuxtServerTemplate",[1169,3070,1507],{"class":1179},[1169,3072,3073],{"class":1497}," NuxtServerTemplate\n",[1154,3075,1514],{"id":3076},"parameters-2",[1125,3078,3079,3081],{},[1518,3080,1492],{},": A template object. It must have the following properties:",[1526,3083,3084,3096],{},[1529,3085,3086],{},[1532,3087,3088,3090,3092,3094],{},[1535,3089,1537],{},[1535,3091,1474],{},[1535,3093,1542],{},[1535,3095,1545],{},[1547,3097,3098,3115],{},[1532,3099,3100,3104,3108,3112],{},[1552,3101,3102],{},[1129,3103,1582],{},[1552,3105,3106],{},[1129,3107,1560],{},[1552,3109,3110],{},[1129,3111,1722],{},[1552,3113,3114],{},"Filename of the template.",[1532,3116,3117,3121,3141,3145],{},[1552,3118,3119],{},[1129,3120,1574],{},[1552,3122,3123],{},[1129,3124,3125,3127,3129,3131,3133,3135,3137,3139],{"className":1161,"language":1163,"style":1165},[1169,3126,2833],{"class":1179},[1169,3128,1406],{"class":1282},[1169,3130,1673],{"class":1183},[1169,3132,1676],{"class":1179},[1169,3134,1679],{"class":1497},[1169,3136,1682],{"class":1179},[1169,3138,1560],{"class":1183},[1169,3140,1687],{"class":1179},[1552,3142,3143],{},[1129,3144,1722],{},[1552,3146,1694,3147,3149],{},[1129,3148,1265],{}," object. It should return a string or a promise that resolves to a string.",[1154,3151,762],{"id":3152},"examples-2",[1154,3154,3156],{"id":3155},"creating-a-virtual-file-for-nitro","Creating a Virtual File for Nitro",[1125,3158,3159],{},"In this example, we create a virtual file that can be used within the Nuxt Nitro server build.",[1159,3161,3162],{"className":1161,"code":2930,"language":1163,"meta":1164,"style":1165},[1129,3163,3164,3186,3190,3202,3210,3218,3232,3240,3250,3254,3260,3264],{"__ignoreMap":1165},[1169,3165,3166,3168,3170,3172,3174,3176,3178,3180,3182,3184],{"class":1171,"line":1172},[1169,3167,1176],{"class":1175},[1169,3169,1180],{"class":1179},[1169,3171,2941],{"class":1183},[1169,3173,1187],{"class":1179},[1169,3175,1190],{"class":1183},[1169,3177,1193],{"class":1179},[1169,3179,1196],{"class":1175},[1169,3181,1199],{"class":1179},[1169,3183,1203],{"class":1202},[1169,3185,1206],{"class":1179},[1169,3187,3188],{"class":1171,"line":1209},[1169,3189,1234],{"emptyLinePlaceholder":1233},[1169,3191,3192,3194,3196,3198,3200],{"class":1171,"line":1230},[1169,3193,1240],{"class":1175},[1169,3195,1243],{"class":1175},[1169,3197,1190],{"class":1246},[1169,3199,1249],{"class":1183},[1169,3201,1252],{"class":1179},[1169,3203,3204,3206,3208],{"class":1171,"line":1237},[1169,3205,1259],{"class":1258},[1169,3207,1403],{"class":1179},[1169,3209,1276],{"class":1179},[1169,3211,3212,3214,3216],{"class":1171,"line":1255},[1169,3213,2984],{"class":1246},[1169,3215,1249],{"class":1258},[1169,3217,1252],{"class":1179},[1169,3219,3220,3222,3224,3226,3228,3230],{"class":1171,"line":1279},[1169,3221,1380],{"class":1258},[1169,3223,1324],{"class":1179},[1169,3225,1199],{"class":1179},[1169,3227,2999],{"class":1202},[1169,3229,1390],{"class":1179},[1169,3231,1335],{"class":1179},[1169,3233,3234,3236,3238],{"class":1171,"line":1318},[1169,3235,3008],{"class":1258},[1169,3237,2833],{"class":1179},[1169,3239,1276],{"class":1179},[1169,3241,3242,3244,3246,3248],{"class":1171,"line":1338},[1169,3243,3017],{"class":1175},[1169,3245,1199],{"class":1179},[1169,3247,3022],{"class":1202},[1169,3249,1206],{"class":1179},[1169,3251,3252],{"class":1171,"line":1353},[1169,3253,3029],{"class":1179},[1169,3255,3256,3258],{"class":1171,"line":1362},[1169,3257,1356],{"class":1179},[1169,3259,1359],{"class":1258},[1169,3261,3262],{"class":1171,"line":1367},[1169,3263,1962],{"class":1179},[1169,3265,3266,3268],{"class":1171,"line":1377},[1169,3267,1468],{"class":1179},[1169,3269,1359],{"class":1183},[1125,3271,3272],{},"And then in a runtime file",[1159,3274,3277],{"className":1161,"code":3275,"filename":3276,"language":1163,"meta":1165,"style":1165},"import { test } from '#my-module/test.js'\n\nexport default eventHandler(() => {\n  return test\n})\n","server/api/test.ts",[1129,3278,3279,3299,3303,3319,3326],{"__ignoreMap":1165},[1169,3280,3281,3283,3285,3288,3290,3292,3294,3297],{"class":1171,"line":1172},[1169,3282,1176],{"class":1175},[1169,3284,1180],{"class":1179},[1169,3286,3287],{"class":1183}," test",[1169,3289,1193],{"class":1179},[1169,3291,1196],{"class":1175},[1169,3293,1199],{"class":1179},[1169,3295,3296],{"class":1202},"#my-module/test.js",[1169,3298,1206],{"class":1179},[1169,3300,3301],{"class":1171,"line":1209},[1169,3302,1234],{"emptyLinePlaceholder":1233},[1169,3304,3305,3307,3309,3311,3313,3315,3317],{"class":1171,"line":1230},[1169,3306,1240],{"class":1175},[1169,3308,1243],{"class":1175},[1169,3310,2828],{"class":1246},[1169,3312,1249],{"class":1183},[1169,3314,2833],{"class":1179},[1169,3316,1406],{"class":1282},[1169,3318,1276],{"class":1179},[1169,3320,3321,3323],{"class":1171,"line":1237},[1169,3322,2906],{"class":1175},[1169,3324,3325],{"class":1183}," test\n",[1169,3327,3328,3330],{"class":1171,"line":1255},[1169,3329,1468],{"class":1179},[1169,3331,1359],{"class":1183},[1142,3333,3335],{"id":3334},"updatetemplates",[1129,3336,1139],{},[1125,3338,3339],{},"Regenerate templates that match the filter. If no filter is provided, all templates will be regenerated.",[1154,3341,1157],{"id":3342},"usage-3",[1159,3344,3346],{"className":1161,"code":3345,"language":1163,"meta":1165,"style":1165},"import { defineNuxtModule, updateTemplates } from '@nuxt/kit'\nimport { resolve } from 'pathe'\n\nexport default defineNuxtModule({\n  setup (options, nuxt) {\n    const updateTemplatePaths = [\n      resolve(nuxt.options.srcDir, 'pages'),\n    ]\n    // watch and rebuild routes template list when one of the pages changes\n    nuxt.hook('builder:watch', async (event, relativePath) => {\n      if (event === 'change') { return }\n\n      const path = resolve(nuxt.options.srcDir, relativePath)\n      if (updateTemplatePaths.some(dir => path.startsWith(dir))) {\n        await updateTemplates({\n          filter: template => template.filename === 'routes.mjs',\n        })\n      }\n    })\n  },\n})\n",[1129,3347,3348,3371,3391,3395,3407,3423,3435,3465,3470,3475,3515,3545,3549,3579,3616,3627,3656,3663,3668,3675,3680],{"__ignoreMap":1165},[1169,3349,3350,3352,3354,3356,3358,3361,3363,3365,3367,3369],{"class":1171,"line":1172},[1169,3351,1176],{"class":1175},[1169,3353,1180],{"class":1179},[1169,3355,1190],{"class":1183},[1169,3357,1187],{"class":1179},[1169,3359,3360],{"class":1183}," updateTemplates",[1169,3362,1193],{"class":1179},[1169,3364,1196],{"class":1175},[1169,3366,1199],{"class":1179},[1169,3368,1203],{"class":1202},[1169,3370,1206],{"class":1179},[1169,3372,3373,3375,3377,3380,3382,3384,3386,3389],{"class":1171,"line":1209},[1169,3374,1176],{"class":1175},[1169,3376,1180],{"class":1179},[1169,3378,3379],{"class":1183}," resolve",[1169,3381,1193],{"class":1179},[1169,3383,1196],{"class":1175},[1169,3385,1199],{"class":1179},[1169,3387,3388],{"class":1202},"pathe",[1169,3390,1206],{"class":1179},[1169,3392,3393],{"class":1171,"line":1230},[1169,3394,1234],{"emptyLinePlaceholder":1233},[1169,3396,3397,3399,3401,3403,3405],{"class":1171,"line":1237},[1169,3398,1240],{"class":1175},[1169,3400,1243],{"class":1175},[1169,3402,1190],{"class":1246},[1169,3404,1249],{"class":1183},[1169,3406,1252],{"class":1179},[1169,3408,3409,3411,3413,3415,3417,3419,3421],{"class":1171,"line":1255},[1169,3410,1259],{"class":1258},[1169,3412,1489],{"class":1179},[1169,3414,1265],{"class":1264},[1169,3416,1187],{"class":1179},[1169,3418,1270],{"class":1264},[1169,3420,1273],{"class":1179},[1169,3422,1276],{"class":1179},[1169,3424,3425,3427,3430,3432],{"class":1171,"line":1279},[1169,3426,1283],{"class":1282},[1169,3428,3429],{"class":1183}," updateTemplatePaths",[1169,3431,1289],{"class":1179},[1169,3433,3434],{"class":1258}," [\n",[1169,3436,3437,3440,3442,3444,3446,3448,3450,3453,3455,3457,3459,3461,3463],{"class":1171,"line":1318},[1169,3438,3439],{"class":1246},"      resolve",[1169,3441,1249],{"class":1258},[1169,3443,1296],{"class":1183},[1169,3445,1299],{"class":1179},[1169,3447,1265],{"class":1183},[1169,3449,1299],{"class":1179},[1169,3451,3452],{"class":1183},"srcDir",[1169,3454,1187],{"class":1179},[1169,3456,1199],{"class":1179},[1169,3458,207],{"class":1202},[1169,3460,1390],{"class":1179},[1169,3462,1273],{"class":1258},[1169,3464,1335],{"class":1179},[1169,3466,3467],{"class":1171,"line":1338},[1169,3468,3469],{"class":1258},"    ]\n",[1169,3471,3472],{"class":1171,"line":1353},[1169,3473,3474],{"class":2059},"    // watch and rebuild routes template list when one of the pages changes\n",[1169,3476,3477,3480,3482,3485,3487,3489,3492,3494,3496,3499,3501,3504,3506,3509,3511,3513],{"class":1171,"line":1362},[1169,3478,3479],{"class":1183},"    nuxt",[1169,3481,1299],{"class":1179},[1169,3483,3484],{"class":1246},"hook",[1169,3486,1249],{"class":1258},[1169,3488,1390],{"class":1179},[1169,3490,3491],{"class":1202},"builder:watch",[1169,3493,1390],{"class":1179},[1169,3495,1187],{"class":1179},[1169,3497,3498],{"class":1282}," async",[1169,3500,1489],{"class":1179},[1169,3502,3503],{"class":1264},"event",[1169,3505,1187],{"class":1179},[1169,3507,3508],{"class":1264}," relativePath",[1169,3510,1273],{"class":1179},[1169,3512,1406],{"class":1282},[1169,3514,1276],{"class":1179},[1169,3516,3517,3520,3522,3524,3527,3529,3532,3534,3537,3539,3542],{"class":1171,"line":1367},[1169,3518,3519],{"class":1175},"      if",[1169,3521,1489],{"class":1258},[1169,3523,3503],{"class":1183},[1169,3525,3526],{"class":1179}," ===",[1169,3528,1199],{"class":1179},[1169,3530,3531],{"class":1202},"change",[1169,3533,1390],{"class":1179},[1169,3535,3536],{"class":1258},") ",[1169,3538,1429],{"class":1179},[1169,3540,3541],{"class":1175}," return",[1169,3543,3544],{"class":1179}," }\n",[1169,3546,3547],{"class":1171,"line":1377},[1169,3548,1234],{"emptyLinePlaceholder":1233},[1169,3550,3551,3554,3557,3559,3561,3563,3565,3567,3569,3571,3573,3575,3577],{"class":1171,"line":1395},[1169,3552,3553],{"class":1282},"      const",[1169,3555,3556],{"class":1183}," path",[1169,3558,1289],{"class":1179},[1169,3560,3379],{"class":1246},[1169,3562,1249],{"class":1258},[1169,3564,1296],{"class":1183},[1169,3566,1299],{"class":1179},[1169,3568,1265],{"class":1183},[1169,3570,1299],{"class":1179},[1169,3572,3452],{"class":1183},[1169,3574,1187],{"class":1179},[1169,3576,3508],{"class":1183},[1169,3578,1359],{"class":1258},[1169,3580,3581,3583,3585,3588,3590,3593,3595,3598,3600,3602,3604,3607,3609,3611,3614],{"class":1171,"line":1452},[1169,3582,3519],{"class":1175},[1169,3584,1489],{"class":1258},[1169,3586,3587],{"class":1183},"updateTemplatePaths",[1169,3589,1299],{"class":1179},[1169,3591,3592],{"class":1246},"some",[1169,3594,1249],{"class":1258},[1169,3596,3597],{"class":1264},"dir",[1169,3599,1406],{"class":1282},[1169,3601,3556],{"class":1183},[1169,3603,1299],{"class":1179},[1169,3605,3606],{"class":1246},"startsWith",[1169,3608,1249],{"class":1258},[1169,3610,3597],{"class":1183},[1169,3612,3613],{"class":1258},"))) ",[1169,3615,1252],{"class":1179},[1169,3617,3618,3621,3623,3625],{"class":1171,"line":1459},[1169,3619,3620],{"class":1175},"        await",[1169,3622,3360],{"class":1246},[1169,3624,1249],{"class":1258},[1169,3626,1252],{"class":1179},[1169,3628,3629,3632,3634,3637,3639,3641,3643,3645,3647,3649,3652,3654],{"class":1171,"line":1465},[1169,3630,3631],{"class":1246},"          filter",[1169,3633,1324],{"class":1179},[1169,3635,3636],{"class":1264}," template",[1169,3638,1406],{"class":1282},[1169,3640,3636],{"class":1183},[1169,3642,1299],{"class":1179},[1169,3644,1582],{"class":1183},[1169,3646,3526],{"class":1179},[1169,3648,1199],{"class":1179},[1169,3650,3651],{"class":1202},"routes.mjs",[1169,3653,1390],{"class":1179},[1169,3655,1335],{"class":1179},[1169,3657,3658,3661],{"class":1171,"line":2771},[1169,3659,3660],{"class":1179},"        }",[1169,3662,1359],{"class":1258},[1169,3664,3665],{"class":1171,"line":2776},[1169,3666,3667],{"class":1179},"      }\n",[1169,3669,3671,3673],{"class":1171,"line":3670},19,[1169,3672,1356],{"class":1179},[1169,3674,1359],{"class":1258},[1169,3676,3678],{"class":1171,"line":3677},20,[1169,3679,1962],{"class":1179},[1169,3681,3683,3685],{"class":1171,"line":3682},21,[1169,3684,1468],{"class":1179},[1169,3686,1359],{"class":1183},[1154,3688,1474],{"id":3689},"type-3",[1159,3691,3693],{"className":1161,"code":3692,"language":1163,"meta":1165,"style":1165},"async function updateTemplates (options: UpdateTemplatesOptions): void\n",[1129,3694,3695],{"__ignoreMap":1165},[1169,3696,3697,3700,3703,3705,3707,3709,3711,3714,3716],{"class":1171,"line":1172},[1169,3698,3699],{"class":1282},"async",[1169,3701,3702],{"class":1282}," function",[1169,3704,3360],{"class":1246},[1169,3706,1489],{"class":1179},[1169,3708,1265],{"class":1264},[1169,3710,1324],{"class":1179},[1169,3712,3713],{"class":1497}," UpdateTemplatesOptions",[1169,3715,1507],{"class":1179},[1169,3717,3718],{"class":1497}," void\n",[1154,3720,1514],{"id":3721},"parameters-3",[1125,3723,3724,3726],{},[1518,3725,1265],{},": Options to pass to the template. This object can have the following property:",[1526,3728,3729,3741],{},[1529,3730,3731],{},[1532,3732,3733,3735,3737,3739],{},[1535,3734,1537],{},[1535,3736,1474],{},[1535,3738,1542],{},[1535,3740,1545],{},[1547,3742,3743],{},[1532,3744,3745,3750,3769,3773],{},[1552,3746,3747],{},[1129,3748,3749],{},"filter",[1552,3751,3752],{},[1129,3753,3754,3756,3758,3760,3763,3765,3767],{"className":1161,"language":1163,"style":1165},[1169,3755,1249],{"class":1179},[1169,3757,1492],{"class":1264},[1169,3759,1324],{"class":1179},[1169,3761,3762],{"class":1497}," ResolvedNuxtTemplate",[1169,3764,1273],{"class":1179},[1169,3766,1406],{"class":1282},[1169,3768,2389],{"class":1183},[1552,3770,3771],{},[1129,3772,1565],{},[1552,3774,1694,3775,3777,3778,3780],{},[1129,3776,1492],{}," object. It should return a boolean indicating whether the template should be regenerated. If ",[1129,3779,3749],{}," is not provided, all templates will be regenerated.",[3782,3783,3784],"style",{},"html pre.shiki code .sDfIl, html code.shiki .sDfIl{--shiki-light:#39ADB5;--shiki-default:#39ADB5;--shiki-dark:#89DDFF}html pre.shiki code .s1nJG, html code.shiki .s1nJG{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#90A4AE;--shiki-default-font-style:italic;--shiki-dark:#BABED8;--shiki-dark-font-style:italic}html pre.shiki code .s52Pk, html code.shiki .s52Pk{--shiki-light:#E2931D;--shiki-default:#E2931D;--shiki-dark:#FFCB6B}html pre.shiki code .smZ93, html code.shiki .smZ93{--shiki-light:#9C3EDA;--shiki-default:#9C3EDA;--shiki-dark:#C792EA}html pre.shiki code .sZSNi, html code.shiki .sZSNi{--shiki-light:#90A4AE;--shiki-default:#90A4AE;--shiki-dark:#BABED8}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 .s8R28, html code.shiki .s8R28{--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 .sGFVr, html code.shiki .sGFVr{--shiki-light:#91B859;--shiki-default:#91B859;--shiki-dark:#C3E88D}html pre.shiki code .sWuyu, html code.shiki .sWuyu{--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 .s3cPz, html code.shiki .s3cPz{--shiki-light:#6182B8;--shiki-default:#6182B8;--shiki-dark:#82AAFF}html pre.shiki code .sRlkE, html code.shiki .sRlkE{--shiki-light:#E53935;--shiki-default:#E53935;--shiki-dark:#F07178}html pre.shiki code .sbKd-, html code.shiki .sbKd-{--shiki-light:#FF5370;--shiki-default:#FF5370;--shiki-dark:#FF9CAC}",{"title":1165,"searchDepth":1209,"depth":1209,"links":3786},[3787,3793,3799,3806],{"id":1144,"depth":1209,"text":1131,"children":3788},[3789,3790,3791,3792],{"id":1156,"depth":1230,"text":1157},{"id":1473,"depth":1230,"text":1474},{"id":1513,"depth":1230,"text":1514},{"id":1726,"depth":1230,"text":762},{"id":2204,"depth":1209,"text":1135,"children":3794},[3795,3796,3797,3798],{"id":2212,"depth":1230,"text":1157},{"id":2347,"depth":1230,"text":1474},{"id":2405,"depth":1230,"text":1514},{"id":2615,"depth":1230,"text":762},{"id":2918,"depth":1209,"text":2921,"children":3800},[3801,3802,3803,3804,3805],{"id":2927,"depth":1230,"text":1157},{"id":3048,"depth":1230,"text":1474},{"id":3076,"depth":1230,"text":1514},{"id":3152,"depth":1230,"text":762},{"id":3155,"depth":1230,"text":3156},{"id":3334,"depth":1209,"text":1139,"children":3807},[3808,3809,3810],{"id":3342,"depth":1230,"text":1157},{"id":3689,"depth":1230,"text":1474},{"id":3721,"depth":1230,"text":1514},"Nuxt Kit provides a set of utilities to help you work with templates. These functions allow you to generate extra files during development and build time.","md",[3814],{"label":3815,"icon":3816,"to":3817,"size":3818},"Source","i-simple-icons-github","https://github.com/nuxt/nuxt/blob/main/packages/kit/src/template.ts","xs",{},{"title":742,"description":3811},"LIHe6pdLNP75o--kKMT3gtzDIBDj_AXhv0QU-PgK-N4",[3823,3825],{"title":295,"path":739,"stem":740,"description":3824,"children":-1},"Nuxt Kit provides a set of utilities to help you access and modify Nuxt runtime configuration.",{"title":746,"path":747,"stem":748,"description":3826,"children":-1},"Nuxt Kit provides a set of utilities to help you work with Nitro. These functions allow you to add server handlers, plugins, and prerender routes.",1748853397427]