[{"data":1,"prerenderedAt":7929},["ShallowReactive",2],{"$f30r277ag21rfj":3,"versions":3072,"-docs-5-x-getting-started-upgrade":3077,"-docs-5-x-getting-started-upgrade-surround":7924},[4,1132,2002,2866],{"title":5,"titleTemplate":6,"icon":7,"path":8,"stem":9,"children":10,"page":108},"Docs",null,"i-lucide-book-marked","\u002Fdocs\u002F3.x","docs\u002F3.x",[11,109,246,430,919,1011,1048,1090],{"title":12,"titleTemplate":13,"icon":14,"path":15,"stem":16,"children":17,"page":108},"Get Started","%s · Get Started with Nuxt","i-lucide-rocket","\u002Fdocs\u002F3.x\u002Fgetting-started","docs\u002F3.x\u002F1.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","\u002Fdocs\u002F3.x\u002Fgetting-started\u002Fintroduction","docs\u002F3.x\u002F1.getting-started\u002F01.introduction","i-lucide-info",{"title":24,"path":25,"stem":26,"titleTemplate":6,"icon":27},"Installation","\u002Fdocs\u002F3.x\u002Fgetting-started\u002Finstallation","docs\u002F3.x\u002F1.getting-started\u002F02.installation","i-lucide-play",{"title":29,"path":30,"stem":31,"titleTemplate":6,"icon":32},"Configuration","\u002Fdocs\u002F3.x\u002Fgetting-started\u002Fconfiguration","docs\u002F3.x\u002F1.getting-started\u002F03.configuration","i-lucide-cog",{"title":34,"path":35,"stem":36,"titleTemplate":6,"icon":37},"Views","\u002Fdocs\u002F3.x\u002Fgetting-started\u002Fviews","docs\u002F3.x\u002F1.getting-started\u002F04.views","i-lucide-panels-top-left",{"title":39,"path":40,"stem":41,"titleTemplate":6,"icon":42},"Assets","\u002Fdocs\u002F3.x\u002Fgetting-started\u002Fassets","docs\u002F3.x\u002F1.getting-started\u002F05.assets","i-lucide-image",{"title":44,"path":45,"stem":46,"titleTemplate":6,"icon":47},"Styling","\u002Fdocs\u002F3.x\u002Fgetting-started\u002Fstyling","docs\u002F3.x\u002F1.getting-started\u002F06.styling","i-lucide-palette",{"title":49,"path":50,"stem":51,"titleTemplate":6,"icon":52},"Routing","\u002Fdocs\u002F3.x\u002Fgetting-started\u002Frouting","docs\u002F3.x\u002F1.getting-started\u002F07.routing","i-lucide-milestone",{"title":54,"path":55,"stem":56,"titleTemplate":6,"icon":57},"SEO and Meta","\u002Fdocs\u002F3.x\u002Fgetting-started\u002Fseo-meta","docs\u002F3.x\u002F1.getting-started\u002F08.seo-meta","i-lucide-file-search",{"title":59,"path":60,"stem":61,"titleTemplate":6,"icon":62},"Transitions","\u002Fdocs\u002F3.x\u002Fgetting-started\u002Ftransitions","docs\u002F3.x\u002F1.getting-started\u002F09.transitions","i-lucide-toggle-right",{"title":64,"path":65,"stem":66,"titleTemplate":6,"icon":67},"Data Fetching","\u002Fdocs\u002F3.x\u002Fgetting-started\u002Fdata-fetching","docs\u002F3.x\u002F1.getting-started\u002F10.data-fetching","i-lucide-cable",{"title":69,"path":70,"stem":71,"titleTemplate":6,"icon":72},"State Management","\u002Fdocs\u002F3.x\u002Fgetting-started\u002Fstate-management","docs\u002F3.x\u002F1.getting-started\u002F11.state-management","i-lucide-database",{"title":74,"path":75,"stem":76,"titleTemplate":6,"icon":77},"Error Handling","\u002Fdocs\u002F3.x\u002Fgetting-started\u002Ferror-handling","docs\u002F3.x\u002F1.getting-started\u002F12.error-handling","i-lucide-bug-off",{"title":79,"path":80,"stem":81,"titleTemplate":6,"icon":82},"Server","\u002Fdocs\u002F3.x\u002Fgetting-started\u002Fserver","docs\u002F3.x\u002F1.getting-started\u002F13.server","i-lucide-pc-case",{"title":84,"path":85,"stem":86,"titleTemplate":6,"icon":87},"Layers","\u002Fdocs\u002F3.x\u002Fgetting-started\u002Flayers","docs\u002F3.x\u002F1.getting-started\u002F14.layers","i-lucide-layers",{"title":89,"path":90,"stem":91,"titleTemplate":6,"icon":92},"Prerendering","\u002Fdocs\u002F3.x\u002Fgetting-started\u002Fprerendering","docs\u002F3.x\u002F1.getting-started\u002F15.prerendering","i-lucide-file-code-2",{"title":94,"path":95,"stem":96,"titleTemplate":6,"icon":97},"Deployment","\u002Fdocs\u002F3.x\u002Fgetting-started\u002Fdeployment","docs\u002F3.x\u002F1.getting-started\u002F16.deployment","i-lucide-cloud",{"title":99,"path":100,"stem":101,"titleTemplate":6,"icon":102},"Testing","\u002Fdocs\u002F3.x\u002Fgetting-started\u002Ftesting","docs\u002F3.x\u002F1.getting-started\u002F17.testing","i-lucide-circle-check",{"title":104,"path":105,"stem":106,"titleTemplate":6,"icon":107},"Upgrade Guide","\u002Fdocs\u002F3.x\u002Fgetting-started\u002Fupgrade","docs\u002F3.x\u002F1.getting-started\u002F18.upgrade","i-lucide-circle-arrow-up",false,{"title":110,"titleTemplate":111,"icon":112,"path":113,"stem":114,"children":115,"page":108},"Directory Structure","%s · Nuxt Directory Structure","i-vscode-icons-default-folder","\u002Fdocs\u002F3.x\u002Fdirectory-structure","docs\u002F3.x\u002F2.directory-structure",[116,121,126,131,136,141,146,151,156,161,165,170,174,179,184,189,194,199,204,209,214,218,223,228,232,236,241],{"title":117,"path":118,"stem":119,"titleTemplate":6,"icon":120},".nuxt","\u002Fdocs\u002F3.x\u002Fdirectory-structure\u002Fnuxt","docs\u002F3.x\u002F2.directory-structure\u002F0.nuxt","i-vscode-icons-folder-type-temp",{"title":122,"path":123,"stem":124,"titleTemplate":6,"icon":125},".output","\u002Fdocs\u002F3.x\u002Fdirectory-structure\u002Foutput","docs\u002F3.x\u002F2.directory-structure\u002F0.output","i-vscode-icons-folder-type-package",{"title":127,"path":128,"stem":129,"titleTemplate":6,"icon":130},"assets","\u002Fdocs\u002F3.x\u002Fdirectory-structure\u002Fassets","docs\u002F3.x\u002F2.directory-structure\u002F1.assets","i-vscode-icons-folder-type-asset",{"title":132,"path":133,"stem":134,"titleTemplate":6,"icon":135},"components","\u002Fdocs\u002F3.x\u002Fdirectory-structure\u002Fcomponents","docs\u002F3.x\u002F2.directory-structure\u002F1.components","i-vscode-icons-folder-type-component",{"title":137,"path":138,"stem":139,"titleTemplate":6,"icon":140},"composables","\u002Fdocs\u002F3.x\u002Fdirectory-structure\u002Fcomposables","docs\u002F3.x\u002F2.directory-structure\u002F1.composables","i-vscode-icons-folder-type-src",{"title":142,"path":143,"stem":144,"titleTemplate":6,"icon":145},"content","\u002Fdocs\u002F3.x\u002Fdirectory-structure\u002Fcontent","docs\u002F3.x\u002F2.directory-structure\u002F1.content","i-vscode-icons-folder-type-log",{"title":147,"path":148,"stem":149,"titleTemplate":6,"icon":150},"layers","\u002Fdocs\u002F3.x\u002Fdirectory-structure\u002Flayers","docs\u002F3.x\u002F2.directory-structure\u002F1.layers","i-vscode-icons-folder-type-nuxt",{"title":152,"path":153,"stem":154,"titleTemplate":6,"icon":155},"layouts","\u002Fdocs\u002F3.x\u002Fdirectory-structure\u002Flayouts","docs\u002F3.x\u002F2.directory-structure\u002F1.layouts","i-vscode-icons-folder-type-view",{"title":157,"path":158,"stem":159,"titleTemplate":6,"icon":160},"middleware","\u002Fdocs\u002F3.x\u002Fdirectory-structure\u002Fmiddleware","docs\u002F3.x\u002F2.directory-structure\u002F1.middleware","i-vscode-icons-folder-type-middleware",{"title":162,"path":163,"stem":164,"titleTemplate":6,"icon":150},"modules","\u002Fdocs\u002F3.x\u002Fdirectory-structure\u002Fmodules","docs\u002F3.x\u002F2.directory-structure\u002F1.modules",{"title":166,"path":167,"stem":168,"titleTemplate":6,"icon":169},"node_modules","\u002Fdocs\u002F3.x\u002Fdirectory-structure\u002Fnode_modules","docs\u002F3.x\u002F2.directory-structure\u002F1.node_modules","i-vscode-icons-folder-type-node",{"title":171,"path":172,"stem":173,"titleTemplate":6,"icon":155},"pages","\u002Fdocs\u002F3.x\u002Fdirectory-structure\u002Fpages","docs\u002F3.x\u002F2.directory-structure\u002F1.pages",{"title":175,"path":176,"stem":177,"titleTemplate":6,"icon":178},"plugins","\u002Fdocs\u002F3.x\u002Fdirectory-structure\u002Fplugins","docs\u002F3.x\u002F2.directory-structure\u002F1.plugins","i-vscode-icons-folder-type-plugin",{"title":180,"path":181,"stem":182,"titleTemplate":6,"icon":183},"public","\u002Fdocs\u002F3.x\u002Fdirectory-structure\u002Fpublic","docs\u002F3.x\u002F2.directory-structure\u002F1.public","i-vscode-icons-folder-type-public",{"title":185,"path":186,"stem":187,"titleTemplate":6,"icon":188},"server","\u002Fdocs\u002F3.x\u002Fdirectory-structure\u002Fserver","docs\u002F3.x\u002F2.directory-structure\u002F1.server","i-vscode-icons-folder-type-server",{"title":190,"path":191,"stem":192,"titleTemplate":6,"icon":193},"shared","\u002Fdocs\u002F3.x\u002Fdirectory-structure\u002Fshared","docs\u002F3.x\u002F2.directory-structure\u002F1.shared","i-vscode-icons-folder-type-shared",{"title":195,"path":196,"stem":197,"titleTemplate":6,"icon":198},"utils","\u002Fdocs\u002F3.x\u002Fdirectory-structure\u002Futils","docs\u002F3.x\u002F2.directory-structure\u002F1.utils","i-vscode-icons-folder-type-tools",{"title":200,"path":201,"stem":202,"titleTemplate":6,"icon":203},".env","\u002Fdocs\u002F3.x\u002Fdirectory-structure\u002Fenv","docs\u002F3.x\u002F2.directory-structure\u002F2.env","i-vscode-icons-file-type-dotenv",{"title":205,"path":206,"stem":207,"titleTemplate":6,"icon":208},".gitignore","\u002Fdocs\u002F3.x\u002Fdirectory-structure\u002Fgitignore","docs\u002F3.x\u002F2.directory-structure\u002F2.gitignore","i-vscode-icons-file-type-git",{"title":210,"path":211,"stem":212,"titleTemplate":6,"icon":213},".nuxtignore","\u002Fdocs\u002F3.x\u002Fdirectory-structure\u002Fnuxtignore","docs\u002F3.x\u002F2.directory-structure\u002F2.nuxtignore","i-vscode-icons-file-type-nuxt",{"title":215,"path":216,"stem":217,"titleTemplate":6,"icon":213},".nuxtrc","\u002Fdocs\u002F3.x\u002Fdirectory-structure\u002Fnuxtrc","docs\u002F3.x\u002F2.directory-structure\u002F2.nuxtrc",{"title":219,"path":220,"stem":221,"titleTemplate":6,"icon":222},"app.vue","\u002Fdocs\u002F3.x\u002Fdirectory-structure\u002Fapp","docs\u002F3.x\u002F2.directory-structure\u002F3.app","i-vscode-icons-file-type-vue",{"title":224,"path":225,"stem":226,"titleTemplate":6,"icon":227},"app.config.ts","\u002Fdocs\u002F3.x\u002Fdirectory-structure\u002Fapp-config","docs\u002F3.x\u002F2.directory-structure\u002F3.app-config","i-vscode-icons-file-type-light-config",{"title":229,"path":230,"stem":231,"titleTemplate":6,"icon":222},"error.vue","\u002Fdocs\u002F3.x\u002Fdirectory-structure\u002Ferror","docs\u002F3.x\u002F2.directory-structure\u002F3.error",{"title":233,"path":234,"stem":235,"titleTemplate":6,"icon":213},"nuxt.config.ts","\u002Fdocs\u002F3.x\u002Fdirectory-structure\u002Fnuxt-config","docs\u002F3.x\u002F2.directory-structure\u002F3.nuxt-config",{"title":237,"path":238,"stem":239,"titleTemplate":6,"icon":240},"package.json","\u002Fdocs\u002F3.x\u002Fdirectory-structure\u002Fpackage","docs\u002F3.x\u002F2.directory-structure\u002F3.package","i-vscode-icons-file-type-npm",{"title":242,"path":243,"stem":244,"titleTemplate":6,"icon":245},"tsconfig.json","\u002Fdocs\u002F3.x\u002Fdirectory-structure\u002Ftsconfig","docs\u002F3.x\u002F2.directory-structure\u002F3.tsconfig","i-vscode-icons-file-type-tsconfig",{"title":247,"titleTemplate":6,"icon":248,"path":249,"stem":250,"children":251,"page":108},"Guide","i-lucide-book-open","\u002Fdocs\u002F3.x\u002Fguide","docs\u002F3.x\u002F3.guide",[252,287,306,321,360,383],{"title":253,"titleTemplate":254,"icon":255,"path":256,"stem":257,"children":258,"page":108},"Key Concepts","%s · Nuxt Concepts","i-lucide-medal","\u002Fdocs\u002F3.x\u002Fguide\u002Fconcepts","docs\u002F3.x\u002F3.guide\u002F1.concepts",[259,263,267,271,275,279,283],{"title":260,"path":261,"stem":262,"titleTemplate":6},"Rendering Modes","\u002Fdocs\u002F3.x\u002Fguide\u002Fconcepts\u002Frendering","docs\u002F3.x\u002F3.guide\u002F1.concepts\u002F1.rendering",{"title":264,"path":265,"stem":266,"titleTemplate":6},"Nuxt Lifecycle","\u002Fdocs\u002F3.x\u002Fguide\u002Fconcepts\u002Fnuxt-lifecycle","docs\u002F3.x\u002F3.guide\u002F1.concepts\u002F2.nuxt-lifecycle",{"title":268,"path":269,"stem":270,"titleTemplate":6},"Auto-imports","\u002Fdocs\u002F3.x\u002Fguide\u002Fconcepts\u002Fauto-imports","docs\u002F3.x\u002F3.guide\u002F1.concepts\u002F3.auto-imports",{"title":272,"path":273,"stem":274,"titleTemplate":6},"Server Engine","\u002Fdocs\u002F3.x\u002Fguide\u002Fconcepts\u002Fserver-engine","docs\u002F3.x\u002F3.guide\u002F1.concepts\u002F4.server-engine",{"title":276,"path":277,"stem":278,"titleTemplate":6},"Modules","\u002Fdocs\u002F3.x\u002Fguide\u002Fconcepts\u002Fmodules","docs\u002F3.x\u002F3.guide\u002F1.concepts\u002F5.modules",{"title":280,"path":281,"stem":282,"titleTemplate":6},"TypeScript","\u002Fdocs\u002F3.x\u002Fguide\u002Fconcepts\u002Ftypescript","docs\u002F3.x\u002F3.guide\u002F1.concepts\u002F8.typescript",{"title":284,"path":285,"stem":286,"titleTemplate":6},"Code Style","\u002Fdocs\u002F3.x\u002Fguide\u002Fconcepts\u002Fcode-style","docs\u002F3.x\u002F3.guide\u002F1.concepts\u002F9.code-style",{"title":288,"titleTemplate":289,"icon":290,"path":291,"stem":292,"children":293,"page":108},"Best Practices","%s · Best Practices","i-lucide-square-check","\u002Fdocs\u002F3.x\u002Fguide\u002Fbest-practices","docs\u002F3.x\u002F3.guide\u002F2.best-practices",[294,298,302],{"title":295,"path":296,"stem":297,"titleTemplate":6},"Nuxt and hydration","\u002Fdocs\u002F3.x\u002Fguide\u002Fbest-practices\u002Fhydration","docs\u002F3.x\u002F3.guide\u002F2.best-practices\u002Fhydration",{"title":299,"path":300,"stem":301,"titleTemplate":6},"Nuxt Performance","\u002Fdocs\u002F3.x\u002Fguide\u002Fbest-practices\u002Fperformance","docs\u002F3.x\u002F3.guide\u002F2.best-practices\u002Fperformance",{"title":303,"path":304,"stem":305,"titleTemplate":6},"Nuxt Plugins","\u002Fdocs\u002F3.x\u002Fguide\u002Fbest-practices\u002Fplugins","docs\u002F3.x\u002F3.guide\u002F2.best-practices\u002Fplugins",{"title":307,"titleTemplate":308,"icon":309,"path":310,"stem":311,"children":312,"page":108},"Working with AI","Working with AI: %s","i-lucide-bot","\u002Fdocs\u002F3.x\u002Fguide\u002Fai","docs\u002F3.x\u002F3.guide\u002F3.ai",[313,317],{"title":314,"path":315,"stem":316,"titleTemplate":6},"MCP Server","\u002Fdocs\u002F3.x\u002Fguide\u002Fai\u002Fmcp","docs\u002F3.x\u002F3.guide\u002F3.ai\u002F1.mcp",{"title":318,"path":319,"stem":320,"titleTemplate":6},"LLMs.txt","\u002Fdocs\u002F3.x\u002Fguide\u002Fai\u002Fllms-txt","docs\u002F3.x\u002F3.guide\u002F3.ai\u002F2.llms-txt",{"title":322,"titleTemplate":323,"icon":324,"path":325,"stem":326,"children":327,"page":108},"Module Author Guide","%s · Nuxt Modules Author Guide","i-lucide-box","\u002Fdocs\u002F3.x\u002Fguide\u002Fmodules","docs\u002F3.x\u002F3.guide\u002F4.modules",[328,332,336,340,344,348,352,356],{"title":329,"path":330,"stem":331,"titleTemplate":6},"Create Your First Module","\u002Fdocs\u002F3.x\u002Fguide\u002Fmodules\u002Fgetting-started","docs\u002F3.x\u002F3.guide\u002F4.modules\u002F1.getting-started",{"title":333,"path":334,"stem":335,"titleTemplate":6},"Understand Module Structure","\u002Fdocs\u002F3.x\u002Fguide\u002Fmodules\u002Fmodule-anatomy","docs\u002F3.x\u002F3.guide\u002F4.modules\u002F2.module-anatomy",{"title":337,"path":338,"stem":339,"titleTemplate":6},"Add Plugins, Components & More","\u002Fdocs\u002F3.x\u002Fguide\u002Fmodules\u002Frecipes-basics","docs\u002F3.x\u002F3.guide\u002F4.modules\u002F3.recipes-basics",{"title":341,"path":342,"stem":343,"titleTemplate":6},"Module Dependencies","\u002Fdocs\u002F3.x\u002Fguide\u002Fmodules\u002Fmodule-dependencies","docs\u002F3.x\u002F3.guide\u002F4.modules\u002F4.module-dependencies",{"title":345,"path":346,"stem":347,"titleTemplate":6},"Use Hooks & Extend Types","\u002Fdocs\u002F3.x\u002Fguide\u002Fmodules\u002Frecipes-advanced","docs\u002F3.x\u002F3.guide\u002F4.modules\u002F5.recipes-advanced",{"title":349,"path":350,"stem":351,"titleTemplate":6},"Test Your Module","\u002Fdocs\u002F3.x\u002Fguide\u002Fmodules\u002Ftesting","docs\u002F3.x\u002F3.guide\u002F4.modules\u002F6.testing",{"title":353,"path":354,"stem":355,"titleTemplate":6},"Follow Best Practices","\u002Fdocs\u002F3.x\u002Fguide\u002Fmodules\u002Fbest-practices","docs\u002F3.x\u002F3.guide\u002F4.modules\u002F7.best-practices",{"title":357,"path":358,"stem":359,"titleTemplate":6},"Publish & Share Your Module","\u002Fdocs\u002F3.x\u002Fguide\u002Fmodules\u002Fecosystem","docs\u002F3.x\u002F3.guide\u002F4.modules\u002F8.ecosystem",{"title":361,"titleTemplate":362,"icon":363,"path":364,"stem":365,"children":366,"page":108},"Recipes","%s · Recipes","i-lucide-cooking-pot","\u002Fdocs\u002F3.x\u002Fguide\u002Frecipes","docs\u002F3.x\u002F3.guide\u002F5.recipes",[367,371,375,379],{"title":368,"path":369,"stem":370,"titleTemplate":6},"Custom Routing","\u002Fdocs\u002F3.x\u002Fguide\u002Frecipes\u002Fcustom-routing","docs\u002F3.x\u002F3.guide\u002F5.recipes\u002F1.custom-routing",{"title":372,"path":373,"stem":374,"titleTemplate":6},"Vite Plugins","\u002Fdocs\u002F3.x\u002Fguide\u002Frecipes\u002Fvite-plugin","docs\u002F3.x\u002F3.guide\u002F5.recipes\u002F2.vite-plugin",{"title":376,"path":377,"stem":378,"titleTemplate":6},"Custom useFetch","\u002Fdocs\u002F3.x\u002Fguide\u002Frecipes\u002Fcustom-usefetch","docs\u002F3.x\u002F3.guide\u002F5.recipes\u002F3.custom-usefetch",{"title":380,"path":381,"stem":382,"titleTemplate":6},"Sessions and Authentication","\u002Fdocs\u002F3.x\u002Fguide\u002Frecipes\u002Fsessions-and-authentication","docs\u002F3.x\u002F3.guide\u002F5.recipes\u002F4.sessions-and-authentication",{"title":384,"titleTemplate":385,"icon":386,"path":387,"stem":388,"children":389,"page":108},"Going Further","%s · Nuxt Advanced","i-lucide-star","\u002Fdocs\u002F3.x\u002Fguide\u002Fgoing-further","docs\u002F3.x\u002F3.guide\u002F6.going-further",[390,394,398,402,406,410,414,418,422,426],{"title":391,"path":392,"stem":393,"titleTemplate":6},"Custom Events","\u002Fdocs\u002F3.x\u002Fguide\u002Fgoing-further\u002Fevents","docs\u002F3.x\u002F3.guide\u002F6.going-further\u002F1.events",{"title":395,"path":396,"stem":397,"titleTemplate":6},"Experimental Features","\u002Fdocs\u002F3.x\u002Fguide\u002Fgoing-further\u002Fexperimental-features","docs\u002F3.x\u002F3.guide\u002F6.going-further\u002F1.experimental-features",{"title":399,"path":400,"stem":401,"titleTemplate":6},"Features","\u002Fdocs\u002F3.x\u002Fguide\u002Fgoing-further\u002Ffeatures","docs\u002F3.x\u002F3.guide\u002F6.going-further\u002F1.features",{"title":403,"path":404,"stem":405,"titleTemplate":6},"Runtime Config","\u002Fdocs\u002F3.x\u002Fguide\u002Fgoing-further\u002Fruntime-config","docs\u002F3.x\u002F3.guide\u002F6.going-further\u002F10.runtime-config",{"title":407,"path":408,"stem":409,"titleTemplate":6},"Nightly Release Channel","\u002Fdocs\u002F3.x\u002Fguide\u002Fgoing-further\u002Fnightly-release-channel","docs\u002F3.x\u002F3.guide\u002F6.going-further\u002F11.nightly-release-channel",{"title":411,"path":412,"stem":413,"titleTemplate":6},"Lifecycle Hooks","\u002Fdocs\u002F3.x\u002Fguide\u002Fgoing-further\u002Fhooks","docs\u002F3.x\u002F3.guide\u002F6.going-further\u002F2.hooks",{"title":415,"path":416,"stem":417,"titleTemplate":6},"Nuxt Kit","\u002Fdocs\u002F3.x\u002Fguide\u002Fgoing-further\u002Fkit","docs\u002F3.x\u002F3.guide\u002F6.going-further\u002F4.kit",{"title":419,"path":420,"stem":421,"titleTemplate":6},"NuxtApp","\u002Fdocs\u002F3.x\u002Fguide\u002Fgoing-further\u002Fnuxt-app","docs\u002F3.x\u002F3.guide\u002F6.going-further\u002F6.nuxt-app",{"title":423,"path":424,"stem":425,"titleTemplate":6},"Authoring Nuxt Layers","\u002Fdocs\u002F3.x\u002Fguide\u002Fgoing-further\u002Flayers","docs\u002F3.x\u002F3.guide\u002F6.going-further\u002F7.layers",{"title":427,"path":428,"stem":429,"titleTemplate":6},"Debugging","\u002Fdocs\u002F3.x\u002Fguide\u002Fgoing-further\u002Fdebugging","docs\u002F3.x\u002F3.guide\u002F6.going-further\u002F9.debugging",{"title":431,"titleTemplate":432,"icon":433,"path":434,"stem":435,"children":436,"page":108},"API","%s · Nuxt API","i-lucide-code-xml","\u002Fdocs\u002F3.x\u002Fapi","docs\u002F3.x\u002F4.api",[437,503,626,749,828,901,914],{"title":438,"titleTemplate":439,"icon":324,"path":440,"stem":441,"children":442,"page":108},"Components","%s · Nuxt Components","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomponents","docs\u002F3.x\u002F4.api\u002F1.components",[443,447,451,455,459,463,467,471,475,479,483,487,491,495,499],{"title":444,"path":445,"stem":446,"titleTemplate":6},"\u003CClientOnly>","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomponents\u002Fclient-only","docs\u002F3.x\u002F4.api\u002F1.components\u002F1.client-only",{"title":448,"path":449,"stem":450,"titleTemplate":6},"\u003CDevOnly>","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomponents\u002Fdev-only","docs\u002F3.x\u002F4.api\u002F1.components\u002F1.dev-only",{"title":452,"path":453,"stem":454,"titleTemplate":6},"\u003CNuxtClientFallback>","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomponents\u002Fnuxt-client-fallback","docs\u002F3.x\u002F4.api\u002F1.components\u002F1.nuxt-client-fallback",{"title":456,"path":457,"stem":458,"titleTemplate":6},"\u003CNuxtPicture>","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomponents\u002Fnuxt-picture","docs\u002F3.x\u002F4.api\u002F1.components\u002F10.nuxt-picture",{"title":460,"path":461,"stem":462,"titleTemplate":6},"\u003CTeleport>","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomponents\u002Fteleports","docs\u002F3.x\u002F4.api\u002F1.components\u002F11.teleports",{"title":464,"path":465,"stem":466,"titleTemplate":6},"\u003CNuxtRouteAnnouncer>","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomponents\u002Fnuxt-route-announcer","docs\u002F3.x\u002F4.api\u002F1.components\u002F12.nuxt-route-announcer",{"title":468,"path":469,"stem":470,"titleTemplate":6},"\u003CNuxtTime>","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomponents\u002Fnuxt-time","docs\u002F3.x\u002F4.api\u002F1.components\u002F13.nuxt-time",{"title":472,"path":473,"stem":474,"titleTemplate":6},"\u003CNuxtPage>","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomponents\u002Fnuxt-page","docs\u002F3.x\u002F4.api\u002F1.components\u002F2.nuxt-page",{"title":476,"path":477,"stem":478,"titleTemplate":6},"\u003CNuxtLayout>","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomponents\u002Fnuxt-layout","docs\u002F3.x\u002F4.api\u002F1.components\u002F3.nuxt-layout",{"title":480,"path":481,"stem":482,"titleTemplate":6},"\u003CNuxtLink>","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomponents\u002Fnuxt-link","docs\u002F3.x\u002F4.api\u002F1.components\u002F4.nuxt-link",{"title":484,"path":485,"stem":486,"titleTemplate":6},"\u003CNuxtLoadingIndicator>","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomponents\u002Fnuxt-loading-indicator","docs\u002F3.x\u002F4.api\u002F1.components\u002F5.nuxt-loading-indicator",{"title":488,"path":489,"stem":490,"titleTemplate":6},"\u003CNuxtErrorBoundary>","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomponents\u002Fnuxt-error-boundary","docs\u002F3.x\u002F4.api\u002F1.components\u002F6.nuxt-error-boundary",{"title":492,"path":493,"stem":494,"titleTemplate":6},"\u003CNuxtWelcome>","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomponents\u002Fnuxt-welcome","docs\u002F3.x\u002F4.api\u002F1.components\u002F7.nuxt-welcome",{"title":496,"path":497,"stem":498,"titleTemplate":6},"\u003CNuxtIsland>","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomponents\u002Fnuxt-island","docs\u002F3.x\u002F4.api\u002F1.components\u002F8.nuxt-island",{"title":500,"path":501,"stem":502,"titleTemplate":6},"\u003CNuxtImg>","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomponents\u002Fnuxt-img","docs\u002F3.x\u002F4.api\u002F1.components\u002F9.nuxt-img",{"title":504,"titleTemplate":505,"icon":506,"path":507,"stem":508,"children":509,"page":108},"Composables","%s · Nuxt Composables","i-lucide-arrow-left-right","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables","docs\u002F3.x\u002F4.api\u002F2.composables",[510,514,518,522,526,530,534,538,542,546,550,554,558,562,566,570,574,578,582,586,590,594,598,602,606,610,614,618,622],{"title":511,"path":512,"stem":513,"titleTemplate":6},"onPrehydrate","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fon-prehydrate","docs\u002F3.x\u002F4.api\u002F2.composables\u002Fon-prehydrate",{"title":515,"path":516,"stem":517,"titleTemplate":6},"useAppConfig","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-app-config","docs\u002F3.x\u002F4.api\u002F2.composables\u002Fuse-app-config",{"title":519,"path":520,"stem":521,"titleTemplate":6},"useAsyncData","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-async-data","docs\u002F3.x\u002F4.api\u002F2.composables\u002Fuse-async-data",{"title":523,"path":524,"stem":525,"titleTemplate":6},"useCookie","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-cookie","docs\u002F3.x\u002F4.api\u002F2.composables\u002Fuse-cookie",{"title":527,"path":528,"stem":529,"titleTemplate":6},"useError","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-error","docs\u002F3.x\u002F4.api\u002F2.composables\u002Fuse-error",{"title":531,"path":532,"stem":533,"titleTemplate":6},"useFetch","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-fetch","docs\u002F3.x\u002F4.api\u002F2.composables\u002Fuse-fetch",{"title":535,"path":536,"stem":537,"titleTemplate":6},"useHead","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-head","docs\u002F3.x\u002F4.api\u002F2.composables\u002Fuse-head",{"title":539,"path":540,"stem":541,"titleTemplate":6},"useHeadSafe","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-head-safe","docs\u002F3.x\u002F4.api\u002F2.composables\u002Fuse-head-safe",{"title":543,"path":544,"stem":545,"titleTemplate":6},"useHydration","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-hydration","docs\u002F3.x\u002F4.api\u002F2.composables\u002Fuse-hydration",{"title":547,"path":548,"stem":549,"titleTemplate":6},"useLazyAsyncData","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-lazy-async-data","docs\u002F3.x\u002F4.api\u002F2.composables\u002Fuse-lazy-async-data",{"title":551,"path":552,"stem":553,"titleTemplate":6},"useLazyFetch","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-lazy-fetch","docs\u002F3.x\u002F4.api\u002F2.composables\u002Fuse-lazy-fetch",{"title":555,"path":556,"stem":557,"titleTemplate":6},"useLoadingIndicator","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-loading-indicator","docs\u002F3.x\u002F4.api\u002F2.composables\u002Fuse-loading-indicator",{"title":559,"path":560,"stem":561,"titleTemplate":6},"useNuxtApp","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-nuxt-app","docs\u002F3.x\u002F4.api\u002F2.composables\u002Fuse-nuxt-app",{"title":563,"path":564,"stem":565,"titleTemplate":6},"useNuxtData","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-nuxt-data","docs\u002F3.x\u002F4.api\u002F2.composables\u002Fuse-nuxt-data",{"title":567,"path":568,"stem":569,"titleTemplate":6},"usePreviewMode","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-preview-mode","docs\u002F3.x\u002F4.api\u002F2.composables\u002Fuse-preview-mode",{"title":571,"path":572,"stem":573,"titleTemplate":6},"useRequestEvent","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-request-event","docs\u002F3.x\u002F4.api\u002F2.composables\u002Fuse-request-event",{"title":575,"path":576,"stem":577,"titleTemplate":6},"useRequestFetch","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-request-fetch","docs\u002F3.x\u002F4.api\u002F2.composables\u002Fuse-request-fetch",{"title":579,"path":580,"stem":581,"titleTemplate":6},"useRequestHeader","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-request-header","docs\u002F3.x\u002F4.api\u002F2.composables\u002Fuse-request-header",{"title":583,"path":584,"stem":585,"titleTemplate":6},"useRequestHeaders","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-request-headers","docs\u002F3.x\u002F4.api\u002F2.composables\u002Fuse-request-headers",{"title":587,"path":588,"stem":589,"titleTemplate":6},"useRequestURL","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-request-url","docs\u002F3.x\u002F4.api\u002F2.composables\u002Fuse-request-url",{"title":591,"path":592,"stem":593,"titleTemplate":6},"useResponseHeader","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-response-header","docs\u002F3.x\u002F4.api\u002F2.composables\u002Fuse-response-header",{"title":595,"path":596,"stem":597,"titleTemplate":6},"useRoute","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-route","docs\u002F3.x\u002F4.api\u002F2.composables\u002Fuse-route",{"title":599,"path":600,"stem":601,"titleTemplate":6},"useRouteAnnouncer","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-route-announcer","docs\u002F3.x\u002F4.api\u002F2.composables\u002Fuse-route-announcer",{"title":603,"path":604,"stem":605,"titleTemplate":6},"useRouter","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-router","docs\u002F3.x\u002F4.api\u002F2.composables\u002Fuse-router",{"title":607,"path":608,"stem":609,"titleTemplate":6},"useRuntimeConfig","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-runtime-config","docs\u002F3.x\u002F4.api\u002F2.composables\u002Fuse-runtime-config",{"title":611,"path":612,"stem":613,"titleTemplate":6},"useRuntimeHook","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-runtime-hook","docs\u002F3.x\u002F4.api\u002F2.composables\u002Fuse-runtime-hook",{"title":615,"path":616,"stem":617,"titleTemplate":6},"useSeoMeta","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-seo-meta","docs\u002F3.x\u002F4.api\u002F2.composables\u002Fuse-seo-meta",{"title":619,"path":620,"stem":621,"titleTemplate":6},"useServerSeoMeta","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-server-seo-meta","docs\u002F3.x\u002F4.api\u002F2.composables\u002Fuse-server-seo-meta",{"title":623,"path":624,"stem":625,"titleTemplate":6},"useState","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-state","docs\u002F3.x\u002F4.api\u002F2.composables\u002Fuse-state",{"title":627,"titleTemplate":628,"icon":629,"path":630,"stem":631,"children":632,"page":108},"Utils","%s · Nuxt Utils","i-lucide-square-function","\u002Fdocs\u002F3.x\u002Fapi\u002Futils","docs\u002F3.x\u002F4.api\u002F3.utils",[633,637,641,645,649,653,657,661,665,669,673,677,681,685,689,693,697,701,705,709,713,717,721,725,729,733,737,741,745],{"title":634,"path":635,"stem":636,"titleTemplate":6},"$fetch","\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Fdollarfetch","docs\u002F3.x\u002F4.api\u002F3.utils\u002F$fetch",{"title":638,"path":639,"stem":640,"titleTemplate":6},"abortNavigation","\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Fabort-navigation","docs\u002F3.x\u002F4.api\u002F3.utils\u002Fabort-navigation",{"title":642,"path":643,"stem":644,"titleTemplate":6},"addRouteMiddleware","\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Fadd-route-middleware","docs\u002F3.x\u002F4.api\u002F3.utils\u002Fadd-route-middleware",{"title":646,"path":647,"stem":648,"titleTemplate":6},"callOnce","\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Fcall-once","docs\u002F3.x\u002F4.api\u002F3.utils\u002Fcall-once",{"title":650,"path":651,"stem":652,"titleTemplate":6},"clearError","\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Fclear-error","docs\u002F3.x\u002F4.api\u002F3.utils\u002Fclear-error",{"title":654,"path":655,"stem":656,"titleTemplate":6},"clearNuxtData","\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Fclear-nuxt-data","docs\u002F3.x\u002F4.api\u002F3.utils\u002Fclear-nuxt-data",{"title":658,"path":659,"stem":660,"titleTemplate":6},"clearNuxtState","\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Fclear-nuxt-state","docs\u002F3.x\u002F4.api\u002F3.utils\u002Fclear-nuxt-state",{"title":662,"path":663,"stem":664,"titleTemplate":6},"createError","\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Fcreate-error","docs\u002F3.x\u002F4.api\u002F3.utils\u002Fcreate-error",{"title":666,"path":667,"stem":668,"titleTemplate":6},"defineLazyHydrationComponent","\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Fdefine-lazy-hydration-component","docs\u002F3.x\u002F4.api\u002F3.utils\u002Fdefine-lazy-hydration-component",{"title":670,"path":671,"stem":672,"titleTemplate":6},"defineNuxtComponent","\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Fdefine-nuxt-component","docs\u002F3.x\u002F4.api\u002F3.utils\u002Fdefine-nuxt-component",{"title":674,"path":675,"stem":676,"titleTemplate":6},"defineNuxtPlugin","\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Fdefine-nuxt-plugin","docs\u002F3.x\u002F4.api\u002F3.utils\u002Fdefine-nuxt-plugin",{"title":678,"path":679,"stem":680,"titleTemplate":6},"defineNuxtRouteMiddleware","\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Fdefine-nuxt-route-middleware","docs\u002F3.x\u002F4.api\u002F3.utils\u002Fdefine-nuxt-route-middleware",{"title":682,"path":683,"stem":684,"titleTemplate":6},"definePageMeta","\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Fdefine-page-meta","docs\u002F3.x\u002F4.api\u002F3.utils\u002Fdefine-page-meta",{"title":686,"path":687,"stem":688,"titleTemplate":6},"defineRouteRules","\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Fdefine-route-rules","docs\u002F3.x\u002F4.api\u002F3.utils\u002Fdefine-route-rules",{"title":690,"path":691,"stem":692,"titleTemplate":6},"navigateTo","\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Fnavigate-to","docs\u002F3.x\u002F4.api\u002F3.utils\u002Fnavigate-to",{"title":694,"path":695,"stem":696,"titleTemplate":6},"onBeforeRouteLeave","\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Fon-before-route-leave","docs\u002F3.x\u002F4.api\u002F3.utils\u002Fon-before-route-leave",{"title":698,"path":699,"stem":700,"titleTemplate":6},"onBeforeRouteUpdate","\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Fon-before-route-update","docs\u002F3.x\u002F4.api\u002F3.utils\u002Fon-before-route-update",{"title":702,"path":703,"stem":704,"titleTemplate":6},"onNuxtReady","\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Fon-nuxt-ready","docs\u002F3.x\u002F4.api\u002F3.utils\u002Fon-nuxt-ready",{"title":706,"path":707,"stem":708,"titleTemplate":6},"prefetchComponents","\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Fprefetch-components","docs\u002F3.x\u002F4.api\u002F3.utils\u002Fprefetch-components",{"title":710,"path":711,"stem":712,"titleTemplate":6},"preloadComponents","\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Fpreload-components","docs\u002F3.x\u002F4.api\u002F3.utils\u002Fpreload-components",{"title":714,"path":715,"stem":716,"titleTemplate":6},"preloadRouteComponents","\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Fpreload-route-components","docs\u002F3.x\u002F4.api\u002F3.utils\u002Fpreload-route-components",{"title":718,"path":719,"stem":720,"titleTemplate":6},"prerenderRoutes","\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Fprerender-routes","docs\u002F3.x\u002F4.api\u002F3.utils\u002Fprerender-routes",{"title":722,"path":723,"stem":724,"titleTemplate":6},"refreshCookie","\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Frefresh-cookie","docs\u002F3.x\u002F4.api\u002F3.utils\u002Frefresh-cookie",{"title":726,"path":727,"stem":728,"titleTemplate":6},"refreshNuxtData","\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Frefresh-nuxt-data","docs\u002F3.x\u002F4.api\u002F3.utils\u002Frefresh-nuxt-data",{"title":730,"path":731,"stem":732,"titleTemplate":6},"reloadNuxtApp","\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Freload-nuxt-app","docs\u002F3.x\u002F4.api\u002F3.utils\u002Freload-nuxt-app",{"title":734,"path":735,"stem":736,"titleTemplate":6},"setPageLayout","\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Fset-page-layout","docs\u002F3.x\u002F4.api\u002F3.utils\u002Fset-page-layout",{"title":738,"path":739,"stem":740,"titleTemplate":6},"setResponseStatus","\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Fset-response-status","docs\u002F3.x\u002F4.api\u002F3.utils\u002Fset-response-status",{"title":742,"path":743,"stem":744,"titleTemplate":6},"showError","\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Fshow-error","docs\u002F3.x\u002F4.api\u002F3.utils\u002Fshow-error",{"title":746,"path":747,"stem":748,"titleTemplate":6},"updateAppConfig","\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Fupdate-app-config","docs\u002F3.x\u002F4.api\u002F3.utils\u002Fupdate-app-config",{"title":750,"titleTemplate":751,"icon":752,"path":753,"stem":754,"children":755,"page":108},"CLI","%s · Nuxt CLI","i-lucide-square-terminal","\u002Fdocs\u002F3.x\u002Fapi\u002Fcommands","docs\u002F3.x\u002F4.api\u002F4.commands",[756,760,764,768,772,776,780,784,788,792,796,800,804,808,812,816,820,824],{"title":757,"path":758,"stem":759,"titleTemplate":6},"Nuxt CLI","\u002Fdocs\u002F3.x\u002Fapi\u002Fcommands\u002Foverview","docs\u002F3.x\u002F4.api\u002F4.commands\u002F1.overview",{"title":761,"path":762,"stem":763,"titleTemplate":6},"nuxt add","\u002Fdocs\u002F3.x\u002Fapi\u002Fcommands\u002Fadd","docs\u002F3.x\u002F4.api\u002F4.commands\u002Fadd",{"title":765,"path":766,"stem":767,"titleTemplate":6},"nuxt add-template","\u002Fdocs\u002F3.x\u002Fapi\u002Fcommands\u002Fadd-template","docs\u002F3.x\u002F4.api\u002F4.commands\u002Fadd-template",{"title":769,"path":770,"stem":771,"titleTemplate":6},"nuxt analyze","\u002Fdocs\u002F3.x\u002Fapi\u002Fcommands\u002Fanalyze","docs\u002F3.x\u002F4.api\u002F4.commands\u002Fanalyze",{"title":773,"path":774,"stem":775,"titleTemplate":6},"nuxt build","\u002Fdocs\u002F3.x\u002Fapi\u002Fcommands\u002Fbuild","docs\u002F3.x\u002F4.api\u002F4.commands\u002Fbuild",{"title":777,"path":778,"stem":779,"titleTemplate":6},"nuxt build-module","\u002Fdocs\u002F3.x\u002Fapi\u002Fcommands\u002Fbuild-module","docs\u002F3.x\u002F4.api\u002F4.commands\u002Fbuild-module",{"title":781,"path":782,"stem":783,"titleTemplate":6},"nuxt cleanup","\u002Fdocs\u002F3.x\u002Fapi\u002Fcommands\u002Fcleanup","docs\u002F3.x\u002F4.api\u002F4.commands\u002Fcleanup",{"title":785,"path":786,"stem":787,"titleTemplate":6},"nuxt dev","\u002Fdocs\u002F3.x\u002Fapi\u002Fcommands\u002Fdev","docs\u002F3.x\u002F4.api\u002F4.commands\u002Fdev",{"title":789,"path":790,"stem":791,"titleTemplate":6},"nuxt devtools","\u002Fdocs\u002F3.x\u002Fapi\u002Fcommands\u002Fdevtools","docs\u002F3.x\u002F4.api\u002F4.commands\u002Fdevtools",{"title":793,"path":794,"stem":795,"titleTemplate":6},"nuxt generate","\u002Fdocs\u002F3.x\u002Fapi\u002Fcommands\u002Fgenerate","docs\u002F3.x\u002F4.api\u002F4.commands\u002Fgenerate",{"title":797,"path":798,"stem":799,"titleTemplate":6},"nuxt info","\u002Fdocs\u002F3.x\u002Fapi\u002Fcommands\u002Finfo","docs\u002F3.x\u002F4.api\u002F4.commands\u002Finfo",{"title":801,"path":802,"stem":803,"titleTemplate":6},"create nuxt","\u002Fdocs\u002F3.x\u002Fapi\u002Fcommands\u002Finit","docs\u002F3.x\u002F4.api\u002F4.commands\u002Finit",{"title":805,"path":806,"stem":807,"titleTemplate":6},"nuxt module","\u002Fdocs\u002F3.x\u002Fapi\u002Fcommands\u002Fmodule","docs\u002F3.x\u002F4.api\u002F4.commands\u002Fmodule",{"title":809,"path":810,"stem":811,"titleTemplate":6},"nuxt prepare","\u002Fdocs\u002F3.x\u002Fapi\u002Fcommands\u002Fprepare","docs\u002F3.x\u002F4.api\u002F4.commands\u002Fprepare",{"title":813,"path":814,"stem":815,"titleTemplate":6},"nuxt preview","\u002Fdocs\u002F3.x\u002Fapi\u002Fcommands\u002Fpreview","docs\u002F3.x\u002F4.api\u002F4.commands\u002Fpreview",{"title":817,"path":818,"stem":819,"titleTemplate":6},"nuxt test","\u002Fdocs\u002F3.x\u002Fapi\u002Fcommands\u002Ftest","docs\u002F3.x\u002F4.api\u002F4.commands\u002Ftest",{"title":821,"path":822,"stem":823,"titleTemplate":6},"nuxt typecheck","\u002Fdocs\u002F3.x\u002Fapi\u002Fcommands\u002Ftypecheck","docs\u002F3.x\u002F4.api\u002F4.commands\u002Ftypecheck",{"title":825,"path":826,"stem":827,"titleTemplate":6},"nuxt upgrade","\u002Fdocs\u002F3.x\u002Fapi\u002Fcommands\u002Fupgrade","docs\u002F3.x\u002F4.api\u002F4.commands\u002Fupgrade",{"title":415,"titleTemplate":829,"icon":830,"path":831,"stem":832,"children":833,"page":108},"%s · Nuxt Kit","i-lucide-package","\u002Fdocs\u002F3.x\u002Fapi\u002Fkit","docs\u002F3.x\u002F4.api\u002F5.kit",[834,837,840,844,848,852,856,860,864,867,871,875,878,881,885,889,893,897],{"title":276,"path":835,"stem":836,"titleTemplate":6},"\u002Fdocs\u002F3.x\u002Fapi\u002Fkit\u002Fmodules","docs\u002F3.x\u002F4.api\u002F5.kit\u002F1.modules",{"title":403,"path":838,"stem":839,"titleTemplate":6},"\u002Fdocs\u002F3.x\u002Fapi\u002Fkit\u002Fruntime-config","docs\u002F3.x\u002F4.api\u002F5.kit\u002F10.runtime-config",{"title":841,"path":842,"stem":843,"titleTemplate":6},"Templates","\u002Fdocs\u002F3.x\u002Fapi\u002Fkit\u002Ftemplates","docs\u002F3.x\u002F4.api\u002F5.kit\u002F10.templates",{"title":845,"path":846,"stem":847,"titleTemplate":6},"Nitro","\u002Fdocs\u002F3.x\u002Fapi\u002Fkit\u002Fnitro","docs\u002F3.x\u002F4.api\u002F5.kit\u002F11.nitro",{"title":849,"path":850,"stem":851,"titleTemplate":6},"Resolving","\u002Fdocs\u002F3.x\u002Fapi\u002Fkit\u002Fresolving","docs\u002F3.x\u002F4.api\u002F5.kit\u002F12.resolving",{"title":853,"path":854,"stem":855,"titleTemplate":6},"Logging","\u002Fdocs\u002F3.x\u002Fapi\u002Fkit\u002Flogging","docs\u002F3.x\u002F4.api\u002F5.kit\u002F13.logging",{"title":857,"path":858,"stem":859,"titleTemplate":6},"Builder","\u002Fdocs\u002F3.x\u002Fapi\u002Fkit\u002Fbuilder","docs\u002F3.x\u002F4.api\u002F5.kit\u002F14.builder",{"title":861,"path":862,"stem":863,"titleTemplate":6},"Examples","\u002Fdocs\u002F3.x\u002Fapi\u002Fkit\u002Fexamples","docs\u002F3.x\u002F4.api\u002F5.kit\u002F15.examples",{"title":84,"path":865,"stem":866,"titleTemplate":6},"\u002Fdocs\u002F3.x\u002Fapi\u002Fkit\u002Flayers","docs\u002F3.x\u002F4.api\u002F5.kit\u002F16.layers",{"title":868,"path":869,"stem":870,"titleTemplate":6},"Programmatic Usage","\u002Fdocs\u002F3.x\u002Fapi\u002Fkit\u002Fprogrammatic","docs\u002F3.x\u002F4.api\u002F5.kit\u002F2.programmatic",{"title":872,"path":873,"stem":874,"titleTemplate":6},"Compatibility","\u002Fdocs\u002F3.x\u002Fapi\u002Fkit\u002Fcompatibility","docs\u002F3.x\u002F4.api\u002F5.kit\u002F3.compatibility",{"title":268,"path":876,"stem":877,"titleTemplate":6},"\u002Fdocs\u002F3.x\u002Fapi\u002Fkit\u002Fautoimports","docs\u002F3.x\u002F4.api\u002F5.kit\u002F4.autoimports",{"title":438,"path":879,"stem":880,"titleTemplate":6},"\u002Fdocs\u002F3.x\u002Fapi\u002Fkit\u002Fcomponents","docs\u002F3.x\u002F4.api\u002F5.kit\u002F5.components",{"title":882,"path":883,"stem":884,"titleTemplate":6},"Context","\u002Fdocs\u002F3.x\u002Fapi\u002Fkit\u002Fcontext","docs\u002F3.x\u002F4.api\u002F5.kit\u002F6.context",{"title":886,"path":887,"stem":888,"titleTemplate":6},"Pages","\u002Fdocs\u002F3.x\u002Fapi\u002Fkit\u002Fpages","docs\u002F3.x\u002F4.api\u002F5.kit\u002F7.pages",{"title":890,"path":891,"stem":892,"titleTemplate":6},"Layout","\u002Fdocs\u002F3.x\u002Fapi\u002Fkit\u002Flayout","docs\u002F3.x\u002F4.api\u002F5.kit\u002F8.layout",{"title":894,"path":895,"stem":896,"titleTemplate":6},"Head","\u002Fdocs\u002F3.x\u002Fapi\u002Fkit\u002Fhead","docs\u002F3.x\u002F4.api\u002F5.kit\u002F9.head",{"title":898,"path":899,"stem":900,"titleTemplate":6},"Plugins","\u002Fdocs\u002F3.x\u002Fapi\u002Fkit\u002Fplugins","docs\u002F3.x\u002F4.api\u002F5.kit\u002F9.plugins",{"title":902,"titleTemplate":6,"icon":903,"path":904,"stem":905,"children":906,"page":108},"Advanced","i-lucide-brain","\u002Fdocs\u002F3.x\u002Fapi\u002Fadvanced","docs\u002F3.x\u002F4.api\u002F6.advanced",[907,910],{"title":411,"path":908,"stem":909,"titleTemplate":6},"\u002Fdocs\u002F3.x\u002Fapi\u002Fadvanced\u002Fhooks","docs\u002F3.x\u002F4.api\u002F6.advanced\u002F1.hooks",{"title":911,"path":912,"stem":913,"titleTemplate":6},"Import meta","\u002Fdocs\u002F3.x\u002Fapi\u002Fadvanced\u002Fimport-meta","docs\u002F3.x\u002F4.api\u002F6.advanced\u002F2.import-meta",{"title":915,"path":916,"stem":917,"titleTemplate":918,"icon":32},"Nuxt Configuration","\u002Fdocs\u002F3.x\u002Fapi\u002Fnuxt-config","docs\u002F3.x\u002F4.api\u002F6.nuxt-config","%s",{"title":861,"titleTemplate":920,"icon":921,"path":922,"stem":923,"children":924,"page":108},"%s · Nuxt Examples","i-lucide-app-window-mac","\u002Fdocs\u002F3.x\u002Fexamples","docs\u002F3.x\u002F4.examples",[925,929,951,966,1002],{"title":926,"path":927,"stem":928,"titleTemplate":6},"Hello World","\u002Fdocs\u002F3.x\u002Fexamples\u002Fhello-world","docs\u002F3.x\u002F4.examples\u002F0.hello-world",{"title":399,"path":930,"stem":931,"children":932,"page":108},"\u002Fdocs\u002F3.x\u002Fexamples\u002Ffeatures","docs\u002F3.x\u002F4.examples\u002F1.features",[933,937,940,943,947],{"title":934,"path":935,"stem":936,"titleTemplate":6},"Auto Imports","\u002Fdocs\u002F3.x\u002Fexamples\u002Ffeatures\u002Fauto-imports","docs\u002F3.x\u002F4.examples\u002F1.features\u002F1.auto-imports",{"title":64,"path":938,"stem":939,"titleTemplate":6},"\u002Fdocs\u002F3.x\u002Fexamples\u002Ffeatures\u002Fdata-fetching","docs\u002F3.x\u002F4.examples\u002F1.features\u002F2.data-fetching",{"title":69,"path":941,"stem":942,"titleTemplate":6},"\u002Fdocs\u002F3.x\u002Fexamples\u002Ffeatures\u002Fstate-management","docs\u002F3.x\u002F4.examples\u002F1.features\u002F3.state-management",{"title":944,"path":945,"stem":946,"titleTemplate":6},"Meta Tags","\u002Fdocs\u002F3.x\u002Fexamples\u002Ffeatures\u002Fmeta-tags","docs\u002F3.x\u002F4.examples\u002F1.features\u002F4.meta-tags",{"title":948,"path":949,"stem":950,"titleTemplate":6},"Layouts","\u002Fdocs\u002F3.x\u002Fexamples\u002Ffeatures\u002Flayouts","docs\u002F3.x\u002F4.examples\u002F1.features\u002F5.layouts",{"title":49,"path":952,"stem":953,"children":954,"page":108},"\u002Fdocs\u002F3.x\u002Fexamples\u002Frouting","docs\u002F3.x\u002F4.examples\u002F2.routing",[955,959,962],{"title":956,"path":957,"stem":958,"titleTemplate":6},"Middleware","\u002Fdocs\u002F3.x\u002Fexamples\u002Frouting\u002Fmiddleware","docs\u002F3.x\u002F4.examples\u002F2.routing\u002Fmiddleware",{"title":886,"path":960,"stem":961,"titleTemplate":6},"\u002Fdocs\u002F3.x\u002Fexamples\u002Frouting\u002Fpages","docs\u002F3.x\u002F4.examples\u002F2.routing\u002Fpages",{"title":963,"path":964,"stem":965,"titleTemplate":6},"Universal Router","\u002Fdocs\u002F3.x\u002Fexamples\u002Frouting\u002Funiversal-router","docs\u002F3.x\u002F4.examples\u002F2.routing\u002Funiversal-router",{"title":902,"path":967,"stem":968,"children":969,"page":108},"\u002Fdocs\u002F3.x\u002Fexamples\u002Fadvanced","docs\u002F3.x\u002F4.examples\u002F4.advanced",[970,973,976,980,984,988,992,995,998],{"title":84,"path":971,"stem":972,"titleTemplate":6},"\u002Fdocs\u002F3.x\u002Fexamples\u002Fadvanced\u002Fconfig-extends","docs\u002F3.x\u002F4.examples\u002F4.advanced\u002Fconfig-extends",{"title":74,"path":974,"stem":975,"titleTemplate":6},"\u002Fdocs\u002F3.x\u002Fexamples\u002Fadvanced\u002Ferror-handling","docs\u002F3.x\u002F4.examples\u002F4.advanced\u002Ferror-handling",{"title":977,"path":978,"stem":979,"titleTemplate":6},"JSX \u002F TSX","\u002Fdocs\u002F3.x\u002Fexamples\u002Fadvanced\u002Fjsx","docs\u002F3.x\u002F4.examples\u002F4.advanced\u002Fjsx",{"title":981,"path":982,"stem":983,"titleTemplate":6},"Locale","\u002Fdocs\u002F3.x\u002Fexamples\u002Fadvanced\u002Flocale","docs\u002F3.x\u002F4.examples\u002F4.advanced\u002Flocale",{"title":985,"path":986,"stem":987,"titleTemplate":6},"Module Extend Pages","\u002Fdocs\u002F3.x\u002Fexamples\u002Fadvanced\u002Fmodule-extend-pages","docs\u002F3.x\u002F4.examples\u002F4.advanced\u002Fmodule-extend-pages",{"title":989,"path":990,"stem":991,"titleTemplate":6},"Teleport","\u002Fdocs\u002F3.x\u002Fexamples\u002Fadvanced\u002Fteleport","docs\u002F3.x\u002F4.examples\u002F4.advanced\u002Fteleport",{"title":99,"path":993,"stem":994,"titleTemplate":6},"\u002Fdocs\u002F3.x\u002Fexamples\u002Fadvanced\u002Ftesting","docs\u002F3.x\u002F4.examples\u002F4.advanced\u002Ftesting",{"title":523,"path":996,"stem":997,"titleTemplate":6},"\u002Fdocs\u002F3.x\u002Fexamples\u002Fadvanced\u002Fuse-cookie","docs\u002F3.x\u002F4.examples\u002F4.advanced\u002Fuse-cookie",{"title":999,"path":1000,"stem":1001,"titleTemplate":6},"Use Custom Fetch Composable","\u002Fdocs\u002F3.x\u002Fexamples\u002Fadvanced\u002Fuse-custom-fetch-composable","docs\u002F3.x\u002F4.examples\u002F4.advanced\u002Fuse-custom-fetch-composable",{"title":1003,"path":1004,"stem":1005,"children":1006,"page":108},"Experimental","\u002Fdocs\u002F3.x\u002Fexamples\u002Fexperimental","docs\u002F3.x\u002F4.examples\u002F7.experimental",[1007],{"title":1008,"path":1009,"stem":1010,"titleTemplate":6},"WASM","\u002Fdocs\u002F3.x\u002Fexamples\u002Fexperimental\u002Fwasm","docs\u002F3.x\u002F4.examples\u002F7.experimental\u002Fwasm",{"title":1012,"titleTemplate":1013,"icon":1014,"path":1015,"stem":1016,"children":1017,"page":108},"Community","%s · Nuxt Community","i-lucide-messages-square","\u002Fdocs\u002F3.x\u002Fcommunity","docs\u002F3.x\u002F5.community",[1018,1023,1028,1033,1038,1043],{"title":1019,"path":1020,"stem":1021,"titleTemplate":6,"icon":1022},"Getting Help","\u002Fdocs\u002F3.x\u002Fcommunity\u002Fgetting-help","docs\u002F3.x\u002F5.community\u002F2.getting-help","i-lucide-life-buoy",{"title":1024,"path":1025,"stem":1026,"titleTemplate":6,"icon":1027},"Reporting Bugs","\u002Fdocs\u002F3.x\u002Fcommunity\u002Freporting-bugs","docs\u002F3.x\u002F5.community\u002F3.reporting-bugs","i-lucide-bug",{"title":1029,"path":1030,"stem":1031,"titleTemplate":6,"icon":1032},"Contribution","\u002Fdocs\u002F3.x\u002Fcommunity\u002Fcontribution","docs\u002F3.x\u002F5.community\u002F4.contribution","i-lucide-git-pull-request",{"title":1034,"path":1035,"stem":1036,"titleTemplate":6,"icon":1037},"Framework","\u002Fdocs\u002F3.x\u002Fcommunity\u002Fframework-contribution","docs\u002F3.x\u002F5.community\u002F5.framework-contribution","i-lucide-github",{"title":1039,"path":1040,"stem":1041,"titleTemplate":6,"icon":1042},"Roadmap","\u002Fdocs\u002F3.x\u002Fcommunity\u002Froadmap","docs\u002F3.x\u002F5.community\u002F6.roadmap","i-lucide-map",{"title":1044,"path":1045,"stem":1046,"titleTemplate":6,"icon":1047},"Releases","\u002Fdocs\u002F3.x\u002Fcommunity\u002Fchangelog","docs\u002F3.x\u002F5.community\u002F7.changelog","i-lucide-bell-dot",{"title":1049,"titleTemplate":1050,"icon":1051,"path":1052,"stem":1053,"children":1054,"page":108},"Migrate to Nuxt Bridge","Migrate to Nuxt Bridge: %s","i-lucide-ship","\u002Fdocs\u002F3.x\u002Fbridge","docs\u002F3.x\u002F6.bridge",[1055,1059,1062,1065,1069,1073,1077,1080,1083,1086],{"title":1056,"path":1057,"stem":1058,"titleTemplate":6},"Overview","\u002Fdocs\u002F3.x\u002Fbridge\u002Foverview","docs\u002F3.x\u002F6.bridge\u002F1.overview",{"title":29,"path":1060,"stem":1061,"titleTemplate":6},"\u002Fdocs\u002F3.x\u002Fbridge\u002Fconfiguration","docs\u002F3.x\u002F6.bridge\u002F10.configuration",{"title":280,"path":1063,"stem":1064,"titleTemplate":6},"\u002Fdocs\u002F3.x\u002Fbridge\u002Ftypescript","docs\u002F3.x\u002F6.bridge\u002F2.typescript",{"title":1066,"path":1067,"stem":1068,"titleTemplate":6},"Legacy Composition API","\u002Fdocs\u002F3.x\u002Fbridge\u002Fbridge-composition-api","docs\u002F3.x\u002F6.bridge\u002F3.bridge-composition-api",{"title":1070,"path":1071,"stem":1072,"titleTemplate":6},"Plugins and Middleware","\u002Fdocs\u002F3.x\u002Fbridge\u002Fplugins-and-middleware","docs\u002F3.x\u002F6.bridge\u002F4.plugins-and-middleware",{"title":1074,"path":1075,"stem":1076,"titleTemplate":6},"New Composition API","\u002Fdocs\u002F3.x\u002Fbridge\u002Fnuxt3-compatible-api","docs\u002F3.x\u002F6.bridge\u002F5.nuxt3-compatible-api",{"title":944,"path":1078,"stem":1079,"titleTemplate":6},"\u002Fdocs\u002F3.x\u002Fbridge\u002Fmeta","docs\u002F3.x\u002F6.bridge\u002F6.meta",{"title":403,"path":1081,"stem":1082,"titleTemplate":6},"\u002Fdocs\u002F3.x\u002Fbridge\u002Fruntime-config","docs\u002F3.x\u002F6.bridge\u002F7.runtime-config",{"title":845,"path":1084,"stem":1085,"titleTemplate":6},"\u002Fdocs\u002F3.x\u002Fbridge\u002Fnitro","docs\u002F3.x\u002F6.bridge\u002F8.nitro",{"title":1087,"path":1088,"stem":1089,"titleTemplate":6},"Vite","\u002Fdocs\u002F3.x\u002Fbridge\u002Fvite","docs\u002F3.x\u002F6.bridge\u002F9.vite",{"title":1091,"titleTemplate":1092,"icon":107,"path":1093,"stem":1094,"children":1095,"page":108},"Migrate to Nuxt 3","Migrate to Nuxt 3: %s","\u002Fdocs\u002F3.x\u002Fmigration","docs\u002F3.x\u002F7.migration",[1096,1099,1103,1106,1109,1112,1115,1118,1121,1125,1129],{"title":1056,"path":1097,"stem":1098,"titleTemplate":6},"\u002Fdocs\u002F3.x\u002Fmigration\u002Foverview","docs\u002F3.x\u002F7.migration\u002F1.overview",{"title":1100,"path":1101,"stem":1102,"titleTemplate":6},"Build Tooling","\u002Fdocs\u002F3.x\u002Fmigration\u002Fbundling","docs\u002F3.x\u002F7.migration\u002F10.bundling",{"title":79,"path":1104,"stem":1105,"titleTemplate":6},"\u002Fdocs\u002F3.x\u002Fmigration\u002Fserver","docs\u002F3.x\u002F7.migration\u002F11.server",{"title":29,"path":1107,"stem":1108,"titleTemplate":6},"\u002Fdocs\u002F3.x\u002Fmigration\u002Fconfiguration","docs\u002F3.x\u002F7.migration\u002F2.configuration",{"title":276,"path":1110,"stem":1111,"titleTemplate":6},"\u002Fdocs\u002F3.x\u002Fmigration\u002Fmodule-authors","docs\u002F3.x\u002F7.migration\u002F20.module-authors",{"title":934,"path":1113,"stem":1114,"titleTemplate":6},"\u002Fdocs\u002F3.x\u002Fmigration\u002Fauto-imports","docs\u002F3.x\u002F7.migration\u002F3.auto-imports",{"title":944,"path":1116,"stem":1117,"titleTemplate":6},"\u002Fdocs\u002F3.x\u002Fmigration\u002Fmeta","docs\u002F3.x\u002F7.migration\u002F4.meta",{"title":1070,"path":1119,"stem":1120,"titleTemplate":6},"\u002Fdocs\u002F3.x\u002Fmigration\u002Fplugins-and-middleware","docs\u002F3.x\u002F7.migration\u002F5.plugins-and-middleware",{"title":1122,"path":1123,"stem":1124,"titleTemplate":6},"Pages and Layouts","\u002Fdocs\u002F3.x\u002Fmigration\u002Fpages-and-layouts","docs\u002F3.x\u002F7.migration\u002F6.pages-and-layouts",{"title":1126,"path":1127,"stem":1128,"titleTemplate":6},"Component Options","\u002Fdocs\u002F3.x\u002Fmigration\u002Fcomponent-options","docs\u002F3.x\u002F7.migration\u002F7.component-options",{"title":403,"path":1130,"stem":1131,"titleTemplate":6},"\u002Fdocs\u002F3.x\u002Fmigration\u002Fruntime-config","docs\u002F3.x\u002F7.migration\u002F8.runtime-config",{"title":5,"titleTemplate":6,"icon":7,"path":1133,"stem":1134,"children":1135,"page":108},"\u002Fdocs\u002F4.x","docs\u002F4.x",[1136,1194,1293,1444,1832,1909,1931,1965],{"title":12,"titleTemplate":13,"icon":14,"path":1137,"stem":1138,"children":1139,"page":108},"\u002Fdocs\u002F4.x\u002Fgetting-started","docs\u002F4.x\u002F1.getting-started",[1140,1143,1146,1149,1152,1155,1158,1161,1164,1167,1170,1173,1176,1179,1182,1185,1188,1191],{"title":19,"path":1141,"stem":1142,"titleTemplate":6,"icon":22},"\u002Fdocs\u002F4.x\u002Fgetting-started\u002Fintroduction","docs\u002F4.x\u002F1.getting-started\u002F01.introduction",{"title":24,"path":1144,"stem":1145,"titleTemplate":6,"icon":27},"\u002Fdocs\u002F4.x\u002Fgetting-started\u002Finstallation","docs\u002F4.x\u002F1.getting-started\u002F02.installation",{"title":29,"path":1147,"stem":1148,"titleTemplate":6,"icon":32},"\u002Fdocs\u002F4.x\u002Fgetting-started\u002Fconfiguration","docs\u002F4.x\u002F1.getting-started\u002F03.configuration",{"title":34,"path":1150,"stem":1151,"titleTemplate":6,"icon":37},"\u002Fdocs\u002F4.x\u002Fgetting-started\u002Fviews","docs\u002F4.x\u002F1.getting-started\u002F04.views",{"title":39,"path":1153,"stem":1154,"titleTemplate":6,"icon":42},"\u002Fdocs\u002F4.x\u002Fgetting-started\u002Fassets","docs\u002F4.x\u002F1.getting-started\u002F05.assets",{"title":44,"path":1156,"stem":1157,"titleTemplate":6,"icon":47},"\u002Fdocs\u002F4.x\u002Fgetting-started\u002Fstyling","docs\u002F4.x\u002F1.getting-started\u002F06.styling",{"title":49,"path":1159,"stem":1160,"titleTemplate":6,"icon":52},"\u002Fdocs\u002F4.x\u002Fgetting-started\u002Frouting","docs\u002F4.x\u002F1.getting-started\u002F07.routing",{"title":54,"path":1162,"stem":1163,"titleTemplate":6,"icon":57},"\u002Fdocs\u002F4.x\u002Fgetting-started\u002Fseo-meta","docs\u002F4.x\u002F1.getting-started\u002F08.seo-meta",{"title":59,"path":1165,"stem":1166,"titleTemplate":6,"icon":62},"\u002Fdocs\u002F4.x\u002Fgetting-started\u002Ftransitions","docs\u002F4.x\u002F1.getting-started\u002F09.transitions",{"title":64,"path":1168,"stem":1169,"titleTemplate":6,"icon":67},"\u002Fdocs\u002F4.x\u002Fgetting-started\u002Fdata-fetching","docs\u002F4.x\u002F1.getting-started\u002F10.data-fetching",{"title":69,"path":1171,"stem":1172,"titleTemplate":6,"icon":72},"\u002Fdocs\u002F4.x\u002Fgetting-started\u002Fstate-management","docs\u002F4.x\u002F1.getting-started\u002F11.state-management",{"title":74,"path":1174,"stem":1175,"titleTemplate":6,"icon":77},"\u002Fdocs\u002F4.x\u002Fgetting-started\u002Ferror-handling","docs\u002F4.x\u002F1.getting-started\u002F12.error-handling",{"title":79,"path":1177,"stem":1178,"titleTemplate":6,"icon":82},"\u002Fdocs\u002F4.x\u002Fgetting-started\u002Fserver","docs\u002F4.x\u002F1.getting-started\u002F13.server",{"title":84,"path":1180,"stem":1181,"titleTemplate":6,"icon":87},"\u002Fdocs\u002F4.x\u002Fgetting-started\u002Flayers","docs\u002F4.x\u002F1.getting-started\u002F14.layers",{"title":89,"path":1183,"stem":1184,"titleTemplate":6,"icon":92},"\u002Fdocs\u002F4.x\u002Fgetting-started\u002Fprerendering","docs\u002F4.x\u002F1.getting-started\u002F15.prerendering",{"title":94,"path":1186,"stem":1187,"titleTemplate":6,"icon":97},"\u002Fdocs\u002F4.x\u002Fgetting-started\u002Fdeployment","docs\u002F4.x\u002F1.getting-started\u002F16.deployment",{"title":99,"path":1189,"stem":1190,"titleTemplate":6,"icon":102},"\u002Fdocs\u002F4.x\u002Fgetting-started\u002Ftesting","docs\u002F4.x\u002F1.getting-started\u002F17.testing",{"title":104,"path":1192,"stem":1193,"titleTemplate":6,"icon":107},"\u002Fdocs\u002F4.x\u002Fgetting-started\u002Fupgrade","docs\u002F4.x\u002F1.getting-started\u002F18.upgrade",{"title":110,"titleTemplate":111,"icon":112,"path":1195,"stem":1196,"children":1197,"page":108},"\u002Fdocs\u002F4.x\u002Fdirectory-structure","docs\u002F4.x\u002F2.directory-structure",[1198,1201,1204,1246,1249,1252,1255,1258,1261,1264,1267,1272,1275,1278,1281,1284,1287,1290],{"title":117,"path":1199,"stem":1200,"titleTemplate":6,"icon":120},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Fnuxt","docs\u002F4.x\u002F2.directory-structure\u002F0.nuxt",{"title":122,"path":1202,"stem":1203,"titleTemplate":6,"icon":125},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Foutput","docs\u002F4.x\u002F2.directory-structure\u002F0.output",{"title":1205,"titleTemplate":111,"head":1206,"defaultOpen":1208,"icon":1209,"path":1210,"stem":1211,"children":1212,"page":108},"app",{"title":1207},"app\u002F",true,"i-vscode-icons-folder-type-app","\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Fapp","docs\u002F4.x\u002F2.directory-structure\u002F1.app",[1213,1216,1219,1222,1225,1228,1231,1234,1237,1240,1243],{"title":127,"path":1214,"stem":1215,"titleTemplate":6,"icon":130},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Fapp\u002Fassets","docs\u002F4.x\u002F2.directory-structure\u002F1.app\u002F1.assets",{"title":132,"path":1217,"stem":1218,"titleTemplate":6,"icon":135},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Fapp\u002Fcomponents","docs\u002F4.x\u002F2.directory-structure\u002F1.app\u002F1.components",{"title":137,"path":1220,"stem":1221,"titleTemplate":6,"icon":140},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Fapp\u002Fcomposables","docs\u002F4.x\u002F2.directory-structure\u002F1.app\u002F1.composables",{"title":152,"path":1223,"stem":1224,"titleTemplate":6,"icon":155},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Fapp\u002Flayouts","docs\u002F4.x\u002F2.directory-structure\u002F1.app\u002F1.layouts",{"title":157,"path":1226,"stem":1227,"titleTemplate":6,"icon":160},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Fapp\u002Fmiddleware","docs\u002F4.x\u002F2.directory-structure\u002F1.app\u002F1.middleware",{"title":171,"path":1229,"stem":1230,"titleTemplate":6,"icon":155},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Fapp\u002Fpages","docs\u002F4.x\u002F2.directory-structure\u002F1.app\u002F1.pages",{"title":175,"path":1232,"stem":1233,"titleTemplate":6,"icon":178},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Fapp\u002Fplugins","docs\u002F4.x\u002F2.directory-structure\u002F1.app\u002F1.plugins",{"title":195,"path":1235,"stem":1236,"titleTemplate":6,"icon":198},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Fapp\u002Futils","docs\u002F4.x\u002F2.directory-structure\u002F1.app\u002F1.utils",{"title":219,"path":1238,"stem":1239,"titleTemplate":6,"icon":222},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Fapp\u002Fapp","docs\u002F4.x\u002F2.directory-structure\u002F1.app\u002F3.app",{"title":224,"path":1241,"stem":1242,"titleTemplate":6,"icon":227},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Fapp\u002Fapp-config","docs\u002F4.x\u002F2.directory-structure\u002F1.app\u002F3.app-config",{"title":229,"path":1244,"stem":1245,"titleTemplate":6,"icon":222},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Fapp\u002Ferror","docs\u002F4.x\u002F2.directory-structure\u002F1.app\u002F3.error",{"title":142,"path":1247,"stem":1248,"titleTemplate":6,"icon":145},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Fcontent","docs\u002F4.x\u002F2.directory-structure\u002F1.content",{"title":147,"path":1250,"stem":1251,"titleTemplate":6,"icon":150},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Flayers","docs\u002F4.x\u002F2.directory-structure\u002F1.layers",{"title":162,"path":1253,"stem":1254,"titleTemplate":6,"icon":150},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Fmodules","docs\u002F4.x\u002F2.directory-structure\u002F1.modules",{"title":166,"path":1256,"stem":1257,"titleTemplate":6,"icon":169},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Fnode_modules","docs\u002F4.x\u002F2.directory-structure\u002F1.node_modules",{"title":180,"path":1259,"stem":1260,"titleTemplate":6,"icon":183},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Fpublic","docs\u002F4.x\u002F2.directory-structure\u002F1.public",{"title":185,"path":1262,"stem":1263,"titleTemplate":6,"icon":188},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Fserver","docs\u002F4.x\u002F2.directory-structure\u002F1.server",{"title":190,"path":1265,"stem":1266,"titleTemplate":6,"icon":193},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Fshared","docs\u002F4.x\u002F2.directory-structure\u002F1.shared",{"title":1268,"path":1269,"stem":1270,"titleTemplate":6,"icon":1271},"test","\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Ftest","docs\u002F4.x\u002F2.directory-structure\u002F1.test","i-vscode-icons-folder-type-test",{"title":200,"path":1273,"stem":1274,"titleTemplate":6,"icon":203},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Fenv","docs\u002F4.x\u002F2.directory-structure\u002F2.env",{"title":205,"path":1276,"stem":1277,"titleTemplate":6,"icon":208},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Fgitignore","docs\u002F4.x\u002F2.directory-structure\u002F2.gitignore",{"title":210,"path":1279,"stem":1280,"titleTemplate":6,"icon":213},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Fnuxtignore","docs\u002F4.x\u002F2.directory-structure\u002F2.nuxtignore",{"title":215,"path":1282,"stem":1283,"titleTemplate":6,"icon":213},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Fnuxtrc","docs\u002F4.x\u002F2.directory-structure\u002F2.nuxtrc",{"title":233,"path":1285,"stem":1286,"titleTemplate":6,"icon":213},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Fnuxt-config","docs\u002F4.x\u002F2.directory-structure\u002F3.nuxt-config",{"title":237,"path":1288,"stem":1289,"titleTemplate":6,"icon":240},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Fpackage","docs\u002F4.x\u002F2.directory-structure\u002F3.package",{"title":242,"path":1291,"stem":1292,"titleTemplate":6,"icon":245},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Ftsconfig","docs\u002F4.x\u002F2.directory-structure\u002F3.tsconfig",{"title":247,"titleTemplate":6,"icon":248,"path":1294,"stem":1295,"children":1296,"page":108},"\u002Fdocs\u002F4.x\u002Fguide","docs\u002F4.x\u002F3.guide",[1297,1326,1348,1358,1386,1406],{"title":253,"titleTemplate":254,"icon":255,"path":1298,"stem":1299,"children":1300,"page":108},"\u002Fdocs\u002F4.x\u002Fguide\u002Fconcepts","docs\u002F4.x\u002F3.guide\u002F1.concepts",[1301,1304,1307,1310,1313,1316,1320,1323],{"title":260,"path":1302,"stem":1303,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Fconcepts\u002Frendering","docs\u002F4.x\u002F3.guide\u002F1.concepts\u002F1.rendering",{"title":264,"path":1305,"stem":1306,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Fconcepts\u002Fnuxt-lifecycle","docs\u002F4.x\u002F3.guide\u002F1.concepts\u002F2.nuxt-lifecycle",{"title":268,"path":1308,"stem":1309,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Fconcepts\u002Fauto-imports","docs\u002F4.x\u002F3.guide\u002F1.concepts\u002F3.auto-imports",{"title":272,"path":1311,"stem":1312,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Fconcepts\u002Fserver-engine","docs\u002F4.x\u002F3.guide\u002F1.concepts\u002F4.server-engine",{"title":276,"path":1314,"stem":1315,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Fconcepts\u002Fmodules","docs\u002F4.x\u002F3.guide\u002F1.concepts\u002F5.modules",{"title":1317,"path":1318,"stem":1319,"titleTemplate":6},"Server Components","\u002Fdocs\u002F4.x\u002Fguide\u002Fconcepts\u002Fserver-components","docs\u002F4.x\u002F3.guide\u002F1.concepts\u002F6.server-components",{"title":280,"path":1321,"stem":1322,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Fconcepts\u002Ftypescript","docs\u002F4.x\u002F3.guide\u002F1.concepts\u002F8.typescript",{"title":284,"path":1324,"stem":1325,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Fconcepts\u002Fcode-style","docs\u002F4.x\u002F3.guide\u002F1.concepts\u002F9.code-style",{"title":288,"titleTemplate":289,"icon":290,"path":1327,"stem":1328,"children":1329,"page":108},"\u002Fdocs\u002F4.x\u002Fguide\u002Fbest-practices","docs\u002F4.x\u002F3.guide\u002F2.best-practices",[1330,1334,1338,1342,1345],{"title":1331,"path":1332,"stem":1333,"titleTemplate":6},"Accessibility","\u002Fdocs\u002F4.x\u002Fguide\u002Fbest-practices\u002Faccessibility","docs\u002F4.x\u002F3.guide\u002F2.best-practices\u002Faccessibility",{"title":1335,"path":1336,"stem":1337,"titleTemplate":6},"Dev Containers","\u002Fdocs\u002F4.x\u002Fguide\u002Fbest-practices\u002Fdevcontainers","docs\u002F4.x\u002F3.guide\u002F2.best-practices\u002Fdevcontainers",{"title":1339,"path":1340,"stem":1341,"titleTemplate":6},"Nuxt and Hydration","\u002Fdocs\u002F4.x\u002Fguide\u002Fbest-practices\u002Fhydration","docs\u002F4.x\u002F3.guide\u002F2.best-practices\u002Fhydration",{"title":299,"path":1343,"stem":1344,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Fbest-practices\u002Fperformance","docs\u002F4.x\u002F3.guide\u002F2.best-practices\u002Fperformance",{"title":303,"path":1346,"stem":1347,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Fbest-practices\u002Fplugins","docs\u002F4.x\u002F3.guide\u002F2.best-practices\u002Fplugins",{"title":307,"titleTemplate":308,"icon":309,"path":1349,"stem":1350,"children":1351,"page":108},"\u002Fdocs\u002F4.x\u002Fguide\u002Fai","docs\u002F4.x\u002F3.guide\u002F3.ai",[1352,1355],{"title":314,"path":1353,"stem":1354,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Fai\u002Fmcp","docs\u002F4.x\u002F3.guide\u002F3.ai\u002F1.mcp",{"title":318,"path":1356,"stem":1357,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Fai\u002Fllms-txt","docs\u002F4.x\u002F3.guide\u002F3.ai\u002F2.llms-txt",{"title":322,"titleTemplate":323,"icon":324,"path":1359,"stem":1360,"children":1361,"page":108},"\u002Fdocs\u002F4.x\u002Fguide\u002Fmodules","docs\u002F4.x\u002F3.guide\u002F4.modules",[1362,1365,1368,1371,1374,1377,1380,1383],{"title":329,"path":1363,"stem":1364,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Fmodules\u002Fgetting-started","docs\u002F4.x\u002F3.guide\u002F4.modules\u002F1.getting-started",{"title":333,"path":1366,"stem":1367,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Fmodules\u002Fmodule-anatomy","docs\u002F4.x\u002F3.guide\u002F4.modules\u002F2.module-anatomy",{"title":337,"path":1369,"stem":1370,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Fmodules\u002Frecipes-basics","docs\u002F4.x\u002F3.guide\u002F4.modules\u002F3.recipes-basics",{"title":341,"path":1372,"stem":1373,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Fmodules\u002Fmodule-dependencies","docs\u002F4.x\u002F3.guide\u002F4.modules\u002F4.module-dependencies",{"title":345,"path":1375,"stem":1376,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Fmodules\u002Frecipes-advanced","docs\u002F4.x\u002F3.guide\u002F4.modules\u002F5.recipes-advanced",{"title":349,"path":1378,"stem":1379,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Fmodules\u002Ftesting","docs\u002F4.x\u002F3.guide\u002F4.modules\u002F6.testing",{"title":353,"path":1381,"stem":1382,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Fmodules\u002Fbest-practices","docs\u002F4.x\u002F3.guide\u002F4.modules\u002F7.best-practices",{"title":357,"path":1384,"stem":1385,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Fmodules\u002Fecosystem","docs\u002F4.x\u002F3.guide\u002F4.modules\u002F8.ecosystem",{"title":361,"titleTemplate":362,"icon":363,"path":1387,"stem":1388,"children":1389,"page":108},"\u002Fdocs\u002F4.x\u002Fguide\u002Frecipes","docs\u002F4.x\u002F3.guide\u002F5.recipes",[1390,1393,1396,1399,1402],{"title":368,"path":1391,"stem":1392,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Frecipes\u002Fcustom-routing","docs\u002F4.x\u002F3.guide\u002F5.recipes\u002F1.custom-routing",{"title":372,"path":1394,"stem":1395,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Frecipes\u002Fvite-plugin","docs\u002F4.x\u002F3.guide\u002F5.recipes\u002F2.vite-plugin",{"title":376,"path":1397,"stem":1398,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Frecipes\u002Fcustom-usefetch","docs\u002F4.x\u002F3.guide\u002F5.recipes\u002F3.custom-usefetch",{"title":380,"path":1400,"stem":1401,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Frecipes\u002Fsessions-and-authentication","docs\u002F4.x\u002F3.guide\u002F5.recipes\u002F4.sessions-and-authentication",{"title":1403,"path":1404,"stem":1405,"titleTemplate":6},"Mostly-Static Sites","\u002Fdocs\u002F4.x\u002Fguide\u002Frecipes\u002Fmostly-static-sites","docs\u002F4.x\u002F3.guide\u002F5.recipes\u002F5.mostly-static-sites",{"title":384,"titleTemplate":385,"icon":386,"path":1407,"stem":1408,"children":1409,"page":108},"\u002Fdocs\u002F4.x\u002Fguide\u002Fgoing-further","docs\u002F4.x\u002F3.guide\u002F6.going-further",[1410,1413,1416,1419,1422,1425,1428,1431,1434,1437,1441],{"title":391,"path":1411,"stem":1412,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Fgoing-further\u002Fevents","docs\u002F4.x\u002F3.guide\u002F6.going-further\u002F1.events",{"title":395,"path":1414,"stem":1415,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Fgoing-further\u002Fexperimental-features","docs\u002F4.x\u002F3.guide\u002F6.going-further\u002F1.experimental-features",{"title":399,"path":1417,"stem":1418,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Fgoing-further\u002Ffeatures","docs\u002F4.x\u002F3.guide\u002F6.going-further\u002F1.features",{"title":403,"path":1420,"stem":1421,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Fgoing-further\u002Fruntime-config","docs\u002F4.x\u002F3.guide\u002F6.going-further\u002F10.runtime-config",{"title":407,"path":1423,"stem":1424,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Fgoing-further\u002Fnightly-release-channel","docs\u002F4.x\u002F3.guide\u002F6.going-further\u002F11.nightly-release-channel",{"title":411,"path":1426,"stem":1427,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Fgoing-further\u002Fhooks","docs\u002F4.x\u002F3.guide\u002F6.going-further\u002F2.hooks",{"title":415,"path":1429,"stem":1430,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Fgoing-further\u002Fkit","docs\u002F4.x\u002F3.guide\u002F6.going-further\u002F4.kit",{"title":419,"path":1432,"stem":1433,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Fgoing-further\u002Fnuxt-app","docs\u002F4.x\u002F3.guide\u002F6.going-further\u002F6.nuxt-app",{"title":423,"path":1435,"stem":1436,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Fgoing-further\u002Flayers","docs\u002F4.x\u002F3.guide\u002F6.going-further\u002F7.layers",{"title":1438,"path":1439,"stem":1440,"titleTemplate":6},"Creating a Builder","\u002Fdocs\u002F4.x\u002Fguide\u002Fgoing-further\u002Fbuilders","docs\u002F4.x\u002F3.guide\u002F6.going-further\u002F8.builders",{"title":427,"path":1442,"stem":1443,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Fgoing-further\u002Fdebugging","docs\u002F4.x\u002F3.guide\u002F6.going-further\u002F9.debugging",{"title":431,"titleTemplate":432,"icon":433,"path":1445,"stem":1446,"children":1447,"page":108},"\u002Fdocs\u002F4.x\u002Fapi","docs\u002F4.x\u002F4.api",[1448,1501,1608,1699,1757,1819,1829],{"title":438,"titleTemplate":439,"icon":324,"path":1449,"stem":1450,"children":1451,"page":108},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomponents","docs\u002F4.x\u002F4.api\u002F1.components",[1452,1455,1458,1461,1464,1467,1470,1473,1477,1480,1483,1486,1489,1492,1495,1498],{"title":444,"path":1453,"stem":1454,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomponents\u002Fclient-only","docs\u002F4.x\u002F4.api\u002F1.components\u002F1.client-only",{"title":448,"path":1456,"stem":1457,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomponents\u002Fdev-only","docs\u002F4.x\u002F4.api\u002F1.components\u002F1.dev-only",{"title":452,"path":1459,"stem":1460,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomponents\u002Fnuxt-client-fallback","docs\u002F4.x\u002F4.api\u002F1.components\u002F1.nuxt-client-fallback",{"title":456,"path":1462,"stem":1463,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomponents\u002Fnuxt-picture","docs\u002F4.x\u002F4.api\u002F1.components\u002F10.nuxt-picture",{"title":460,"path":1465,"stem":1466,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomponents\u002Fteleports","docs\u002F4.x\u002F4.api\u002F1.components\u002F11.teleports",{"title":464,"path":1468,"stem":1469,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomponents\u002Fnuxt-route-announcer","docs\u002F4.x\u002F4.api\u002F1.components\u002F12.nuxt-route-announcer",{"title":468,"path":1471,"stem":1472,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomponents\u002Fnuxt-time","docs\u002F4.x\u002F4.api\u002F1.components\u002F13.nuxt-time",{"title":1474,"path":1475,"stem":1476,"titleTemplate":6},"\u003CNuxtAnnouncer>","\u002Fdocs\u002F4.x\u002Fapi\u002Fcomponents\u002Fnuxt-announcer","docs\u002F4.x\u002F4.api\u002F1.components\u002F14.nuxt-announcer",{"title":472,"path":1478,"stem":1479,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomponents\u002Fnuxt-page","docs\u002F4.x\u002F4.api\u002F1.components\u002F2.nuxt-page",{"title":476,"path":1481,"stem":1482,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomponents\u002Fnuxt-layout","docs\u002F4.x\u002F4.api\u002F1.components\u002F3.nuxt-layout",{"title":480,"path":1484,"stem":1485,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomponents\u002Fnuxt-link","docs\u002F4.x\u002F4.api\u002F1.components\u002F4.nuxt-link",{"title":484,"path":1487,"stem":1488,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomponents\u002Fnuxt-loading-indicator","docs\u002F4.x\u002F4.api\u002F1.components\u002F5.nuxt-loading-indicator",{"title":488,"path":1490,"stem":1491,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomponents\u002Fnuxt-error-boundary","docs\u002F4.x\u002F4.api\u002F1.components\u002F6.nuxt-error-boundary",{"title":492,"path":1493,"stem":1494,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomponents\u002Fnuxt-welcome","docs\u002F4.x\u002F4.api\u002F1.components\u002F7.nuxt-welcome",{"title":496,"path":1496,"stem":1497,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomponents\u002Fnuxt-island","docs\u002F4.x\u002F4.api\u002F1.components\u002F8.nuxt-island",{"title":500,"path":1499,"stem":1500,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomponents\u002Fnuxt-img","docs\u002F4.x\u002F4.api\u002F1.components\u002F9.nuxt-img",{"title":504,"titleTemplate":505,"icon":506,"path":1502,"stem":1503,"children":1504,"page":108},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables","docs\u002F4.x\u002F4.api\u002F2.composables",[1505,1509,1513,1516,1520,1523,1526,1529,1532,1535,1538,1541,1544,1548,1551,1554,1557,1560,1563,1566,1569,1572,1575,1578,1581,1584,1587,1590,1593,1596,1599,1602,1605],{"title":1506,"path":1507,"stem":1508,"titleTemplate":6},"createUseAsyncData","\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fcreate-use-async-data","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fcreate-use-async-data",{"title":1510,"path":1511,"stem":1512,"titleTemplate":6},"createUseFetch","\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fcreate-use-fetch","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fcreate-use-fetch",{"title":511,"path":1514,"stem":1515,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fon-prehydrate","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fon-prehydrate",{"title":1517,"path":1518,"stem":1519,"titleTemplate":6},"useAnnouncer","\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-announcer","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-announcer",{"title":515,"path":1521,"stem":1522,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-app-config","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-app-config",{"title":519,"path":1524,"stem":1525,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-async-data","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-async-data",{"title":523,"path":1527,"stem":1528,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-cookie","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-cookie",{"title":527,"path":1530,"stem":1531,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-error","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-error",{"title":531,"path":1533,"stem":1534,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-fetch","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-fetch",{"title":535,"path":1536,"stem":1537,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-head","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-head",{"title":539,"path":1539,"stem":1540,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-head-safe","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-head-safe",{"title":543,"path":1542,"stem":1543,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-hydration","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-hydration",{"title":1545,"path":1546,"stem":1547,"titleTemplate":6},"useLayout","\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-layout","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-layout",{"title":547,"path":1549,"stem":1550,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-lazy-async-data","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-lazy-async-data",{"title":551,"path":1552,"stem":1553,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-lazy-fetch","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-lazy-fetch",{"title":555,"path":1555,"stem":1556,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-loading-indicator","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-loading-indicator",{"title":559,"path":1558,"stem":1559,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-nuxt-app","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-nuxt-app",{"title":563,"path":1561,"stem":1562,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-nuxt-data","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-nuxt-data",{"title":567,"path":1564,"stem":1565,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-preview-mode","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-preview-mode",{"title":571,"path":1567,"stem":1568,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-request-event","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-request-event",{"title":575,"path":1570,"stem":1571,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-request-fetch","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-request-fetch",{"title":579,"path":1573,"stem":1574,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-request-header","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-request-header",{"title":583,"path":1576,"stem":1577,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-request-headers","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-request-headers",{"title":587,"path":1579,"stem":1580,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-request-url","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-request-url",{"title":591,"path":1582,"stem":1583,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-response-header","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-response-header",{"title":595,"path":1585,"stem":1586,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-route","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-route",{"title":599,"path":1588,"stem":1589,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-route-announcer","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-route-announcer",{"title":603,"path":1591,"stem":1592,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-router","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-router",{"title":607,"path":1594,"stem":1595,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-runtime-config","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-runtime-config",{"title":611,"path":1597,"stem":1598,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-runtime-hook","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-runtime-hook",{"title":615,"path":1600,"stem":1601,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-seo-meta","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-seo-meta",{"title":619,"path":1603,"stem":1604,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-server-seo-meta","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-server-seo-meta",{"title":623,"path":1606,"stem":1607,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-state","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-state",{"title":627,"titleTemplate":628,"icon":629,"path":1609,"stem":1610,"children":1611,"page":108},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils","docs\u002F4.x\u002F4.api\u002F3.utils",[1612,1615,1618,1621,1624,1627,1630,1633,1636,1639,1642,1645,1648,1651,1654,1657,1660,1663,1666,1669,1672,1675,1678,1681,1684,1687,1690,1693,1696],{"title":634,"path":1613,"stem":1614,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fdollarfetch","docs\u002F4.x\u002F4.api\u002F3.utils\u002F$fetch",{"title":638,"path":1616,"stem":1617,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fabort-navigation","docs\u002F4.x\u002F4.api\u002F3.utils\u002Fabort-navigation",{"title":642,"path":1619,"stem":1620,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fadd-route-middleware","docs\u002F4.x\u002F4.api\u002F3.utils\u002Fadd-route-middleware",{"title":646,"path":1622,"stem":1623,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fcall-once","docs\u002F4.x\u002F4.api\u002F3.utils\u002Fcall-once",{"title":650,"path":1625,"stem":1626,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fclear-error","docs\u002F4.x\u002F4.api\u002F3.utils\u002Fclear-error",{"title":654,"path":1628,"stem":1629,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fclear-nuxt-data","docs\u002F4.x\u002F4.api\u002F3.utils\u002Fclear-nuxt-data",{"title":658,"path":1631,"stem":1632,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fclear-nuxt-state","docs\u002F4.x\u002F4.api\u002F3.utils\u002Fclear-nuxt-state",{"title":662,"path":1634,"stem":1635,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fcreate-error","docs\u002F4.x\u002F4.api\u002F3.utils\u002Fcreate-error",{"title":666,"path":1637,"stem":1638,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fdefine-lazy-hydration-component","docs\u002F4.x\u002F4.api\u002F3.utils\u002Fdefine-lazy-hydration-component",{"title":670,"path":1640,"stem":1641,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fdefine-nuxt-component","docs\u002F4.x\u002F4.api\u002F3.utils\u002Fdefine-nuxt-component",{"title":674,"path":1643,"stem":1644,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fdefine-nuxt-plugin","docs\u002F4.x\u002F4.api\u002F3.utils\u002Fdefine-nuxt-plugin",{"title":678,"path":1646,"stem":1647,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fdefine-nuxt-route-middleware","docs\u002F4.x\u002F4.api\u002F3.utils\u002Fdefine-nuxt-route-middleware",{"title":682,"path":1649,"stem":1650,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fdefine-page-meta","docs\u002F4.x\u002F4.api\u002F3.utils\u002Fdefine-page-meta",{"title":686,"path":1652,"stem":1653,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fdefine-route-rules","docs\u002F4.x\u002F4.api\u002F3.utils\u002Fdefine-route-rules",{"title":690,"path":1655,"stem":1656,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fnavigate-to","docs\u002F4.x\u002F4.api\u002F3.utils\u002Fnavigate-to",{"title":694,"path":1658,"stem":1659,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fon-before-route-leave","docs\u002F4.x\u002F4.api\u002F3.utils\u002Fon-before-route-leave",{"title":698,"path":1661,"stem":1662,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fon-before-route-update","docs\u002F4.x\u002F4.api\u002F3.utils\u002Fon-before-route-update",{"title":702,"path":1664,"stem":1665,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fon-nuxt-ready","docs\u002F4.x\u002F4.api\u002F3.utils\u002Fon-nuxt-ready",{"title":706,"path":1667,"stem":1668,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fprefetch-components","docs\u002F4.x\u002F4.api\u002F3.utils\u002Fprefetch-components",{"title":710,"path":1670,"stem":1671,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fpreload-components","docs\u002F4.x\u002F4.api\u002F3.utils\u002Fpreload-components",{"title":714,"path":1673,"stem":1674,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fpreload-route-components","docs\u002F4.x\u002F4.api\u002F3.utils\u002Fpreload-route-components",{"title":718,"path":1676,"stem":1677,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fprerender-routes","docs\u002F4.x\u002F4.api\u002F3.utils\u002Fprerender-routes",{"title":722,"path":1679,"stem":1680,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Frefresh-cookie","docs\u002F4.x\u002F4.api\u002F3.utils\u002Frefresh-cookie",{"title":726,"path":1682,"stem":1683,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Frefresh-nuxt-data","docs\u002F4.x\u002F4.api\u002F3.utils\u002Frefresh-nuxt-data",{"title":730,"path":1685,"stem":1686,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Freload-nuxt-app","docs\u002F4.x\u002F4.api\u002F3.utils\u002Freload-nuxt-app",{"title":734,"path":1688,"stem":1689,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fset-page-layout","docs\u002F4.x\u002F4.api\u002F3.utils\u002Fset-page-layout",{"title":738,"path":1691,"stem":1692,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fset-response-status","docs\u002F4.x\u002F4.api\u002F3.utils\u002Fset-response-status",{"title":742,"path":1694,"stem":1695,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fshow-error","docs\u002F4.x\u002F4.api\u002F3.utils\u002Fshow-error",{"title":746,"path":1697,"stem":1698,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fupdate-app-config","docs\u002F4.x\u002F4.api\u002F3.utils\u002Fupdate-app-config",{"title":750,"titleTemplate":751,"icon":752,"path":1700,"stem":1701,"children":1702,"page":108},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcommands","docs\u002F4.x\u002F4.api\u002F4.commands",[1703,1706,1709,1712,1715,1718,1721,1724,1727,1730,1733,1736,1739,1742,1745,1748,1751,1754],{"title":757,"path":1704,"stem":1705,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcommands\u002Foverview","docs\u002F4.x\u002F4.api\u002F4.commands\u002F1.overview",{"title":761,"path":1707,"stem":1708,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcommands\u002Fadd","docs\u002F4.x\u002F4.api\u002F4.commands\u002Fadd",{"title":765,"path":1710,"stem":1711,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcommands\u002Fadd-template","docs\u002F4.x\u002F4.api\u002F4.commands\u002Fadd-template",{"title":769,"path":1713,"stem":1714,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcommands\u002Fanalyze","docs\u002F4.x\u002F4.api\u002F4.commands\u002Fanalyze",{"title":773,"path":1716,"stem":1717,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcommands\u002Fbuild","docs\u002F4.x\u002F4.api\u002F4.commands\u002Fbuild",{"title":777,"path":1719,"stem":1720,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcommands\u002Fbuild-module","docs\u002F4.x\u002F4.api\u002F4.commands\u002Fbuild-module",{"title":781,"path":1722,"stem":1723,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcommands\u002Fcleanup","docs\u002F4.x\u002F4.api\u002F4.commands\u002Fcleanup",{"title":785,"path":1725,"stem":1726,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcommands\u002Fdev","docs\u002F4.x\u002F4.api\u002F4.commands\u002Fdev",{"title":789,"path":1728,"stem":1729,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcommands\u002Fdevtools","docs\u002F4.x\u002F4.api\u002F4.commands\u002Fdevtools",{"title":793,"path":1731,"stem":1732,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcommands\u002Fgenerate","docs\u002F4.x\u002F4.api\u002F4.commands\u002Fgenerate",{"title":797,"path":1734,"stem":1735,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcommands\u002Finfo","docs\u002F4.x\u002F4.api\u002F4.commands\u002Finfo",{"title":801,"path":1737,"stem":1738,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcommands\u002Finit","docs\u002F4.x\u002F4.api\u002F4.commands\u002Finit",{"title":805,"path":1740,"stem":1741,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcommands\u002Fmodule","docs\u002F4.x\u002F4.api\u002F4.commands\u002Fmodule",{"title":809,"path":1743,"stem":1744,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcommands\u002Fprepare","docs\u002F4.x\u002F4.api\u002F4.commands\u002Fprepare",{"title":813,"path":1746,"stem":1747,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcommands\u002Fpreview","docs\u002F4.x\u002F4.api\u002F4.commands\u002Fpreview",{"title":817,"path":1749,"stem":1750,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcommands\u002Ftest","docs\u002F4.x\u002F4.api\u002F4.commands\u002Ftest",{"title":821,"path":1752,"stem":1753,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcommands\u002Ftypecheck","docs\u002F4.x\u002F4.api\u002F4.commands\u002Ftypecheck",{"title":825,"path":1755,"stem":1756,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcommands\u002Fupgrade","docs\u002F4.x\u002F4.api\u002F4.commands\u002Fupgrade",{"title":415,"titleTemplate":829,"icon":830,"path":1758,"stem":1759,"children":1760,"page":108},"\u002Fdocs\u002F4.x\u002Fapi\u002Fkit","docs\u002F4.x\u002F4.api\u002F5.kit",[1761,1764,1767,1770,1774,1777,1780,1783,1786,1789,1792,1795,1798,1801,1804,1807,1810,1813,1816],{"title":276,"path":1762,"stem":1763,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fkit\u002Fmodules","docs\u002F4.x\u002F4.api\u002F5.kit\u002F1.modules",{"title":403,"path":1765,"stem":1766,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fkit\u002Fruntime-config","docs\u002F4.x\u002F4.api\u002F5.kit\u002F10.runtime-config",{"title":841,"path":1768,"stem":1769,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fkit\u002Ftemplates","docs\u002F4.x\u002F4.api\u002F5.kit\u002F10.templates",{"title":1771,"path":1772,"stem":1773,"titleTemplate":6},"App Config","\u002Fdocs\u002F4.x\u002Fapi\u002Fkit\u002Fapp-config","docs\u002F4.x\u002F4.api\u002F5.kit\u002F11.app-config",{"title":845,"path":1775,"stem":1776,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fkit\u002Fnitro","docs\u002F4.x\u002F4.api\u002F5.kit\u002F12.nitro",{"title":849,"path":1778,"stem":1779,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fkit\u002Fresolving","docs\u002F4.x\u002F4.api\u002F5.kit\u002F13.resolving",{"title":853,"path":1781,"stem":1782,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fkit\u002Flogging","docs\u002F4.x\u002F4.api\u002F5.kit\u002F14.logging",{"title":857,"path":1784,"stem":1785,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fkit\u002Fbuilder","docs\u002F4.x\u002F4.api\u002F5.kit\u002F15.builder",{"title":861,"path":1787,"stem":1788,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fkit\u002Fexamples","docs\u002F4.x\u002F4.api\u002F5.kit\u002F16.examples",{"title":84,"path":1790,"stem":1791,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fkit\u002Flayers","docs\u002F4.x\u002F4.api\u002F5.kit\u002F17.layers",{"title":868,"path":1793,"stem":1794,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fkit\u002Fprogrammatic","docs\u002F4.x\u002F4.api\u002F5.kit\u002F2.programmatic",{"title":872,"path":1796,"stem":1797,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fkit\u002Fcompatibility","docs\u002F4.x\u002F4.api\u002F5.kit\u002F3.compatibility",{"title":268,"path":1799,"stem":1800,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fkit\u002Fautoimports","docs\u002F4.x\u002F4.api\u002F5.kit\u002F4.autoimports",{"title":438,"path":1802,"stem":1803,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fkit\u002Fcomponents","docs\u002F4.x\u002F4.api\u002F5.kit\u002F5.components",{"title":882,"path":1805,"stem":1806,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fkit\u002Fcontext","docs\u002F4.x\u002F4.api\u002F5.kit\u002F6.context",{"title":886,"path":1808,"stem":1809,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fkit\u002Fpages","docs\u002F4.x\u002F4.api\u002F5.kit\u002F7.pages",{"title":890,"path":1811,"stem":1812,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fkit\u002Flayout","docs\u002F4.x\u002F4.api\u002F5.kit\u002F8.layout",{"title":894,"path":1814,"stem":1815,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fkit\u002Fhead","docs\u002F4.x\u002F4.api\u002F5.kit\u002F9.head",{"title":898,"path":1817,"stem":1818,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fkit\u002Fplugins","docs\u002F4.x\u002F4.api\u002F5.kit\u002F9.plugins",{"title":902,"titleTemplate":6,"icon":903,"path":1820,"stem":1821,"children":1822,"page":108},"\u002Fdocs\u002F4.x\u002Fapi\u002Fadvanced","docs\u002F4.x\u002F4.api\u002F6.advanced",[1823,1826],{"title":411,"path":1824,"stem":1825,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fadvanced\u002Fhooks","docs\u002F4.x\u002F4.api\u002F6.advanced\u002F1.hooks",{"title":911,"path":1827,"stem":1828,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fadvanced\u002Fimport-meta","docs\u002F4.x\u002F4.api\u002F6.advanced\u002F2.import-meta",{"title":915,"path":1830,"stem":1831,"titleTemplate":918,"icon":32},"\u002Fdocs\u002F4.x\u002Fapi\u002Fnuxt-config","docs\u002F4.x\u002F4.api\u002F6.nuxt-config",{"title":861,"titleTemplate":920,"icon":921,"path":1833,"stem":1834,"children":1835,"page":108},"\u002Fdocs\u002F4.x\u002Fexamples","docs\u002F4.x\u002F4.examples",[1836,1839,1858,1871,1902],{"title":926,"path":1837,"stem":1838,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fexamples\u002Fhello-world","docs\u002F4.x\u002F4.examples\u002F0.hello-world",{"title":399,"path":1840,"stem":1841,"children":1842,"page":108},"\u002Fdocs\u002F4.x\u002Fexamples\u002Ffeatures","docs\u002F4.x\u002F4.examples\u002F1.features",[1843,1846,1849,1852,1855],{"title":934,"path":1844,"stem":1845,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fexamples\u002Ffeatures\u002Fauto-imports","docs\u002F4.x\u002F4.examples\u002F1.features\u002F1.auto-imports",{"title":64,"path":1847,"stem":1848,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fexamples\u002Ffeatures\u002Fdata-fetching","docs\u002F4.x\u002F4.examples\u002F1.features\u002F2.data-fetching",{"title":69,"path":1850,"stem":1851,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fexamples\u002Ffeatures\u002Fstate-management","docs\u002F4.x\u002F4.examples\u002F1.features\u002F3.state-management",{"title":944,"path":1853,"stem":1854,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fexamples\u002Ffeatures\u002Fmeta-tags","docs\u002F4.x\u002F4.examples\u002F1.features\u002F4.meta-tags",{"title":948,"path":1856,"stem":1857,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fexamples\u002Ffeatures\u002Flayouts","docs\u002F4.x\u002F4.examples\u002F1.features\u002F5.layouts",{"title":49,"path":1859,"stem":1860,"children":1861,"page":108},"\u002Fdocs\u002F4.x\u002Fexamples\u002Frouting","docs\u002F4.x\u002F4.examples\u002F2.routing",[1862,1865,1868],{"title":956,"path":1863,"stem":1864,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fexamples\u002Frouting\u002Fmiddleware","docs\u002F4.x\u002F4.examples\u002F2.routing\u002Fmiddleware",{"title":886,"path":1866,"stem":1867,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fexamples\u002Frouting\u002Fpages","docs\u002F4.x\u002F4.examples\u002F2.routing\u002Fpages",{"title":963,"path":1869,"stem":1870,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fexamples\u002Frouting\u002Funiversal-router","docs\u002F4.x\u002F4.examples\u002F2.routing\u002Funiversal-router",{"title":902,"path":1872,"stem":1873,"children":1874,"page":108},"\u002Fdocs\u002F4.x\u002Fexamples\u002Fadvanced","docs\u002F4.x\u002F4.examples\u002F4.advanced",[1875,1878,1881,1884,1887,1890,1893,1896,1899],{"title":84,"path":1876,"stem":1877,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fexamples\u002Fadvanced\u002Fconfig-extends","docs\u002F4.x\u002F4.examples\u002F4.advanced\u002Fconfig-extends",{"title":74,"path":1879,"stem":1880,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fexamples\u002Fadvanced\u002Ferror-handling","docs\u002F4.x\u002F4.examples\u002F4.advanced\u002Ferror-handling",{"title":977,"path":1882,"stem":1883,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fexamples\u002Fadvanced\u002Fjsx","docs\u002F4.x\u002F4.examples\u002F4.advanced\u002Fjsx",{"title":981,"path":1885,"stem":1886,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fexamples\u002Fadvanced\u002Flocale","docs\u002F4.x\u002F4.examples\u002F4.advanced\u002Flocale",{"title":985,"path":1888,"stem":1889,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fexamples\u002Fadvanced\u002Fmodule-extend-pages","docs\u002F4.x\u002F4.examples\u002F4.advanced\u002Fmodule-extend-pages",{"title":989,"path":1891,"stem":1892,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fexamples\u002Fadvanced\u002Fteleport","docs\u002F4.x\u002F4.examples\u002F4.advanced\u002Fteleport",{"title":99,"path":1894,"stem":1895,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fexamples\u002Fadvanced\u002Ftesting","docs\u002F4.x\u002F4.examples\u002F4.advanced\u002Ftesting",{"title":523,"path":1897,"stem":1898,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fexamples\u002Fadvanced\u002Fuse-cookie","docs\u002F4.x\u002F4.examples\u002F4.advanced\u002Fuse-cookie",{"title":999,"path":1900,"stem":1901,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fexamples\u002Fadvanced\u002Fuse-custom-fetch-composable","docs\u002F4.x\u002F4.examples\u002F4.advanced\u002Fuse-custom-fetch-composable",{"title":1003,"path":1903,"stem":1904,"children":1905,"page":108},"\u002Fdocs\u002F4.x\u002Fexamples\u002Fexperimental","docs\u002F4.x\u002F4.examples\u002F7.experimental",[1906],{"title":1008,"path":1907,"stem":1908,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fexamples\u002Fexperimental\u002Fwasm","docs\u002F4.x\u002F4.examples\u002F7.experimental\u002Fwasm",{"title":1012,"titleTemplate":1013,"icon":1014,"path":1910,"stem":1911,"children":1912,"page":108},"\u002Fdocs\u002F4.x\u002Fcommunity","docs\u002F4.x\u002F5.community",[1913,1916,1919,1922,1925,1928],{"title":1019,"path":1914,"stem":1915,"titleTemplate":6,"icon":1022},"\u002Fdocs\u002F4.x\u002Fcommunity\u002Fgetting-help","docs\u002F4.x\u002F5.community\u002F2.getting-help",{"title":1024,"path":1917,"stem":1918,"titleTemplate":6,"icon":1027},"\u002Fdocs\u002F4.x\u002Fcommunity\u002Freporting-bugs","docs\u002F4.x\u002F5.community\u002F3.reporting-bugs",{"title":1029,"path":1920,"stem":1921,"titleTemplate":6,"icon":1032},"\u002Fdocs\u002F4.x\u002Fcommunity\u002Fcontribution","docs\u002F4.x\u002F5.community\u002F4.contribution",{"title":1034,"path":1923,"stem":1924,"titleTemplate":6,"icon":1037},"\u002Fdocs\u002F4.x\u002Fcommunity\u002Fframework-contribution","docs\u002F4.x\u002F5.community\u002F5.framework-contribution",{"title":1039,"path":1926,"stem":1927,"titleTemplate":6,"icon":1042},"\u002Fdocs\u002F4.x\u002Fcommunity\u002Froadmap","docs\u002F4.x\u002F5.community\u002F6.roadmap",{"title":1044,"path":1929,"stem":1930,"titleTemplate":6,"icon":1047},"\u002Fdocs\u002F4.x\u002Fcommunity\u002Fchangelog","docs\u002F4.x\u002F5.community\u002F7.changelog",{"title":1049,"titleTemplate":1050,"icon":1051,"path":1932,"stem":1933,"children":1934,"page":108},"\u002Fdocs\u002F4.x\u002Fbridge","docs\u002F4.x\u002F6.bridge",[1935,1938,1941,1944,1947,1950,1953,1956,1959,1962],{"title":1056,"path":1936,"stem":1937,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fbridge\u002Foverview","docs\u002F4.x\u002F6.bridge\u002F1.overview",{"title":29,"path":1939,"stem":1940,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fbridge\u002Fconfiguration","docs\u002F4.x\u002F6.bridge\u002F10.configuration",{"title":280,"path":1942,"stem":1943,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fbridge\u002Ftypescript","docs\u002F4.x\u002F6.bridge\u002F2.typescript",{"title":1066,"path":1945,"stem":1946,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fbridge\u002Fbridge-composition-api","docs\u002F4.x\u002F6.bridge\u002F3.bridge-composition-api",{"title":1070,"path":1948,"stem":1949,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fbridge\u002Fplugins-and-middleware","docs\u002F4.x\u002F6.bridge\u002F4.plugins-and-middleware",{"title":1074,"path":1951,"stem":1952,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fbridge\u002Fnuxt3-compatible-api","docs\u002F4.x\u002F6.bridge\u002F5.nuxt3-compatible-api",{"title":944,"path":1954,"stem":1955,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fbridge\u002Fmeta","docs\u002F4.x\u002F6.bridge\u002F6.meta",{"title":403,"path":1957,"stem":1958,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fbridge\u002Fruntime-config","docs\u002F4.x\u002F6.bridge\u002F7.runtime-config",{"title":845,"path":1960,"stem":1961,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fbridge\u002Fnitro","docs\u002F4.x\u002F6.bridge\u002F8.nitro",{"title":1087,"path":1963,"stem":1964,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fbridge\u002Fvite","docs\u002F4.x\u002F6.bridge\u002F9.vite",{"title":1091,"titleTemplate":1092,"icon":107,"path":1966,"stem":1967,"children":1968,"page":108},"\u002Fdocs\u002F4.x\u002Fmigration","docs\u002F4.x\u002F7.migration",[1969,1972,1975,1978,1981,1984,1987,1990,1993,1996,1999],{"title":1056,"path":1970,"stem":1971,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fmigration\u002Foverview","docs\u002F4.x\u002F7.migration\u002F1.overview",{"title":1100,"path":1973,"stem":1974,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fmigration\u002Fbundling","docs\u002F4.x\u002F7.migration\u002F10.bundling",{"title":79,"path":1976,"stem":1977,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fmigration\u002Fserver","docs\u002F4.x\u002F7.migration\u002F11.server",{"title":29,"path":1979,"stem":1980,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fmigration\u002Fconfiguration","docs\u002F4.x\u002F7.migration\u002F2.configuration",{"title":276,"path":1982,"stem":1983,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fmigration\u002Fmodule-authors","docs\u002F4.x\u002F7.migration\u002F20.module-authors",{"title":934,"path":1985,"stem":1986,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fmigration\u002Fauto-imports","docs\u002F4.x\u002F7.migration\u002F3.auto-imports",{"title":944,"path":1988,"stem":1989,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fmigration\u002Fmeta","docs\u002F4.x\u002F7.migration\u002F4.meta",{"title":1070,"path":1991,"stem":1992,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fmigration\u002Fplugins-and-middleware","docs\u002F4.x\u002F7.migration\u002F5.plugins-and-middleware",{"title":1122,"path":1994,"stem":1995,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fmigration\u002Fpages-and-layouts","docs\u002F4.x\u002F7.migration\u002F6.pages-and-layouts",{"title":1126,"path":1997,"stem":1998,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fmigration\u002Fcomponent-options","docs\u002F4.x\u002F7.migration\u002F7.component-options",{"title":403,"path":2000,"stem":2001,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fmigration\u002Fruntime-config","docs\u002F4.x\u002F7.migration\u002F8.runtime-config",{"title":5,"titleTemplate":6,"icon":7,"path":2003,"stem":2004,"children":2005,"page":108},"\u002Fdocs\u002F5.x","docs\u002F5.x",[2006,2064,2157,2302,2696,2773,2795,2829],{"title":12,"titleTemplate":13,"icon":14,"path":2007,"stem":2008,"children":2009,"page":108},"\u002Fdocs\u002F5.x\u002Fgetting-started","docs\u002F5.x\u002F1.getting-started",[2010,2013,2016,2019,2022,2025,2028,2031,2034,2037,2040,2043,2046,2049,2052,2055,2058,2061],{"title":19,"path":2011,"stem":2012,"titleTemplate":6,"icon":22},"\u002Fdocs\u002F5.x\u002Fgetting-started\u002Fintroduction","docs\u002F5.x\u002F1.getting-started\u002F01.introduction",{"title":24,"path":2014,"stem":2015,"titleTemplate":6,"icon":27},"\u002Fdocs\u002F5.x\u002Fgetting-started\u002Finstallation","docs\u002F5.x\u002F1.getting-started\u002F02.installation",{"title":29,"path":2017,"stem":2018,"titleTemplate":6,"icon":32},"\u002Fdocs\u002F5.x\u002Fgetting-started\u002Fconfiguration","docs\u002F5.x\u002F1.getting-started\u002F03.configuration",{"title":34,"path":2020,"stem":2021,"titleTemplate":6,"icon":37},"\u002Fdocs\u002F5.x\u002Fgetting-started\u002Fviews","docs\u002F5.x\u002F1.getting-started\u002F04.views",{"title":39,"path":2023,"stem":2024,"titleTemplate":6,"icon":42},"\u002Fdocs\u002F5.x\u002Fgetting-started\u002Fassets","docs\u002F5.x\u002F1.getting-started\u002F05.assets",{"title":44,"path":2026,"stem":2027,"titleTemplate":6,"icon":47},"\u002Fdocs\u002F5.x\u002Fgetting-started\u002Fstyling","docs\u002F5.x\u002F1.getting-started\u002F06.styling",{"title":49,"path":2029,"stem":2030,"titleTemplate":6,"icon":52},"\u002Fdocs\u002F5.x\u002Fgetting-started\u002Frouting","docs\u002F5.x\u002F1.getting-started\u002F07.routing",{"title":54,"path":2032,"stem":2033,"titleTemplate":6,"icon":57},"\u002Fdocs\u002F5.x\u002Fgetting-started\u002Fseo-meta","docs\u002F5.x\u002F1.getting-started\u002F08.seo-meta",{"title":59,"path":2035,"stem":2036,"titleTemplate":6,"icon":62},"\u002Fdocs\u002F5.x\u002Fgetting-started\u002Ftransitions","docs\u002F5.x\u002F1.getting-started\u002F09.transitions",{"title":64,"path":2038,"stem":2039,"titleTemplate":6,"icon":67},"\u002Fdocs\u002F5.x\u002Fgetting-started\u002Fdata-fetching","docs\u002F5.x\u002F1.getting-started\u002F10.data-fetching",{"title":69,"path":2041,"stem":2042,"titleTemplate":6,"icon":72},"\u002Fdocs\u002F5.x\u002Fgetting-started\u002Fstate-management","docs\u002F5.x\u002F1.getting-started\u002F11.state-management",{"title":74,"path":2044,"stem":2045,"titleTemplate":6,"icon":77},"\u002Fdocs\u002F5.x\u002Fgetting-started\u002Ferror-handling","docs\u002F5.x\u002F1.getting-started\u002F12.error-handling",{"title":79,"path":2047,"stem":2048,"titleTemplate":6,"icon":82},"\u002Fdocs\u002F5.x\u002Fgetting-started\u002Fserver","docs\u002F5.x\u002F1.getting-started\u002F13.server",{"title":84,"path":2050,"stem":2051,"titleTemplate":6,"icon":87},"\u002Fdocs\u002F5.x\u002Fgetting-started\u002Flayers","docs\u002F5.x\u002F1.getting-started\u002F14.layers",{"title":89,"path":2053,"stem":2054,"titleTemplate":6,"icon":92},"\u002Fdocs\u002F5.x\u002Fgetting-started\u002Fprerendering","docs\u002F5.x\u002F1.getting-started\u002F15.prerendering",{"title":94,"path":2056,"stem":2057,"titleTemplate":6,"icon":97},"\u002Fdocs\u002F5.x\u002Fgetting-started\u002Fdeployment","docs\u002F5.x\u002F1.getting-started\u002F16.deployment",{"title":99,"path":2059,"stem":2060,"titleTemplate":6,"icon":102},"\u002Fdocs\u002F5.x\u002Fgetting-started\u002Ftesting","docs\u002F5.x\u002F1.getting-started\u002F17.testing",{"title":104,"path":2062,"stem":2063,"titleTemplate":6,"icon":107},"\u002Fdocs\u002F5.x\u002Fgetting-started\u002Fupgrade","docs\u002F5.x\u002F1.getting-started\u002F18.upgrade",{"title":110,"titleTemplate":111,"icon":112,"path":2065,"stem":2066,"children":2067,"page":108},"\u002Fdocs\u002F5.x\u002Fdirectory-structure","docs\u002F5.x\u002F2.directory-structure",[2068,2071,2074,2112,2115,2118,2121,2124,2127,2130,2133,2136,2139,2142,2145,2148,2151,2154],{"title":117,"path":2069,"stem":2070,"titleTemplate":6,"icon":120},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fnuxt","docs\u002F5.x\u002F2.directory-structure\u002F0.nuxt",{"title":122,"path":2072,"stem":2073,"titleTemplate":6,"icon":125},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Foutput","docs\u002F5.x\u002F2.directory-structure\u002F0.output",{"title":1205,"titleTemplate":111,"head":2075,"defaultOpen":1208,"icon":1209,"path":2076,"stem":2077,"children":2078,"page":108},{"title":1207},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fapp","docs\u002F5.x\u002F2.directory-structure\u002F1.app",[2079,2082,2085,2088,2091,2094,2097,2100,2103,2106,2109],{"title":127,"path":2080,"stem":2081,"titleTemplate":6,"icon":130},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fapp\u002Fassets","docs\u002F5.x\u002F2.directory-structure\u002F1.app\u002F1.assets",{"title":132,"path":2083,"stem":2084,"titleTemplate":6,"icon":135},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fapp\u002Fcomponents","docs\u002F5.x\u002F2.directory-structure\u002F1.app\u002F1.components",{"title":137,"path":2086,"stem":2087,"titleTemplate":6,"icon":140},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fapp\u002Fcomposables","docs\u002F5.x\u002F2.directory-structure\u002F1.app\u002F1.composables",{"title":152,"path":2089,"stem":2090,"titleTemplate":6,"icon":155},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fapp\u002Flayouts","docs\u002F5.x\u002F2.directory-structure\u002F1.app\u002F1.layouts",{"title":157,"path":2092,"stem":2093,"titleTemplate":6,"icon":160},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fapp\u002Fmiddleware","docs\u002F5.x\u002F2.directory-structure\u002F1.app\u002F1.middleware",{"title":171,"path":2095,"stem":2096,"titleTemplate":6,"icon":155},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fapp\u002Fpages","docs\u002F5.x\u002F2.directory-structure\u002F1.app\u002F1.pages",{"title":175,"path":2098,"stem":2099,"titleTemplate":6,"icon":178},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fapp\u002Fplugins","docs\u002F5.x\u002F2.directory-structure\u002F1.app\u002F1.plugins",{"title":195,"path":2101,"stem":2102,"titleTemplate":6,"icon":198},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fapp\u002Futils","docs\u002F5.x\u002F2.directory-structure\u002F1.app\u002F1.utils",{"title":219,"path":2104,"stem":2105,"titleTemplate":6,"icon":222},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fapp\u002Fapp","docs\u002F5.x\u002F2.directory-structure\u002F1.app\u002F3.app",{"title":224,"path":2107,"stem":2108,"titleTemplate":6,"icon":227},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fapp\u002Fapp-config","docs\u002F5.x\u002F2.directory-structure\u002F1.app\u002F3.app-config",{"title":229,"path":2110,"stem":2111,"titleTemplate":6,"icon":222},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fapp\u002Ferror","docs\u002F5.x\u002F2.directory-structure\u002F1.app\u002F3.error",{"title":142,"path":2113,"stem":2114,"titleTemplate":6,"icon":145},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fcontent","docs\u002F5.x\u002F2.directory-structure\u002F1.content",{"title":147,"path":2116,"stem":2117,"titleTemplate":6,"icon":150},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Flayers","docs\u002F5.x\u002F2.directory-structure\u002F1.layers",{"title":162,"path":2119,"stem":2120,"titleTemplate":6,"icon":150},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fmodules","docs\u002F5.x\u002F2.directory-structure\u002F1.modules",{"title":166,"path":2122,"stem":2123,"titleTemplate":6,"icon":169},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fnode_modules","docs\u002F5.x\u002F2.directory-structure\u002F1.node_modules",{"title":180,"path":2125,"stem":2126,"titleTemplate":6,"icon":183},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fpublic","docs\u002F5.x\u002F2.directory-structure\u002F1.public",{"title":185,"path":2128,"stem":2129,"titleTemplate":6,"icon":188},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fserver","docs\u002F5.x\u002F2.directory-structure\u002F1.server",{"title":190,"path":2131,"stem":2132,"titleTemplate":6,"icon":193},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fshared","docs\u002F5.x\u002F2.directory-structure\u002F1.shared",{"title":1268,"path":2134,"stem":2135,"titleTemplate":6,"icon":1271},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Ftest","docs\u002F5.x\u002F2.directory-structure\u002F1.test",{"title":200,"path":2137,"stem":2138,"titleTemplate":6,"icon":203},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fenv","docs\u002F5.x\u002F2.directory-structure\u002F2.env",{"title":205,"path":2140,"stem":2141,"titleTemplate":6,"icon":208},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fgitignore","docs\u002F5.x\u002F2.directory-structure\u002F2.gitignore",{"title":210,"path":2143,"stem":2144,"titleTemplate":6,"icon":213},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fnuxtignore","docs\u002F5.x\u002F2.directory-structure\u002F2.nuxtignore",{"title":215,"path":2146,"stem":2147,"titleTemplate":6,"icon":213},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fnuxtrc","docs\u002F5.x\u002F2.directory-structure\u002F2.nuxtrc",{"title":233,"path":2149,"stem":2150,"titleTemplate":6,"icon":213},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fnuxt-config","docs\u002F5.x\u002F2.directory-structure\u002F3.nuxt-config",{"title":237,"path":2152,"stem":2153,"titleTemplate":6,"icon":240},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fpackage","docs\u002F5.x\u002F2.directory-structure\u002F3.package",{"title":242,"path":2155,"stem":2156,"titleTemplate":6,"icon":245},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Ftsconfig","docs\u002F5.x\u002F2.directory-structure\u002F3.tsconfig",{"title":247,"titleTemplate":6,"icon":248,"path":2158,"stem":2159,"children":2160,"page":108},"\u002Fdocs\u002F5.x\u002Fguide","docs\u002F5.x\u002F3.guide",[2161,2189,2208,2218,2246,2265],{"title":253,"titleTemplate":254,"icon":255,"path":2162,"stem":2163,"children":2164,"page":108},"\u002Fdocs\u002F5.x\u002Fguide\u002Fconcepts","docs\u002F5.x\u002F3.guide\u002F1.concepts",[2165,2168,2171,2174,2177,2180,2183,2186],{"title":260,"path":2166,"stem":2167,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fconcepts\u002Frendering","docs\u002F5.x\u002F3.guide\u002F1.concepts\u002F1.rendering",{"title":264,"path":2169,"stem":2170,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fconcepts\u002Fnuxt-lifecycle","docs\u002F5.x\u002F3.guide\u002F1.concepts\u002F2.nuxt-lifecycle",{"title":268,"path":2172,"stem":2173,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fconcepts\u002Fauto-imports","docs\u002F5.x\u002F3.guide\u002F1.concepts\u002F3.auto-imports",{"title":272,"path":2175,"stem":2176,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fconcepts\u002Fserver-engine","docs\u002F5.x\u002F3.guide\u002F1.concepts\u002F4.server-engine",{"title":276,"path":2178,"stem":2179,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fconcepts\u002Fmodules","docs\u002F5.x\u002F3.guide\u002F1.concepts\u002F5.modules",{"title":1317,"path":2181,"stem":2182,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fconcepts\u002Fserver-components","docs\u002F5.x\u002F3.guide\u002F1.concepts\u002F6.server-components",{"title":280,"path":2184,"stem":2185,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fconcepts\u002Ftypescript","docs\u002F5.x\u002F3.guide\u002F1.concepts\u002F8.typescript",{"title":284,"path":2187,"stem":2188,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fconcepts\u002Fcode-style","docs\u002F5.x\u002F3.guide\u002F1.concepts\u002F9.code-style",{"title":288,"titleTemplate":289,"icon":290,"path":2190,"stem":2191,"children":2192,"page":108},"\u002Fdocs\u002F5.x\u002Fguide\u002Fbest-practices","docs\u002F5.x\u002F3.guide\u002F2.best-practices",[2193,2196,2199,2202,2205],{"title":1331,"path":2194,"stem":2195,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fbest-practices\u002Faccessibility","docs\u002F5.x\u002F3.guide\u002F2.best-practices\u002Faccessibility",{"title":1335,"path":2197,"stem":2198,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fbest-practices\u002Fdevcontainers","docs\u002F5.x\u002F3.guide\u002F2.best-practices\u002Fdevcontainers",{"title":1339,"path":2200,"stem":2201,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fbest-practices\u002Fhydration","docs\u002F5.x\u002F3.guide\u002F2.best-practices\u002Fhydration",{"title":299,"path":2203,"stem":2204,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fbest-practices\u002Fperformance","docs\u002F5.x\u002F3.guide\u002F2.best-practices\u002Fperformance",{"title":303,"path":2206,"stem":2207,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fbest-practices\u002Fplugins","docs\u002F5.x\u002F3.guide\u002F2.best-practices\u002Fplugins",{"title":307,"titleTemplate":308,"icon":309,"path":2209,"stem":2210,"children":2211,"page":108},"\u002Fdocs\u002F5.x\u002Fguide\u002Fai","docs\u002F5.x\u002F3.guide\u002F3.ai",[2212,2215],{"title":314,"path":2213,"stem":2214,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fai\u002Fmcp","docs\u002F5.x\u002F3.guide\u002F3.ai\u002F1.mcp",{"title":318,"path":2216,"stem":2217,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fai\u002Fllms-txt","docs\u002F5.x\u002F3.guide\u002F3.ai\u002F2.llms-txt",{"title":322,"titleTemplate":323,"icon":324,"path":2219,"stem":2220,"children":2221,"page":108},"\u002Fdocs\u002F5.x\u002Fguide\u002Fmodules","docs\u002F5.x\u002F3.guide\u002F4.modules",[2222,2225,2228,2231,2234,2237,2240,2243],{"title":329,"path":2223,"stem":2224,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fmodules\u002Fgetting-started","docs\u002F5.x\u002F3.guide\u002F4.modules\u002F1.getting-started",{"title":333,"path":2226,"stem":2227,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fmodules\u002Fmodule-anatomy","docs\u002F5.x\u002F3.guide\u002F4.modules\u002F2.module-anatomy",{"title":337,"path":2229,"stem":2230,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fmodules\u002Frecipes-basics","docs\u002F5.x\u002F3.guide\u002F4.modules\u002F3.recipes-basics",{"title":341,"path":2232,"stem":2233,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fmodules\u002Fmodule-dependencies","docs\u002F5.x\u002F3.guide\u002F4.modules\u002F4.module-dependencies",{"title":345,"path":2235,"stem":2236,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fmodules\u002Frecipes-advanced","docs\u002F5.x\u002F3.guide\u002F4.modules\u002F5.recipes-advanced",{"title":349,"path":2238,"stem":2239,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fmodules\u002Ftesting","docs\u002F5.x\u002F3.guide\u002F4.modules\u002F6.testing",{"title":353,"path":2241,"stem":2242,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fmodules\u002Fbest-practices","docs\u002F5.x\u002F3.guide\u002F4.modules\u002F7.best-practices",{"title":357,"path":2244,"stem":2245,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fmodules\u002Fecosystem","docs\u002F5.x\u002F3.guide\u002F4.modules\u002F8.ecosystem",{"title":361,"titleTemplate":362,"icon":363,"path":2247,"stem":2248,"children":2249,"page":108},"\u002Fdocs\u002F5.x\u002Fguide\u002Frecipes","docs\u002F5.x\u002F3.guide\u002F5.recipes",[2250,2253,2256,2259,2262],{"title":368,"path":2251,"stem":2252,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Frecipes\u002Fcustom-routing","docs\u002F5.x\u002F3.guide\u002F5.recipes\u002F1.custom-routing",{"title":372,"path":2254,"stem":2255,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Frecipes\u002Fvite-plugin","docs\u002F5.x\u002F3.guide\u002F5.recipes\u002F2.vite-plugin",{"title":376,"path":2257,"stem":2258,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Frecipes\u002Fcustom-usefetch","docs\u002F5.x\u002F3.guide\u002F5.recipes\u002F3.custom-usefetch",{"title":380,"path":2260,"stem":2261,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Frecipes\u002Fsessions-and-authentication","docs\u002F5.x\u002F3.guide\u002F5.recipes\u002F4.sessions-and-authentication",{"title":1403,"path":2263,"stem":2264,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Frecipes\u002Fmostly-static-sites","docs\u002F5.x\u002F3.guide\u002F5.recipes\u002F5.mostly-static-sites",{"title":384,"titleTemplate":385,"icon":386,"path":2266,"stem":2267,"children":2268,"page":108},"\u002Fdocs\u002F5.x\u002Fguide\u002Fgoing-further","docs\u002F5.x\u002F3.guide\u002F6.going-further",[2269,2272,2275,2278,2281,2284,2287,2290,2293,2296,2299],{"title":391,"path":2270,"stem":2271,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fgoing-further\u002Fevents","docs\u002F5.x\u002F3.guide\u002F6.going-further\u002F1.events",{"title":395,"path":2273,"stem":2274,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fgoing-further\u002Fexperimental-features","docs\u002F5.x\u002F3.guide\u002F6.going-further\u002F1.experimental-features",{"title":399,"path":2276,"stem":2277,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fgoing-further\u002Ffeatures","docs\u002F5.x\u002F3.guide\u002F6.going-further\u002F1.features",{"title":403,"path":2279,"stem":2280,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fgoing-further\u002Fruntime-config","docs\u002F5.x\u002F3.guide\u002F6.going-further\u002F10.runtime-config",{"title":407,"path":2282,"stem":2283,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fgoing-further\u002Fnightly-release-channel","docs\u002F5.x\u002F3.guide\u002F6.going-further\u002F11.nightly-release-channel",{"title":411,"path":2285,"stem":2286,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fgoing-further\u002Fhooks","docs\u002F5.x\u002F3.guide\u002F6.going-further\u002F2.hooks",{"title":415,"path":2288,"stem":2289,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fgoing-further\u002Fkit","docs\u002F5.x\u002F3.guide\u002F6.going-further\u002F4.kit",{"title":419,"path":2291,"stem":2292,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fgoing-further\u002Fnuxt-app","docs\u002F5.x\u002F3.guide\u002F6.going-further\u002F6.nuxt-app",{"title":423,"path":2294,"stem":2295,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fgoing-further\u002Flayers","docs\u002F5.x\u002F3.guide\u002F6.going-further\u002F7.layers",{"title":1438,"path":2297,"stem":2298,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fgoing-further\u002Fbuilders","docs\u002F5.x\u002F3.guide\u002F6.going-further\u002F8.builders",{"title":427,"path":2300,"stem":2301,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fgoing-further\u002Fdebugging","docs\u002F5.x\u002F3.guide\u002F6.going-further\u002F9.debugging",{"title":431,"titleTemplate":432,"icon":433,"path":2303,"stem":2304,"children":2305,"page":108},"\u002Fdocs\u002F5.x\u002Fapi","docs\u002F5.x\u002F4.api",[2306,2358,2461,2552,2622,2683,2693],{"title":438,"titleTemplate":439,"icon":324,"path":2307,"stem":2308,"children":2309,"page":108},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomponents","docs\u002F5.x\u002F4.api\u002F1.components",[2310,2313,2316,2319,2322,2325,2328,2331,2334,2337,2340,2343,2346,2349,2352,2355],{"title":444,"path":2311,"stem":2312,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomponents\u002Fclient-only","docs\u002F5.x\u002F4.api\u002F1.components\u002F1.client-only",{"title":448,"path":2314,"stem":2315,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomponents\u002Fdev-only","docs\u002F5.x\u002F4.api\u002F1.components\u002F1.dev-only",{"title":452,"path":2317,"stem":2318,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomponents\u002Fnuxt-client-fallback","docs\u002F5.x\u002F4.api\u002F1.components\u002F1.nuxt-client-fallback",{"title":456,"path":2320,"stem":2321,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomponents\u002Fnuxt-picture","docs\u002F5.x\u002F4.api\u002F1.components\u002F10.nuxt-picture",{"title":460,"path":2323,"stem":2324,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomponents\u002Fteleports","docs\u002F5.x\u002F4.api\u002F1.components\u002F11.teleports",{"title":464,"path":2326,"stem":2327,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomponents\u002Fnuxt-route-announcer","docs\u002F5.x\u002F4.api\u002F1.components\u002F12.nuxt-route-announcer",{"title":468,"path":2329,"stem":2330,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomponents\u002Fnuxt-time","docs\u002F5.x\u002F4.api\u002F1.components\u002F13.nuxt-time",{"title":1474,"path":2332,"stem":2333,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomponents\u002Fnuxt-announcer","docs\u002F5.x\u002F4.api\u002F1.components\u002F14.nuxt-announcer",{"title":472,"path":2335,"stem":2336,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomponents\u002Fnuxt-page","docs\u002F5.x\u002F4.api\u002F1.components\u002F2.nuxt-page",{"title":476,"path":2338,"stem":2339,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomponents\u002Fnuxt-layout","docs\u002F5.x\u002F4.api\u002F1.components\u002F3.nuxt-layout",{"title":480,"path":2341,"stem":2342,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomponents\u002Fnuxt-link","docs\u002F5.x\u002F4.api\u002F1.components\u002F4.nuxt-link",{"title":484,"path":2344,"stem":2345,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomponents\u002Fnuxt-loading-indicator","docs\u002F5.x\u002F4.api\u002F1.components\u002F5.nuxt-loading-indicator",{"title":488,"path":2347,"stem":2348,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomponents\u002Fnuxt-error-boundary","docs\u002F5.x\u002F4.api\u002F1.components\u002F6.nuxt-error-boundary",{"title":492,"path":2350,"stem":2351,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomponents\u002Fnuxt-welcome","docs\u002F5.x\u002F4.api\u002F1.components\u002F7.nuxt-welcome",{"title":496,"path":2353,"stem":2354,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomponents\u002Fnuxt-island","docs\u002F5.x\u002F4.api\u002F1.components\u002F8.nuxt-island",{"title":500,"path":2356,"stem":2357,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomponents\u002Fnuxt-img","docs\u002F5.x\u002F4.api\u002F1.components\u002F9.nuxt-img",{"title":504,"titleTemplate":505,"icon":506,"path":2359,"stem":2360,"children":2361,"page":108},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables","docs\u002F5.x\u002F4.api\u002F2.composables",[2362,2365,2368,2371,2374,2377,2380,2383,2386,2389,2392,2395,2398,2401,2404,2407,2410,2413,2416,2419,2422,2425,2428,2431,2434,2437,2440,2443,2446,2449,2452,2455,2458],{"title":1506,"path":2363,"stem":2364,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fcreate-use-async-data","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fcreate-use-async-data",{"title":1510,"path":2366,"stem":2367,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fcreate-use-fetch","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fcreate-use-fetch",{"title":511,"path":2369,"stem":2370,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fon-prehydrate","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fon-prehydrate",{"title":1517,"path":2372,"stem":2373,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-announcer","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-announcer",{"title":515,"path":2375,"stem":2376,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-app-config","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-app-config",{"title":519,"path":2378,"stem":2379,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-async-data","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-async-data",{"title":523,"path":2381,"stem":2382,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-cookie","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-cookie",{"title":527,"path":2384,"stem":2385,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-error","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-error",{"title":531,"path":2387,"stem":2388,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-fetch","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-fetch",{"title":535,"path":2390,"stem":2391,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-head","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-head",{"title":539,"path":2393,"stem":2394,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-head-safe","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-head-safe",{"title":543,"path":2396,"stem":2397,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-hydration","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-hydration",{"title":1545,"path":2399,"stem":2400,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-layout","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-layout",{"title":547,"path":2402,"stem":2403,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-lazy-async-data","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-lazy-async-data",{"title":551,"path":2405,"stem":2406,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-lazy-fetch","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-lazy-fetch",{"title":555,"path":2408,"stem":2409,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-loading-indicator","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-loading-indicator",{"title":559,"path":2411,"stem":2412,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-nuxt-app","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-nuxt-app",{"title":563,"path":2414,"stem":2415,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-nuxt-data","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-nuxt-data",{"title":567,"path":2417,"stem":2418,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-preview-mode","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-preview-mode",{"title":571,"path":2420,"stem":2421,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-request-event","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-request-event",{"title":575,"path":2423,"stem":2424,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-request-fetch","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-request-fetch",{"title":579,"path":2426,"stem":2427,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-request-header","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-request-header",{"title":583,"path":2429,"stem":2430,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-request-headers","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-request-headers",{"title":587,"path":2432,"stem":2433,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-request-url","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-request-url",{"title":591,"path":2435,"stem":2436,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-response-header","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-response-header",{"title":595,"path":2438,"stem":2439,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-route","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-route",{"title":599,"path":2441,"stem":2442,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-route-announcer","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-route-announcer",{"title":603,"path":2444,"stem":2445,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-router","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-router",{"title":607,"path":2447,"stem":2448,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-runtime-config","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-runtime-config",{"title":611,"path":2450,"stem":2451,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-runtime-hook","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-runtime-hook",{"title":615,"path":2453,"stem":2454,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-seo-meta","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-seo-meta",{"title":619,"path":2456,"stem":2457,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-server-seo-meta","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-server-seo-meta",{"title":623,"path":2459,"stem":2460,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-state","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-state",{"title":627,"titleTemplate":628,"icon":629,"path":2462,"stem":2463,"children":2464,"page":108},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils","docs\u002F5.x\u002F4.api\u002F3.utils",[2465,2468,2471,2474,2477,2480,2483,2486,2489,2492,2495,2498,2501,2504,2507,2510,2513,2516,2519,2522,2525,2528,2531,2534,2537,2540,2543,2546,2549],{"title":634,"path":2466,"stem":2467,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fdollarfetch","docs\u002F5.x\u002F4.api\u002F3.utils\u002F$fetch",{"title":638,"path":2469,"stem":2470,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fabort-navigation","docs\u002F5.x\u002F4.api\u002F3.utils\u002Fabort-navigation",{"title":642,"path":2472,"stem":2473,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fadd-route-middleware","docs\u002F5.x\u002F4.api\u002F3.utils\u002Fadd-route-middleware",{"title":646,"path":2475,"stem":2476,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fcall-once","docs\u002F5.x\u002F4.api\u002F3.utils\u002Fcall-once",{"title":650,"path":2478,"stem":2479,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fclear-error","docs\u002F5.x\u002F4.api\u002F3.utils\u002Fclear-error",{"title":654,"path":2481,"stem":2482,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fclear-nuxt-data","docs\u002F5.x\u002F4.api\u002F3.utils\u002Fclear-nuxt-data",{"title":658,"path":2484,"stem":2485,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fclear-nuxt-state","docs\u002F5.x\u002F4.api\u002F3.utils\u002Fclear-nuxt-state",{"title":662,"path":2487,"stem":2488,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fcreate-error","docs\u002F5.x\u002F4.api\u002F3.utils\u002Fcreate-error",{"title":666,"path":2490,"stem":2491,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fdefine-lazy-hydration-component","docs\u002F5.x\u002F4.api\u002F3.utils\u002Fdefine-lazy-hydration-component",{"title":670,"path":2493,"stem":2494,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fdefine-nuxt-component","docs\u002F5.x\u002F4.api\u002F3.utils\u002Fdefine-nuxt-component",{"title":674,"path":2496,"stem":2497,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fdefine-nuxt-plugin","docs\u002F5.x\u002F4.api\u002F3.utils\u002Fdefine-nuxt-plugin",{"title":678,"path":2499,"stem":2500,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fdefine-nuxt-route-middleware","docs\u002F5.x\u002F4.api\u002F3.utils\u002Fdefine-nuxt-route-middleware",{"title":682,"path":2502,"stem":2503,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fdefine-page-meta","docs\u002F5.x\u002F4.api\u002F3.utils\u002Fdefine-page-meta",{"title":686,"path":2505,"stem":2506,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fdefine-route-rules","docs\u002F5.x\u002F4.api\u002F3.utils\u002Fdefine-route-rules",{"title":690,"path":2508,"stem":2509,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fnavigate-to","docs\u002F5.x\u002F4.api\u002F3.utils\u002Fnavigate-to",{"title":694,"path":2511,"stem":2512,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fon-before-route-leave","docs\u002F5.x\u002F4.api\u002F3.utils\u002Fon-before-route-leave",{"title":698,"path":2514,"stem":2515,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fon-before-route-update","docs\u002F5.x\u002F4.api\u002F3.utils\u002Fon-before-route-update",{"title":702,"path":2517,"stem":2518,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fon-nuxt-ready","docs\u002F5.x\u002F4.api\u002F3.utils\u002Fon-nuxt-ready",{"title":706,"path":2520,"stem":2521,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fprefetch-components","docs\u002F5.x\u002F4.api\u002F3.utils\u002Fprefetch-components",{"title":710,"path":2523,"stem":2524,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fpreload-components","docs\u002F5.x\u002F4.api\u002F3.utils\u002Fpreload-components",{"title":714,"path":2526,"stem":2527,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fpreload-route-components","docs\u002F5.x\u002F4.api\u002F3.utils\u002Fpreload-route-components",{"title":718,"path":2529,"stem":2530,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fprerender-routes","docs\u002F5.x\u002F4.api\u002F3.utils\u002Fprerender-routes",{"title":722,"path":2532,"stem":2533,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Frefresh-cookie","docs\u002F5.x\u002F4.api\u002F3.utils\u002Frefresh-cookie",{"title":726,"path":2535,"stem":2536,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Frefresh-nuxt-data","docs\u002F5.x\u002F4.api\u002F3.utils\u002Frefresh-nuxt-data",{"title":730,"path":2538,"stem":2539,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Freload-nuxt-app","docs\u002F5.x\u002F4.api\u002F3.utils\u002Freload-nuxt-app",{"title":734,"path":2541,"stem":2542,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fset-page-layout","docs\u002F5.x\u002F4.api\u002F3.utils\u002Fset-page-layout",{"title":738,"path":2544,"stem":2545,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fset-response-status","docs\u002F5.x\u002F4.api\u002F3.utils\u002Fset-response-status",{"title":742,"path":2547,"stem":2548,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fshow-error","docs\u002F5.x\u002F4.api\u002F3.utils\u002Fshow-error",{"title":746,"path":2550,"stem":2551,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fupdate-app-config","docs\u002F5.x\u002F4.api\u002F3.utils\u002Fupdate-app-config",{"title":750,"titleTemplate":751,"icon":752,"path":2553,"stem":2554,"children":2555,"page":108},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcommands","docs\u002F5.x\u002F4.api\u002F4.commands",[2556,2559,2562,2565,2568,2571,2574,2577,2581,2584,2587,2591,2594,2597,2600,2603,2606,2609,2613,2616,2619],{"title":757,"path":2557,"stem":2558,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcommands\u002Foverview","docs\u002F5.x\u002F4.api\u002F4.commands\u002F1.overview",{"title":761,"path":2560,"stem":2561,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcommands\u002Fadd","docs\u002F5.x\u002F4.api\u002F4.commands\u002Fadd",{"title":765,"path":2563,"stem":2564,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcommands\u002Fadd-template","docs\u002F5.x\u002F4.api\u002F4.commands\u002Fadd-template",{"title":769,"path":2566,"stem":2567,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcommands\u002Fanalyze","docs\u002F5.x\u002F4.api\u002F4.commands\u002Fanalyze",{"title":773,"path":2569,"stem":2570,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcommands\u002Fbuild","docs\u002F5.x\u002F4.api\u002F4.commands\u002Fbuild",{"title":777,"path":2572,"stem":2573,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcommands\u002Fbuild-module","docs\u002F5.x\u002F4.api\u002F4.commands\u002Fbuild-module",{"title":781,"path":2575,"stem":2576,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcommands\u002Fcleanup","docs\u002F5.x\u002F4.api\u002F4.commands\u002Fcleanup",{"title":2578,"path":2579,"stem":2580,"titleTemplate":6},"nuxt curl","\u002Fdocs\u002F5.x\u002Fapi\u002Fcommands\u002Fcurl","docs\u002F5.x\u002F4.api\u002F4.commands\u002Fcurl",{"title":785,"path":2582,"stem":2583,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcommands\u002Fdev","docs\u002F5.x\u002F4.api\u002F4.commands\u002Fdev",{"title":789,"path":2585,"stem":2586,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcommands\u002Fdevtools","docs\u002F5.x\u002F4.api\u002F4.commands\u002Fdevtools",{"title":2588,"path":2589,"stem":2590,"titleTemplate":6},"nuxt docs","\u002Fdocs\u002F5.x\u002Fapi\u002Fcommands\u002Fdocs","docs\u002F5.x\u002F4.api\u002F4.commands\u002Fdocs",{"title":793,"path":2592,"stem":2593,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcommands\u002Fgenerate","docs\u002F5.x\u002F4.api\u002F4.commands\u002Fgenerate",{"title":797,"path":2595,"stem":2596,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcommands\u002Finfo","docs\u002F5.x\u002F4.api\u002F4.commands\u002Finfo",{"title":801,"path":2598,"stem":2599,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcommands\u002Finit","docs\u002F5.x\u002F4.api\u002F4.commands\u002Finit",{"title":805,"path":2601,"stem":2602,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcommands\u002Fmodule","docs\u002F5.x\u002F4.api\u002F4.commands\u002Fmodule",{"title":809,"path":2604,"stem":2605,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcommands\u002Fprepare","docs\u002F5.x\u002F4.api\u002F4.commands\u002Fprepare",{"title":813,"path":2607,"stem":2608,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcommands\u002Fpreview","docs\u002F5.x\u002F4.api\u002F4.commands\u002Fpreview",{"title":2610,"path":2611,"stem":2612,"titleTemplate":6},"nuxt task","\u002Fdocs\u002F5.x\u002Fapi\u002Fcommands\u002Ftask","docs\u002F5.x\u002F4.api\u002F4.commands\u002Ftask",{"title":817,"path":2614,"stem":2615,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcommands\u002Ftest","docs\u002F5.x\u002F4.api\u002F4.commands\u002Ftest",{"title":821,"path":2617,"stem":2618,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcommands\u002Ftypecheck","docs\u002F5.x\u002F4.api\u002F4.commands\u002Ftypecheck",{"title":825,"path":2620,"stem":2621,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcommands\u002Fupgrade","docs\u002F5.x\u002F4.api\u002F4.commands\u002Fupgrade",{"title":415,"titleTemplate":829,"icon":830,"path":2623,"stem":2624,"children":2625,"page":108},"\u002Fdocs\u002F5.x\u002Fapi\u002Fkit","docs\u002F5.x\u002F4.api\u002F5.kit",[2626,2629,2632,2635,2638,2641,2644,2647,2650,2653,2656,2659,2662,2665,2668,2671,2674,2677,2680],{"title":276,"path":2627,"stem":2628,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fkit\u002Fmodules","docs\u002F5.x\u002F4.api\u002F5.kit\u002F1.modules",{"title":403,"path":2630,"stem":2631,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fkit\u002Fruntime-config","docs\u002F5.x\u002F4.api\u002F5.kit\u002F10.runtime-config",{"title":841,"path":2633,"stem":2634,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fkit\u002Ftemplates","docs\u002F5.x\u002F4.api\u002F5.kit\u002F10.templates",{"title":1771,"path":2636,"stem":2637,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fkit\u002Fapp-config","docs\u002F5.x\u002F4.api\u002F5.kit\u002F11.app-config",{"title":845,"path":2639,"stem":2640,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fkit\u002Fnitro","docs\u002F5.x\u002F4.api\u002F5.kit\u002F12.nitro",{"title":849,"path":2642,"stem":2643,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fkit\u002Fresolving","docs\u002F5.x\u002F4.api\u002F5.kit\u002F13.resolving",{"title":853,"path":2645,"stem":2646,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fkit\u002Flogging","docs\u002F5.x\u002F4.api\u002F5.kit\u002F14.logging",{"title":857,"path":2648,"stem":2649,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fkit\u002Fbuilder","docs\u002F5.x\u002F4.api\u002F5.kit\u002F15.builder",{"title":861,"path":2651,"stem":2652,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fkit\u002Fexamples","docs\u002F5.x\u002F4.api\u002F5.kit\u002F16.examples",{"title":84,"path":2654,"stem":2655,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fkit\u002Flayers","docs\u002F5.x\u002F4.api\u002F5.kit\u002F17.layers",{"title":868,"path":2657,"stem":2658,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fkit\u002Fprogrammatic","docs\u002F5.x\u002F4.api\u002F5.kit\u002F2.programmatic",{"title":872,"path":2660,"stem":2661,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fkit\u002Fcompatibility","docs\u002F5.x\u002F4.api\u002F5.kit\u002F3.compatibility",{"title":268,"path":2663,"stem":2664,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fkit\u002Fautoimports","docs\u002F5.x\u002F4.api\u002F5.kit\u002F4.autoimports",{"title":438,"path":2666,"stem":2667,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fkit\u002Fcomponents","docs\u002F5.x\u002F4.api\u002F5.kit\u002F5.components",{"title":882,"path":2669,"stem":2670,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fkit\u002Fcontext","docs\u002F5.x\u002F4.api\u002F5.kit\u002F6.context",{"title":886,"path":2672,"stem":2673,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fkit\u002Fpages","docs\u002F5.x\u002F4.api\u002F5.kit\u002F7.pages",{"title":890,"path":2675,"stem":2676,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fkit\u002Flayout","docs\u002F5.x\u002F4.api\u002F5.kit\u002F8.layout",{"title":894,"path":2678,"stem":2679,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fkit\u002Fhead","docs\u002F5.x\u002F4.api\u002F5.kit\u002F9.head",{"title":898,"path":2681,"stem":2682,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fkit\u002Fplugins","docs\u002F5.x\u002F4.api\u002F5.kit\u002F9.plugins",{"title":902,"titleTemplate":6,"icon":903,"path":2684,"stem":2685,"children":2686,"page":108},"\u002Fdocs\u002F5.x\u002Fapi\u002Fadvanced","docs\u002F5.x\u002F4.api\u002F6.advanced",[2687,2690],{"title":411,"path":2688,"stem":2689,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fadvanced\u002Fhooks","docs\u002F5.x\u002F4.api\u002F6.advanced\u002F1.hooks",{"title":911,"path":2691,"stem":2692,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fadvanced\u002Fimport-meta","docs\u002F5.x\u002F4.api\u002F6.advanced\u002F2.import-meta",{"title":915,"path":2694,"stem":2695,"titleTemplate":918,"icon":32},"\u002Fdocs\u002F5.x\u002Fapi\u002Fnuxt-config","docs\u002F5.x\u002F4.api\u002F6.nuxt-config",{"title":861,"titleTemplate":920,"icon":921,"path":2697,"stem":2698,"children":2699,"page":108},"\u002Fdocs\u002F5.x\u002Fexamples","docs\u002F5.x\u002F4.examples",[2700,2703,2722,2735,2766],{"title":926,"path":2701,"stem":2702,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fexamples\u002Fhello-world","docs\u002F5.x\u002F4.examples\u002F0.hello-world",{"title":399,"path":2704,"stem":2705,"children":2706,"page":108},"\u002Fdocs\u002F5.x\u002Fexamples\u002Ffeatures","docs\u002F5.x\u002F4.examples\u002F1.features",[2707,2710,2713,2716,2719],{"title":934,"path":2708,"stem":2709,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fexamples\u002Ffeatures\u002Fauto-imports","docs\u002F5.x\u002F4.examples\u002F1.features\u002F1.auto-imports",{"title":64,"path":2711,"stem":2712,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fexamples\u002Ffeatures\u002Fdata-fetching","docs\u002F5.x\u002F4.examples\u002F1.features\u002F2.data-fetching",{"title":69,"path":2714,"stem":2715,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fexamples\u002Ffeatures\u002Fstate-management","docs\u002F5.x\u002F4.examples\u002F1.features\u002F3.state-management",{"title":944,"path":2717,"stem":2718,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fexamples\u002Ffeatures\u002Fmeta-tags","docs\u002F5.x\u002F4.examples\u002F1.features\u002F4.meta-tags",{"title":948,"path":2720,"stem":2721,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fexamples\u002Ffeatures\u002Flayouts","docs\u002F5.x\u002F4.examples\u002F1.features\u002F5.layouts",{"title":49,"path":2723,"stem":2724,"children":2725,"page":108},"\u002Fdocs\u002F5.x\u002Fexamples\u002Frouting","docs\u002F5.x\u002F4.examples\u002F2.routing",[2726,2729,2732],{"title":956,"path":2727,"stem":2728,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fexamples\u002Frouting\u002Fmiddleware","docs\u002F5.x\u002F4.examples\u002F2.routing\u002Fmiddleware",{"title":886,"path":2730,"stem":2731,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fexamples\u002Frouting\u002Fpages","docs\u002F5.x\u002F4.examples\u002F2.routing\u002Fpages",{"title":963,"path":2733,"stem":2734,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fexamples\u002Frouting\u002Funiversal-router","docs\u002F5.x\u002F4.examples\u002F2.routing\u002Funiversal-router",{"title":902,"path":2736,"stem":2737,"children":2738,"page":108},"\u002Fdocs\u002F5.x\u002Fexamples\u002Fadvanced","docs\u002F5.x\u002F4.examples\u002F4.advanced",[2739,2742,2745,2748,2751,2754,2757,2760,2763],{"title":84,"path":2740,"stem":2741,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fexamples\u002Fadvanced\u002Fconfig-extends","docs\u002F5.x\u002F4.examples\u002F4.advanced\u002Fconfig-extends",{"title":74,"path":2743,"stem":2744,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fexamples\u002Fadvanced\u002Ferror-handling","docs\u002F5.x\u002F4.examples\u002F4.advanced\u002Ferror-handling",{"title":977,"path":2746,"stem":2747,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fexamples\u002Fadvanced\u002Fjsx","docs\u002F5.x\u002F4.examples\u002F4.advanced\u002Fjsx",{"title":981,"path":2749,"stem":2750,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fexamples\u002Fadvanced\u002Flocale","docs\u002F5.x\u002F4.examples\u002F4.advanced\u002Flocale",{"title":985,"path":2752,"stem":2753,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fexamples\u002Fadvanced\u002Fmodule-extend-pages","docs\u002F5.x\u002F4.examples\u002F4.advanced\u002Fmodule-extend-pages",{"title":989,"path":2755,"stem":2756,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fexamples\u002Fadvanced\u002Fteleport","docs\u002F5.x\u002F4.examples\u002F4.advanced\u002Fteleport",{"title":99,"path":2758,"stem":2759,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fexamples\u002Fadvanced\u002Ftesting","docs\u002F5.x\u002F4.examples\u002F4.advanced\u002Ftesting",{"title":523,"path":2761,"stem":2762,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fexamples\u002Fadvanced\u002Fuse-cookie","docs\u002F5.x\u002F4.examples\u002F4.advanced\u002Fuse-cookie",{"title":999,"path":2764,"stem":2765,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fexamples\u002Fadvanced\u002Fuse-custom-fetch-composable","docs\u002F5.x\u002F4.examples\u002F4.advanced\u002Fuse-custom-fetch-composable",{"title":1003,"path":2767,"stem":2768,"children":2769,"page":108},"\u002Fdocs\u002F5.x\u002Fexamples\u002Fexperimental","docs\u002F5.x\u002F4.examples\u002F7.experimental",[2770],{"title":1008,"path":2771,"stem":2772,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fexamples\u002Fexperimental\u002Fwasm","docs\u002F5.x\u002F4.examples\u002F7.experimental\u002Fwasm",{"title":1012,"titleTemplate":1013,"icon":1014,"path":2774,"stem":2775,"children":2776,"page":108},"\u002Fdocs\u002F5.x\u002Fcommunity","docs\u002F5.x\u002F5.community",[2777,2780,2783,2786,2789,2792],{"title":1019,"path":2778,"stem":2779,"titleTemplate":6,"icon":1022},"\u002Fdocs\u002F5.x\u002Fcommunity\u002Fgetting-help","docs\u002F5.x\u002F5.community\u002F2.getting-help",{"title":1024,"path":2781,"stem":2782,"titleTemplate":6,"icon":1027},"\u002Fdocs\u002F5.x\u002Fcommunity\u002Freporting-bugs","docs\u002F5.x\u002F5.community\u002F3.reporting-bugs",{"title":1029,"path":2784,"stem":2785,"titleTemplate":6,"icon":1032},"\u002Fdocs\u002F5.x\u002Fcommunity\u002Fcontribution","docs\u002F5.x\u002F5.community\u002F4.contribution",{"title":1034,"path":2787,"stem":2788,"titleTemplate":6,"icon":1037},"\u002Fdocs\u002F5.x\u002Fcommunity\u002Fframework-contribution","docs\u002F5.x\u002F5.community\u002F5.framework-contribution",{"title":1039,"path":2790,"stem":2791,"titleTemplate":6,"icon":1042},"\u002Fdocs\u002F5.x\u002Fcommunity\u002Froadmap","docs\u002F5.x\u002F5.community\u002F6.roadmap",{"title":1044,"path":2793,"stem":2794,"titleTemplate":6,"icon":1047},"\u002Fdocs\u002F5.x\u002Fcommunity\u002Fchangelog","docs\u002F5.x\u002F5.community\u002F7.changelog",{"title":1049,"titleTemplate":1050,"icon":1051,"path":2796,"stem":2797,"children":2798,"page":108},"\u002Fdocs\u002F5.x\u002Fbridge","docs\u002F5.x\u002F6.bridge",[2799,2802,2805,2808,2811,2814,2817,2820,2823,2826],{"title":1056,"path":2800,"stem":2801,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fbridge\u002Foverview","docs\u002F5.x\u002F6.bridge\u002F1.overview",{"title":29,"path":2803,"stem":2804,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fbridge\u002Fconfiguration","docs\u002F5.x\u002F6.bridge\u002F10.configuration",{"title":280,"path":2806,"stem":2807,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fbridge\u002Ftypescript","docs\u002F5.x\u002F6.bridge\u002F2.typescript",{"title":1066,"path":2809,"stem":2810,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fbridge\u002Fbridge-composition-api","docs\u002F5.x\u002F6.bridge\u002F3.bridge-composition-api",{"title":1070,"path":2812,"stem":2813,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fbridge\u002Fplugins-and-middleware","docs\u002F5.x\u002F6.bridge\u002F4.plugins-and-middleware",{"title":1074,"path":2815,"stem":2816,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fbridge\u002Fnuxt3-compatible-api","docs\u002F5.x\u002F6.bridge\u002F5.nuxt3-compatible-api",{"title":944,"path":2818,"stem":2819,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fbridge\u002Fmeta","docs\u002F5.x\u002F6.bridge\u002F6.meta",{"title":403,"path":2821,"stem":2822,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fbridge\u002Fruntime-config","docs\u002F5.x\u002F6.bridge\u002F7.runtime-config",{"title":845,"path":2824,"stem":2825,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fbridge\u002Fnitro","docs\u002F5.x\u002F6.bridge\u002F8.nitro",{"title":1087,"path":2827,"stem":2828,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fbridge\u002Fvite","docs\u002F5.x\u002F6.bridge\u002F9.vite",{"title":1091,"titleTemplate":1092,"icon":107,"path":2830,"stem":2831,"children":2832,"page":108},"\u002Fdocs\u002F5.x\u002Fmigration","docs\u002F5.x\u002F7.migration",[2833,2836,2839,2842,2845,2848,2851,2854,2857,2860,2863],{"title":1056,"path":2834,"stem":2835,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fmigration\u002Foverview","docs\u002F5.x\u002F7.migration\u002F1.overview",{"title":1100,"path":2837,"stem":2838,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fmigration\u002Fbundling","docs\u002F5.x\u002F7.migration\u002F10.bundling",{"title":79,"path":2840,"stem":2841,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fmigration\u002Fserver","docs\u002F5.x\u002F7.migration\u002F11.server",{"title":29,"path":2843,"stem":2844,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fmigration\u002Fconfiguration","docs\u002F5.x\u002F7.migration\u002F2.configuration",{"title":276,"path":2846,"stem":2847,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fmigration\u002Fmodule-authors","docs\u002F5.x\u002F7.migration\u002F20.module-authors",{"title":934,"path":2849,"stem":2850,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fmigration\u002Fauto-imports","docs\u002F5.x\u002F7.migration\u002F3.auto-imports",{"title":944,"path":2852,"stem":2853,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fmigration\u002Fmeta","docs\u002F5.x\u002F7.migration\u002F4.meta",{"title":1070,"path":2855,"stem":2856,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fmigration\u002Fplugins-and-middleware","docs\u002F5.x\u002F7.migration\u002F5.plugins-and-middleware",{"title":1122,"path":2858,"stem":2859,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fmigration\u002Fpages-and-layouts","docs\u002F5.x\u002F7.migration\u002F6.pages-and-layouts",{"title":1126,"path":2861,"stem":2862,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fmigration\u002Fcomponent-options","docs\u002F5.x\u002F7.migration\u002F7.component-options",{"title":403,"path":2864,"stem":2865,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fmigration\u002Fruntime-config","docs\u002F5.x\u002F7.migration\u002F8.runtime-config",{"title":2867,"icon":2868,"path":2869,"stem":2870,"children":2871,"page":108},"Blog","i-lucide-newspaper","\u002Fblog","blog",[2872,2876,2880,2884,2888,2892,2896,2900,2904,2908,2912,2916,2920,2924,2928,2932,2936,2940,2944,2948,2952,2956,2960,2964,2968,2972,2976,2980,2984,2988,2992,2996,3000,3004,3008,3012,3016,3020,3024,3028,3032,3036,3040,3044,3048,3052,3056,3060,3064,3068],{"title":2873,"path":2874,"stem":2875},"Announcing 3.0","\u002Fblog\u002Fv3","blog\u002F1.v3",{"title":2877,"path":2878,"stem":2879},"Nuxt 3.3","\u002Fblog\u002Fv3-3","blog\u002F10.v3-3",{"title":2881,"path":2882,"stem":2883},"Nuxt 3.4","\u002Fblog\u002Fv3-4","blog\u002F11.v3-4",{"title":2885,"path":2886,"stem":2887},"Nuxt 3.5","\u002Fblog\u002Fv3-5","blog\u002F12.v3-5",{"title":2889,"path":2890,"stem":2891},"Nuxt 3.6","\u002Fblog\u002Fv3-6","blog\u002F13.v3-6",{"title":2893,"path":2894,"stem":2895},"Nuxt on the Edge","\u002Fblog\u002Fnuxt-on-the-edge","blog\u002F14.nuxt-on-the-edge",{"title":2897,"path":2898,"stem":2899},"Nuxt 3.7","\u002Fblog\u002Fv3-7","blog\u002F15.v3-7",{"title":2901,"path":2902,"stem":2903},"A New Website","\u002Fblog\u002Fnew-website","blog\u002F16.new-website",{"title":2905,"path":2906,"stem":2907},"Nuxt 3.8","\u002Fblog\u002Fv3-8","blog\u002F17.v3-8",{"title":2909,"path":2910,"stem":2911},"Nuxt DevTools v1.0","\u002Fblog\u002Fnuxt-devtools-v1-0","blog\u002F18.nuxt-devtools-v1-0",{"title":2913,"path":2914,"stem":2915},"Nuxt 3.9","\u002Fblog\u002Fv3-9","blog\u002F19.v3-9",{"title":2917,"path":2918,"stem":2919},"Nuxt: A vision for 2023","\u002Fblog\u002Fvision-2023","blog\u002F2.vision-2023",{"title":2921,"path":2922,"stem":2923},"Nuxt 3.10","\u002Fblog\u002Fv3-10","blog\u002F20.v3-10",{"title":2925,"path":2926,"stem":2927},"The Evolution of Shiki v1.0","\u002Fblog\u002Fshiki-v1","blog\u002F21.shiki-v1",{"title":2929,"path":2930,"stem":2931},"Nuxt 3.11","\u002Fblog\u002Fv3-11","blog\u002F22.v3-11",{"title":2933,"path":2934,"stem":2935},"Nuxt: Looking forward","\u002Fblog\u002Flooking-forward-2024","blog\u002F23.looking-forward-2024",{"title":2937,"path":2938,"stem":2939},"Refreshed Nuxt ESLint Integrations","\u002Fblog\u002Feslint-module","blog\u002F24.eslint-module",{"title":2941,"path":2942,"stem":2943},"Nuxt 3.12","\u002Fblog\u002Fv3-12","blog\u002F25.v3-12",{"title":2945,"path":2946,"stem":2947},"Introducing Nuxt Scripts","\u002Fblog\u002Fnuxt-scripts","blog\u002F26.nuxt-scripts",{"title":2949,"path":2950,"stem":2951},"Nuxt 3.13","\u002Fblog\u002Fv3-13","blog\u002F27.v3-13",{"title":2953,"path":2954,"stem":2955},"Nuxt 3.14","\u002Fblog\u002Fv3-14","blog\u002F27.v3-14",{"title":2957,"path":2958,"stem":2959},"Introducing Nuxt Icon v1","\u002Fblog\u002Fnuxt-icon-v1-0","blog\u002F29.nuxt-icon-v1-0",{"title":2961,"path":2962,"stem":2963},"Introducing Nuxt DevTools","\u002Fblog\u002Fintroducing-nuxt-devtools","blog\u002F3.introducing-nuxt-devtools",{"title":2965,"path":2966,"stem":2967},"Announcing Nuxt 3 Release Candidate","\u002Fblog\u002Fnuxt3-rc","blog\u002F3.nuxt3-rc",{"title":2969,"path":2970,"stem":2971},"Nuxt 3.15","\u002Fblog\u002Fv3-15","blog\u002F30.v3-15",{"title":2973,"path":2974,"stem":2975},"Nuxt 3.16","\u002Fblog\u002Fv3-16","blog\u002F31.v3-16",{"title":2977,"path":2978,"stem":2979},"Nuxt UI v3","\u002Fblog\u002Fnuxt-ui-v3","blog\u002F32.nuxt-ui-v3",{"title":2981,"path":2982,"stem":2983},"Nuxt 3.17","\u002Fblog\u002Fv3-17","blog\u002F33.v3-17",{"title":2985,"path":2986,"stem":2987},"Roadmap to v4","\u002Fblog\u002Froadmap-v4","blog\u002F34.roadmap-v4",{"title":2989,"path":2990,"stem":2991},"Building a Privacy-First Feedback Widget","\u002Fblog\u002Fbuilding-a-feedback-widget","blog\u002F35.building-a-feedback-widget",{"title":2993,"path":2994,"stem":2995},"Announcing Nuxt 4.0","\u002Fblog\u002Fv4","blog\u002F36.v4",{"title":2997,"path":2998,"stem":2999},"Nuxt 3.18","\u002Fblog\u002Fv3-18","blog\u002F37.v3-18",{"title":3001,"path":3002,"stem":3003},"Nuxt 4.1","\u002Fblog\u002Fv4-1","blog\u002F38.v4-1",{"title":3005,"path":3006,"stem":3007},"Nuxt UI v4","\u002Fblog\u002Fnuxt-ui-v4","blog\u002F39.nuxt-ui-v4",{"title":3009,"path":3010,"stem":3011},"Nuxt 2 End-of-Life (EOL)","\u002Fblog\u002Fnuxt2-eol","blog\u002F4.nuxt2-eol",{"title":3013,"path":3014,"stem":3015},"Introducing Nuxt 3 Beta","\u002Fblog\u002Fnuxt3-beta","blog\u002F4.nuxt3-beta",{"title":3017,"path":3018,"stem":3019},"Building an MCP Server for Nuxt","\u002Fblog\u002Fbuilding-nuxt-mcp","blog\u002F40.building-nuxt-mcp",{"title":3021,"path":3022,"stem":3023},"Nuxt 4.2","\u002Fblog\u002Fv4-2","blog\u002F40.v4-2",{"title":3025,"path":3026,"stem":3027},"Nuxt Image v2","\u002Fblog\u002Fnuxt-image-v2","blog\u002F41.nuxt-image-v2",{"title":3029,"path":3030,"stem":3031},"Nuxt 4.3","\u002Fblog\u002Fv4-3","blog\u002F42.v4-3",{"title":3033,"path":3034,"stem":3035},"Nuxt 4.4","\u002Fblog\u002Fv4-4","blog\u002F43.v4-4",{"title":3037,"path":3038,"stem":3039},"Introducing the Nuxt Agent","\u002Fblog\u002Fintroducing-nuxt-agent","blog\u002F44.introducing-nuxt-agent",{"title":3041,"path":3042,"stem":3043},"Meet Nuxi","\u002Fblog\u002Fmeet-nuxi","blog\u002F45.meet-nuxi",{"title":3045,"path":3046,"stem":3047},"Nuxt 4.5","\u002Fblog\u002Fv4-5","blog\u002F46.v4-5",{"title":3049,"path":3050,"stem":3051},"Nuxt Security Patch Releases","\u002Fblog\u002Fv4-5-security","blog\u002F47.v4-5-security",{"title":3053,"path":3054,"stem":3055},"Going Full Static","\u002Fblog\u002Fgoing-full-static","blog\u002F5.going-full-static",{"title":3057,"path":3058,"stem":3059},"Introducing Smart Prefetching","\u002Fblog\u002Fintroducing-smart-prefetching","blog\u002F6.introducing-smart-prefetching",{"title":3061,"path":3062,"stem":3063},"Understanding how fetch works in Nuxt 2.12","\u002Fblog\u002Funderstanding-how-fetch-works-in-nuxt-2-12","blog\u002F7.understanding-how-fetch-works-in-nuxt-2-12",{"title":3065,"path":3066,"stem":3067},"Nuxt 2 Static Improvements","\u002Fblog\u002Fnuxt-static-improvements","blog\u002F8.nuxt-static-improvements",{"title":3069,"path":3070,"stem":3071},"Nuxt 2: From Terminal to Browser","\u002Fblog\u002Fnuxtjs-from-terminal-to-browser","blog\u002F9.nuxtjs-from-terminal-to-browser",{"v5":3073,"v4":3074,"v3":3075,"v2":3076},"5 (nightly)","4.5.2","3.21.11","2.18.1",{"id":3078,"title":104,"body":3079,"description":7918,"extension":7919,"links":6,"meta":7920,"minimalVersion":6,"navigation":7921,"path":2062,"seo":7922,"stem":2063,"titleTemplate":6,"__hash__":7923},"docsv5\u002Fdocs\u002F5.x\u002F1.getting-started\u002F18.upgrade.md",{"type":3080,"value":3081,"toc":7881},"minimark",[3082,3087,3092,3108,3199,3202,3209,3213,3221,3225,3232,3239,3311,3321,3495,3504,3507,3513,3520,3525,3547,3556,3560,3563,3648,3662,3666,3670,3673,3687,3690,3693,3756,3763,3768,3771,3788,3804,3831,3844,3953,3957,3962,3965,3970,3978,4001,4016,4023,4028,4031,4062,4068,4073,4088,4095,4103,4108,4174,4184,4195,4199,4203,4206,4215,4222,4231,4236,4292,4295,4298,4312,4315,4320,4330,4772,4776,4790,5108,5115,5119,5123,5126,5141,5155,5158,5201,5206,5210,5215,5218,5246,5252,5257,5263,5266,5270,5280,5345,5360,5363,5382,5388,5425,5442,5445,5488,5501,5547,5558,5567,5583,5586,5614,5652,5656,5662,5667,5722,5727,5800,5810,5819,5847,5856,5859,5905,5909,5957,5964,5968,5971,5996,5999,6009,6018,6021,6024,6030,6059,6068,6075,6079,6082,6097,6110,6113,6127,6146,6149,6152,6180,6194,6250,6257,6261,6264,6280,6283,6286,6295,6298,6309,6373,6376,6379,6386,6390,6393,6406,6451,6458,6461,6464,6467,6475,6530,6533,6574,6589,6600,6663,6672,6680,6684,6687,6697,6700,6719,6722,6734,6740,6744,6747,6768,6790,6796,6799,6808,6811,6824,6843,6862,6877,6886,6934,6938,6942,6945,6965,6968,6978,6981,7000,7054,7065,7071,7117,7121,7125,7128,7142,7152,7155,7158,7161,7168,7191,7269,7273,7277,7280,7296,7299,7306,7309,7318,7365,7383,7387,7391,7394,7415,7418,7425,7428,7438,7449,7452,7498,7505,7509,7512,7533,7536,7564,7567,7573,7576,7584,7612,7619,7731,7737,7743,7747,7750,7760,7763,7773,7776,7782,7878],[3083,3084,3086],"h2",{"id":3085},"upgrading-nuxt","Upgrading Nuxt",[3088,3089,3091],"h3",{"id":3090},"latest-release","Latest release",[3093,3094,3095,3096,3103,3104,3107],"p",{},"To upgrade Nuxt to the ",[3097,3098,3102],"a",{"href":3099,"rel":3100},"https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fnuxt\u002Freleases",[3101],"nofollow","latest release",", use the ",[3105,3106,825],"code",{}," command.",[3109,3110,3112,3138,3152,3166,3183],"code-group",{"sync":3111},"pm",[3113,3114,3120],"pre",{"className":3115,"code":3116,"filename":3117,"language":3118,"meta":3119,"style":3119},"language-bash shiki shiki-themes material-theme-lighter material-theme-lighter material-theme-palenight","npx nuxt upgrade\n","npm","bash","",[3105,3121,3122],{"__ignoreMap":3119},[3123,3124,3127,3131,3135],"span",{"class":3125,"line":3126},"line",1,[3123,3128,3130],{"class":3129},"s52Pk","npx",[3123,3132,3134],{"class":3133},"sGFVr"," nuxt",[3123,3136,3137],{"class":3133}," upgrade\n",[3113,3139,3142],{"className":3115,"code":3140,"filename":3141,"language":3118,"meta":3119,"style":3119},"yarn nuxt upgrade\n","yarn",[3105,3143,3144],{"__ignoreMap":3119},[3123,3145,3146,3148,3150],{"class":3125,"line":3126},[3123,3147,3141],{"class":3129},[3123,3149,3134],{"class":3133},[3123,3151,3137],{"class":3133},[3113,3153,3156],{"className":3115,"code":3154,"filename":3155,"language":3118,"meta":3119,"style":3119},"pnpm nuxt upgrade\n","pnpm",[3105,3157,3158],{"__ignoreMap":3119},[3123,3159,3160,3162,3164],{"class":3125,"line":3126},[3123,3161,3155],{"class":3129},[3123,3163,3134],{"class":3133},[3123,3165,3137],{"class":3133},[3113,3167,3170],{"className":3115,"code":3168,"filename":3169,"language":3118,"meta":3119,"style":3119},"bun x nuxt upgrade\n","bun",[3105,3171,3172],{"__ignoreMap":3119},[3123,3173,3174,3176,3179,3181],{"class":3125,"line":3126},[3123,3175,3169],{"class":3129},[3123,3177,3178],{"class":3133}," x",[3123,3180,3134],{"class":3133},[3123,3182,3137],{"class":3133},[3113,3184,3187],{"className":3115,"code":3185,"filename":3186,"language":3118,"meta":3119,"style":3119},"deno x nuxt upgrade\n","deno",[3105,3188,3189],{"__ignoreMap":3119},[3123,3190,3191,3193,3195,3197],{"class":3125,"line":3126},[3123,3192,3186],{"class":3129},[3123,3194,3178],{"class":3133},[3123,3196,3134],{"class":3133},[3123,3198,3137],{"class":3133},[3088,3200,407],{"id":3201},"nightly-release-channel",[3093,3203,3204,3205,3208],{},"To use the latest Nuxt build and test features before their release, read about the ",[3097,3206,3207],{"href":1423},"nightly release channel"," guide.",[3083,3210,3212],{"id":3211},"testing-nuxt-5","Testing Nuxt 5",[3093,3214,3215,3216,3220],{},"Nuxt 5 is ",[3217,3218,3219],"strong",{},"currently in development",". Until the release, it is possible to test many of Nuxt 5's breaking changes from Nuxt version 4.2+.",[3088,3222,3224],{"id":3223},"opting-in-to-nuxt-5","Opting in to Nuxt 5",[3093,3226,3227,3228,3231],{},"First, upgrade Nuxt to the ",[3097,3229,3102],{"href":3099,"rel":3230},[3101],".",[3093,3233,3234,3235,3238],{},"Then you can set your ",[3105,3236,3237],{},"future.compatibilityVersion"," to match Nuxt 5 behavior:",[3113,3240,3245],{"className":3241,"code":3242,"filename":233,"language":3243,"meta":3244,"style":3119},"language-ts shiki shiki-themes material-theme-lighter material-theme-lighter material-theme-palenight","export default defineNuxtConfig({\n  future: {\n    compatibilityVersion: 5,\n  },\n})\n","ts","twoslash",[3105,3246,3247,3268,3281,3296,3302],{"__ignoreMap":3119},[3123,3248,3249,3253,3256,3260,3264],{"class":3125,"line":3126},[3123,3250,3252],{"class":3251},"s8R28","export",[3123,3254,3255],{"class":3251}," default",[3123,3257,3259],{"class":3258},"s3cPz"," defineNuxtConfig",[3123,3261,3263],{"class":3262},"sZSNi","(",[3123,3265,3267],{"class":3266},"sDfIl","{\n",[3123,3269,3271,3275,3278],{"class":3125,"line":3270},2,[3123,3272,3274],{"class":3273},"sRlkE","  future",[3123,3276,3277],{"class":3266},":",[3123,3279,3280],{"class":3266}," {\n",[3123,3282,3284,3287,3289,3293],{"class":3125,"line":3283},3,[3123,3285,3286],{"class":3273},"    compatibilityVersion",[3123,3288,3277],{"class":3266},[3123,3290,3292],{"class":3291},"sYRBq"," 5",[3123,3294,3295],{"class":3266},",\n",[3123,3297,3299],{"class":3125,"line":3298},4,[3123,3300,3301],{"class":3266},"  },\n",[3123,3303,3305,3308],{"class":3125,"line":3304},5,[3123,3306,3307],{"class":3266},"}",[3123,3309,3310],{"class":3262},")\n",[3093,3312,3313,3314,3316,3317,3320],{},"When you set your ",[3105,3315,3237],{}," to ",[3105,3318,3319],{},"5",", defaults throughout your Nuxt configuration will change to opt in to Nuxt v5 behavior, including:",[3322,3323,3324,3335,3346,3361,3380,3401,3415,3431,3442,3462,3474,3492],"ul",{},[3325,3326,3327,3330,3331,3334],"li",{},[3217,3328,3329],{},"Vite Environment API",": Uses the new ",[3097,3332,3329],{"href":3333},"\u002Fdocs\u002F4.x\u002Fgetting-started\u002Fupgrade#migration-to-vite-environment-api"," for improved build configuration",[3325,3336,3337,3340,3341,3345],{},[3217,3338,3339],{},"Case-sensitive routing",": Page routes ",[3097,3342,3344],{"href":3343},"\u002Fdocs\u002F4.x\u002Fgetting-started\u002Fupgrade#case-sensitive-routing","match URL casing exactly",", consistent with Nitro",[3325,3347,3348,3351,3352,3356,3357,3360],{},[3217,3349,3350],{},"Normalized Page Names",": Page component names will ",[3097,3353,3355],{"href":3354},"\u002Fdocs\u002F4.x\u002Fgetting-started\u002Fupgrade#normalized-page-component-names","match their route names"," for consistent ",[3105,3358,3359],{},"\u003CKeepAlive>"," behavior",[3325,3362,3363,3368,3369,3371,3372,3376,3377],{},[3217,3364,3365,3367],{},[3105,3366,658],{}," resets to defaults",": ",[3105,3370,658],{}," will ",[3097,3373,3375],{"href":3374},"\u002Fdocs\u002F4.x\u002Fgetting-started\u002Fupgrade#respect-defaults-when-clearing-usestate","reset state to its initial value"," instead of setting it to ",[3105,3378,3379],{},"undefined",[3325,3381,3382,3368,3388,3397,3398],{},[3217,3383,3384,3385],{},"Non-async ",[3105,3386,3387],{},"callHook",[3097,3389,3391,3393,3394],{"href":3390},"\u002Fdocs\u002F4.x\u002Fgetting-started\u002Fupgrade#non-async-callhook",[3105,3392,3387],{}," may return ",[3105,3395,3396],{},"void"," instead of always returning a ",[3105,3399,3400],{},"Promise",[3325,3402,3403,3406,3407,3414],{},[3217,3404,3405],{},"Comment node placeholders",": Client-only components use ",[3097,3408,3410,3411],{"href":3409},"\u002Fdocs\u002F4.x\u002Fgetting-started\u002Fupgrade#client-only-comment-placeholders","comment nodes instead of ",[3105,3412,3413],{},"\u003Cdiv>"," as SSR placeholders, fixing a scoped styles hydration issue",[3325,3416,3417,3420,3421,3423,3424,3430],{},[3217,3418,3419],{},"Stricter side-effect imports",": The generated ",[3105,3422,242],{}," enables ",[3097,3425,3427],{"href":3426},"\u002Fdocs\u002F4.x\u002Fgetting-started\u002Fupgrade#stricter-side-effect-imports",[3105,3428,3429],{},"noUncheckedSideEffectImports"," to match the TypeScript 7 default",[3325,3432,3433,3436,3437,3441],{},[3217,3434,3435],{},"Vue Options API disabled",": The ",[3097,3438,3440],{"href":3439},"\u002Fdocs\u002F4.x\u002Fgetting-started\u002Fupgrade#vue-options-api-disabled-by-default","Options API is compiled out of the client bundle"," to reduce its size",[3325,3443,3444,3450,3451,3458,3459],{},[3217,3445,3446,3449],{},[3105,3447,3448],{},"process.*"," type augmentation removed",": TypeScript no longer exposes ",[3097,3452,3454,3455,3457],{"href":3453},"\u002Fdocs\u002F4.x\u002Fgetting-started\u002Fupgrade#process-type-augmentation-removed","deprecated ",[3105,3456,3448],{}," flags"," on ",[3105,3460,3461],{},"NodeJS.Process",[3325,3463,3464,3368,3467,3473],{},[3217,3465,3466],{},"Typed pages",[3097,3468,3470],{"href":3469},"\u002Fdocs\u002F4.x\u002Fgetting-started\u002Fupgrade#typed-pages-enabled-by-default",[3105,3471,3472],{},"experimental.typedPages"," is enabled by default for type-checked routing",[3325,3475,3476,3483,3484,3491],{},[3217,3477,3478,3479,3482],{},"TypeScript ",[3105,3480,3481],{},"baseUrl"," ignored",": Generated TypeScript configurations ",[3097,3485,3487,3488],{"href":3486},"\u002Fdocs\u002F4.x\u002Fgetting-started\u002Fupgrade#typescript-baseurl-is-ignored","no longer use ",[3105,3489,3490],{},"compilerOptions.baseUrl"," to resolve Nuxt aliases",[3325,3493,3494],{},"Other Nuxt 5 improvements and changes as they become available",[3496,3497,3498],"note",{},[3093,3499,3500,3501,3231],{},"This section is subject to change until the final release, so please check back here regularly if you are testing Nuxt 5 using ",[3105,3502,3503],{},"future.compatibilityVersion: 5",[3093,3505,3506],{},"Breaking or significant changes will be noted below along with migration steps for backward\u002Fforward compatibility.",[3088,3508,3510,3512],{"id":3509},"process-type-augmentation-removed",[3105,3511,3448],{}," Type Augmentation Removed",[3093,3514,3515,3516,3519],{},"🚦 ",[3217,3517,3518],{},"Impact Level",": Minimal",[3521,3522,3524],"h4",{"id":3523},"what-changed","What Changed",[3093,3526,3527,3528,3530,3531,3534,3535,3534,3538,3534,3541,3543,3544,3546],{},"Nuxt no longer augments ",[3105,3529,3461],{}," with ",[3105,3532,3533],{},"browser",", ",[3105,3536,3537],{},"client",[3105,3539,3540],{},"dev",[3105,3542,185],{},", and ",[3105,3545,1268],{},". Build-time defines for those flags remain for compatibility, but TypeScript will not treat them as known properties.",[3093,3548,3549,3550,3555],{},"Prefer ",[3097,3551,3552],{"href":1827},[3105,3553,3554],{},"import.meta.*",". Those flags are replaced at build time and stay tree-shakeable.",[3521,3557,3559],{"id":3558},"migration-steps","Migration Steps",[3093,3561,3562],{},"Replace legacy checks in your app code, modules, and libraries:",[3113,3564,3566],{"className":3241,"code":3565,"language":3243,"meta":3119,"style":3119},"\u002F\u002F Before\n\u002F\u002F eslint-disable-next-line nuxt\u002Fprefer-import-meta\nif (process.server) {\n  \u002F* ... *\u002F\n}\n\n\u002F\u002F After\nif (import.meta.server) {\n  \u002F* ... *\u002F\n}\n",[3105,3567,3568,3574,3579,3594,3599,3604,3610,3616,3638,3643],{"__ignoreMap":3119},[3123,3569,3570],{"class":3125,"line":3126},[3123,3571,3573],{"class":3572},"sWuyu","\u002F\u002F Before\n",[3123,3575,3576],{"class":3125,"line":3270},[3123,3577,3578],{"class":3572},"\u002F\u002F eslint-disable-next-line nuxt\u002Fprefer-import-meta\n",[3123,3580,3581,3584,3587,3589,3592],{"class":3125,"line":3283},[3123,3582,3583],{"class":3251},"if",[3123,3585,3586],{"class":3262}," (process",[3123,3588,3231],{"class":3266},[3123,3590,3591],{"class":3262},"server) ",[3123,3593,3267],{"class":3266},[3123,3595,3596],{"class":3125,"line":3298},[3123,3597,3598],{"class":3572},"  \u002F* ... *\u002F\n",[3123,3600,3601],{"class":3125,"line":3304},[3123,3602,3603],{"class":3266},"}\n",[3123,3605,3607],{"class":3125,"line":3606},6,[3123,3608,3609],{"emptyLinePlaceholder":1208},"\n",[3123,3611,3613],{"class":3125,"line":3612},7,[3123,3614,3615],{"class":3572},"\u002F\u002F After\n",[3123,3617,3619,3621,3624,3627,3629,3632,3634,3636],{"class":3125,"line":3618},8,[3123,3620,3583],{"class":3251},[3123,3622,3623],{"class":3262}," (",[3123,3625,3626],{"class":3251},"import",[3123,3628,3231],{"class":3266},[3123,3630,3631],{"class":3262},"meta",[3123,3633,3231],{"class":3266},[3123,3635,3591],{"class":3262},[3123,3637,3267],{"class":3266},[3123,3639,3641],{"class":3125,"line":3640},9,[3123,3642,3598],{"class":3572},[3123,3644,3646],{"class":3125,"line":3645},10,[3123,3647,3603],{"class":3266},[3093,3649,3650,3651,3658,3659,3661],{},"The ",[3097,3652,3655],{"href":3653,"rel":3654},"https:\u002F\u002Feslint.nuxt.com\u002Fpackages\u002Fplugin#nuxtprefer-import-meta",[3101],[3105,3656,3657],{},"nuxt\u002Fprefer-import-meta"," ESLint rule flags remaining ",[3105,3660,3448],{}," usage.",[3088,3663,3665],{"id":3664},"case-sensitive-routing","Case-Sensitive Routing",[3093,3667,3515,3668,3519],{},[3217,3669,3518],{},[3521,3671,3524],{"id":3672},"what-changed-1",[3093,3674,3675,3676,3679,3680,3683,3684,3231],{},"With ",[3105,3677,3678],{},"compatibilityVersion: 5",", page routes match URLs case-sensitively, consistent with Nitro. For example, ",[3105,3681,3682],{},"\u002FAbout"," no longer matches ",[3105,3685,3686],{},"pages\u002Fabout.vue",[3521,3688,3559],{"id":3689},"migration-steps-1",[3093,3691,3692],{},"Update links to use the same casing as their page routes. To keep case-insensitive matching:",[3113,3694,3696],{"className":3241,"code":3695,"filename":233,"language":3243,"meta":3244,"style":3119},"export default defineNuxtConfig({\n  router: {\n    options: {\n      sensitive: false,\n    },\n  },\n})\n",[3105,3697,3698,3710,3719,3728,3741,3746,3750],{"__ignoreMap":3119},[3123,3699,3700,3702,3704,3706,3708],{"class":3125,"line":3126},[3123,3701,3252],{"class":3251},[3123,3703,3255],{"class":3251},[3123,3705,3259],{"class":3258},[3123,3707,3263],{"class":3262},[3123,3709,3267],{"class":3266},[3123,3711,3712,3715,3717],{"class":3125,"line":3270},[3123,3713,3714],{"class":3273},"  router",[3123,3716,3277],{"class":3266},[3123,3718,3280],{"class":3266},[3123,3720,3721,3724,3726],{"class":3125,"line":3283},[3123,3722,3723],{"class":3273},"    options",[3123,3725,3277],{"class":3266},[3123,3727,3280],{"class":3266},[3123,3729,3730,3733,3735,3739],{"class":3125,"line":3298},[3123,3731,3732],{"class":3273},"      sensitive",[3123,3734,3277],{"class":3266},[3123,3736,3738],{"class":3737},"sbKd-"," false",[3123,3740,3295],{"class":3266},[3123,3742,3743],{"class":3125,"line":3304},[3123,3744,3745],{"class":3266},"    },\n",[3123,3747,3748],{"class":3125,"line":3606},[3123,3749,3301],{"class":3266},[3123,3751,3752,3754],{"class":3125,"line":3612},[3123,3753,3307],{"class":3266},[3123,3755,3310],{"class":3262},[3088,3757,3759,3762],{"id":3758},"jiti-is-no-longer-bundled",[3105,3760,3761],{},"jiti"," Is No Longer Bundled",[3093,3764,3515,3765,3767],{},[3217,3766,3518],{},": Medium",[3521,3769,3524],{"id":3770},"what-changed-2",[3093,3772,3773,3774,3780,3781,3783,3784,3787],{},"Nuxt no longer depends on ",[3097,3775,3778],{"href":3776,"rel":3777},"https:\u002F\u002Fgithub.com\u002Funjs\u002Fjiti",[3101],[3105,3779,3761],{},". Files loaded outside the bundler (",[3105,3782,233],{},", files in ",[3105,3785,3786],{},"modules\u002F",", and layer configs) are now imported by the runtime itself.",[3093,3789,3790,3793,3794,3797,3798,3800,3801,3803],{},[3217,3791,3792],{},"You can still write your config in TypeScript."," Nuxt 5 requires Node ",[3105,3795,3796],{},"22.19"," or later, where type stripping is on by default, so ",[3105,3799,233],{}," and TypeScript modules load natively. Two things the runtime does not do, which ",[3105,3802,3761],{}," used to paper over, are guess file extensions and compile TypeScript syntax that emits code.",[3093,3805,3806,3807,3810,3811,3814,3815,3818,3819,3822,3823,3830],{},"Both would otherwise only surface when Nuxt loads the file, so the generated ",[3105,3808,3809],{},"node"," tsconfig now describes the environment the way the runtime sees it (",[3105,3812,3813],{},"module"," and ",[3105,3816,3817],{},"moduleResolution"," set to ",[3105,3820,3821],{},"nodenext",", plus ",[3097,3824,3827],{"href":3825,"rel":3826},"https:\u002F\u002Fwww.typescriptlang.org\u002Ftsconfig\u002F#erasableSyntaxOnly",[3101],[3105,3828,3829],{},"erasableSyntaxOnly",") and TypeScript reports both up front.",[3093,3832,3833,3834,3534,3837,3839,3840,3843],{},"That covers ",[3105,3835,3836],{},"nuxt.config",[3105,3838,3786],{}," and layer configs only. Your app and ",[3105,3841,3842],{},"shared\u002F"," code goes through Vite and resolves the way it always has. If you need the previous behaviour, override it:",[3113,3845,3847],{"className":3241,"code":3846,"filename":233,"language":3243,"meta":3244,"style":3119},"export default defineNuxtConfig({\n  typescript: {\n    nodeTsConfig: {\n      compilerOptions: {\n        module: 'preserve',\n        moduleResolution: 'bundler',\n        erasableSyntaxOnly: false,\n      },\n    },\n  },\n})\n",[3105,3848,3849,3861,3870,3879,3888,3906,3922,3933,3938,3942,3946],{"__ignoreMap":3119},[3123,3850,3851,3853,3855,3857,3859],{"class":3125,"line":3126},[3123,3852,3252],{"class":3251},[3123,3854,3255],{"class":3251},[3123,3856,3259],{"class":3258},[3123,3858,3263],{"class":3262},[3123,3860,3267],{"class":3266},[3123,3862,3863,3866,3868],{"class":3125,"line":3270},[3123,3864,3865],{"class":3273},"  typescript",[3123,3867,3277],{"class":3266},[3123,3869,3280],{"class":3266},[3123,3871,3872,3875,3877],{"class":3125,"line":3283},[3123,3873,3874],{"class":3273},"    nodeTsConfig",[3123,3876,3277],{"class":3266},[3123,3878,3280],{"class":3266},[3123,3880,3881,3884,3886],{"class":3125,"line":3298},[3123,3882,3883],{"class":3273},"      compilerOptions",[3123,3885,3277],{"class":3266},[3123,3887,3280],{"class":3266},[3123,3889,3890,3893,3895,3898,3901,3904],{"class":3125,"line":3304},[3123,3891,3892],{"class":3273},"        module",[3123,3894,3277],{"class":3266},[3123,3896,3897],{"class":3266}," '",[3123,3899,3900],{"class":3133},"preserve",[3123,3902,3903],{"class":3266},"'",[3123,3905,3295],{"class":3266},[3123,3907,3908,3911,3913,3915,3918,3920],{"class":3125,"line":3606},[3123,3909,3910],{"class":3273},"        moduleResolution",[3123,3912,3277],{"class":3266},[3123,3914,3897],{"class":3266},[3123,3916,3917],{"class":3133},"bundler",[3123,3919,3903],{"class":3266},[3123,3921,3295],{"class":3266},[3123,3923,3924,3927,3929,3931],{"class":3125,"line":3612},[3123,3925,3926],{"class":3273},"        erasableSyntaxOnly",[3123,3928,3277],{"class":3266},[3123,3930,3738],{"class":3737},[3123,3932,3295],{"class":3266},[3123,3934,3935],{"class":3125,"line":3618},[3123,3936,3937],{"class":3266},"      },\n",[3123,3939,3940],{"class":3125,"line":3640},[3123,3941,3745],{"class":3266},[3123,3943,3944],{"class":3125,"line":3645},[3123,3945,3301],{"class":3266},[3123,3947,3949,3951],{"class":3125,"line":3948},11,[3123,3950,3307],{"class":3266},[3123,3952,3310],{"class":3262},[3521,3954,3956],{"id":3955},"reasons-for-change","Reasons for Change",[3093,3958,3959,3961],{},[3105,3960,3761],{}," was pulled into every Nuxt install to load a handful of files, most of which the runtime can now load unaided. Removing it makes a default install smaller.",[3521,3963,3559],{"id":3964},"migration-steps-2",[3093,3966,3967],{},[3217,3968,3969],{},"1. Add file extensions to relative imports.",[3093,3971,3972,3973,3534,3975,3977],{},"Relative imports in ",[3105,3974,233],{},[3105,3976,3786],{},", and layer configs need an explicit extension:",[3113,3979,3983],{"className":3980,"code":3981,"filename":233,"language":3982,"meta":3119,"style":3119},"language-diff shiki shiki-themes material-theme-lighter material-theme-lighter material-theme-palenight","- import { myPlugin } from '.\u002Fbuild\u002Fmy-plugin'\n+ import { myPlugin } from '.\u002Fbuild\u002Fmy-plugin.ts'\n","diff",[3105,3984,3985,3993],{"__ignoreMap":3119},[3123,3986,3987,3990],{"class":3125,"line":3126},[3123,3988,3989],{"class":3266},"-",[3123,3991,3992],{"class":3273}," import { myPlugin } from '.\u002Fbuild\u002Fmy-plugin'\n",[3123,3994,3995,3998],{"class":3125,"line":3270},[3123,3996,3997],{"class":3266},"+",[3123,3999,4000],{"class":3133}," import { myPlugin } from '.\u002Fbuild\u002Fmy-plugin.ts'\n",[3093,4002,4003,4004,4007,4008,4011,4012,4015],{},"TypeScript reports a missing extension as ",[3105,4005,4006],{},"TS2835",". Note that its quick fix suggests ",[3105,4009,4010],{},".\u002Fbuild\u002Fmy-plugin.js","; write the extension the file actually has (",[3105,4013,4014],{},".ts","), which Node resolves directly.",[3093,4017,4018,4019,4022],{},"Bare package imports (",[3105,4020,4021],{},"import { defu } from 'defu'",") are unaffected.",[3093,4024,4025],{},[3217,4026,4027],{},"2. Use erasable TypeScript syntax.",[3093,4029,4030],{},"Type annotations are erased, but syntax that emits runtime code cannot be. In config and module files, replace:",[3322,4032,4033,4043,4052,4059],{},[3325,4034,4035,4038,4039,4042],{},[3105,4036,4037],{},"enum Foo {}"," with a ",[3105,4040,4041],{},"const"," object",[3325,4044,4045,4048,4049,4051],{},[3105,4046,4047],{},"namespace"," \u002F ",[3105,4050,3813],{}," blocks with plain exports",[3325,4053,4054,4055,4058],{},"constructor parameter properties (",[3105,4056,4057],{},"constructor(private x: string) {}",") with an explicit assignment",[3325,4060,4061],{},"experimental decorators",[3093,4063,4064,4065,3231],{},"TypeScript reports all of these for you as ",[3105,4066,4067],{},"TS1294",[3093,4069,4070],{},[3217,4071,4072],{},"3. If you publish a layer or module, ship compiled JavaScript.",[3093,4074,4075,4076,4078,4079,4081,4082,4085,4086,3231],{},"This one is specific to packages. The runtime refuses to strip types from any file inside ",[3105,4077,166],{},", whatever the configuration, so a published entrypoint written in TypeScript cannot be loaded natively however new the Node version is. Build to JavaScript before publishing, and if your package ships a ",[3105,4080,3836],{},", emit it as ",[3105,4083,4084],{},"nuxt.config.mjs",". Otherwise every consuming project has to install ",[3105,4087,3761],{},[3093,4089,4090,4091,4094],{},"This does not apply to layers inside your own project: ",[3105,4092,4093],{},"layers\u002F*\u002Fnuxt.config.ts"," loads natively.",[3093,4096,4097],{},[3217,4098,4099,4100,4102],{},"4. Install ",[3105,4101,3761],{}," if you still need it.",[3093,4104,4105,4107],{},[3105,4106,3761],{}," is now an optional peer dependency. Install it and Nuxt will pick it up automatically as a fallback whenever the runtime cannot load a file on its own:",[3109,4109,4110,4128,4144,4159],{"sync":3111},[3113,4111,4113],{"className":3115,"code":4112,"filename":3117,"language":3118,"meta":3119,"style":3119},"npm i -D jiti\n",[3105,4114,4115],{"__ignoreMap":3119},[3123,4116,4117,4119,4122,4125],{"class":3125,"line":3126},[3123,4118,3117],{"class":3129},[3123,4120,4121],{"class":3133}," i",[3123,4123,4124],{"class":3133}," -D",[3123,4126,4127],{"class":3133}," jiti\n",[3113,4129,4131],{"className":3115,"code":4130,"filename":3141,"language":3118,"meta":3119,"style":3119},"yarn add -D jiti\n",[3105,4132,4133],{"__ignoreMap":3119},[3123,4134,4135,4137,4140,4142],{"class":3125,"line":3126},[3123,4136,3141],{"class":3129},[3123,4138,4139],{"class":3133}," add",[3123,4141,4124],{"class":3133},[3123,4143,4127],{"class":3133},[3113,4145,4147],{"className":3115,"code":4146,"filename":3155,"language":3118,"meta":3119,"style":3119},"pnpm add -D jiti\n",[3105,4148,4149],{"__ignoreMap":3119},[3123,4150,4151,4153,4155,4157],{"class":3125,"line":3126},[3123,4152,3155],{"class":3129},[3123,4154,4139],{"class":3133},[3123,4156,4124],{"class":3133},[3123,4158,4127],{"class":3133},[3113,4160,4162],{"className":3115,"code":4161,"filename":3169,"language":3118,"meta":3119,"style":3119},"bun add -D jiti\n",[3105,4163,4164],{"__ignoreMap":3119},[3123,4165,4166,4168,4170,4172],{"class":3125,"line":3126},[3123,4167,3169],{"class":3129},[3123,4169,4139],{"class":3133},[3123,4171,4124],{"class":3133},[3123,4173,4127],{"class":3133},[3093,4175,4176,4177,4180,4181,4183],{},"A ",[3105,4178,4179],{},"nuxt.schema"," file always needs ",[3105,4182,3761],{},", whatever Node version you are on: its JSDoc annotations are read by an import-time transform rather than by importing the file.",[3093,4185,4186,4187,4190,4191,4194],{},"One smaller change comes with this: PostCSS plugins named in ",[3105,4188,4189],{},"postcss.plugins"," are now resolved by the runtime, so a plugin name that only resolves through a Nuxt ",[3105,4192,4193],{},"alias"," entry no longer loads. Use the package name, or a path.",[3088,4196,4198],{"id":4197},"migration-to-vite-environment-api","Migration to Vite Environment API",[3093,4200,3515,4201,3767],{},[3217,4202,3518],{},[3521,4204,3524],{"id":4205},"what-changed-3",[3093,4207,4208,4209,4214],{},"Nuxt 5 migrates to Vite 6's new ",[3097,4210,4213],{"href":4211,"rel":4212},"https:\u002F\u002Fvite.dev\u002Fguide\u002Fapi-environment",[3101],"Environment API",", which formalizes the concept of environments and provides better control over configuration per environment.",[3093,4216,4217,4218,4221],{},"Previously, Nuxt used separate client and server Vite configurations. Now, Nuxt uses a shared Vite configuration with environment-specific plugins that use the ",[3105,4219,4220],{},"applyToEnvironment()"," method to target specific environments.",[3496,4223,4224],{},[3093,4225,4226,4227,4230],{},"The Vite Environment API is always enabled in Nuxt 5. The ",[3105,4228,4229],{},"experimental.viteEnvironmentApi"," option has been removed.",[3093,4232,4233],{},[3217,4234,4235],{},"Key changes:",[4237,4238,4239,4255,4280],"ol",{},[3325,4240,4241,3436,4247,3814,4249,4251,4252,4254],{},[3217,4242,4243,4244],{},"Deprecated environment-specific ",[3105,4245,4246],{},"extendViteConfig()",[3105,4248,185],{},[3105,4250,3537],{}," options in ",[3105,4253,4246],{}," are deprecated and will show warnings when used.",[3325,4256,4257,4260,4261,4264,4265,4268,4269,4272,4273,4268,4276,4279],{},[3217,4258,4259],{},"Changed plugin registration",": Vite plugins registered with ",[3105,4262,4263],{},"addVitePlugin()"," and only targeting one environment (by passing ",[3105,4266,4267],{},"server: false"," or ",[3105,4270,4271],{},"client: false",") will not have their ",[3105,4274,4275],{},"config",[3105,4277,4278],{},"configResolved"," hooks called.",[3325,4281,4282,3436,4285,3814,4288,4291],{},[3217,4283,4284],{},"Shared configuration",[3105,4286,4287],{},"vite:extendConfig",[3105,4289,4290],{},"vite:configResolved"," hooks now work with a shared configuration rather than separate client\u002Fserver configs.",[3521,4293,3956],{"id":4294},"reasons-for-change-1",[3093,4296,4297],{},"The Vite Environment API provides:",[3322,4299,4300,4303,4306,4309],{},[3325,4301,4302],{},"Better consistency between development and production builds",[3325,4304,4305],{},"More granular control over environment-specific configuration",[3325,4307,4308],{},"Improved performance and plugin architecture",[3325,4310,4311],{},"Support for custom environments beyond just client and server",[3521,4313,3559],{"id":4314},"migration-steps-3",[4316,4317,4319],"h5",{"id":4318},"_1-migrate-to-use-vite-plugins","1. Migrate to use Vite plugins",[3093,4321,4322,4323,3534,4326,3814,4328,3231],{},"We would recommend you use a Vite plugin instead of ",[3105,4324,4325],{},"extendViteConfig",[3105,4327,4290],{},[3105,4329,4287],{},[3113,4331,4333],{"className":3241,"code":4332,"language":3243,"meta":3119,"style":3119},"\u002F\u002F Before\nextendViteConfig((config) => {\n  config.optimizeDeps.include.push('my-package')\n}, { server: false })\n\nnuxt.hook('vite:extendConfig' \u002F* or vite:configResolved *\u002F, (config, { isClient }) => {\n  if (isClient) {\n    config.optimizeDeps.include.push('my-package')\n  }\n})\n\n\u002F\u002F After\naddVitePlugin(() => ({\n  name: 'my-plugin',\n  config (config) {\n    \u002F\u002F you can set global vite configuration here\n  },\n  configResolved (config) {\n    \u002F\u002F you can access the fully resolved vite configuration here\n  },\n  configEnvironment (name, config) {\n    \u002F\u002F you can set environment-specific vite configuration here\n    if (name === 'client') {\n      config.optimizeDeps ||= {}\n      config.optimizeDeps.include ||= []\n      config.optimizeDeps.include.push('my-package')\n    }\n  },\n  applyToEnvironment (environment) {\n    return environment.name === 'client'\n  },\n}))\n",[3105,4334,4335,4339,4359,4390,4410,4414,4456,4471,4498,4503,4509,4513,4518,4535,4552,4565,4571,4576,4590,4596,4601,4621,4627,4650,4666,4684,4711,4717,4722,4737,4759,4764],{"__ignoreMap":3119},[3123,4336,4337],{"class":3125,"line":3126},[3123,4338,3573],{"class":3572},[3123,4340,4341,4343,4345,4347,4350,4353,4357],{"class":3125,"line":3270},[3123,4342,4325],{"class":3258},[3123,4344,3263],{"class":3262},[3123,4346,3263],{"class":3266},[3123,4348,4275],{"class":4349},"s1nJG",[3123,4351,4352],{"class":3266},")",[3123,4354,4356],{"class":4355},"smZ93"," =>",[3123,4358,3280],{"class":3266},[3123,4360,4361,4364,4366,4369,4371,4374,4376,4379,4381,4383,4386,4388],{"class":3125,"line":3283},[3123,4362,4363],{"class":3262},"  config",[3123,4365,3231],{"class":3266},[3123,4367,4368],{"class":3262},"optimizeDeps",[3123,4370,3231],{"class":3266},[3123,4372,4373],{"class":3262},"include",[3123,4375,3231],{"class":3266},[3123,4377,4378],{"class":3258},"push",[3123,4380,3263],{"class":3273},[3123,4382,3903],{"class":3266},[3123,4384,4385],{"class":3133},"my-package",[3123,4387,3903],{"class":3266},[3123,4389,3310],{"class":3273},[3123,4391,4392,4395,4398,4401,4403,4405,4408],{"class":3125,"line":3298},[3123,4393,4394],{"class":3266},"},",[3123,4396,4397],{"class":3266}," {",[3123,4399,4400],{"class":3273}," server",[3123,4402,3277],{"class":3266},[3123,4404,3738],{"class":3737},[3123,4406,4407],{"class":3266}," }",[3123,4409,3310],{"class":3262},[3123,4411,4412],{"class":3125,"line":3304},[3123,4413,3609],{"emptyLinePlaceholder":1208},[3123,4415,4416,4419,4421,4424,4426,4428,4430,4432,4435,4438,4440,4442,4444,4446,4449,4452,4454],{"class":3125,"line":3606},[3123,4417,4418],{"class":3262},"nuxt",[3123,4420,3231],{"class":3266},[3123,4422,4423],{"class":3258},"hook",[3123,4425,3263],{"class":3262},[3123,4427,3903],{"class":3266},[3123,4429,4287],{"class":3133},[3123,4431,3903],{"class":3266},[3123,4433,4434],{"class":3572}," \u002F* or vite:configResolved *\u002F",[3123,4436,4437],{"class":3266},",",[3123,4439,3623],{"class":3266},[3123,4441,4275],{"class":4349},[3123,4443,4437],{"class":3266},[3123,4445,4397],{"class":3266},[3123,4447,4448],{"class":4349}," isClient",[3123,4450,4451],{"class":3266}," })",[3123,4453,4356],{"class":4355},[3123,4455,3280],{"class":3266},[3123,4457,4458,4461,4463,4466,4469],{"class":3125,"line":3612},[3123,4459,4460],{"class":3251},"  if",[3123,4462,3623],{"class":3273},[3123,4464,4465],{"class":3262},"isClient",[3123,4467,4468],{"class":3273},") ",[3123,4470,3267],{"class":3266},[3123,4472,4473,4476,4478,4480,4482,4484,4486,4488,4490,4492,4494,4496],{"class":3125,"line":3618},[3123,4474,4475],{"class":3262},"    config",[3123,4477,3231],{"class":3266},[3123,4479,4368],{"class":3262},[3123,4481,3231],{"class":3266},[3123,4483,4373],{"class":3262},[3123,4485,3231],{"class":3266},[3123,4487,4378],{"class":3258},[3123,4489,3263],{"class":3273},[3123,4491,3903],{"class":3266},[3123,4493,4385],{"class":3133},[3123,4495,3903],{"class":3266},[3123,4497,3310],{"class":3273},[3123,4499,4500],{"class":3125,"line":3640},[3123,4501,4502],{"class":3266},"  }\n",[3123,4504,4505,4507],{"class":3125,"line":3645},[3123,4506,3307],{"class":3266},[3123,4508,3310],{"class":3262},[3123,4510,4511],{"class":3125,"line":3948},[3123,4512,3609],{"emptyLinePlaceholder":1208},[3123,4514,4516],{"class":3125,"line":4515},12,[3123,4517,3615],{"class":3572},[3123,4519,4521,4524,4526,4529,4531,4533],{"class":3125,"line":4520},13,[3123,4522,4523],{"class":3258},"addVitePlugin",[3123,4525,3263],{"class":3262},[3123,4527,4528],{"class":3266},"()",[3123,4530,4356],{"class":4355},[3123,4532,3623],{"class":3262},[3123,4534,3267],{"class":3266},[3123,4536,4538,4541,4543,4545,4548,4550],{"class":3125,"line":4537},14,[3123,4539,4540],{"class":3273},"  name",[3123,4542,3277],{"class":3266},[3123,4544,3897],{"class":3266},[3123,4546,4547],{"class":3133},"my-plugin",[3123,4549,3903],{"class":3266},[3123,4551,3295],{"class":3266},[3123,4553,4555,4557,4559,4561,4563],{"class":3125,"line":4554},15,[3123,4556,4363],{"class":3273},[3123,4558,3623],{"class":3266},[3123,4560,4275],{"class":4349},[3123,4562,4352],{"class":3266},[3123,4564,3280],{"class":3266},[3123,4566,4568],{"class":3125,"line":4567},16,[3123,4569,4570],{"class":3572},"    \u002F\u002F you can set global vite configuration here\n",[3123,4572,4574],{"class":3125,"line":4573},17,[3123,4575,3301],{"class":3266},[3123,4577,4579,4582,4584,4586,4588],{"class":3125,"line":4578},18,[3123,4580,4581],{"class":3273},"  configResolved",[3123,4583,3623],{"class":3266},[3123,4585,4275],{"class":4349},[3123,4587,4352],{"class":3266},[3123,4589,3280],{"class":3266},[3123,4591,4593],{"class":3125,"line":4592},19,[3123,4594,4595],{"class":3572},"    \u002F\u002F you can access the fully resolved vite configuration here\n",[3123,4597,4599],{"class":3125,"line":4598},20,[3123,4600,3301],{"class":3266},[3123,4602,4604,4607,4609,4612,4614,4617,4619],{"class":3125,"line":4603},21,[3123,4605,4606],{"class":3273},"  configEnvironment",[3123,4608,3623],{"class":3266},[3123,4610,4611],{"class":4349},"name",[3123,4613,4437],{"class":3266},[3123,4615,4616],{"class":4349}," config",[3123,4618,4352],{"class":3266},[3123,4620,3280],{"class":3266},[3123,4622,4624],{"class":3125,"line":4623},22,[3123,4625,4626],{"class":3572},"    \u002F\u002F you can set environment-specific vite configuration here\n",[3123,4628,4630,4633,4635,4637,4640,4642,4644,4646,4648],{"class":3125,"line":4629},23,[3123,4631,4632],{"class":3251},"    if",[3123,4634,3623],{"class":3273},[3123,4636,4611],{"class":3262},[3123,4638,4639],{"class":3266}," ===",[3123,4641,3897],{"class":3266},[3123,4643,3537],{"class":3133},[3123,4645,3903],{"class":3266},[3123,4647,4468],{"class":3273},[3123,4649,3267],{"class":3266},[3123,4651,4653,4656,4658,4660,4663],{"class":3125,"line":4652},24,[3123,4654,4655],{"class":3262},"      config",[3123,4657,3231],{"class":3266},[3123,4659,4368],{"class":3262},[3123,4661,4662],{"class":3266}," ||=",[3123,4664,4665],{"class":3266}," {}\n",[3123,4667,4669,4671,4673,4675,4677,4679,4681],{"class":3125,"line":4668},25,[3123,4670,4655],{"class":3262},[3123,4672,3231],{"class":3266},[3123,4674,4368],{"class":3262},[3123,4676,3231],{"class":3266},[3123,4678,4373],{"class":3262},[3123,4680,4662],{"class":3266},[3123,4682,4683],{"class":3273}," []\n",[3123,4685,4687,4689,4691,4693,4695,4697,4699,4701,4703,4705,4707,4709],{"class":3125,"line":4686},26,[3123,4688,4655],{"class":3262},[3123,4690,3231],{"class":3266},[3123,4692,4368],{"class":3262},[3123,4694,3231],{"class":3266},[3123,4696,4373],{"class":3262},[3123,4698,3231],{"class":3266},[3123,4700,4378],{"class":3258},[3123,4702,3263],{"class":3273},[3123,4704,3903],{"class":3266},[3123,4706,4385],{"class":3133},[3123,4708,3903],{"class":3266},[3123,4710,3310],{"class":3273},[3123,4712,4714],{"class":3125,"line":4713},27,[3123,4715,4716],{"class":3266},"    }\n",[3123,4718,4720],{"class":3125,"line":4719},28,[3123,4721,3301],{"class":3266},[3123,4723,4725,4728,4730,4733,4735],{"class":3125,"line":4724},29,[3123,4726,4727],{"class":3273},"  applyToEnvironment",[3123,4729,3623],{"class":3266},[3123,4731,4732],{"class":4349},"environment",[3123,4734,4352],{"class":3266},[3123,4736,3280],{"class":3266},[3123,4738,4740,4743,4746,4748,4750,4752,4754,4756],{"class":3125,"line":4739},30,[3123,4741,4742],{"class":3251},"    return",[3123,4744,4745],{"class":3262}," environment",[3123,4747,3231],{"class":3266},[3123,4749,4611],{"class":3262},[3123,4751,4639],{"class":3266},[3123,4753,3897],{"class":3266},[3123,4755,3537],{"class":3133},[3123,4757,4758],{"class":3266},"'\n",[3123,4760,4762],{"class":3125,"line":4761},31,[3123,4763,3301],{"class":3266},[3123,4765,4767,4769],{"class":3125,"line":4766},32,[3123,4768,3307],{"class":3266},[3123,4770,4771],{"class":3262},"))\n",[4316,4773,4775],{"id":4774},"_2-migrate-vite-plugins-to-use-environments","2. Migrate Vite plugins to use environments",[3093,4777,4778,4779,3530,4781,4268,4783,4785,4786,4789],{},"Instead of using ",[3105,4780,4523],{},[3105,4782,4267],{},[3105,4784,4271],{},", you can instead use the new ",[3105,4787,4788],{},"applyToEnvironment"," hook within your plugin.",[3113,4791,4793],{"className":3241,"code":4792,"language":3243,"meta":3119,"style":3119},"\u002F\u002F Before\naddVitePlugin(() => ({\n  name: 'my-plugin',\n  config (config) {\n    config.optimizeDeps.include.push('my-package')\n  },\n}), { client: false })\n\n\u002F\u002F After\naddVitePlugin(() => ({\n  name: 'my-plugin',\n  config (config) {\n    \u002F\u002F you can set global vite configuration here\n  },\n  configResolved (config) {\n    \u002F\u002F you can access the fully resolved vite configuration here\n  },\n  configEnvironment (name, config) {\n    \u002F\u002F you can set environment-specific vite configuration here\n    if (name === 'client') {\n      config.optimizeDeps ||= {}\n      config.optimizeDeps.include ||= []\n      config.optimizeDeps.include.push('my-package')\n    }\n  },\n  applyToEnvironment (environment) {\n    return environment.name === 'client'\n  },\n}))\n",[3105,4794,4795,4799,4813,4827,4839,4865,4869,4890,4894,4898,4912,4926,4938,4942,4946,4958,4962,4966,4982,4986,5006,5018,5034,5060,5064,5068,5080,5098,5102],{"__ignoreMap":3119},[3123,4796,4797],{"class":3125,"line":3126},[3123,4798,3573],{"class":3572},[3123,4800,4801,4803,4805,4807,4809,4811],{"class":3125,"line":3270},[3123,4802,4523],{"class":3258},[3123,4804,3263],{"class":3262},[3123,4806,4528],{"class":3266},[3123,4808,4356],{"class":4355},[3123,4810,3623],{"class":3262},[3123,4812,3267],{"class":3266},[3123,4814,4815,4817,4819,4821,4823,4825],{"class":3125,"line":3283},[3123,4816,4540],{"class":3273},[3123,4818,3277],{"class":3266},[3123,4820,3897],{"class":3266},[3123,4822,4547],{"class":3133},[3123,4824,3903],{"class":3266},[3123,4826,3295],{"class":3266},[3123,4828,4829,4831,4833,4835,4837],{"class":3125,"line":3298},[3123,4830,4363],{"class":3273},[3123,4832,3623],{"class":3266},[3123,4834,4275],{"class":4349},[3123,4836,4352],{"class":3266},[3123,4838,3280],{"class":3266},[3123,4840,4841,4843,4845,4847,4849,4851,4853,4855,4857,4859,4861,4863],{"class":3125,"line":3304},[3123,4842,4475],{"class":3262},[3123,4844,3231],{"class":3266},[3123,4846,4368],{"class":3262},[3123,4848,3231],{"class":3266},[3123,4850,4373],{"class":3262},[3123,4852,3231],{"class":3266},[3123,4854,4378],{"class":3258},[3123,4856,3263],{"class":3273},[3123,4858,3903],{"class":3266},[3123,4860,4385],{"class":3133},[3123,4862,3903],{"class":3266},[3123,4864,3310],{"class":3273},[3123,4866,4867],{"class":3125,"line":3606},[3123,4868,3301],{"class":3266},[3123,4870,4871,4873,4875,4877,4879,4882,4884,4886,4888],{"class":3125,"line":3612},[3123,4872,3307],{"class":3266},[3123,4874,4352],{"class":3262},[3123,4876,4437],{"class":3266},[3123,4878,4397],{"class":3266},[3123,4880,4881],{"class":3273}," client",[3123,4883,3277],{"class":3266},[3123,4885,3738],{"class":3737},[3123,4887,4407],{"class":3266},[3123,4889,3310],{"class":3262},[3123,4891,4892],{"class":3125,"line":3618},[3123,4893,3609],{"emptyLinePlaceholder":1208},[3123,4895,4896],{"class":3125,"line":3640},[3123,4897,3615],{"class":3572},[3123,4899,4900,4902,4904,4906,4908,4910],{"class":3125,"line":3645},[3123,4901,4523],{"class":3258},[3123,4903,3263],{"class":3262},[3123,4905,4528],{"class":3266},[3123,4907,4356],{"class":4355},[3123,4909,3623],{"class":3262},[3123,4911,3267],{"class":3266},[3123,4913,4914,4916,4918,4920,4922,4924],{"class":3125,"line":3948},[3123,4915,4540],{"class":3273},[3123,4917,3277],{"class":3266},[3123,4919,3897],{"class":3266},[3123,4921,4547],{"class":3133},[3123,4923,3903],{"class":3266},[3123,4925,3295],{"class":3266},[3123,4927,4928,4930,4932,4934,4936],{"class":3125,"line":4515},[3123,4929,4363],{"class":3273},[3123,4931,3623],{"class":3266},[3123,4933,4275],{"class":4349},[3123,4935,4352],{"class":3266},[3123,4937,3280],{"class":3266},[3123,4939,4940],{"class":3125,"line":4520},[3123,4941,4570],{"class":3572},[3123,4943,4944],{"class":3125,"line":4537},[3123,4945,3301],{"class":3266},[3123,4947,4948,4950,4952,4954,4956],{"class":3125,"line":4554},[3123,4949,4581],{"class":3273},[3123,4951,3623],{"class":3266},[3123,4953,4275],{"class":4349},[3123,4955,4352],{"class":3266},[3123,4957,3280],{"class":3266},[3123,4959,4960],{"class":3125,"line":4567},[3123,4961,4595],{"class":3572},[3123,4963,4964],{"class":3125,"line":4573},[3123,4965,3301],{"class":3266},[3123,4967,4968,4970,4972,4974,4976,4978,4980],{"class":3125,"line":4578},[3123,4969,4606],{"class":3273},[3123,4971,3623],{"class":3266},[3123,4973,4611],{"class":4349},[3123,4975,4437],{"class":3266},[3123,4977,4616],{"class":4349},[3123,4979,4352],{"class":3266},[3123,4981,3280],{"class":3266},[3123,4983,4984],{"class":3125,"line":4592},[3123,4985,4626],{"class":3572},[3123,4987,4988,4990,4992,4994,4996,4998,5000,5002,5004],{"class":3125,"line":4598},[3123,4989,4632],{"class":3251},[3123,4991,3623],{"class":3273},[3123,4993,4611],{"class":3262},[3123,4995,4639],{"class":3266},[3123,4997,3897],{"class":3266},[3123,4999,3537],{"class":3133},[3123,5001,3903],{"class":3266},[3123,5003,4468],{"class":3273},[3123,5005,3267],{"class":3266},[3123,5007,5008,5010,5012,5014,5016],{"class":3125,"line":4603},[3123,5009,4655],{"class":3262},[3123,5011,3231],{"class":3266},[3123,5013,4368],{"class":3262},[3123,5015,4662],{"class":3266},[3123,5017,4665],{"class":3266},[3123,5019,5020,5022,5024,5026,5028,5030,5032],{"class":3125,"line":4623},[3123,5021,4655],{"class":3262},[3123,5023,3231],{"class":3266},[3123,5025,4368],{"class":3262},[3123,5027,3231],{"class":3266},[3123,5029,4373],{"class":3262},[3123,5031,4662],{"class":3266},[3123,5033,4683],{"class":3273},[3123,5035,5036,5038,5040,5042,5044,5046,5048,5050,5052,5054,5056,5058],{"class":3125,"line":4629},[3123,5037,4655],{"class":3262},[3123,5039,3231],{"class":3266},[3123,5041,4368],{"class":3262},[3123,5043,3231],{"class":3266},[3123,5045,4373],{"class":3262},[3123,5047,3231],{"class":3266},[3123,5049,4378],{"class":3258},[3123,5051,3263],{"class":3273},[3123,5053,3903],{"class":3266},[3123,5055,4385],{"class":3133},[3123,5057,3903],{"class":3266},[3123,5059,3310],{"class":3273},[3123,5061,5062],{"class":3125,"line":4652},[3123,5063,4716],{"class":3266},[3123,5065,5066],{"class":3125,"line":4668},[3123,5067,3301],{"class":3266},[3123,5069,5070,5072,5074,5076,5078],{"class":3125,"line":4686},[3123,5071,4727],{"class":3273},[3123,5073,3623],{"class":3266},[3123,5075,4732],{"class":4349},[3123,5077,4352],{"class":3266},[3123,5079,3280],{"class":3266},[3123,5081,5082,5084,5086,5088,5090,5092,5094,5096],{"class":3125,"line":4713},[3123,5083,4742],{"class":3251},[3123,5085,4745],{"class":3262},[3123,5087,3231],{"class":3266},[3123,5089,4611],{"class":3262},[3123,5091,4639],{"class":3266},[3123,5093,3897],{"class":3266},[3123,5095,3537],{"class":3133},[3123,5097,4758],{"class":3266},[3123,5099,5100],{"class":3125,"line":4719},[3123,5101,3301],{"class":3266},[3123,5103,5104,5106],{"class":3125,"line":4724},[3123,5105,3307],{"class":3266},[3123,5107,4771],{"class":3262},[5109,5110,5112],"read-more",{"to":4211,"target":5111},"_blank",[3093,5113,5114],{},"Learn more about Vite's Environment API",[3088,5116,5118],{"id":5117},"migration-to-vite-8","Migration to Vite 8",[3093,5120,3515,5121,3767],{},[3217,5122,3518],{},[3521,5124,3524],{"id":5125},"what-changed-4",[3093,5127,5128,5129,5134,5135,5140],{},"Nuxt 5 upgrades from Vite 7 to ",[3097,5130,5133],{"href":5131,"rel":5132},"https:\u002F\u002Fmain.vite.dev\u002Fguide\u002Fmigration",[3101],"Vite 8",", which replaces esbuild and Rollup with ",[3097,5136,5139],{"href":5137,"rel":5138},"https:\u002F\u002Frolldown.rs",[3101],"Rolldown"," as the underlying bundler. This brings significantly faster builds but includes several breaking changes.",[3496,5142,5143],{},[3093,5144,5145,5146,5148,5149,5152,5153,3231],{},"Unlike the Vite Environment API migration, this change cannot be opted into early with ",[3105,5147,3503],{},". If you want to test Vite 8 compatibility ahead of time, you can add a ",[3105,5150,5151],{},"\"vite\": \"^8.0.0-beta.15\""," resolution override in your ",[3105,5154,237],{},[3093,5156,5157],{},"Most of the migration is handled by Nuxt internally, but there are some user-facing changes to be aware of:",[3322,5159,5160,5178,5189],{},[3325,5161,5162,5170,5171,3814,5174,5177],{},[3217,5163,5164,3814,5167],{},[3105,5165,5166],{},"vite.esbuild",[3105,5168,5169],{},"vite.optimizeDeps.esbuildOptions"," are deprecated in favour of ",[3105,5172,5173],{},"vite.oxc",[3105,5175,5176],{},"vite.optimizeDeps.rolldownOptions",". Vite 8 converts these automatically for now, but they will be removed in the future.",[3325,5179,5180,5185,5186,3231],{},[3217,5181,5182],{},[3105,5183,5184],{},"build.rollupOptions"," is deprecated in favour of ",[3105,5187,5188],{},"build.rolldownOptions",[3325,5190,5191,5194,5195,5200],{},[3217,5192,5193],{},"CommonJS interop behaviour"," has changed. If you import CJS modules, review the ",[3097,5196,5199],{"href":5197,"rel":5198},"https:\u002F\u002Fmain.vite.dev\u002Fguide\u002Fmigration#consistent-commonjs-interop",[3101],"Vite 8 migration guide"," for details.",[5109,5202,5203],{"to":5131,"target":5111},[3093,5204,5205],{},"See the full Vite 8 migration guide for all breaking changes and migration steps.",[3088,5207,5209],{"id":5208},"migration-to-nitro-v3","Migration to Nitro v3",[3093,5211,3515,5212,5214],{},[3217,5213,3518],{},": Significant",[3521,5216,3524],{"id":5217},"what-changed-5",[3093,5219,5220,5221,5226,5227,3814,5232,5237,5238,5241,5242,5245],{},"Nuxt 5 upgrades to ",[3097,5222,5225],{"href":5223,"rel":5224},"https:\u002F\u002Fnitro.build\u002Fblog\u002Fv3-beta",[3101],"Nitro v3",", which is a major rewrite of the server engine. Nitro v3 is built on ",[3097,5228,5231],{"href":5229,"rel":5230},"https:\u002F\u002Fsrvx.h3.dev",[3101],"srvx",[3097,5233,5236],{"href":5234,"rel":5235},"https:\u002F\u002Fh3.dev",[3101],"h3 v2",", adopting Web standard ",[3105,5239,5240],{},"Request","\u002F",[3105,5243,5244],{},"Response"," APIs throughout. This brings performance improvements and a more consistent API, but includes several breaking changes to server-side code.",[5247,5248,5249],"important",{},[3093,5250,5251],{},"We are still working on Nitro v3 integration so you should expect further changes, as well as additional work to make migration more straightforward.",[5109,5253,5254],{"to":5223,"target":5111},[3093,5255,5256],{},"Read the Nitro v3 beta announcement for a full overview.",[5109,5258,5260],{"to":5259,"target":5111},"https:\u002F\u002Fnitro.build\u002Fdocs\u002Fmigration",[3093,5261,5262],{},"See the full Nitro v3 migration guide for all breaking changes.",[3093,5264,5265],{},"The sections below highlight changes that are most relevant to Nuxt application developers and module authors.",[3521,5267,5269],{"id":5268},"package-and-import-path-changes","Package and Import Path Changes",[3093,5271,3650,5272,5275,5276,5279],{},[3105,5273,5274],{},"nitropack"," package has been renamed to ",[3105,5277,5278],{},"nitro",". All import paths have changed:",[5281,5282,5283,5296],"table",{},[5284,5285,5286],"thead",{},[5287,5288,5289,5293],"tr",{},[5290,5291,5292],"th",{},"Before",[5290,5294,5295],{},"After",[5297,5298,5299,5310,5322,5333],"tbody",{},[5287,5300,5301,5306],{},[5302,5303,5304],"td",{},[3105,5305,5274],{},[5302,5307,5308],{},[3105,5309,5278],{},[5287,5311,5312,5317],{},[5302,5313,5314],{},[3105,5315,5316],{},"nitropack\u002Ftypes",[5302,5318,5319],{},[3105,5320,5321],{},"nitro\u002Ftypes",[5287,5323,5324,5329],{},[5302,5325,5326],{},[3105,5327,5328],{},"nitropack\u002Fruntime",[5302,5330,5331],{},[3105,5332,5278],{},[5287,5334,5335,5340],{},[5302,5336,5337,5339],{},[3105,5338,3088],{}," (for server utilities)",[5302,5341,5342],{},[3105,5343,5344],{},"nitro\u002Fh3",[3093,5346,5347,5348,3534,5351,3534,5354,3534,5357,5359],{},"Auto-imports within server routes (",[3105,5349,5350],{},"defineEventHandler",[3105,5352,5353],{},"getQuery",[3105,5355,5356],{},"readBody",[3105,5358,607],{},", etc.) continue to work without changes.",[3093,5361,5362],{},"If you have explicit imports in server code, update them:",[3113,5364,5366],{"className":3980,"code":5365,"language":3982,"meta":3119,"style":3119},"- import { defineEventHandler, getQuery } from 'h3'\n+ import { defineEventHandler, getQuery } from 'nitro\u002Fh3'\n",[3105,5367,5368,5375],{"__ignoreMap":3119},[3123,5369,5370,5372],{"class":3125,"line":3126},[3123,5371,3989],{"class":3266},[3123,5373,5374],{"class":3273}," import { defineEventHandler, getQuery } from 'h3'\n",[3123,5376,5377,5379],{"class":3125,"line":3270},[3123,5378,3997],{"class":3266},[3123,5380,5381],{"class":3133}," import { defineEventHandler, getQuery } from 'nitro\u002Fh3'\n",[3093,5383,5384,5387],{},[3217,5385,5386],{},"For module authors",", type augmentations must target the new module path:",[3113,5389,5391],{"className":3980,"code":5390,"language":3982,"meta":3119,"style":3119},"- declare module 'nitropack\u002Ftypes' {\n+ declare module 'nitro\u002Ftypes' {\n    interface NitroRouteRules {\n      myModule?: { \u002F* ... *\u002F }\n    }\n  }\n",[3105,5392,5393,5400,5407,5412,5417,5421],{"__ignoreMap":3119},[3123,5394,5395,5397],{"class":3125,"line":3126},[3123,5396,3989],{"class":3266},[3123,5398,5399],{"class":3273}," declare module 'nitropack\u002Ftypes' {\n",[3123,5401,5402,5404],{"class":3125,"line":3270},[3123,5403,3997],{"class":3266},[3123,5405,5406],{"class":3133}," declare module 'nitro\u002Ftypes' {\n",[3123,5408,5409],{"class":3125,"line":3283},[3123,5410,5411],{"class":3262},"    interface NitroRouteRules {\n",[3123,5413,5414],{"class":3125,"line":3298},[3123,5415,5416],{"class":3262},"      myModule?: { \u002F* ... *\u002F }\n",[3123,5418,5419],{"class":3125,"line":3304},[3123,5420,4716],{"class":3262},[3123,5422,5423],{"class":3125,"line":3606},[3123,5424,4502],{"class":3262},[3521,5426,5428,5429,5241,5432,5435,5436,5241,5439],{"id":5427},"error-handling-statusstatustext-replace-statuscodestatusmessage","Error Handling: ",[3105,5430,5431],{},"status",[3105,5433,5434],{},"statusText"," replace ",[3105,5437,5438],{},"statusCode",[3105,5440,5441],{},"statusMessage",[3093,5443,5444],{},"h3 v2 renames the error properties to align with Web standards:",[3113,5446,5448],{"className":3980,"code":5447,"language":3982,"meta":3119,"style":3119},"  createError({\n-   statusCode: 404,\n-   statusMessage: 'Not Found',\n+   status: 404,\n+   statusText: 'Not Found',\n  })\n",[3105,5449,5450,5455,5462,5469,5476,5483],{"__ignoreMap":3119},[3123,5451,5452],{"class":3125,"line":3126},[3123,5453,5454],{"class":3262},"  createError({\n",[3123,5456,5457,5459],{"class":3125,"line":3270},[3123,5458,3989],{"class":3266},[3123,5460,5461],{"class":3273},"   statusCode: 404,\n",[3123,5463,5464,5466],{"class":3125,"line":3283},[3123,5465,3989],{"class":3266},[3123,5467,5468],{"class":3273},"   statusMessage: 'Not Found',\n",[3123,5470,5471,5473],{"class":3125,"line":3298},[3123,5472,3997],{"class":3266},[3123,5474,5475],{"class":3133},"   status: 404,\n",[3123,5477,5478,5480],{"class":3125,"line":3304},[3123,5479,3997],{"class":3266},[3123,5481,5482],{"class":3133},"   statusText: 'Not Found',\n",[3123,5484,5485],{"class":3125,"line":3606},[3123,5486,5487],{"class":3262},"  })\n",[3093,5489,5490,5491,5494,5495,5497,5498,5500],{},"In server routes, the error class is now ",[3105,5492,5493],{},"HTTPError"," (replacing ",[3105,5496,662],{}," from ",[3105,5499,3088],{},"):",[3113,5502,5504],{"className":3980,"code":5503,"language":3982,"meta":3119,"style":3119},"- import { createError } from 'h3'\n+ import { HTTPError } from 'nitro\u002Fh3'\n\n  export default defineEventHandler(() => {\n-   throw createError({ statusCode: 400, statusMessage: 'Bad request' })\n+   throw new HTTPError({ status: 400, statusText: 'Bad request' })\n  })\n",[3105,5505,5506,5513,5520,5524,5529,5536,5543],{"__ignoreMap":3119},[3123,5507,5508,5510],{"class":3125,"line":3126},[3123,5509,3989],{"class":3266},[3123,5511,5512],{"class":3273}," import { createError } from 'h3'\n",[3123,5514,5515,5517],{"class":3125,"line":3270},[3123,5516,3997],{"class":3266},[3123,5518,5519],{"class":3133}," import { HTTPError } from 'nitro\u002Fh3'\n",[3123,5521,5522],{"class":3125,"line":3283},[3123,5523,3609],{"emptyLinePlaceholder":1208},[3123,5525,5526],{"class":3125,"line":3298},[3123,5527,5528],{"class":3262},"  export default defineEventHandler(() => {\n",[3123,5530,5531,5533],{"class":3125,"line":3304},[3123,5532,3989],{"class":3266},[3123,5534,5535],{"class":3273},"   throw createError({ statusCode: 400, statusMessage: 'Bad request' })\n",[3123,5537,5538,5540],{"class":3125,"line":3606},[3123,5539,3997],{"class":3266},[3123,5541,5542],{"class":3133},"   throw new HTTPError({ status: 400, statusText: 'Bad request' })\n",[3123,5544,5545],{"class":3125,"line":3612},[3123,5546,5487],{"class":3262},[3496,5548,5549],{},[3093,5550,5551,5552,5554,5555,5557],{},"In the Vue part of your app (the ",[3105,5553,1207],{}," directory), Nuxt's ",[3105,5556,662],{}," composable continues to work and is the recommended way to throw errors.",[3521,5559,5561,5563,5564,5566],{"id":5560},"createerror-no-longer-returns-an-httperror-instance",[3105,5562,662],{}," No Longer Returns an ",[3105,5565,5493],{}," Instance",[3093,5568,5569,5572,5573,5575,5576,5579,5580,5582],{},[3105,5570,5571],{},"NuxtError"," is now its own class rather than a subclass of h3's ",[3105,5574,5493],{},", so ",[3105,5577,5578],{},"instanceof HTTPError"," no longer matches an error created with Nuxt's ",[3105,5581,662],{},". Everything else is unchanged: the error keeps the same properties, serialises the same way, and is still mapped to the right HTTP response during SSR.",[3093,5584,5585],{},"If you narrow errors by class, use one of the predicates instead:",[3113,5587,5589],{"className":3980,"code":5588,"language":3982,"meta":3119,"style":3119},"- if (error instanceof HTTPError) {\n+ if (HTTPError.isError(error)) {\n    \u002F\u002F handles both `new HTTPError()` and Nuxt's `createError()`\n  }\n",[3105,5590,5591,5598,5605,5610],{"__ignoreMap":3119},[3123,5592,5593,5595],{"class":3125,"line":3126},[3123,5594,3989],{"class":3266},[3123,5596,5597],{"class":3273}," if (error instanceof HTTPError) {\n",[3123,5599,5600,5602],{"class":3125,"line":3270},[3123,5601,3997],{"class":3266},[3123,5603,5604],{"class":3133}," if (HTTPError.isError(error)) {\n",[3123,5606,5607],{"class":3125,"line":3283},[3123,5608,5609],{"class":3262},"    \u002F\u002F handles both `new HTTPError()` and Nuxt's `createError()`\n",[3123,5611,5612],{"class":3125,"line":3298},[3123,5613,4502],{"class":3262},[3113,5615,5617],{"className":3980,"code":5616,"language":3982,"meta":3119,"style":3119},"+ import { isNuxtError } from '#app'\n+\n+ if (isNuxtError(error)) {\n+   \u002F\u002F narrows to errors created with Nuxt's `createError`\n+ }\n",[3105,5618,5619,5626,5631,5638,5645],{"__ignoreMap":3119},[3123,5620,5621,5623],{"class":3125,"line":3126},[3123,5622,3997],{"class":3266},[3123,5624,5625],{"class":3133}," import { isNuxtError } from '#app'\n",[3123,5627,5628],{"class":3125,"line":3270},[3123,5629,5630],{"class":3266},"+\n",[3123,5632,5633,5635],{"class":3125,"line":3283},[3123,5634,3997],{"class":3266},[3123,5636,5637],{"class":3133}," if (isNuxtError(error)) {\n",[3123,5639,5640,5642],{"class":3125,"line":3298},[3123,5641,3997],{"class":3266},[3123,5643,5644],{"class":3133},"   \u002F\u002F narrows to errors created with Nuxt's `createError`\n",[3123,5646,5647,5649],{"class":3125,"line":3304},[3123,5648,3997],{"class":3266},[3123,5650,5651],{"class":3133}," }\n",[3521,5653,5655],{"id":5654},"server-event-api-changes-h3-v2","Server Event API Changes (h3 v2)",[3093,5657,3650,5658,5661],{},[3105,5659,5660],{},"H3Event"," object now uses Web standard APIs:",[3093,5663,5664],{},[3217,5665,5666],{},"Request properties:",[3113,5668,5670],{"className":3980,"code":5669,"language":3982,"meta":3119,"style":3119},"- event.path              \u002F\u002F string\n+ event.url.pathname      \u002F\u002F URL object - use .pathname, .search, .hash\n\n- event.method            \u002F\u002F string\n+ event.req.method        \u002F\u002F via Web Request object\n\n- event.node.req.headers  \u002F\u002F Node.js IncomingHttpHeaders\n+ event.req.headers       \u002F\u002F Web Headers API (.get(), .set(), .has())\n",[3105,5671,5672,5679,5686,5690,5697,5704,5708,5715],{"__ignoreMap":3119},[3123,5673,5674,5676],{"class":3125,"line":3126},[3123,5675,3989],{"class":3266},[3123,5677,5678],{"class":3273}," event.path              \u002F\u002F string\n",[3123,5680,5681,5683],{"class":3125,"line":3270},[3123,5682,3997],{"class":3266},[3123,5684,5685],{"class":3133}," event.url.pathname      \u002F\u002F URL object - use .pathname, .search, .hash\n",[3123,5687,5688],{"class":3125,"line":3283},[3123,5689,3609],{"emptyLinePlaceholder":1208},[3123,5691,5692,5694],{"class":3125,"line":3298},[3123,5693,3989],{"class":3266},[3123,5695,5696],{"class":3273}," event.method            \u002F\u002F string\n",[3123,5698,5699,5701],{"class":3125,"line":3304},[3123,5700,3997],{"class":3266},[3123,5702,5703],{"class":3133}," event.req.method        \u002F\u002F via Web Request object\n",[3123,5705,5706],{"class":3125,"line":3606},[3123,5707,3609],{"emptyLinePlaceholder":1208},[3123,5709,5710,5712],{"class":3125,"line":3612},[3123,5711,3989],{"class":3266},[3123,5713,5714],{"class":3273}," event.node.req.headers  \u002F\u002F Node.js IncomingHttpHeaders\n",[3123,5716,5717,5719],{"class":3125,"line":3618},[3123,5718,3997],{"class":3266},[3123,5720,5721],{"class":3133}," event.req.headers       \u002F\u002F Web Headers API (.get(), .set(), .has())\n",[3093,5723,5724],{},[3217,5725,5726],{},"Response properties:",[3113,5728,5730],{"className":3980,"code":5729,"language":3982,"meta":3119,"style":3119},"- event.node.res.statusCode = 200\n+ event.res.status = 200\n\n- event.node.res.statusMessage = 'OK'\n+ event.res.statusText = 'OK'\n\n- setResponseHeader(event, 'x-custom', 'value')\n+ event.res.headers.set('x-custom', 'value')\n\n- appendResponseHeader(event, 'set-cookie', cookie)\n+ event.res.headers.append('set-cookie', cookie)\n",[3105,5731,5732,5739,5746,5750,5757,5764,5768,5775,5782,5786,5793],{"__ignoreMap":3119},[3123,5733,5734,5736],{"class":3125,"line":3126},[3123,5735,3989],{"class":3266},[3123,5737,5738],{"class":3273}," event.node.res.statusCode = 200\n",[3123,5740,5741,5743],{"class":3125,"line":3270},[3123,5742,3997],{"class":3266},[3123,5744,5745],{"class":3133}," event.res.status = 200\n",[3123,5747,5748],{"class":3125,"line":3283},[3123,5749,3609],{"emptyLinePlaceholder":1208},[3123,5751,5752,5754],{"class":3125,"line":3298},[3123,5753,3989],{"class":3266},[3123,5755,5756],{"class":3273}," event.node.res.statusMessage = 'OK'\n",[3123,5758,5759,5761],{"class":3125,"line":3304},[3123,5760,3997],{"class":3266},[3123,5762,5763],{"class":3133}," event.res.statusText = 'OK'\n",[3123,5765,5766],{"class":3125,"line":3606},[3123,5767,3609],{"emptyLinePlaceholder":1208},[3123,5769,5770,5772],{"class":3125,"line":3612},[3123,5771,3989],{"class":3266},[3123,5773,5774],{"class":3273}," setResponseHeader(event, 'x-custom', 'value')\n",[3123,5776,5777,5779],{"class":3125,"line":3618},[3123,5778,3997],{"class":3266},[3123,5780,5781],{"class":3133}," event.res.headers.set('x-custom', 'value')\n",[3123,5783,5784],{"class":3125,"line":3640},[3123,5785,3609],{"emptyLinePlaceholder":1208},[3123,5787,5788,5790],{"class":3125,"line":3645},[3123,5789,3989],{"class":3266},[3123,5791,5792],{"class":3273}," appendResponseHeader(event, 'set-cookie', cookie)\n",[3123,5794,5795,5797],{"class":3125,"line":3948},[3123,5796,3997],{"class":3266},[3123,5798,5799],{"class":3133}," event.res.headers.append('set-cookie', cookie)\n",[3521,5801,5803,5806,5807],{"id":5802},"useruntimeconfig-no-longer-accepts-event",[3105,5804,5805],{},"useRuntimeConfig()"," No Longer Accepts ",[3105,5808,5809],{},"event",[3093,5811,5812,5813,5815,5816,5818],{},"In Nitro v3, ",[3105,5814,5805],{}," no longer requires (or accepts) an ",[3105,5817,5809],{}," argument in server routes:",[3113,5820,5822],{"className":3980,"code":5821,"language":3982,"meta":3119,"style":3119},"  export default defineEventHandler((event) => {\n-   const config = useRuntimeConfig(event)\n+   const config = useRuntimeConfig()\n  })\n",[3105,5823,5824,5829,5836,5843],{"__ignoreMap":3119},[3123,5825,5826],{"class":3125,"line":3126},[3123,5827,5828],{"class":3262},"  export default defineEventHandler((event) => {\n",[3123,5830,5831,5833],{"class":3125,"line":3270},[3123,5832,3989],{"class":3266},[3123,5834,5835],{"class":3273},"   const config = useRuntimeConfig(event)\n",[3123,5837,5838,5840],{"class":3125,"line":3283},[3123,5839,3997],{"class":3266},[3123,5841,5842],{"class":3133},"   const config = useRuntimeConfig()\n",[3123,5844,5845],{"class":3125,"line":3298},[3123,5846,5487],{"class":3262},[3521,5848,5850,5851,5853,5854],{"id":5849},"route-rules-statuscode-renamed-to-status","Route Rules: ",[3105,5852,5438],{}," Renamed to ",[3105,5855,5431],{},[3093,5857,5858],{},"If you define redirect route rules, the property name has changed:",[3113,5860,5862],{"className":3980,"code":5861,"language":3982,"meta":3119,"style":3119},"  export default defineNuxtConfig({\n    routeRules: {\n      '\u002Fold-page': {\n-       redirect: { to: '\u002Fnew-page', statusCode: 302 },\n+       redirect: { to: '\u002Fnew-page', status: 302 },\n      },\n    },\n  })\n",[3105,5863,5864,5869,5874,5879,5886,5893,5897,5901],{"__ignoreMap":3119},[3123,5865,5866],{"class":3125,"line":3126},[3123,5867,5868],{"class":3262},"  export default defineNuxtConfig({\n",[3123,5870,5871],{"class":3125,"line":3270},[3123,5872,5873],{"class":3262},"    routeRules: {\n",[3123,5875,5876],{"class":3125,"line":3283},[3123,5877,5878],{"class":3262},"      '\u002Fold-page': {\n",[3123,5880,5881,5883],{"class":3125,"line":3298},[3123,5882,3989],{"class":3266},[3123,5884,5885],{"class":3273},"       redirect: { to: '\u002Fnew-page', statusCode: 302 },\n",[3123,5887,5888,5890],{"class":3125,"line":3304},[3123,5889,3997],{"class":3266},[3123,5891,5892],{"class":3133},"       redirect: { to: '\u002Fnew-page', status: 302 },\n",[3123,5894,5895],{"class":3125,"line":3606},[3123,5896,3937],{"class":3262},[3123,5898,5899],{"class":3125,"line":3612},[3123,5900,3745],{"class":3262},[3123,5902,5903],{"class":3125,"line":3618},[3123,5904,5487],{"class":3262},[3521,5906,5908],{"id":5907},"for-module-authors-additional-changes","For Module Authors: Additional Changes",[3322,5910,5911,5921,5936],{},[3325,5912,5913,5916,5917,5920],{},[3217,5914,5915],{},"Nitro plugin imports",": Use ",[3105,5918,5919],{},"import { definePlugin } from 'nitro'"," for explicit imports (auto-imports still work).",[3325,5922,5923,3368,5926,3814,5929,5932,5933,3231],{},[3217,5924,5925],{},"Runtime hooks",[3105,5927,5928],{},"nitroApp.hooks.hook('beforeResponse', ...)",[3105,5930,5931],{},"nitroApp.hooks.hook('afterResponse', ...)"," have been replaced by ",[3105,5934,5935],{},"nitroApp.hooks.hook('response', ...)",[3325,5937,5938,5946,5947,3316,5950,5953,5954,3231],{},[3217,5939,5940,5497,5943],{},[3105,5941,5942],{},"getRouteRules()",[3105,5944,5945],{},"nitro\u002Fapp",": On the server, the Nitro helper changed from ",[3105,5948,5949],{},"getRouteRules(event)",[3105,5951,5952],{},"getRouteRules(method, pathname)",", which returns ",[3105,5955,5956],{},"{ routeRules }",[3088,5958,5960,5961],{"id":5959},"removal-of-experimentalexternalvue","Removal of ",[3105,5962,5963],{},"experimental.externalVue",[3093,5965,3515,5966,3519],{},[3217,5967,3518],{},[3521,5969,3524],{"id":5970},"what-changed-6",[3093,5972,3650,5973,5975,5976,3534,5979,3534,5982,3534,5985,3534,5988,5991,5992,5995],{},[3105,5974,5963],{}," option has been removed. Vue compiler dependencies (",[3105,5977,5978],{},"@babel\u002Fparser",[3105,5980,5981],{},"@vue\u002Fcompiler-core",[3105,5983,5984],{},"@vue\u002Fcompiler-dom",[3105,5986,5987],{},"@vue\u002Fcompiler-ssr",[3105,5989,5990],{},"estree-walker",") are now always replaced with mock proxies in the server bundle when ",[3105,5993,5994],{},"vue.runtimeCompiler"," is not enabled.",[3521,5997,3956],{"id":5998},"reasons-for-change-2",[3093,6000,6001,6002,6004,6005,6008],{},"With the migration to Nitro v3, all dependencies are bundled into the server output by default (unlike Nitro v2, which externalized ",[3105,6003,166],{},"). The ",[3105,6006,6007],{},"externalVue"," option was originally designed to keep Vue as an external dependency, which was needed to avoid multiple copies of Vue from being bundled, but since Nitro v3 bundles everything regardless, the option became a no-op.",[3093,6010,6011,6012,6014,6015,6017],{},"Vue's server builds include the full compiler toolchain, pulling ",[3105,6013,5978],{}," (465KB) and other compiler packages into the server bundle unnecessarily. These compiler packages are only needed when ",[3105,6016,5994],{}," is enabled for runtime template compilation.",[3093,6019,6020],{},"By always mocking these compiler dependencies, the default server bundle size is reduced by approximately 860KB (~59%).",[3521,6022,3559],{"id":6023},"migration-steps-4",[3093,6025,6026,6027,6029],{},"If you previously set ",[3105,6028,5963],{}," explicitly, you should now remove it.",[3113,6031,6033],{"className":3980,"code":6032,"language":3982,"meta":3119,"style":3119},"  export default defineNuxtConfig({\n    experimental: {\n-     externalVue: false,\n    },\n  })\n",[3105,6034,6035,6039,6044,6051,6055],{"__ignoreMap":3119},[3123,6036,6037],{"class":3125,"line":3126},[3123,6038,5868],{"class":3262},[3123,6040,6041],{"class":3125,"line":3270},[3123,6042,6043],{"class":3262},"    experimental: {\n",[3123,6045,6046,6048],{"class":3125,"line":3283},[3123,6047,3989],{"class":3266},[3123,6049,6050],{"class":3273},"     externalVue: false,\n",[3123,6052,6053],{"class":3125,"line":3298},[3123,6054,3745],{"class":3262},[3123,6056,6057],{"class":3125,"line":3304},[3123,6058,5487],{"class":3262},[3496,6060,6061],{},[3093,6062,6063,6064,6067],{},"If you use ",[3105,6065,6066],{},"vue.runtimeCompiler: true",", the real compiler packages are still included as before.",[3088,6069,6071,6074],{"id":6070},"experimentalparseerrordata-is-no-longer-configurable",[3105,6072,6073],{},"experimental.parseErrorData"," Is No Longer Configurable",[3093,6076,3515,6077,3519],{},[3217,6078,3518],{},[3521,6080,3524],{"id":6081},"what-changed-7",[3093,6083,3650,6084,6086,6087,6090,6091,6094,6095,3231],{},[3105,6085,6073],{}," option is deprecated, and on Nuxt 5 it is forced on. Setting it to ",[3105,6088,6089],{},"false"," logs a warning and is otherwise ignored, so ",[3105,6092,6093],{},"error.data"," on the error page is always the value you passed to ",[3105,6096,662],{},[3093,6098,6099,6100,6103,6104,6106,6107,6109],{},"On ",[3105,6101,6102],{},"compatibilityVersion: 4"," the option still works and ",[3105,6105,6089],{}," still gives you a stringified ",[3105,6108,6093],{},", so the behaviour only changes when you opt in to Nuxt 5.",[3521,6111,3956],{"id":6112},"reasons-for-change-3",[3093,6114,6115,6116,6119,6120,6122,6123,6126],{},"When Nuxt renders an error page it fetches ",[3105,6117,6118],{},"\u002F__nuxt_error"," internally, passing the error along with the request. That used to spread the error across one query parameter per field, and because query values are always strings, ",[3105,6121,6093],{}," arrived as a string and had to be parsed back. ",[3105,6124,6125],{},"parseErrorData"," existed to opt out of that parsing.",[3093,6128,6129,6130,6132,6133,6135,6136,3814,6139,6142,6143,6145],{},"The error is now sent as a single JSON-encoded parameter, so ",[3105,6131,6093],{}," keeps its original shape and is never stringified. Values also keep their types, so ",[3105,6134,5431],{}," is a number and booleans are booleans rather than the strings ",[3105,6137,6138],{},"'true'",[3105,6140,6141],{},"'false'",". With nothing stringifying ",[3105,6144,6093],{},", the option only survives to re-stringify it for apps that still expect a string.",[3521,6147,3559],{"id":6148},"migration-steps-5",[3093,6150,6151],{},"Remove the option:",[3113,6153,6155],{"className":3980,"code":6154,"language":3982,"meta":3119,"style":3119},"  export default defineNuxtConfig({\n    experimental: {\n-     parseErrorData: false,\n    },\n  })\n",[3105,6156,6157,6161,6165,6172,6176],{"__ignoreMap":3119},[3123,6158,6159],{"class":3125,"line":3126},[3123,6160,5868],{"class":3262},[3123,6162,6163],{"class":3125,"line":3270},[3123,6164,6043],{"class":3262},[3123,6166,6167,6169],{"class":3125,"line":3283},[3123,6168,3989],{"class":3266},[3123,6170,6171],{"class":3273},"     parseErrorData: false,\n",[3123,6173,6174],{"class":3125,"line":3298},[3123,6175,3745],{"class":3262},[3123,6177,6178],{"class":3125,"line":3304},[3123,6179,5487],{"class":3262},[3093,6181,6182,6183,6185,6186,6188,6189,6191,6192,3277],{},"If you set it to ",[3105,6184,6089],{}," in order to keep parsing ",[3105,6187,6093],{}," yourself, drop that parsing too, as ",[3105,6190,6093],{}," now keeps whatever value you passed to ",[3105,6193,662],{},[3113,6195,6197],{"className":3980,"code":6196,"language":3982,"meta":3119,"style":3119},"  \u003Cscript setup lang=\"ts\">\n  import type { NuxtError } from '#app'\n\n  const props = defineProps({\n    error: Object as () => NuxtError\n  })\n\n- const data = JSON.parse(props.error.data)\n+ const data = props.error.data\n  \u003C\u002Fscript>\n",[3105,6198,6199,6204,6209,6213,6218,6223,6227,6231,6238,6245],{"__ignoreMap":3119},[3123,6200,6201],{"class":3125,"line":3126},[3123,6202,6203],{"class":3262},"  \u003Cscript setup lang=\"ts\">\n",[3123,6205,6206],{"class":3125,"line":3270},[3123,6207,6208],{"class":3262},"  import type { NuxtError } from '#app'\n",[3123,6210,6211],{"class":3125,"line":3283},[3123,6212,3609],{"emptyLinePlaceholder":1208},[3123,6214,6215],{"class":3125,"line":3298},[3123,6216,6217],{"class":3262},"  const props = defineProps({\n",[3123,6219,6220],{"class":3125,"line":3304},[3123,6221,6222],{"class":3262},"    error: Object as () => NuxtError\n",[3123,6224,6225],{"class":3125,"line":3606},[3123,6226,5487],{"class":3262},[3123,6228,6229],{"class":3125,"line":3612},[3123,6230,3609],{"emptyLinePlaceholder":1208},[3123,6232,6233,6235],{"class":3125,"line":3618},[3123,6234,3989],{"class":3266},[3123,6236,6237],{"class":3273}," const data = JSON.parse(props.error.data)\n",[3123,6239,6240,6242],{"class":3125,"line":3640},[3123,6241,3997],{"class":3266},[3123,6243,6244],{"class":3133}," const data = props.error.data\n",[3123,6246,6247],{"class":3125,"line":3645},[3123,6248,6249],{"class":3262},"  \u003C\u002Fscript>\n",[3088,6251,6253,6256],{"id":6252},"vitejsplugin-vue-jsx-is-now-optional",[3105,6254,6255],{},"@vitejs\u002Fplugin-vue-jsx"," Is Now Optional",[3093,6258,3515,6259,3519],{},[3217,6260,3518],{},[3521,6262,3524],{"id":6263},"what-changed-8",[3093,6265,6266,6268,6269,6272,6273,4268,6276,6279],{},[3105,6267,6255],{}," is no longer installed by default with ",[3105,6270,6271],{},"@nuxt\u002Fvite-builder",". It is now an optional peer dependency that is loaded on demand only when a ",[3105,6274,6275],{},".jsx",[3105,6277,6278],{},".tsx"," file is encountered during the build.",[3093,6281,6282],{},"If your project uses JSX\u002FTSX components, Nuxt will automatically detect this and prompt you to install the package.",[3521,6284,3956],{"id":6285},"reasons-for-change-4",[3093,6287,3650,6288,6290,6291,6294],{},[3105,6289,6255],{}," plugin pulls in a significant dependency tree (Babel, ",[3105,6292,6293],{},"@vue\u002Fbabel-plugin-jsx",", etc.) that is unnecessary for projects that don't use JSX. Making it optional reduces the default install size and speeds up dependency resolution for the majority of Nuxt projects.",[3521,6296,3559],{"id":6297},"migration-steps-6",[3093,6299,6300,6301,4268,6303,6305,6306,6308],{},"If your project uses ",[3105,6302,6275],{},[3105,6304,6278],{}," files, add ",[3105,6307,6255],{}," as a dev dependency:",[3109,6310,6311,6328,6343,6358],{"sync":3111},[3113,6312,6314],{"className":3115,"code":6313,"filename":3117,"language":3118,"meta":3119,"style":3119},"npm install -D @vitejs\u002Fplugin-vue-jsx\n",[3105,6315,6316],{"__ignoreMap":3119},[3123,6317,6318,6320,6323,6325],{"class":3125,"line":3126},[3123,6319,3117],{"class":3129},[3123,6321,6322],{"class":3133}," install",[3123,6324,4124],{"class":3133},[3123,6326,6327],{"class":3133}," @vitejs\u002Fplugin-vue-jsx\n",[3113,6329,6331],{"className":3115,"code":6330,"filename":3141,"language":3118,"meta":3119,"style":3119},"yarn add -D @vitejs\u002Fplugin-vue-jsx\n",[3105,6332,6333],{"__ignoreMap":3119},[3123,6334,6335,6337,6339,6341],{"class":3125,"line":3126},[3123,6336,3141],{"class":3129},[3123,6338,4139],{"class":3133},[3123,6340,4124],{"class":3133},[3123,6342,6327],{"class":3133},[3113,6344,6346],{"className":3115,"code":6345,"filename":3155,"language":3118,"meta":3119,"style":3119},"pnpm add -D @vitejs\u002Fplugin-vue-jsx\n",[3105,6347,6348],{"__ignoreMap":3119},[3123,6349,6350,6352,6354,6356],{"class":3125,"line":3126},[3123,6351,3155],{"class":3129},[3123,6353,4139],{"class":3133},[3123,6355,4124],{"class":3133},[3123,6357,6327],{"class":3133},[3113,6359,6361],{"className":3115,"code":6360,"filename":3169,"language":3118,"meta":3119,"style":3119},"bun add -D @vitejs\u002Fplugin-vue-jsx\n",[3105,6362,6363],{"__ignoreMap":3119},[3123,6364,6365,6367,6369,6371],{"class":3125,"line":3126},[3123,6366,3169],{"class":3129},[3123,6368,4139],{"class":3133},[3123,6370,4124],{"class":3133},[3123,6372,6327],{"class":3133},[3093,6374,6375],{},"Alternatively, Nuxt will prompt you to install it automatically the first time a JSX\u002FTSX file is processed during development.",[3093,6377,6378],{},"If your project does not use JSX, no changes are needed.",[3088,6380,6382,6385],{"id":6381},"giget-is-now-optional-remote-layers",[3105,6383,6384],{},"giget"," Is Now Optional (Remote Layers)",[3093,6387,3515,6388,3519],{},[3217,6389,3518],{},[3521,6391,3524],{"id":6392},"what-changed-9",[3093,6394,6395,6397,6398,6401,6402,6405],{},[3105,6396,6384],{}," is no longer installed by default. It is now an optional peer dependency of ",[3105,6399,6400],{},"@nuxt\u002Fkit",", needed only to download a layer that ",[3105,6403,6404],{},"extends"," names by remote URL:",[3113,6407,6409],{"className":3241,"code":6408,"filename":233,"language":3243,"meta":3119,"style":3119},"export default defineNuxtConfig({\n  extends: ['github:my-org\u002Fmy-theme'],\n})\n",[3105,6410,6411,6423,6445],{"__ignoreMap":3119},[3123,6412,6413,6415,6417,6419,6421],{"class":3125,"line":3126},[3123,6414,3252],{"class":3251},[3123,6416,3255],{"class":3251},[3123,6418,3259],{"class":3258},[3123,6420,3263],{"class":3262},[3123,6422,3267],{"class":3266},[3123,6424,6425,6428,6430,6433,6435,6438,6440,6443],{"class":3125,"line":3270},[3123,6426,6427],{"class":3273},"  extends",[3123,6429,3277],{"class":3266},[3123,6431,6432],{"class":3262}," [",[3123,6434,3903],{"class":3266},[3123,6436,6437],{"class":3133},"github:my-org\u002Fmy-theme",[3123,6439,3903],{"class":3266},[3123,6441,6442],{"class":3262},"]",[3123,6444,3295],{"class":3266},[3123,6446,6447,6449],{"class":3125,"line":3283},[3123,6448,3307],{"class":3266},[3123,6450,3310],{"class":3262},[3093,6452,6453,6454,6457],{},"Local layers, layers in ",[3105,6455,6456],{},"~~\u002Flayers\u002F",", and layers installed as packages are unaffected.",[3521,6459,3956],{"id":6460},"reasons-for-change-5",[3093,6462,6463],{},"Most projects never extend from a remote source, so the downloader was being installed for everyone to serve a small minority. Downloading a layer at config-resolution time is also the least reproducible way to consume one: the fetch happens outside your package manager, so it is not in your lockfile and, unless you pin it yourself, not pinned to a revision.",[3521,6465,3559],{"id":6466},"migration-steps-7",[3093,6468,6469,6474],{},[3217,6470,6471,6472,3231],{},"Preferred: move the layer into ",[3105,6473,237],{}," Every major package manager understands git URLs, so a remote layer can be a normal dependency. This puts it in your lockfile, pins it to an exact commit, and installs it alongside everything else:",[3113,6476,6480],{"className":6477,"code":6478,"filename":237,"language":6479,"meta":3119,"style":3119},"language-json shiki shiki-themes material-theme-lighter material-theme-lighter material-theme-palenight","{\n  \"devDependencies\": {\n    \"my-theme\": \"github:my-org\u002Fmy-theme#4a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b\"\n  }\n}\n","json",[3105,6481,6482,6486,6501,6522,6526],{"__ignoreMap":3119},[3123,6483,6484],{"class":3125,"line":3126},[3123,6485,3267],{"class":3266},[3123,6487,6488,6491,6494,6497,6499],{"class":3125,"line":3270},[3123,6489,6490],{"class":3266},"  \"",[3123,6492,6493],{"class":4355},"devDependencies",[3123,6495,6496],{"class":3266},"\"",[3123,6498,3277],{"class":3266},[3123,6500,3280],{"class":3266},[3123,6502,6503,6506,6509,6511,6513,6516,6519],{"class":3125,"line":3283},[3123,6504,6505],{"class":3266},"    \"",[3123,6507,6508],{"class":3129},"my-theme",[3123,6510,6496],{"class":3266},[3123,6512,3277],{"class":3266},[3123,6514,6515],{"class":3266}," \"",[3123,6517,6518],{"class":3133},"github:my-org\u002Fmy-theme#4a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b",[3123,6520,6521],{"class":3266},"\"\n",[3123,6523,6524],{"class":3125,"line":3298},[3123,6525,4502],{"class":3266},[3123,6527,6528],{"class":3125,"line":3304},[3123,6529,3603],{"class":3266},[3093,6531,6532],{},"Then extend from it by package name:",[3113,6534,6536],{"className":3241,"code":6535,"filename":233,"language":3243,"meta":3119,"style":3119},"export default defineNuxtConfig({\n  extends: ['my-theme'],\n})\n",[3105,6537,6538,6550,6568],{"__ignoreMap":3119},[3123,6539,6540,6542,6544,6546,6548],{"class":3125,"line":3126},[3123,6541,3252],{"class":3251},[3123,6543,3255],{"class":3251},[3123,6545,3259],{"class":3258},[3123,6547,3263],{"class":3262},[3123,6549,3267],{"class":3266},[3123,6551,6552,6554,6556,6558,6560,6562,6564,6566],{"class":3125,"line":3270},[3123,6553,6427],{"class":3273},[3123,6555,3277],{"class":3266},[3123,6557,6432],{"class":3262},[3123,6559,3903],{"class":3266},[3123,6561,6508],{"class":3133},[3123,6563,3903],{"class":3266},[3123,6565,6442],{"class":3262},[3123,6567,3295],{"class":3266},[3123,6569,6570,6572],{"class":3125,"line":3283},[3123,6571,3307],{"class":3266},[3123,6573,3310],{"class":3262},[3093,6575,6576,6577,6580,6581,6584,6585,6588],{},"The part after ",[3105,6578,6579],{},"#"," is any commit-ish, so a tag (",[3105,6582,6583],{},"#v1.2.0",") or ",[3105,6586,6587],{},"#semver:^1.2.0"," works too; a full commit SHA is the only form that is genuinely immutable.",[3093,6590,6591,6596,6597,6599],{},[3217,6592,6593,6594],{},"Otherwise, install ",[3105,6595,6384],{}," and keep using a remote ",[3105,6598,6404],{}," entry:",[3109,6601,6602,6618,6633,6648],{"sync":3111},[3113,6603,6605],{"className":3115,"code":6604,"filename":3117,"language":3118,"meta":3119,"style":3119},"npm install -D giget\n",[3105,6606,6607],{"__ignoreMap":3119},[3123,6608,6609,6611,6613,6615],{"class":3125,"line":3126},[3123,6610,3117],{"class":3129},[3123,6612,6322],{"class":3133},[3123,6614,4124],{"class":3133},[3123,6616,6617],{"class":3133}," giget\n",[3113,6619,6621],{"className":3115,"code":6620,"filename":3141,"language":3118,"meta":3119,"style":3119},"yarn add -D giget\n",[3105,6622,6623],{"__ignoreMap":3119},[3123,6624,6625,6627,6629,6631],{"class":3125,"line":3126},[3123,6626,3141],{"class":3129},[3123,6628,4139],{"class":3133},[3123,6630,4124],{"class":3133},[3123,6632,6617],{"class":3133},[3113,6634,6636],{"className":3115,"code":6635,"filename":3155,"language":3118,"meta":3119,"style":3119},"pnpm add -D giget\n",[3105,6637,6638],{"__ignoreMap":3119},[3123,6639,6640,6642,6644,6646],{"class":3125,"line":3126},[3123,6641,3155],{"class":3129},[3123,6643,4139],{"class":3133},[3123,6645,4124],{"class":3133},[3123,6647,6617],{"class":3133},[3113,6649,6651],{"className":3115,"code":6650,"filename":3169,"language":3118,"meta":3119,"style":3119},"bun add -D giget\n",[3105,6652,6653],{"__ignoreMap":3119},[3123,6654,6655,6657,6659,6661],{"class":3125,"line":3126},[3123,6656,3169],{"class":3129},[3123,6658,4139],{"class":3133},[3123,6660,4124],{"class":3133},[3123,6662,6617],{"class":3133},[3093,6664,6665,6666,6668,6669,6671],{},"If a remote layer is resolved without ",[3105,6667,6384],{}," present, Nuxt reports which ",[3105,6670,6404],{}," entry needs it.",[3088,6673,6675,6676,6679],{"id":6674},"removal-of-legacy-_renderresponse-support","Removal of Legacy ",[3105,6677,6678],{},"_renderResponse"," Support",[3093,6681,3515,6682,3519],{},[3217,6683,3518],{},[3521,6685,3524],{"id":6686},"what-changed-10",[3093,6688,6689,6692,6693,6696],{},[3105,6690,6691],{},"ssrContext._renderResponse"," is no longer checked as a fallback. Only the internal ",[3105,6694,6695],{},"ssrContext['~renderResponse']"," (set by Nuxt's own router composable) is used.",[3521,6698,3956],{"id":6699},"reasons-for-change-6",[3093,6701,3650,6702,6704,6705,6708,6709,6714,6715,6718],{},[3105,6703,6678],{}," property on ",[3105,6706,6707],{},"ssrContext"," was kept as a backward-compatibility fallback after ",[3097,6710,6713],{"href":6711,"rel":6712},"https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fnuxt\u002Fpull\u002F33896",[3101],"#33896"," migrated the internal API to ",[3105,6716,6717],{},"~renderResponse",". The TODO comments indicated it should be removed in Nuxt v5.",[3521,6720,3559],{"id":6721},"migration-steps-8",[3093,6723,6724,6725,6727,6728,6730,6731,6733],{},"If you were setting ",[3105,6726,6691],{}," directly (which was never a public API), use ",[3105,6729,6695],{}," instead. The Nuxt router composable already uses the new property, so no changes are needed if you're going through ",[3105,6732,690],{}," or route middleware.",[3088,6735,6737,6738],{"id":6736},"non-async-callhook","Non-Async ",[3105,6739,3387],{},[3093,6741,3515,6742,3519],{},[3217,6743,3518],{},[3521,6745,3524],{"id":6746},"what-changed-11",[3093,6748,6749,6750,3534,6755,6757,6758,6760,6761,6764,6765,6767],{},"With the upgrade to ",[3097,6751,6754],{"href":6752,"rel":6753},"https:\u002F\u002Fgithub.com\u002Funjs\u002Fhookable",[3101],"hookable v6",[3105,6756,3387],{}," may now return ",[3105,6759,3396],{}," instead of always returning ",[3105,6762,6763],{},"Promise\u003Cvoid>",". This is a significant performance improvement that avoids unnecessary ",[3105,6766,3400],{}," allocations when there are no registered hooks or all hooks are synchronous.",[3093,6769,6770,6771,6773,6774,3530,6776,6779,6780,3814,6783,6786,6787,6789],{},"By default (with ",[3105,6772,6102],{},"), Nuxt wraps ",[3105,6775,3387],{},[3105,6777,6778],{},"Promise.resolve()"," so that existing ",[3105,6781,6782],{},".then()",[3105,6784,6785],{},".catch()"," chaining continues to work. With ",[3105,6788,3678],{},", this wrapper is removed.",[6791,6792,6793],"tip",{},[3093,6794,6795],{},"This affects both build-time Nuxt hooks (used by Nuxt modules) and runtime Nuxt hooks (which you might use in your application code).",[3521,6797,3956],{"id":6798},"reasons-for-change-7",[3093,6800,6801,6802,6804,6805,6807],{},"Hookable v6's ",[3105,6803,3387],{}," is 20-40x faster because it avoids creating a ",[3105,6806,3400],{}," when one is not needed. This benefits applications with many hook call sites.",[3521,6809,3559],{"id":6810},"migration-steps-9",[3093,6812,6813,6814,3530,6816,4268,6818,6820,6821,3277],{},"If you or your modules use ",[3105,6815,3387],{},[3105,6817,6782],{},[3105,6819,6785],{}," chaining, switch to ",[3105,6822,6823],{},"await",[3113,6825,6827],{"className":3980,"code":6826,"language":3982,"meta":3119,"style":3119},"- nuxtApp.callHook('my:hook', data).then(() => { ... })\n+ await nuxtApp.callHook('my:hook', data)\n",[3105,6828,6829,6836],{"__ignoreMap":3119},[3123,6830,6831,6833],{"class":3125,"line":3126},[3123,6832,3989],{"class":3266},[3123,6834,6835],{"class":3273}," nuxtApp.callHook('my:hook', data).then(() => { ... })\n",[3123,6837,6838,6840],{"class":3125,"line":3270},[3123,6839,3997],{"class":3266},[3123,6841,6842],{"class":3133}," await nuxtApp.callHook('my:hook', data)\n",[3113,6844,6846],{"className":3980,"code":6845,"language":3982,"meta":3119,"style":3119},"- nuxtApp.hooks.callHook('my:hook', data).catch(err => { ... })\n+ try { await nuxtApp.hooks.callHook('my:hook', data) } catch (err) { ... }\n",[3105,6847,6848,6855],{"__ignoreMap":3119},[3123,6849,6850,6852],{"class":3125,"line":3126},[3123,6851,3989],{"class":3266},[3123,6853,6854],{"class":3273}," nuxtApp.hooks.callHook('my:hook', data).catch(err => { ... })\n",[3123,6856,6857,6859],{"class":3125,"line":3270},[3123,6858,3997],{"class":3266},[3123,6860,6861],{"class":3133}," try { await nuxtApp.hooks.callHook('my:hook', data) } catch (err) { ... }\n",[6791,6863,6864],{},[3093,6865,6866,6867,6869,6870,6873,6874,3231],{},"You can test this feature early by setting ",[3105,6868,3503],{}," (see ",[3097,6871,3212],{"href":6872},"\u002Fdocs\u002F4.x\u002Fgetting-started\u002Fupgrade#testing-nuxt-5",") or by enabling it explicitly with ",[3105,6875,6876],{},"experimental.asyncCallHook: false",[3093,6878,6879,6880,6882,6883,6885],{},"Alternatively, you can ensure ",[3105,6881,3387],{}," always returns a ",[3105,6884,3400],{}," with:",[3113,6887,6889],{"className":3241,"code":6888,"filename":233,"language":3243,"meta":3244,"style":3119},"export default defineNuxtConfig({\n  experimental: {\n    asyncCallHook: true,\n  },\n})\n",[3105,6890,6891,6903,6912,6924,6928],{"__ignoreMap":3119},[3123,6892,6893,6895,6897,6899,6901],{"class":3125,"line":3126},[3123,6894,3252],{"class":3251},[3123,6896,3255],{"class":3251},[3123,6898,3259],{"class":3258},[3123,6900,3263],{"class":3262},[3123,6902,3267],{"class":3266},[3123,6904,6905,6908,6910],{"class":3125,"line":3270},[3123,6906,6907],{"class":3273},"  experimental",[3123,6909,3277],{"class":3266},[3123,6911,3280],{"class":3266},[3123,6913,6914,6917,6919,6922],{"class":3125,"line":3283},[3123,6915,6916],{"class":3273},"    asyncCallHook",[3123,6918,3277],{"class":3266},[3123,6920,6921],{"class":3737}," true",[3123,6923,3295],{"class":3266},[3123,6925,6926],{"class":3125,"line":3298},[3123,6927,3301],{"class":3266},[3123,6929,6930,6932],{"class":3125,"line":3304},[3123,6931,3307],{"class":3266},[3123,6933,3310],{"class":3262},[3088,6935,6937],{"id":6936},"client-only-comment-placeholders","Client-Only Comment Placeholders",[3093,6939,3515,6940,3519],{},[3217,6941,3518],{},[3521,6943,3524],{"id":6944},"what-changed-12",[3093,6946,3675,6947,6949,6950,6953,6954,6957,6958,6961,6962,6964],{},[3105,6948,3678],{},", client-only components (",[3105,6951,6952],{},".client.vue"," files and ",[3105,6955,6956],{},"createClientOnly()"," wrappers) now render an HTML comment (",[3105,6959,6960],{},"\u003C!--placeholder-->",") on the server instead of an empty ",[3105,6963,3413],{}," element.",[3521,6966,3956],{"id":6967},"reasons-for-change-8",[3093,6969,6970,6971,6973,6974,6977],{},"When the placeholder ",[3105,6972,3413],{}," and the actual component root share the same tag name, Vue's runtime skips re-applying ",[3105,6975,6976],{},"setScopeId"," during hydration. This causes scoped styles to be missing after the component mounts. Using a comment node avoids the tag name collision entirely.",[3521,6979,3559],{"id":6980},"migration-steps-10",[3093,6982,6983,6984,6986,6987,3534,6990,6993,6994,4038,6996,6999],{},"If you rely on the placeholder ",[3105,6985,3413],{}," to inherit attributes (",[3105,6988,6989],{},"class",[3105,6991,6992],{},"style",", etc.) for layout purposes (e.g., reserving space to prevent layout shift), wrap the component in ",[3105,6995,444],{},[3105,6997,6998],{},"#fallback"," slot instead:",[3113,7001,7003],{"className":3980,"code":7002,"language":3982,"meta":3119,"style":3119},"- \u003CMyComponent class=\"placeholder\" style=\"min-height: 200px\" \u002F>\n+ \u003CClientOnly>\n+   \u003CMyComponent \u002F>\n+   \u003Ctemplate #fallback>\n+     \u003Cdiv class=\"placeholder\" style=\"min-height: 200px\">\u003C\u002Fdiv>\n+   \u003C\u002Ftemplate>\n+ \u003C\u002FClientOnly>\n",[3105,7004,7005,7012,7019,7026,7033,7040,7047],{"__ignoreMap":3119},[3123,7006,7007,7009],{"class":3125,"line":3126},[3123,7008,3989],{"class":3266},[3123,7010,7011],{"class":3273}," \u003CMyComponent class=\"placeholder\" style=\"min-height: 200px\" \u002F>\n",[3123,7013,7014,7016],{"class":3125,"line":3270},[3123,7015,3997],{"class":3266},[3123,7017,7018],{"class":3133}," \u003CClientOnly>\n",[3123,7020,7021,7023],{"class":3125,"line":3283},[3123,7022,3997],{"class":3266},[3123,7024,7025],{"class":3133},"   \u003CMyComponent \u002F>\n",[3123,7027,7028,7030],{"class":3125,"line":3298},[3123,7029,3997],{"class":3266},[3123,7031,7032],{"class":3133},"   \u003Ctemplate #fallback>\n",[3123,7034,7035,7037],{"class":3125,"line":3304},[3123,7036,3997],{"class":3266},[3123,7038,7039],{"class":3133},"     \u003Cdiv class=\"placeholder\" style=\"min-height: 200px\">\u003C\u002Fdiv>\n",[3123,7041,7042,7044],{"class":3125,"line":3606},[3123,7043,3997],{"class":3266},[3123,7045,7046],{"class":3133},"   \u003C\u002Ftemplate>\n",[3123,7048,7049,7051],{"class":3125,"line":3612},[3123,7050,3997],{"class":3266},[3123,7052,7053],{"class":3133}," \u003C\u002FClientOnly>\n",[6791,7055,7056],{},[3093,7057,6866,7058,6869,7060,6873,7062,3231],{},[3105,7059,3503],{},[3097,7061,3212],{"href":6872},[3105,7063,7064],{},"experimental.clientNodePlaceholder: true",[3093,7066,7067,7068,7070],{},"Alternatively, you can revert to the previous ",[3105,7069,3413],{}," placeholder behavior with:",[3113,7072,7074],{"className":3241,"code":7073,"filename":233,"language":3243,"meta":3244,"style":3119},"export default defineNuxtConfig({\n  experimental: {\n    clientNodePlaceholder: false,\n  },\n})\n",[3105,7075,7076,7088,7096,7107,7111],{"__ignoreMap":3119},[3123,7077,7078,7080,7082,7084,7086],{"class":3125,"line":3126},[3123,7079,3252],{"class":3251},[3123,7081,3255],{"class":3251},[3123,7083,3259],{"class":3258},[3123,7085,3263],{"class":3262},[3123,7087,3267],{"class":3266},[3123,7089,7090,7092,7094],{"class":3125,"line":3270},[3123,7091,6907],{"class":3273},[3123,7093,3277],{"class":3266},[3123,7095,3280],{"class":3266},[3123,7097,7098,7101,7103,7105],{"class":3125,"line":3283},[3123,7099,7100],{"class":3273},"    clientNodePlaceholder",[3123,7102,3277],{"class":3266},[3123,7104,3738],{"class":3737},[3123,7106,3295],{"class":3266},[3123,7108,7109],{"class":3125,"line":3298},[3123,7110,3301],{"class":3266},[3123,7112,7113,7115],{"class":3125,"line":3304},[3123,7114,3307],{"class":3266},[3123,7116,3310],{"class":3262},[3088,7118,7120],{"id":7119},"stricter-side-effect-imports","Stricter Side-Effect Imports",[3093,7122,3515,7123,3519],{},[3217,7124,3518],{},[3521,7126,3524],{"id":7127},"what-changed-13",[3093,7129,3675,7130,7132,7133,3423,7135,7141],{},[3105,7131,3678],{},", Nuxt's generated ",[3105,7134,242],{},[3097,7136,7139],{"href":7137,"rel":7138},"https:\u002F\u002Fwww.typescriptlang.org\u002Ftsconfig\u002F#noUncheckedSideEffectImports",[3101],[3105,7140,3429],{},". This is a default in TypeScript 7, so adopting it early keeps your project aligned ahead of that upgrade.",[3093,7143,7144,7145,7148,7149,7151],{},"With this option on, a side-effect-only import (",[3105,7146,7147],{},"import '.\u002Fsetup'",") that TypeScript cannot resolve to a module is now a type error, whereas it was previously ignored. This only affects type-checking (",[3105,7150,821],{}," and your editor), not runtime behavior.",[3521,7153,3956],{"id":7154},"reasons-for-change-9",[3093,7156,7157],{},"Unresolved side-effect imports were silently ignored, so a typo or a deleted file could pass type-checking. Flagging them catches these mistakes and matches the TypeScript 7 default.",[3521,7159,3559],{"id":7160},"migration-steps-11",[3093,7162,7163,7164,7167],{},"If type-checking now errors on a side-effect import of a non-code asset (for example ",[3105,7165,7166],{},"import '~\u002Fassets\u002Fstyles.css'","), add an ambient module declaration so TypeScript knows the import is valid:",[3113,7169,7172],{"className":3241,"code":7170,"filename":7171,"language":3243,"meta":3119,"style":3119},"declare module '*.css' {}\n","types.d.ts",[3105,7173,7174],{"__ignoreMap":3119},[3123,7175,7176,7179,7182,7184,7187,7189],{"class":3125,"line":3126},[3123,7177,7178],{"class":4355},"declare",[3123,7180,7181],{"class":4355}," module",[3123,7183,3897],{"class":3266},[3123,7185,7186],{"class":3133},"*.css",[3123,7188,3903],{"class":3266},[3123,7190,4665],{"class":3266},[6791,7192,7193,7198],{},[3093,7194,7195,7196,3277],{},"You can revert to the previous behavior by disabling the option in your ",[3105,7197,3836],{},[3113,7199,7201],{"className":3241,"code":7200,"filename":233,"language":3243,"meta":3244,"style":3119},"export default defineNuxtConfig({\n  typescript: {\n    tsConfig: {\n      compilerOptions: {\n        noUncheckedSideEffectImports: false,\n      },\n    },\n  },\n})\n",[3105,7202,7203,7215,7223,7232,7240,7251,7255,7259,7263],{"__ignoreMap":3119},[3123,7204,7205,7207,7209,7211,7213],{"class":3125,"line":3126},[3123,7206,3252],{"class":3251},[3123,7208,3255],{"class":3251},[3123,7210,3259],{"class":3258},[3123,7212,3263],{"class":3262},[3123,7214,3267],{"class":3266},[3123,7216,7217,7219,7221],{"class":3125,"line":3270},[3123,7218,3865],{"class":3273},[3123,7220,3277],{"class":3266},[3123,7222,3280],{"class":3266},[3123,7224,7225,7228,7230],{"class":3125,"line":3283},[3123,7226,7227],{"class":3273},"    tsConfig",[3123,7229,3277],{"class":3266},[3123,7231,3280],{"class":3266},[3123,7233,7234,7236,7238],{"class":3125,"line":3298},[3123,7235,3883],{"class":3273},[3123,7237,3277],{"class":3266},[3123,7239,3280],{"class":3266},[3123,7241,7242,7245,7247,7249],{"class":3125,"line":3304},[3123,7243,7244],{"class":3273},"        noUncheckedSideEffectImports",[3123,7246,3277],{"class":3266},[3123,7248,3738],{"class":3737},[3123,7250,3295],{"class":3266},[3123,7252,7253],{"class":3125,"line":3606},[3123,7254,3937],{"class":3266},[3123,7256,7257],{"class":3125,"line":3612},[3123,7258,3745],{"class":3266},[3123,7260,7261],{"class":3125,"line":3618},[3123,7262,3301],{"class":3266},[3123,7264,7265,7267],{"class":3125,"line":3640},[3123,7266,3307],{"class":3266},[3123,7268,3310],{"class":3262},[3088,7270,7272],{"id":7271},"vue-options-api-disabled-by-default","Vue Options API Disabled by Default",[3093,7274,3515,7275,3519],{},[3217,7276,3518],{},[3521,7278,3524],{"id":7279},"what-changed-14",[3093,7281,3675,7282,7284,7285,7292,7293,7295],{},[3105,7283,3678],{},", Nuxt sets Vue's ",[3097,7286,7289],{"href":7287,"rel":7288},"https:\u002F\u002Fvuejs.org\u002Fapi\u002Fcompile-time-flags#VUE_OPTIONS_API",[3101],[3105,7290,7291],{},"__VUE_OPTIONS_API__"," feature flag to ",[3105,7294,6089],{},", which compiles Vue's Options API runtime out of the client bundle.",[3521,7297,3956],{"id":7298},"reasons-for-change-10",[3093,7300,7301,7302,7305],{},"The Options API runtime ships in every client bundle even though most Nuxt applications are written with the Composition API and ",[3105,7303,7304],{},"\u003Cscript setup>",". Dropping it shrinks the client bundle (around 6 kB minified \u002F 2 kB gzipped on a minimal app).",[3521,7307,3559],{"id":7308},"migration-steps-12",[3093,7310,7311,7312,7315,7316,3277],{},"If any of your components (or a dependency's components) use the Options API (",[3105,7313,7314],{},"export default { data() {}, methods: {}, ... }","), re-enable it in your ",[3105,7317,3836],{},[3113,7319,7321],{"className":3241,"code":7320,"filename":233,"language":3243,"meta":3244,"style":3119},"export default defineNuxtConfig({\n  vue: {\n    optionsApi: true,\n  },\n})\n",[3105,7322,7323,7335,7344,7355,7359],{"__ignoreMap":3119},[3123,7324,7325,7327,7329,7331,7333],{"class":3125,"line":3126},[3123,7326,3252],{"class":3251},[3123,7328,3255],{"class":3251},[3123,7330,3259],{"class":3258},[3123,7332,3263],{"class":3262},[3123,7334,3267],{"class":3266},[3123,7336,7337,7340,7342],{"class":3125,"line":3270},[3123,7338,7339],{"class":3273},"  vue",[3123,7341,3277],{"class":3266},[3123,7343,3280],{"class":3266},[3123,7345,7346,7349,7351,7353],{"class":3125,"line":3283},[3123,7347,7348],{"class":3273},"    optionsApi",[3123,7350,3277],{"class":3266},[3123,7352,6921],{"class":3737},[3123,7354,3295],{"class":3266},[3123,7356,7357],{"class":3125,"line":3298},[3123,7358,3301],{"class":3266},[3123,7360,7361,7363],{"class":3125,"line":3304},[3123,7362,3307],{"class":3266},[3123,7364,3310],{"class":3262},[3496,7366,7367],{},[3093,7368,7369,7371,7372,3814,7375,7378,7379,7382],{},[3105,7370,670],{}," is unaffected: its ",[3105,7373,7374],{},"asyncData",[3105,7376,7377],{},"head"," options are handled through ",[3105,7380,7381],{},"setup()"," rather than the Vue Options API, so it works regardless of this flag.",[3088,7384,7386],{"id":7385},"typed-pages-enabled-by-default","Typed Pages Enabled by Default",[3093,7388,3515,7389,3519],{},[3217,7390,3518],{},[3521,7392,3524],{"id":7393},"what-changed-15",[3093,7395,3675,7396,3534,7398,7400,7401,7404,7405,3534,7407,3534,7409,3814,7411,7414],{},[3105,7397,3678],{},[3105,7399,3472],{}," is enabled by default. Nuxt generates typed route names and paths from your ",[3105,7402,7403],{},"pages\u002F"," directory, so composables like ",[3105,7406,595],{},[3105,7408,690],{},[3105,7410,480],{},[3105,7412,7413],{},"router.push"," are type-checked against your actual routes.",[3521,7416,3956],{"id":7417},"reasons-for-change-11",[3093,7419,7420,7421,7424],{},"Typed routing catches broken links and stale route names at type-check time rather than at runtime, and it is now native to ",[3105,7422,7423],{},"vue-router",", so it is a sensible default.",[3521,7426,3559],{"id":7427},"migration-steps-13",[3093,7429,7430,7431,7434,7435,7437],{},"If you reference routes that don't exist (for example a typo in a ",[3105,7432,7433],{},"to"," prop, or a route defined dynamically outside the ",[3105,7436,7403],{}," directory), type-checking will now error. Fix the reference, or extend the generated route types for routes you add at runtime.",[6791,7439,7440],{},[3093,7441,6866,7442,6869,7444,6873,7446,3231],{},[3105,7443,3503],{},[3097,7445,3212],{"href":6872},[3105,7447,7448],{},"experimental.typedPages: true",[3093,7450,7451],{},"Alternatively, you can opt out and revert to the previous behavior with:",[3113,7453,7455],{"className":3241,"code":7454,"filename":233,"language":3243,"meta":3244,"style":3119},"export default defineNuxtConfig({\n  experimental: {\n    typedPages: false,\n  },\n})\n",[3105,7456,7457,7469,7477,7488,7492],{"__ignoreMap":3119},[3123,7458,7459,7461,7463,7465,7467],{"class":3125,"line":3126},[3123,7460,3252],{"class":3251},[3123,7462,3255],{"class":3251},[3123,7464,3259],{"class":3258},[3123,7466,3263],{"class":3262},[3123,7468,3267],{"class":3266},[3123,7470,7471,7473,7475],{"class":3125,"line":3270},[3123,7472,6907],{"class":3273},[3123,7474,3277],{"class":3266},[3123,7476,3280],{"class":3266},[3123,7478,7479,7482,7484,7486],{"class":3125,"line":3283},[3123,7480,7481],{"class":3273},"    typedPages",[3123,7483,3277],{"class":3266},[3123,7485,3738],{"class":3737},[3123,7487,3295],{"class":3266},[3123,7489,7490],{"class":3125,"line":3298},[3123,7491,3301],{"class":3266},[3123,7493,7494,7496],{"class":3125,"line":3304},[3123,7495,3307],{"class":3266},[3123,7497,3310],{"class":3262},[3088,7499,7501,7502,7504],{"id":7500},"typed-fetch-rebuilt-on-generated-route-types","Typed ",[3105,7503,634],{}," Rebuilt on Generated Route Types",[3093,7506,3515,7507,3767],{},[3217,7508,3518],{},[3521,7510,3524],{"id":7511},"what-changed-16",[3093,7513,7514,3814,7516,7518,7519,7522,7523,3534,7526,4268,7529,7532],{},[3105,7515,634],{},[3105,7517,531],{}," are typed from the routes Nuxt's server builder reports, rather than from\nnitro's ",[3105,7520,7521],{},"InternalApi"," interface. As well as response types, a ",[3105,7524,7525],{},"body",[3105,7527,7528],{},"query",[3105,7530,7531],{},"headers"," the\nmatching handler validates are now enforced on the call, and a method the route does not handle is\nrejected.",[3093,7534,7535],{},"Two things follow from this:",[3322,7537,7538,7551],{},[3325,7539,7540,7541,7543,7544,5497,7547,7550],{},"Routes you augmented by hand on nitro's ",[3105,7542,7521],{}," are no longer picked up. Augment\n",[3105,7545,7546],{},"ServerRoutes",[3105,7548,7549],{},"@nuxt\u002Fschema"," instead.",[3325,7552,3650,7553,7556,7557,4268,7559,7561,7562,3231],{},[3105,7554,7555],{},"params"," option is no longer accepted by ",[3105,7558,634],{},[3105,7560,531],{},". It was an alias for ",[3105,7563,7528],{},[3521,7565,3956],{"id":7566},"reasons-for-change-12",[3093,7568,7569,7570,7572],{},"Nitro v3 dropped typed fetch, and the old implementation did not scale past about 300 routes. The new\ngenerated route types cost the same to check whatever the route count, and carry enough information to type the\nrequest as well as the response. ",[3105,7571,7555],{}," is dropped so the name is free for named route parameters\nlater.",[3521,7574,3559],{"id":7575},"migration-steps-14",[3093,7577,7578,7579,7581,7582,3277],{},"Move any ",[3105,7580,7555],{}," option to ",[3105,7583,7528],{},[3113,7585,7587],{"className":3980,"code":7586,"language":3982,"meta":3119,"style":3119},"  const { data } = await useFetch('\u002Fapi\u002Fsearch', {\n-   params: { q: 'nuxt' },\n+   query: { q: 'nuxt' },\n  })\n",[3105,7588,7589,7594,7601,7608],{"__ignoreMap":3119},[3123,7590,7591],{"class":3125,"line":3126},[3123,7592,7593],{"class":3262},"  const { data } = await useFetch('\u002Fapi\u002Fsearch', {\n",[3123,7595,7596,7598],{"class":3125,"line":3270},[3123,7597,3989],{"class":3266},[3123,7599,7600],{"class":3273},"   params: { q: 'nuxt' },\n",[3123,7602,7603,7605],{"class":3125,"line":3283},[3123,7604,3997],{"class":3266},[3123,7606,7607],{"class":3133},"   query: { q: 'nuxt' },\n",[3123,7609,7610],{"class":3125,"line":3298},[3123,7611,5487],{"class":3262},[3093,7613,7614,7615,3316,7617,3277],{},"Move any manual route augmentation from ",[3105,7616,7521],{},[3105,7618,7546],{},[3113,7620,7623],{"className":3980,"code":7621,"filename":7622,"language":3982,"meta":3119,"style":3119},"- declare module 'nitropack' {\n-   interface InternalApi {\n-     '\u002Fapi\u002Fhello': { get: { message: string } }\n-   }\n- }\n+ import type { Endpoint } from 'nuxt\u002Fapp'\n+\n+ declare module '@nuxt\u002Fschema' {\n+   interface ServerRoutes {\n+     '\u002Fapi\u002Fhello': {\n+       [Endpoint]: {\n+         GET: { response: { message: string } }\n+       }\n+     }\n+   }\n+ }\n","shared\u002Fserver-routes.d.ts",[3105,7624,7625,7632,7639,7646,7653,7659,7666,7670,7677,7684,7691,7698,7705,7712,7719,7725],{"__ignoreMap":3119},[3123,7626,7627,7629],{"class":3125,"line":3126},[3123,7628,3989],{"class":3266},[3123,7630,7631],{"class":3273}," declare module 'nitropack' {\n",[3123,7633,7634,7636],{"class":3125,"line":3270},[3123,7635,3989],{"class":3266},[3123,7637,7638],{"class":3273},"   interface InternalApi {\n",[3123,7640,7641,7643],{"class":3125,"line":3283},[3123,7642,3989],{"class":3266},[3123,7644,7645],{"class":3273},"     '\u002Fapi\u002Fhello': { get: { message: string } }\n",[3123,7647,7648,7650],{"class":3125,"line":3298},[3123,7649,3989],{"class":3266},[3123,7651,7652],{"class":3273},"   }\n",[3123,7654,7655,7657],{"class":3125,"line":3304},[3123,7656,3989],{"class":3266},[3123,7658,5651],{"class":3273},[3123,7660,7661,7663],{"class":3125,"line":3606},[3123,7662,3997],{"class":3266},[3123,7664,7665],{"class":3133}," import type { Endpoint } from 'nuxt\u002Fapp'\n",[3123,7667,7668],{"class":3125,"line":3612},[3123,7669,5630],{"class":3266},[3123,7671,7672,7674],{"class":3125,"line":3618},[3123,7673,3997],{"class":3266},[3123,7675,7676],{"class":3133}," declare module '@nuxt\u002Fschema' {\n",[3123,7678,7679,7681],{"class":3125,"line":3640},[3123,7680,3997],{"class":3266},[3123,7682,7683],{"class":3133},"   interface ServerRoutes {\n",[3123,7685,7686,7688],{"class":3125,"line":3645},[3123,7687,3997],{"class":3266},[3123,7689,7690],{"class":3133},"     '\u002Fapi\u002Fhello': {\n",[3123,7692,7693,7695],{"class":3125,"line":3948},[3123,7694,3997],{"class":3266},[3123,7696,7697],{"class":3133},"       [Endpoint]: {\n",[3123,7699,7700,7702],{"class":3125,"line":4515},[3123,7701,3997],{"class":3266},[3123,7703,7704],{"class":3133},"         GET: { response: { message: string } }\n",[3123,7706,7707,7709],{"class":3125,"line":4520},[3123,7708,3997],{"class":3266},[3123,7710,7711],{"class":3133},"       }\n",[3123,7713,7714,7716],{"class":3125,"line":4537},[3123,7715,3997],{"class":3266},[3123,7717,7718],{"class":3133},"     }\n",[3123,7720,7721,7723],{"class":3125,"line":4554},[3123,7722,3997],{"class":3266},[3123,7724,7652],{"class":3133},[3123,7726,7727,7729],{"class":3125,"line":4567},[3123,7728,3997],{"class":3266},[3123,7730,5651],{"class":3133},[5109,7732,7734],{"to":7733},"\u002Fdocs\u002F4.x\u002Fgetting-started\u002Fdata-fetching#typed-routes",[3093,7735,7736],{},"Read more about typed routes.",[3088,7738,3478,7740,7742],{"id":7739},"typescript-baseurl-is-ignored",[3105,7741,3481],{}," Is Ignored",[3093,7744,3515,7745,3519],{},[3217,7746,3518],{},[3521,7748,3524],{"id":7749},"what-changed-17",[3093,7751,3675,7752,7754,7755,7757,7758,3231],{},[3105,7753,3678],{},", Nuxt removes ",[3105,7756,3490],{}," from its generated TypeScript configurations. Relative Nuxt and Nitro aliases are resolved from Nuxt's build directory instead of a custom ",[3105,7759,3481],{},[3521,7761,3956],{"id":7762},"reasons-for-change-13",[3093,7764,7765,7766,7768,7769,7772],{},"TypeScript 6 deprecates ",[3105,7767,3481],{},", and it is no longer required when using ",[3105,7770,7771],{},"paths",". Removing the option also keeps Nuxt's generated aliases anchored consistently to the generated configuration that contains them.",[3521,7774,3559],{"id":7775},"migration-steps-15",[3093,7777,7778,7779,7781],{},"Remove ",[3105,7780,3481],{}," from your Nuxt TypeScript configuration. If you used it to anchor a relative Nuxt or Nitro alias, make that alias absolute instead:",[3113,7783,7785],{"className":3980,"code":7784,"filename":233,"language":3982,"meta":3119,"style":3119},"+ import { fileURLToPath } from 'node:url'\n+\n  export default defineNuxtConfig({\n    alias: {\n-     images: '.\u002Fassets\u002Fimages',\n+     images: fileURLToPath(new URL('.\u002Fassets\u002Fimages', import.meta.url)),\n    },\n-   typescript: {\n-     tsConfig: {\n-       compilerOptions: {\n-         baseUrl: '..',\n-       },\n-     },\n-   },\n  })\n",[3105,7786,7787,7794,7798,7802,7807,7814,7821,7825,7832,7839,7846,7853,7860,7867,7874],{"__ignoreMap":3119},[3123,7788,7789,7791],{"class":3125,"line":3126},[3123,7790,3997],{"class":3266},[3123,7792,7793],{"class":3133}," import { fileURLToPath } from 'node:url'\n",[3123,7795,7796],{"class":3125,"line":3270},[3123,7797,5630],{"class":3266},[3123,7799,7800],{"class":3125,"line":3283},[3123,7801,5868],{"class":3262},[3123,7803,7804],{"class":3125,"line":3298},[3123,7805,7806],{"class":3262},"    alias: {\n",[3123,7808,7809,7811],{"class":3125,"line":3304},[3123,7810,3989],{"class":3266},[3123,7812,7813],{"class":3273},"     images: '.\u002Fassets\u002Fimages',\n",[3123,7815,7816,7818],{"class":3125,"line":3606},[3123,7817,3997],{"class":3266},[3123,7819,7820],{"class":3133},"     images: fileURLToPath(new URL('.\u002Fassets\u002Fimages', import.meta.url)),\n",[3123,7822,7823],{"class":3125,"line":3612},[3123,7824,3745],{"class":3262},[3123,7826,7827,7829],{"class":3125,"line":3618},[3123,7828,3989],{"class":3266},[3123,7830,7831],{"class":3273},"   typescript: {\n",[3123,7833,7834,7836],{"class":3125,"line":3640},[3123,7835,3989],{"class":3266},[3123,7837,7838],{"class":3273},"     tsConfig: {\n",[3123,7840,7841,7843],{"class":3125,"line":3645},[3123,7842,3989],{"class":3266},[3123,7844,7845],{"class":3273},"       compilerOptions: {\n",[3123,7847,7848,7850],{"class":3125,"line":3948},[3123,7849,3989],{"class":3266},[3123,7851,7852],{"class":3273},"         baseUrl: '..',\n",[3123,7854,7855,7857],{"class":3125,"line":4515},[3123,7856,3989],{"class":3266},[3123,7858,7859],{"class":3273},"       },\n",[3123,7861,7862,7864],{"class":3125,"line":4520},[3123,7863,3989],{"class":3266},[3123,7865,7866],{"class":3273},"     },\n",[3123,7868,7869,7871],{"class":3125,"line":4537},[3123,7870,3989],{"class":3266},[3123,7872,7873],{"class":3273},"   },\n",[3123,7875,7876],{"class":3125,"line":4554},[3123,7877,5487],{"class":3262},[6992,7879,7880],{},"html pre.shiki code .s52Pk, html code.shiki .s52Pk{--shiki-light:#E2931D;--shiki-default:#E2931D;--shiki-dark:#FFCB6B}html pre.shiki code .sGFVr, html code.shiki .sGFVr{--shiki-light:#91B859;--shiki-default:#91B859;--shiki-dark:#C3E88D}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .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 .s3cPz, html code.shiki .s3cPz{--shiki-light:#6182B8;--shiki-default:#6182B8;--shiki-dark:#82AAFF}html pre.shiki code .sZSNi, html code.shiki .sZSNi{--shiki-light:#90A4AE;--shiki-default:#90A4AE;--shiki-dark:#BABED8}html pre.shiki code .sDfIl, html code.shiki .sDfIl{--shiki-light:#39ADB5;--shiki-default:#39ADB5;--shiki-dark:#89DDFF}html pre.shiki code .sRlkE, html code.shiki .sRlkE{--shiki-light:#E53935;--shiki-default:#E53935;--shiki-dark:#F07178}html pre.shiki code .sYRBq, html code.shiki .sYRBq{--shiki-light:#F76D47;--shiki-default:#F76D47;--shiki-dark:#F78C6C}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 .sbKd-, html code.shiki .sbKd-{--shiki-light:#FF5370;--shiki-default:#FF5370;--shiki-dark:#FF9CAC}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 .smZ93, html code.shiki .smZ93{--shiki-light:#9C3EDA;--shiki-default:#9C3EDA;--shiki-dark:#C792EA}",{"title":3119,"searchDepth":3270,"depth":3270,"links":7882},[7883,7887],{"id":3085,"depth":3270,"text":3086,"children":7884},[7885,7886],{"id":3090,"depth":3283,"text":3091},{"id":3201,"depth":3283,"text":407},{"id":3211,"depth":3270,"text":3212,"children":7888},[7889,7890,7892,7893,7895,7896,7897,7898,7900,7902,7904,7906,7908,7910,7911,7912,7913,7914,7916],{"id":3223,"depth":3283,"text":3224},{"id":3509,"depth":3283,"text":7891},"process.* Type Augmentation Removed",{"id":3664,"depth":3283,"text":3665},{"id":3758,"depth":3283,"text":7894},"jiti Is No Longer Bundled",{"id":4197,"depth":3283,"text":4198},{"id":5117,"depth":3283,"text":5118},{"id":5208,"depth":3283,"text":5209},{"id":5959,"depth":3283,"text":7899},"Removal of experimental.externalVue",{"id":6070,"depth":3283,"text":7901},"experimental.parseErrorData Is No Longer Configurable",{"id":6252,"depth":3283,"text":7903},"@vitejs\u002Fplugin-vue-jsx Is Now Optional",{"id":6381,"depth":3283,"text":7905},"giget Is Now Optional (Remote Layers)",{"id":6674,"depth":3283,"text":7907},"Removal of Legacy _renderResponse Support",{"id":6736,"depth":3283,"text":7909},"Non-Async callHook",{"id":6936,"depth":3283,"text":6937},{"id":7119,"depth":3283,"text":7120},{"id":7271,"depth":3283,"text":7272},{"id":7385,"depth":3283,"text":7386},{"id":7500,"depth":3283,"text":7915},"Typed $fetch Rebuilt on Generated Route Types",{"id":7739,"depth":3283,"text":7917},"TypeScript baseUrl Is Ignored","Learn how to upgrade to the latest Nuxt version.","md",{},{"icon":107},{"title":104,"description":7918},"7f0UTW-lmQtaXf49LaH4JnmdUgNOkZaKApYqN5Uw_Y4",[7925,7927],{"title":99,"path":2059,"stem":2060,"description":7926,"icon":102,"children":-1},"How to test your Nuxt application.",{"title":117,"path":2069,"stem":2070,"description":7928,"icon":120,"children":-1},"Nuxt uses the .nuxt\u002F directory in development to generate your Vue application.",1788337348391]