[{"data":1,"prerenderedAt":9905},["ShallowReactive",2],{"$f30r277ag21rfj":3,"versions":3072,"-docs-5-x-getting-started-testing":3077,"-docs-5-x-getting-started-testing-surround":9900},[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":99,"body":3079,"description":9894,"extension":9895,"links":6,"meta":9896,"minimalVersion":6,"navigation":9897,"path":2059,"seo":9898,"stem":2060,"titleTemplate":6,"__hash__":9899},"docsv5\u002Fdocs\u002F5.x\u002F1.getting-started\u002F17.testing.md",{"type":3080,"value":3081,"toc":9877},"minimark",[3082,3094,3109,3114,3118,3124,3165,3284,3288,3304,3309,3785,3809,3818,3822,3831,3853,3858,3861,4011,4028,4097,4107,4111,4114,4186,4189,4192,4216,4224,4229,4232,4315,4325,4329,4332,4409,4434,4438,4443,4449,4456,4462,4476,4486,4606,4610,4615,4621,4626,4648,4651,4898,5098,5104,5118,5124,5133,5148,5156,5162,5165,5393,5581,5586,5596,5602,5610,5711,5714,5935,5953,5973,6204,6207,6423,6429,6434,6441,6670,6678,6854,6860,6865,6872,6877,6948,6955,7051,7054,7074,7093,7097,7105,7119,7124,7209,7214,7285,7290,7296,7887,7893,7897,7921,7924,7933,8071,8089,8095,8099,8138,8142,8187,8190,8409,8416,8419,8422,8431,8692,8696,8702,8705,8755,8761,8764,8836,8842,8845,8900,8905,8922,9115,9120,9123,9127,9133,9139,9158,9213,9217,9225,9317,9324,9494,9500,9511,9659,9662,9873],[3083,3084,3085],"tip",{},[3086,3087,3088,3089,3093],"p",{},"If you are a module author, you can find more specific information in the ",[3090,3091,3092],"a",{"href":1378},"Module Author's guide",".",[3086,3095,3096,3097,3101,3102,3108],{},"Nuxt offers first-class support for end-to-end and unit testing of your Nuxt application via ",[3098,3099,3100],"code",{},"@nuxt\u002Ftest-utils",", a library of test utilities and configuration that currently powers the ",[3090,3103,3107],{"href":3104,"rel":3105},"https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fnuxt\u002Ftree\u002Fmain\u002Ftest",[3106],"nofollow","tests we use on Nuxt itself"," and tests throughout the module ecosystem.",[3110,3111],"video-accordion",{"title":3112,"video-id":3113},"Watch a video from Alexander Lichter about getting started with @nuxt\u002Ftest-utils","yGzwk9xi9gU",[3115,3116,24],"h2",{"id":3117},"installation",[3086,3119,3120,3121,3123],{},"In order to allow you to manage your other testing dependencies, ",[3098,3122,3100],{}," ships with various optional peer dependencies. For example:",[3125,3126,3127,3139,3155],"ul",{},[3128,3129,3130,3131,3134,3135,3138],"li",{},"you can choose between ",[3098,3132,3133],{},"happy-dom"," and ",[3098,3136,3137],{},"jsdom"," for a runtime Nuxt environment",[3128,3140,3130,3141,3144,3145,3144,3148,3134,3151,3154],{},[3098,3142,3143],{},"vitest",", ",[3098,3146,3147],{},"cucumber",[3098,3149,3150],{},"jest",[3098,3152,3153],{},"playwright"," for end-to-end test runners",[3128,3156,3157,3160,3161,3164],{},[3098,3158,3159],{},"playwright-core"," is only required if you wish to use the built-in browser testing utilities (and are not using ",[3098,3162,3163],{},"@playwright\u002Ftest"," as your test runner)",[3166,3167,3169,3209,3235,3260],"code-group",{"sync":3168},"pm",[3170,3171,3177],"pre",{"className":3172,"code":3173,"filename":3174,"language":3175,"meta":3176,"style":3176},"language-bash shiki shiki-themes material-theme-lighter material-theme-lighter material-theme-palenight","npm i --save-dev @nuxt\u002Ftest-utils vitest @vue\u002Ftest-utils happy-dom playwright-core\n","npm","bash","",[3098,3178,3179],{"__ignoreMap":3176},[3180,3181,3184,3187,3191,3194,3197,3200,3203,3206],"span",{"class":3182,"line":3183},"line",1,[3180,3185,3174],{"class":3186},"s52Pk",[3180,3188,3190],{"class":3189},"sGFVr"," i",[3180,3192,3193],{"class":3189}," --save-dev",[3180,3195,3196],{"class":3189}," @nuxt\u002Ftest-utils",[3180,3198,3199],{"class":3189}," vitest",[3180,3201,3202],{"class":3189}," @vue\u002Ftest-utils",[3180,3204,3205],{"class":3189}," happy-dom",[3180,3207,3208],{"class":3189}," playwright-core\n",[3170,3210,3213],{"className":3172,"code":3211,"filename":3212,"language":3175,"meta":3176,"style":3176},"yarn add --dev @nuxt\u002Ftest-utils vitest @vue\u002Ftest-utils happy-dom playwright-core\n","yarn",[3098,3214,3215],{"__ignoreMap":3176},[3180,3216,3217,3219,3222,3225,3227,3229,3231,3233],{"class":3182,"line":3183},[3180,3218,3212],{"class":3186},[3180,3220,3221],{"class":3189}," add",[3180,3223,3224],{"class":3189}," --dev",[3180,3226,3196],{"class":3189},[3180,3228,3199],{"class":3189},[3180,3230,3202],{"class":3189},[3180,3232,3205],{"class":3189},[3180,3234,3208],{"class":3189},[3170,3236,3239],{"className":3172,"code":3237,"filename":3238,"language":3175,"meta":3176,"style":3176},"pnpm add -D @nuxt\u002Ftest-utils vitest @vue\u002Ftest-utils happy-dom playwright-core\n","pnpm",[3098,3240,3241],{"__ignoreMap":3176},[3180,3242,3243,3245,3247,3250,3252,3254,3256,3258],{"class":3182,"line":3183},[3180,3244,3238],{"class":3186},[3180,3246,3221],{"class":3189},[3180,3248,3249],{"class":3189}," -D",[3180,3251,3196],{"class":3189},[3180,3253,3199],{"class":3189},[3180,3255,3202],{"class":3189},[3180,3257,3205],{"class":3189},[3180,3259,3208],{"class":3189},[3170,3261,3264],{"className":3172,"code":3262,"filename":3263,"language":3175,"meta":3176,"style":3176},"bun add --dev @nuxt\u002Ftest-utils vitest @vue\u002Ftest-utils happy-dom playwright-core\n","bun",[3098,3265,3266],{"__ignoreMap":3176},[3180,3267,3268,3270,3272,3274,3276,3278,3280,3282],{"class":3182,"line":3183},[3180,3269,3263],{"class":3186},[3180,3271,3221],{"class":3189},[3180,3273,3224],{"class":3189},[3180,3275,3196],{"class":3189},[3180,3277,3199],{"class":3189},[3180,3279,3202],{"class":3189},[3180,3281,3205],{"class":3189},[3180,3283,3208],{"class":3189},[3115,3285,3287],{"id":3286},"unit-testing","Unit Testing",[3086,3289,3290,3291,3296,3297,3303],{},"We currently ship an environment for unit testing code that needs a ",[3090,3292,3295],{"href":3293,"rel":3294},"https:\u002F\u002Fnuxt.com",[3106],"Nuxt"," runtime environment. It currently ",[3298,3299,3300,3301],"em",{},"only has support for ",[3098,3302,3143],{}," (although contribution to add other runtimes would be welcome).",[3305,3306,3308],"h3",{"id":3307},"setup","Setup",[3310,3311,3312,3396,3773],"ol",{},[3128,3313,3314,3315,3318,3319,3322,3323],{},"Add ",[3098,3316,3317],{},"@nuxt\u002Ftest-utils\u002Fmodule"," to your ",[3098,3320,3321],{},"nuxt.config"," file (optional). It adds a Vitest integration to your Nuxt DevTools which supports running your unit tests in development.",[3170,3324,3329],{"className":3325,"code":3326,"language":3327,"meta":3328,"style":3176},"language-ts shiki shiki-themes material-theme-lighter material-theme-lighter material-theme-palenight","export default defineNuxtConfig({\n  modules: [\n    '@nuxt\u002Ftest-utils\u002Fmodule',\n  ],\n})\n","ts","twoslash",[3098,3330,3331,3352,3365,3379,3387],{"__ignoreMap":3176},[3180,3332,3333,3337,3340,3344,3348],{"class":3182,"line":3183},[3180,3334,3336],{"class":3335},"s8R28","export",[3180,3338,3339],{"class":3335}," default",[3180,3341,3343],{"class":3342},"s3cPz"," defineNuxtConfig",[3180,3345,3347],{"class":3346},"sZSNi","(",[3180,3349,3351],{"class":3350},"sDfIl","{\n",[3180,3353,3355,3359,3362],{"class":3182,"line":3354},2,[3180,3356,3358],{"class":3357},"sRlkE","  modules",[3180,3360,3361],{"class":3350},":",[3180,3363,3364],{"class":3346}," [\n",[3180,3366,3368,3371,3373,3376],{"class":3182,"line":3367},3,[3180,3369,3370],{"class":3350},"    '",[3180,3372,3317],{"class":3189},[3180,3374,3375],{"class":3350},"'",[3180,3377,3378],{"class":3350},",\n",[3180,3380,3382,3385],{"class":3182,"line":3381},4,[3180,3383,3384],{"class":3346},"  ]",[3180,3386,3378],{"class":3350},[3180,3388,3390,3393],{"class":3182,"line":3389},5,[3180,3391,3392],{"class":3350},"}",[3180,3394,3395],{"class":3346},")\n",[3128,3397,3398,3399,3402,3403,3760],{},"Create a ",[3098,3400,3401],{},"vitest.config.ts"," with the following content:",[3170,3404,3406],{"className":3325,"code":3405,"language":3327,"meta":3328,"style":3176},"import { defineConfig } from 'vitest\u002Fconfig'\nimport { defineVitestProject } from '@nuxt\u002Ftest-utils\u002Fconfig'\n\nexport default defineConfig({\n  test: {\n    projects: [\n      {\n        test: {\n          name: 'unit',\n          include: ['test\u002Funit\u002F*.{test,spec}.ts'],\n          environment: 'node',\n        },\n      },\n      {\n        test: {\n          name: 'e2e',\n          include: ['test\u002Fe2e\u002F*.{test,spec}.ts'],\n          environment: 'node',\n        },\n      },\n      await defineVitestProject({\n        test: {\n          name: 'nuxt',\n          include: ['test\u002Fnuxt\u002F*.{test,spec}.ts'],\n          environment: 'nuxt',\n        },\n      }),\n    ],\n  },\n})\n",[3098,3407,3408,3434,3454,3459,3471,3481,3491,3497,3507,3524,3547,3564,3570,3576,3581,3590,3606,3626,3641,3646,3651,3663,3672,3688,3708,3723,3728,3739,3747,3753],{"__ignoreMap":3176},[3180,3409,3410,3413,3416,3419,3422,3425,3428,3431],{"class":3182,"line":3183},[3180,3411,3412],{"class":3335},"import",[3180,3414,3415],{"class":3350}," {",[3180,3417,3418],{"class":3346}," defineConfig",[3180,3420,3421],{"class":3350}," }",[3180,3423,3424],{"class":3335}," from",[3180,3426,3427],{"class":3350}," '",[3180,3429,3430],{"class":3189},"vitest\u002Fconfig",[3180,3432,3433],{"class":3350},"'\n",[3180,3435,3436,3438,3440,3443,3445,3447,3449,3452],{"class":3182,"line":3354},[3180,3437,3412],{"class":3335},[3180,3439,3415],{"class":3350},[3180,3441,3442],{"class":3346}," defineVitestProject",[3180,3444,3421],{"class":3350},[3180,3446,3424],{"class":3335},[3180,3448,3427],{"class":3350},[3180,3450,3451],{"class":3189},"@nuxt\u002Ftest-utils\u002Fconfig",[3180,3453,3433],{"class":3350},[3180,3455,3456],{"class":3182,"line":3367},[3180,3457,3458],{"emptyLinePlaceholder":1208},"\n",[3180,3460,3461,3463,3465,3467,3469],{"class":3182,"line":3381},[3180,3462,3336],{"class":3335},[3180,3464,3339],{"class":3335},[3180,3466,3418],{"class":3342},[3180,3468,3347],{"class":3346},[3180,3470,3351],{"class":3350},[3180,3472,3473,3476,3478],{"class":3182,"line":3389},[3180,3474,3475],{"class":3357},"  test",[3180,3477,3361],{"class":3350},[3180,3479,3480],{"class":3350}," {\n",[3180,3482,3484,3487,3489],{"class":3182,"line":3483},6,[3180,3485,3486],{"class":3357},"    projects",[3180,3488,3361],{"class":3350},[3180,3490,3364],{"class":3346},[3180,3492,3494],{"class":3182,"line":3493},7,[3180,3495,3496],{"class":3350},"      {\n",[3180,3498,3500,3503,3505],{"class":3182,"line":3499},8,[3180,3501,3502],{"class":3357},"        test",[3180,3504,3361],{"class":3350},[3180,3506,3480],{"class":3350},[3180,3508,3510,3513,3515,3517,3520,3522],{"class":3182,"line":3509},9,[3180,3511,3512],{"class":3357},"          name",[3180,3514,3361],{"class":3350},[3180,3516,3427],{"class":3350},[3180,3518,3519],{"class":3189},"unit",[3180,3521,3375],{"class":3350},[3180,3523,3378],{"class":3350},[3180,3525,3527,3530,3532,3535,3537,3540,3542,3545],{"class":3182,"line":3526},10,[3180,3528,3529],{"class":3357},"          include",[3180,3531,3361],{"class":3350},[3180,3533,3534],{"class":3346}," [",[3180,3536,3375],{"class":3350},[3180,3538,3539],{"class":3189},"test\u002Funit\u002F*.{test,spec}.ts",[3180,3541,3375],{"class":3350},[3180,3543,3544],{"class":3346},"]",[3180,3546,3378],{"class":3350},[3180,3548,3550,3553,3555,3557,3560,3562],{"class":3182,"line":3549},11,[3180,3551,3552],{"class":3357},"          environment",[3180,3554,3361],{"class":3350},[3180,3556,3427],{"class":3350},[3180,3558,3559],{"class":3189},"node",[3180,3561,3375],{"class":3350},[3180,3563,3378],{"class":3350},[3180,3565,3567],{"class":3182,"line":3566},12,[3180,3568,3569],{"class":3350},"        },\n",[3180,3571,3573],{"class":3182,"line":3572},13,[3180,3574,3575],{"class":3350},"      },\n",[3180,3577,3579],{"class":3182,"line":3578},14,[3180,3580,3496],{"class":3350},[3180,3582,3584,3586,3588],{"class":3182,"line":3583},15,[3180,3585,3502],{"class":3357},[3180,3587,3361],{"class":3350},[3180,3589,3480],{"class":3350},[3180,3591,3593,3595,3597,3599,3602,3604],{"class":3182,"line":3592},16,[3180,3594,3512],{"class":3357},[3180,3596,3361],{"class":3350},[3180,3598,3427],{"class":3350},[3180,3600,3601],{"class":3189},"e2e",[3180,3603,3375],{"class":3350},[3180,3605,3378],{"class":3350},[3180,3607,3609,3611,3613,3615,3617,3620,3622,3624],{"class":3182,"line":3608},17,[3180,3610,3529],{"class":3357},[3180,3612,3361],{"class":3350},[3180,3614,3534],{"class":3346},[3180,3616,3375],{"class":3350},[3180,3618,3619],{"class":3189},"test\u002Fe2e\u002F*.{test,spec}.ts",[3180,3621,3375],{"class":3350},[3180,3623,3544],{"class":3346},[3180,3625,3378],{"class":3350},[3180,3627,3629,3631,3633,3635,3637,3639],{"class":3182,"line":3628},18,[3180,3630,3552],{"class":3357},[3180,3632,3361],{"class":3350},[3180,3634,3427],{"class":3350},[3180,3636,3559],{"class":3189},[3180,3638,3375],{"class":3350},[3180,3640,3378],{"class":3350},[3180,3642,3644],{"class":3182,"line":3643},19,[3180,3645,3569],{"class":3350},[3180,3647,3649],{"class":3182,"line":3648},20,[3180,3650,3575],{"class":3350},[3180,3652,3654,3657,3659,3661],{"class":3182,"line":3653},21,[3180,3655,3656],{"class":3335},"      await",[3180,3658,3442],{"class":3342},[3180,3660,3347],{"class":3346},[3180,3662,3351],{"class":3350},[3180,3664,3666,3668,3670],{"class":3182,"line":3665},22,[3180,3667,3502],{"class":3357},[3180,3669,3361],{"class":3350},[3180,3671,3480],{"class":3350},[3180,3673,3675,3677,3679,3681,3684,3686],{"class":3182,"line":3674},23,[3180,3676,3512],{"class":3357},[3180,3678,3361],{"class":3350},[3180,3680,3427],{"class":3350},[3180,3682,3683],{"class":3189},"nuxt",[3180,3685,3375],{"class":3350},[3180,3687,3378],{"class":3350},[3180,3689,3691,3693,3695,3697,3699,3702,3704,3706],{"class":3182,"line":3690},24,[3180,3692,3529],{"class":3357},[3180,3694,3361],{"class":3350},[3180,3696,3534],{"class":3346},[3180,3698,3375],{"class":3350},[3180,3700,3701],{"class":3189},"test\u002Fnuxt\u002F*.{test,spec}.ts",[3180,3703,3375],{"class":3350},[3180,3705,3544],{"class":3346},[3180,3707,3378],{"class":3350},[3180,3709,3711,3713,3715,3717,3719,3721],{"class":3182,"line":3710},25,[3180,3712,3552],{"class":3357},[3180,3714,3361],{"class":3350},[3180,3716,3427],{"class":3350},[3180,3718,3683],{"class":3189},[3180,3720,3375],{"class":3350},[3180,3722,3378],{"class":3350},[3180,3724,3726],{"class":3182,"line":3725},26,[3180,3727,3569],{"class":3350},[3180,3729,3731,3734,3737],{"class":3182,"line":3730},27,[3180,3732,3733],{"class":3350},"      }",[3180,3735,3736],{"class":3346},")",[3180,3738,3378],{"class":3350},[3180,3740,3742,3745],{"class":3182,"line":3741},28,[3180,3743,3744],{"class":3346},"    ]",[3180,3746,3378],{"class":3350},[3180,3748,3750],{"class":3182,"line":3749},29,[3180,3751,3752],{"class":3350},"  },\n",[3180,3754,3756,3758],{"class":3182,"line":3755},30,[3180,3757,3392],{"class":3350},[3180,3759,3395],{"class":3346},[3761,3762,3763],"note",{},[3086,3764,3765,3768,3769,3772],{},[3098,3766,3767],{},"defineVitestProject"," is only for Nuxt-environment tests. End-to-end tests should be configured as a regular ",[3098,3770,3771],{},"test.environment: 'node'"," project.",[3128,3774,3775,3776,3779,3780,3784],{},"If your Nuxt-environment tests live outside ",[3098,3777,3778],{},"test\u002Fnuxt\u002F",", see ",[3090,3781,3783],{"href":3782},"#typescript-support-in-tests","TypeScript Support in Tests"," to add them to the TypeScript context.",[3083,3786,3787,3800],{},[3086,3788,3789,3790,3792,3793,3796,3797,3799],{},"When importing ",[3098,3791,3100],{}," in your vitest config, it is necessary to have ",[3098,3794,3795],{},"\"type\": \"module\""," specified in your ",[3098,3798,237],{}," or rename your vitest config file appropriately.",[3801,3802,3803],"blockquote",{},[3086,3804,3805,3806,3093],{},"i.e., ",[3098,3807,3808],{},"vitest.config.m{ts,js}",[3083,3810,3811],{},[3086,3812,3813,3814,3817],{},"It is possible to set environment variables for testing by using the ",[3098,3815,3816],{},".env.test"," file.",[3305,3819,3821],{"id":3820},"using-a-nuxt-runtime-environment","Using a Nuxt Runtime Environment",[3086,3823,3824,3825,3830],{},"Using ",[3090,3826,3829],{"href":3827,"rel":3828},"https:\u002F\u002Fvitest.dev\u002Fguide\u002Fprojects.html#test-projects",[3106],"Vitest projects",", you have fine-grained control over which tests run in which environment:",[3125,3832,3833,3844],{},[3128,3834,3835,3839,3840,3843],{},[3836,3837,3838],"strong",{},"Unit tests",": Place regular unit tests in ",[3098,3841,3842],{},"test\u002Funit\u002F"," - these run in a Node environment for speed",[3128,3845,3846,3849,3850,3852],{},[3836,3847,3848],{},"Nuxt tests",": Place tests that rely on the Nuxt runtime environment in ",[3098,3851,3778],{}," - these will run within a Nuxt runtime environment",[3854,3855,3857],"h4",{"id":3856},"alternative-simple-setup","Alternative: Simple Setup",[3086,3859,3860],{},"If you prefer a simpler setup and want all tests to run in the Nuxt environment, you can use the basic configuration:",[3170,3862,3864],{"className":3325,"code":3863,"language":3327,"meta":3328,"style":3176},"import { defineVitestConfig } from '@nuxt\u002Ftest-utils\u002Fconfig'\nimport { fileURLToPath } from 'node:url'\n\nexport default defineVitestConfig({\n  test: {\n    environment: 'nuxt',\n    \u002F\u002F you can optionally set Nuxt-specific environment options\n    \u002F\u002F environmentOptions: {\n    \u002F\u002F   nuxt: {\n    \u002F\u002F     rootDir: fileURLToPath(new URL('.\u002Fplayground', import.meta.url)),\n    \u002F\u002F     domEnvironment: 'happy-dom', \u002F\u002F 'happy-dom' (default) or 'jsdom'\n    \u002F\u002F     overrides: {\n    \u002F\u002F       \u002F\u002F other Nuxt config you want to pass\n    \u002F\u002F     }\n    \u002F\u002F   }\n    \u002F\u002F }\n  },\n})\n",[3098,3865,3866,3885,3905,3909,3921,3929,3944,3950,3955,3960,3965,3973,3978,3986,3991,3996,4001,4005],{"__ignoreMap":3176},[3180,3867,3868,3870,3872,3875,3877,3879,3881,3883],{"class":3182,"line":3183},[3180,3869,3412],{"class":3335},[3180,3871,3415],{"class":3350},[3180,3873,3874],{"class":3346}," defineVitestConfig",[3180,3876,3421],{"class":3350},[3180,3878,3424],{"class":3335},[3180,3880,3427],{"class":3350},[3180,3882,3451],{"class":3189},[3180,3884,3433],{"class":3350},[3180,3886,3887,3889,3891,3894,3896,3898,3900,3903],{"class":3182,"line":3354},[3180,3888,3412],{"class":3335},[3180,3890,3415],{"class":3350},[3180,3892,3893],{"class":3346}," fileURLToPath",[3180,3895,3421],{"class":3350},[3180,3897,3424],{"class":3335},[3180,3899,3427],{"class":3350},[3180,3901,3902],{"class":3189},"node:url",[3180,3904,3433],{"class":3350},[3180,3906,3907],{"class":3182,"line":3367},[3180,3908,3458],{"emptyLinePlaceholder":1208},[3180,3910,3911,3913,3915,3917,3919],{"class":3182,"line":3381},[3180,3912,3336],{"class":3335},[3180,3914,3339],{"class":3335},[3180,3916,3874],{"class":3342},[3180,3918,3347],{"class":3346},[3180,3920,3351],{"class":3350},[3180,3922,3923,3925,3927],{"class":3182,"line":3389},[3180,3924,3475],{"class":3357},[3180,3926,3361],{"class":3350},[3180,3928,3480],{"class":3350},[3180,3930,3931,3934,3936,3938,3940,3942],{"class":3182,"line":3483},[3180,3932,3933],{"class":3357},"    environment",[3180,3935,3361],{"class":3350},[3180,3937,3427],{"class":3350},[3180,3939,3683],{"class":3189},[3180,3941,3375],{"class":3350},[3180,3943,3378],{"class":3350},[3180,3945,3946],{"class":3182,"line":3493},[3180,3947,3949],{"class":3948},"sWuyu","    \u002F\u002F you can optionally set Nuxt-specific environment options\n",[3180,3951,3952],{"class":3182,"line":3499},[3180,3953,3954],{"class":3948},"    \u002F\u002F environmentOptions: {\n",[3180,3956,3957],{"class":3182,"line":3509},[3180,3958,3959],{"class":3948},"    \u002F\u002F   nuxt: {\n",[3180,3961,3962],{"class":3182,"line":3526},[3180,3963,3964],{"class":3948},"    \u002F\u002F     rootDir: fileURLToPath(new URL('.\u002Fplayground', import.meta.url)),\n",[3180,3966,3967,3970],{"class":3182,"line":3549},[3180,3968,3969],{"class":3948},"    \u002F\u002F     domEnvironment: 'happy-dom',",[3180,3971,3972],{"class":3948}," \u002F\u002F 'happy-dom' (default) or 'jsdom'\n",[3180,3974,3975],{"class":3182,"line":3566},[3180,3976,3977],{"class":3948},"    \u002F\u002F     overrides: {\n",[3180,3979,3980,3983],{"class":3182,"line":3572},[3180,3981,3982],{"class":3948},"    \u002F\u002F",[3180,3984,3985],{"class":3948},"       \u002F\u002F other Nuxt config you want to pass\n",[3180,3987,3988],{"class":3182,"line":3578},[3180,3989,3990],{"class":3948},"    \u002F\u002F     }\n",[3180,3992,3993],{"class":3182,"line":3583},[3180,3994,3995],{"class":3948},"    \u002F\u002F   }\n",[3180,3997,3998],{"class":3182,"line":3592},[3180,3999,4000],{"class":3948},"    \u002F\u002F }\n",[3180,4002,4003],{"class":3182,"line":3608},[3180,4004,3752],{"class":3350},[3180,4006,4007,4009],{"class":3182,"line":3628},[3180,4008,3392],{"class":3350},[3180,4010,3395],{"class":3346},[3086,4012,4013,4014,4017,4018,4021,4022,4027],{},"If you're using the simple setup with ",[3098,4015,4016],{},"environment: 'nuxt'"," by default, you can opt ",[3298,4019,4020],{},"out"," of the ",[3090,4023,4026],{"href":4024,"rel":4025},"https:\u002F\u002Fvitest.dev\u002Fguide\u002Fenvironment.html#test-environment",[3106],"Nuxt environment"," per test file as needed.",[3170,4029,4031],{"className":3325,"code":4030,"language":3327,"meta":3328,"style":3176},"\u002F\u002F @vitest-environment node\nimport { test } from 'vitest'\n\ntest('my test', () => {\n  \u002F\u002F ... test without Nuxt environment!\n})\n",[3098,4032,4033,4038,4057,4061,4086,4091],{"__ignoreMap":3176},[3180,4034,4035],{"class":3182,"line":3183},[3180,4036,4037],{"class":3948},"\u002F\u002F @vitest-environment node\n",[3180,4039,4040,4042,4044,4047,4049,4051,4053,4055],{"class":3182,"line":3354},[3180,4041,3412],{"class":3335},[3180,4043,3415],{"class":3350},[3180,4045,4046],{"class":3346}," test",[3180,4048,3421],{"class":3350},[3180,4050,3424],{"class":3335},[3180,4052,3427],{"class":3350},[3180,4054,3143],{"class":3189},[3180,4056,3433],{"class":3350},[3180,4058,4059],{"class":3182,"line":3367},[3180,4060,3458],{"emptyLinePlaceholder":1208},[3180,4062,4063,4065,4067,4069,4072,4074,4077,4080,4084],{"class":3182,"line":3381},[3180,4064,1268],{"class":3342},[3180,4066,3347],{"class":3346},[3180,4068,3375],{"class":3350},[3180,4070,4071],{"class":3189},"my test",[3180,4073,3375],{"class":3350},[3180,4075,4076],{"class":3350},",",[3180,4078,4079],{"class":3350}," ()",[3180,4081,4083],{"class":4082},"smZ93"," =>",[3180,4085,3480],{"class":3350},[3180,4087,4088],{"class":3182,"line":3389},[3180,4089,4090],{"class":3948},"  \u002F\u002F ... test without Nuxt environment!\n",[3180,4092,4093,4095],{"class":3182,"line":3483},[3180,4094,3392],{"class":3350},[3180,4096,3395],{"class":3346},[4098,4099,4100],"warning",{},[3086,4101,4102,4103,4106],{},"This approach is not recommended as it creates a hybrid environment where Nuxt Vite plugins run but the Nuxt entry and ",[3098,4104,4105],{},"nuxtApp"," are not initialized. This can lead to hard-to-debug errors.",[3305,4108,4110],{"id":4109},"organizing-your-tests","Organizing Your Tests",[3086,4112,4113],{},"With the project-based setup, you might organize your tests as follows:",[3170,4115,4118],{"className":3172,"code":4116,"filename":4117,"language":3175,"meta":3176,"style":3176},"test\u002F\n├── e2e\u002F\n│   └── ssr.test.ts\n├── nuxt\u002F\n│   ├── components.test.ts\n│   └── composables.test.ts\n├── unit\u002F\n│   └── utils.test.ts\n","Directory structure",[3098,4119,4120,4125,4133,4144,4151,4161,4170,4177],{"__ignoreMap":3176},[3180,4121,4122],{"class":3182,"line":3183},[3180,4123,4124],{"class":3186},"test\u002F\n",[3180,4126,4127,4130],{"class":3182,"line":3354},[3180,4128,4129],{"class":3186},"├──",[3180,4131,4132],{"class":3189}," e2e\u002F\n",[3180,4134,4135,4138,4141],{"class":3182,"line":3367},[3180,4136,4137],{"class":3186},"│",[3180,4139,4140],{"class":3189},"   └──",[3180,4142,4143],{"class":3189}," ssr.test.ts\n",[3180,4145,4146,4148],{"class":3182,"line":3381},[3180,4147,4129],{"class":3186},[3180,4149,4150],{"class":3189}," nuxt\u002F\n",[3180,4152,4153,4155,4158],{"class":3182,"line":3389},[3180,4154,4137],{"class":3186},[3180,4156,4157],{"class":3189},"   ├──",[3180,4159,4160],{"class":3189}," components.test.ts\n",[3180,4162,4163,4165,4167],{"class":3182,"line":3483},[3180,4164,4137],{"class":3186},[3180,4166,4140],{"class":3189},[3180,4168,4169],{"class":3189}," composables.test.ts\n",[3180,4171,4172,4174],{"class":3182,"line":3493},[3180,4173,4129],{"class":3186},[3180,4175,4176],{"class":3189}," unit\u002F\n",[3180,4178,4179,4181,4183],{"class":3182,"line":3499},[3180,4180,4137],{"class":3186},[3180,4182,4140],{"class":3189},[3180,4184,4185],{"class":3189}," utils.test.ts\n",[3086,4187,4188],{},"You can of course opt for any test structure, but keeping the Nuxt runtime environment separated from Nuxt end-to-end tests is important for test stability.",[3854,4190,3783],{"id":4191},"typescript-support-in-tests",[3086,4193,4194,4195,3134,4197,4200,4201,4205,4206,3144,4209,3144,4212,4215],{},"By default, test files in ",[3098,4196,3778],{},[3098,4198,4199],{},"tests\u002Fnuxt\u002F"," directories are included in the ",[3090,4202,4204],{"href":4203},"\u002Fdocs\u002F4.x\u002Fguide\u002Fconcepts\u002Ftypescript#how-nuxt-uses-project-references","Nuxt app TypeScript context",". That means they will recognise Nuxt aliases (like ",[3098,4207,4208],{},"~\u002F",[3098,4210,4211],{},"@\u002F",[3098,4213,4214],{},"#imports",") and TypeScript will be aware of auto-imports that work in your Nuxt app.",[3083,4217,4218],{},[3086,4219,4220,4221,4223],{},"This matches the recommended structure where only tests that need the Nuxt runtime environment are placed in these directories. Unit tests in other directories like ",[3098,4222,3842],{}," can be added manually if needed.",[4225,4226,4228],"h5",{"id":4227},"adding-other-test-directories","Adding other test directories",[3086,4230,4231],{},"If you have tests in other directories that you will be running in the Nuxt Vitest environment, you can include them in the Nuxt app TypeScript context by adding them to your configuration:",[3170,4233,4235],{"className":3325,"code":4234,"filename":233,"language":3327,"meta":3176,"style":3176},"export default defineNuxtConfig({\n  typescript: {\n    tsConfig: {\n      include: [\n        \u002F\u002F this path is relative to the generated .nuxt\u002Ftsconfig.json\n        '..\u002Ftest\u002Fother-nuxt-context\u002F**\u002F*',\n      ],\n    },\n  },\n})\n",[3098,4236,4237,4249,4258,4267,4276,4281,4293,4300,4305,4309],{"__ignoreMap":3176},[3180,4238,4239,4241,4243,4245,4247],{"class":3182,"line":3183},[3180,4240,3336],{"class":3335},[3180,4242,3339],{"class":3335},[3180,4244,3343],{"class":3342},[3180,4246,3347],{"class":3346},[3180,4248,3351],{"class":3350},[3180,4250,4251,4254,4256],{"class":3182,"line":3354},[3180,4252,4253],{"class":3357},"  typescript",[3180,4255,3361],{"class":3350},[3180,4257,3480],{"class":3350},[3180,4259,4260,4263,4265],{"class":3182,"line":3367},[3180,4261,4262],{"class":3357},"    tsConfig",[3180,4264,3361],{"class":3350},[3180,4266,3480],{"class":3350},[3180,4268,4269,4272,4274],{"class":3182,"line":3381},[3180,4270,4271],{"class":3357},"      include",[3180,4273,3361],{"class":3350},[3180,4275,3364],{"class":3346},[3180,4277,4278],{"class":3182,"line":3389},[3180,4279,4280],{"class":3948},"        \u002F\u002F this path is relative to the generated .nuxt\u002Ftsconfig.json\n",[3180,4282,4283,4286,4289,4291],{"class":3182,"line":3483},[3180,4284,4285],{"class":3350},"        '",[3180,4287,4288],{"class":3189},"..\u002Ftest\u002Fother-nuxt-context\u002F**\u002F*",[3180,4290,3375],{"class":3350},[3180,4292,3378],{"class":3350},[3180,4294,4295,4298],{"class":3182,"line":3493},[3180,4296,4297],{"class":3346},"      ]",[3180,4299,3378],{"class":3350},[3180,4301,4302],{"class":3182,"line":3499},[3180,4303,4304],{"class":3350},"    },\n",[3180,4306,4307],{"class":3182,"line":3509},[3180,4308,3752],{"class":3350},[3180,4310,4311,4313],{"class":3182,"line":3526},[3180,4312,3392],{"class":3350},[3180,4314,3395],{"class":3346},[4316,4317,4318],"important",{},[3086,4319,4320,4321,4324],{},"Unit tests should not depend on Nuxt runtime features like auto-imports or composables. Only add TypeScript path alias support if your tests import from your source files (e.g., ",[3098,4322,4323],{},"~\u002Futils\u002Fhelpers","), not for Nuxt-specific features.",[3854,4326,4328],{"id":4327},"running-tests","Running Tests",[3086,4330,4331],{},"With the project setup, you can run different test suites:",[3170,4333,4335],{"className":3172,"code":4334,"language":3175,"meta":3176,"style":3176},"# Run all tests\nnpx vitest\n\n# Run only unit tests\nnpx vitest --project unit\n\n# Run only Nuxt tests\nnpx vitest --project nuxt\n\n# Run tests in watch mode\nnpx vitest --watch\n",[3098,4336,4337,4342,4350,4354,4359,4371,4375,4380,4391,4395,4400],{"__ignoreMap":3176},[3180,4338,4339],{"class":3182,"line":3183},[3180,4340,4341],{"class":3948},"# Run all tests\n",[3180,4343,4344,4347],{"class":3182,"line":3354},[3180,4345,4346],{"class":3186},"npx",[3180,4348,4349],{"class":3189}," vitest\n",[3180,4351,4352],{"class":3182,"line":3367},[3180,4353,3458],{"emptyLinePlaceholder":1208},[3180,4355,4356],{"class":3182,"line":3381},[3180,4357,4358],{"class":3948},"# Run only unit tests\n",[3180,4360,4361,4363,4365,4368],{"class":3182,"line":3389},[3180,4362,4346],{"class":3186},[3180,4364,3199],{"class":3189},[3180,4366,4367],{"class":3189}," --project",[3180,4369,4370],{"class":3189}," unit\n",[3180,4372,4373],{"class":3182,"line":3483},[3180,4374,3458],{"emptyLinePlaceholder":1208},[3180,4376,4377],{"class":3182,"line":3493},[3180,4378,4379],{"class":3948},"# Run only Nuxt tests\n",[3180,4381,4382,4384,4386,4388],{"class":3182,"line":3499},[3180,4383,4346],{"class":3186},[3180,4385,3199],{"class":3189},[3180,4387,4367],{"class":3189},[3180,4389,4390],{"class":3189}," nuxt\n",[3180,4392,4393],{"class":3182,"line":3509},[3180,4394,3458],{"emptyLinePlaceholder":1208},[3180,4396,4397],{"class":3182,"line":3526},[3180,4398,4399],{"class":3948},"# Run tests in watch mode\n",[3180,4401,4402,4404,4406],{"class":3182,"line":3549},[3180,4403,4346],{"class":3186},[3180,4405,3199],{"class":3189},[3180,4407,4408],{"class":3189}," --watch\n",[4098,4410,4411,4431],{},[3086,4412,4413,4414,4420,4421,4427,4428,4430],{},"When you run your tests within the Nuxt environment, they will be running in a ",[3090,4415,4418],{"href":4416,"rel":4417},"https:\u002F\u002Fgithub.com\u002Fcapricorn86\u002Fhappy-dom",[3106],[3098,4419,3133],{}," or ",[3090,4422,4425],{"href":4423,"rel":4424},"https:\u002F\u002Fgithub.com\u002Fjsdom\u002Fjsdom",[3106],[3098,4426,3137],{}," environment. Before your tests run, a global Nuxt app will be initialized (including, for example, running any plugins or code you've defined in your ",[3098,4429,219],{},").",[3086,4432,4433],{},"This means you should take particular care not to mutate the global state in your tests (or, if you need to, to reset it afterwards).",[3305,4435,4437],{"id":4436},"built-in-mocks","🎭 Built-In Mocks",[3086,4439,4440,4442],{},[3098,4441,3100],{}," provides some built-in mocks for the DOM environment.",[3854,4444,4446],{"id":4445},"intersectionobserver",[3098,4447,4448],{},"intersectionObserver",[3086,4450,4451,4452,4455],{},"Default ",[3098,4453,4454],{},"true",", creates a dummy class without any functionality for the IntersectionObserver API",[3854,4457,4459],{"id":4458},"indexeddb",[3098,4460,4461],{},"indexedDB",[3086,4463,4451,4464,4467,4468,4475],{},[3098,4465,4466],{},"false",", uses ",[3090,4469,4472],{"href":4470,"rel":4471},"https:\u002F\u002Fgithub.com\u002Fdumbmatter\u002FfakeIndexedDB",[3106],[3098,4473,4474],{},"fake-indexeddb"," to create a functional mock of the IndexedDB API",[3086,4477,4478,4479,4482,4483,4485],{},"These can be configured in the ",[3098,4480,4481],{},"environmentOptions"," section of your ",[3098,4484,3401],{}," file:",[3170,4487,4489],{"className":3325,"code":4488,"language":3327,"meta":3328,"style":3176},"import { defineVitestConfig } from '@nuxt\u002Ftest-utils\u002Fconfig'\n\nexport default defineVitestConfig({\n  test: {\n    environmentOptions: {\n      nuxt: {\n        mock: {\n          intersectionObserver: true,\n          indexedDb: true,\n        },\n      },\n    },\n  },\n})\n",[3098,4490,4491,4509,4513,4525,4533,4542,4551,4560,4573,4584,4588,4592,4596,4600],{"__ignoreMap":3176},[3180,4492,4493,4495,4497,4499,4501,4503,4505,4507],{"class":3182,"line":3183},[3180,4494,3412],{"class":3335},[3180,4496,3415],{"class":3350},[3180,4498,3874],{"class":3346},[3180,4500,3421],{"class":3350},[3180,4502,3424],{"class":3335},[3180,4504,3427],{"class":3350},[3180,4506,3451],{"class":3189},[3180,4508,3433],{"class":3350},[3180,4510,4511],{"class":3182,"line":3354},[3180,4512,3458],{"emptyLinePlaceholder":1208},[3180,4514,4515,4517,4519,4521,4523],{"class":3182,"line":3367},[3180,4516,3336],{"class":3335},[3180,4518,3339],{"class":3335},[3180,4520,3874],{"class":3342},[3180,4522,3347],{"class":3346},[3180,4524,3351],{"class":3350},[3180,4526,4527,4529,4531],{"class":3182,"line":3381},[3180,4528,3475],{"class":3357},[3180,4530,3361],{"class":3350},[3180,4532,3480],{"class":3350},[3180,4534,4535,4538,4540],{"class":3182,"line":3389},[3180,4536,4537],{"class":3357},"    environmentOptions",[3180,4539,3361],{"class":3350},[3180,4541,3480],{"class":3350},[3180,4543,4544,4547,4549],{"class":3182,"line":3483},[3180,4545,4546],{"class":3357},"      nuxt",[3180,4548,3361],{"class":3350},[3180,4550,3480],{"class":3350},[3180,4552,4553,4556,4558],{"class":3182,"line":3493},[3180,4554,4555],{"class":3357},"        mock",[3180,4557,3361],{"class":3350},[3180,4559,3480],{"class":3350},[3180,4561,4562,4565,4567,4571],{"class":3182,"line":3499},[3180,4563,4564],{"class":3357},"          intersectionObserver",[3180,4566,3361],{"class":3350},[3180,4568,4570],{"class":4569},"sbKd-"," true",[3180,4572,3378],{"class":3350},[3180,4574,4575,4578,4580,4582],{"class":3182,"line":3509},[3180,4576,4577],{"class":3357},"          indexedDb",[3180,4579,3361],{"class":3350},[3180,4581,4570],{"class":4569},[3180,4583,3378],{"class":3350},[3180,4585,4586],{"class":3182,"line":3526},[3180,4587,3569],{"class":3350},[3180,4589,4590],{"class":3182,"line":3549},[3180,4591,3575],{"class":3350},[3180,4593,4594],{"class":3182,"line":3566},[3180,4595,4304],{"class":3350},[3180,4597,4598],{"class":3182,"line":3572},[3180,4599,3752],{"class":3350},[3180,4601,4602,4604],{"class":3182,"line":3578},[3180,4603,3392],{"class":3350},[3180,4605,3395],{"class":3346},[3305,4607,4609],{"id":4608},"️-helpers","🛠️ Helpers",[3086,4611,4612,4614],{},[3098,4613,3100],{}," provides a number of helpers to make testing Nuxt apps easier.",[3854,4616,4618],{"id":4617},"mountsuspended",[3098,4619,4620],{},"mountSuspended",[3086,4622,4623,4625],{},[3098,4624,4620],{}," allows you to mount any Vue component within the Nuxt environment, allowing async setup and access to injections from your Nuxt plugins.",[3761,4627,4628],{},[3086,4629,4630,4631,4633,4634,4637,4638,4641,4642,4647],{},"Under the hood, ",[3098,4632,4620],{}," wraps ",[3098,4635,4636],{},"mount"," from ",[3098,4639,4640],{},"@vue\u002Ftest-utils",", so you can check out ",[3090,4643,4646],{"href":4644,"rel":4645},"https:\u002F\u002Ftest-utils.vuejs.org\u002Fguide\u002F",[3106],"the Vue Test Utils documentation"," for more on the options you can pass, and how to use this utility.",[3086,4649,4650],{},"For example:",[3170,4652,4654],{"className":3325,"code":4653,"language":3327,"meta":3328,"style":3176},"\u002F\u002F @noErrors\nimport { expect, it } from 'vitest'\nimport type { Component } from 'vue'\n\ndeclare module '#components' {\n  export const SomeComponent: Component\n}\n\u002F\u002F ---cut---\n\u002F\u002F tests\u002Fcomponents\u002FSomeComponents.nuxt.spec.ts\nimport { mountSuspended } from '@nuxt\u002Ftest-utils\u002Fruntime'\nimport { SomeComponent } from '#components'\n\nit('can mount some component', async () => {\n  const component = await mountSuspended(SomeComponent)\n  expect(component.text()).toMatchInlineSnapshot(\n    '\"This is an auto-imported component\"',\n  )\n})\n",[3098,4655,4656,4661,4685,4708,4712,4729,4745,4750,4755,4760,4780,4798,4802,4827,4850,4876,4887,4892],{"__ignoreMap":3176},[3180,4657,4658],{"class":3182,"line":3183},[3180,4659,4660],{"class":3948},"\u002F\u002F @noErrors\n",[3180,4662,4663,4665,4667,4670,4672,4675,4677,4679,4681,4683],{"class":3182,"line":3354},[3180,4664,3412],{"class":3335},[3180,4666,3415],{"class":3350},[3180,4668,4669],{"class":3346}," expect",[3180,4671,4076],{"class":3350},[3180,4673,4674],{"class":3346}," it",[3180,4676,3421],{"class":3350},[3180,4678,3424],{"class":3335},[3180,4680,3427],{"class":3350},[3180,4682,3143],{"class":3189},[3180,4684,3433],{"class":3350},[3180,4686,4687,4689,4692,4694,4697,4699,4701,4703,4706],{"class":3182,"line":3367},[3180,4688,3412],{"class":3335},[3180,4690,4691],{"class":3335}," type",[3180,4693,3415],{"class":3350},[3180,4695,4696],{"class":3346}," Component",[3180,4698,3421],{"class":3350},[3180,4700,3424],{"class":3335},[3180,4702,3427],{"class":3350},[3180,4704,4705],{"class":3189},"vue",[3180,4707,3433],{"class":3350},[3180,4709,4710],{"class":3182,"line":3381},[3180,4711,3458],{"emptyLinePlaceholder":1208},[3180,4713,4714,4717,4720,4722,4725,4727],{"class":3182,"line":3389},[3180,4715,4716],{"class":4082},"declare",[3180,4718,4719],{"class":4082}," module",[3180,4721,3427],{"class":3350},[3180,4723,4724],{"class":3189},"#components",[3180,4726,3375],{"class":3350},[3180,4728,3480],{"class":3350},[3180,4730,4731,4734,4737,4740,4742],{"class":3182,"line":3483},[3180,4732,4733],{"class":3335},"  export",[3180,4735,4736],{"class":4082}," const",[3180,4738,4739],{"class":3346}," SomeComponent",[3180,4741,3361],{"class":3350},[3180,4743,4744],{"class":3186}," Component\n",[3180,4746,4747],{"class":3182,"line":3493},[3180,4748,4749],{"class":3350},"}\n",[3180,4751,4752],{"class":3182,"line":3499},[3180,4753,4754],{"class":3948},"\u002F\u002F ---cut---\n",[3180,4756,4757],{"class":3182,"line":3509},[3180,4758,4759],{"class":3948},"\u002F\u002F tests\u002Fcomponents\u002FSomeComponents.nuxt.spec.ts\n",[3180,4761,4762,4764,4766,4769,4771,4773,4775,4778],{"class":3182,"line":3526},[3180,4763,3412],{"class":3335},[3180,4765,3415],{"class":3350},[3180,4767,4768],{"class":3346}," mountSuspended",[3180,4770,3421],{"class":3350},[3180,4772,3424],{"class":3335},[3180,4774,3427],{"class":3350},[3180,4776,4777],{"class":3189},"@nuxt\u002Ftest-utils\u002Fruntime",[3180,4779,3433],{"class":3350},[3180,4781,4782,4784,4786,4788,4790,4792,4794,4796],{"class":3182,"line":3549},[3180,4783,3412],{"class":3335},[3180,4785,3415],{"class":3350},[3180,4787,4739],{"class":3346},[3180,4789,3421],{"class":3350},[3180,4791,3424],{"class":3335},[3180,4793,3427],{"class":3350},[3180,4795,4724],{"class":3189},[3180,4797,3433],{"class":3350},[3180,4799,4800],{"class":3182,"line":3566},[3180,4801,3458],{"emptyLinePlaceholder":1208},[3180,4803,4804,4807,4809,4811,4814,4816,4818,4821,4823,4825],{"class":3182,"line":3572},[3180,4805,4806],{"class":3342},"it",[3180,4808,3347],{"class":3346},[3180,4810,3375],{"class":3350},[3180,4812,4813],{"class":3189},"can mount some component",[3180,4815,3375],{"class":3350},[3180,4817,4076],{"class":3350},[3180,4819,4820],{"class":4082}," async",[3180,4822,4079],{"class":3350},[3180,4824,4083],{"class":4082},[3180,4826,3480],{"class":3350},[3180,4828,4829,4832,4835,4838,4841,4843,4845,4848],{"class":3182,"line":3578},[3180,4830,4831],{"class":4082},"  const",[3180,4833,4834],{"class":3346}," component",[3180,4836,4837],{"class":3350}," =",[3180,4839,4840],{"class":3335}," await",[3180,4842,4768],{"class":3342},[3180,4844,3347],{"class":3357},[3180,4846,4847],{"class":3346},"SomeComponent",[3180,4849,3395],{"class":3357},[3180,4851,4852,4855,4857,4860,4862,4865,4868,4870,4873],{"class":3182,"line":3583},[3180,4853,4854],{"class":3342},"  expect",[3180,4856,3347],{"class":3357},[3180,4858,4859],{"class":3346},"component",[3180,4861,3093],{"class":3350},[3180,4863,4864],{"class":3342},"text",[3180,4866,4867],{"class":3357},"())",[3180,4869,3093],{"class":3350},[3180,4871,4872],{"class":3342},"toMatchInlineSnapshot",[3180,4874,4875],{"class":3357},"(\n",[3180,4877,4878,4880,4883,4885],{"class":3182,"line":3592},[3180,4879,3370],{"class":3350},[3180,4881,4882],{"class":3189},"\"This is an auto-imported component\"",[3180,4884,3375],{"class":3350},[3180,4886,3378],{"class":3350},[3180,4888,4889],{"class":3182,"line":3608},[3180,4890,4891],{"class":3357},"  )\n",[3180,4893,4894,4896],{"class":3182,"line":3628},[3180,4895,3392],{"class":3350},[3180,4897,3395],{"class":3346},[3170,4899,4901],{"className":3325,"code":4900,"language":3327,"meta":3328,"style":3176},"\u002F\u002F @noErrors\nimport { expect, it } from 'vitest'\n\u002F\u002F ---cut---\n\u002F\u002F tests\u002Fcomponents\u002FSomeComponents.nuxt.spec.ts\nimport { mountSuspended } from '@nuxt\u002Ftest-utils\u002Fruntime'\nimport App from '~\u002Fapp.vue'\n\n\u002F\u002F tests\u002FApp.nuxt.spec.ts\nit('can also mount an app', async () => {\n  const component = await mountSuspended(App, { route: '\u002Ftest' })\n  expect(component.html()).toMatchInlineSnapshot(`\n      \"\u003Cdiv>This is an auto-imported component\u003C\u002Fdiv>\n      \u003Cdiv> I am a global component \u003C\u002Fdiv>\n      \u003Cdiv>\u002F\u003C\u002Fdiv>\n      \u003Ca href=\"\u002Ftest\"> Test link \u003C\u002Fa>\"\n    `)\n})\n",[3098,4902,4903,4907,4929,4933,4937,4955,4972,4976,4981,5004,5041,5065,5070,5075,5080,5085,5092],{"__ignoreMap":3176},[3180,4904,4905],{"class":3182,"line":3183},[3180,4906,4660],{"class":3948},[3180,4908,4909,4911,4913,4915,4917,4919,4921,4923,4925,4927],{"class":3182,"line":3354},[3180,4910,3412],{"class":3335},[3180,4912,3415],{"class":3350},[3180,4914,4669],{"class":3346},[3180,4916,4076],{"class":3350},[3180,4918,4674],{"class":3346},[3180,4920,3421],{"class":3350},[3180,4922,3424],{"class":3335},[3180,4924,3427],{"class":3350},[3180,4926,3143],{"class":3189},[3180,4928,3433],{"class":3350},[3180,4930,4931],{"class":3182,"line":3367},[3180,4932,4754],{"class":3948},[3180,4934,4935],{"class":3182,"line":3381},[3180,4936,4759],{"class":3948},[3180,4938,4939,4941,4943,4945,4947,4949,4951,4953],{"class":3182,"line":3389},[3180,4940,3412],{"class":3335},[3180,4942,3415],{"class":3350},[3180,4944,4768],{"class":3346},[3180,4946,3421],{"class":3350},[3180,4948,3424],{"class":3335},[3180,4950,3427],{"class":3350},[3180,4952,4777],{"class":3189},[3180,4954,3433],{"class":3350},[3180,4956,4957,4959,4962,4965,4967,4970],{"class":3182,"line":3483},[3180,4958,3412],{"class":3335},[3180,4960,4961],{"class":3346}," App ",[3180,4963,4964],{"class":3335},"from",[3180,4966,3427],{"class":3350},[3180,4968,4969],{"class":3189},"~\u002Fapp.vue",[3180,4971,3433],{"class":3350},[3180,4973,4974],{"class":3182,"line":3493},[3180,4975,3458],{"emptyLinePlaceholder":1208},[3180,4977,4978],{"class":3182,"line":3499},[3180,4979,4980],{"class":3948},"\u002F\u002F tests\u002FApp.nuxt.spec.ts\n",[3180,4982,4983,4985,4987,4989,4992,4994,4996,4998,5000,5002],{"class":3182,"line":3509},[3180,4984,4806],{"class":3342},[3180,4986,3347],{"class":3346},[3180,4988,3375],{"class":3350},[3180,4990,4991],{"class":3189},"can also mount an app",[3180,4993,3375],{"class":3350},[3180,4995,4076],{"class":3350},[3180,4997,4820],{"class":4082},[3180,4999,4079],{"class":3350},[3180,5001,4083],{"class":4082},[3180,5003,3480],{"class":3350},[3180,5005,5006,5008,5010,5012,5014,5016,5018,5021,5023,5025,5028,5030,5032,5035,5037,5039],{"class":3182,"line":3526},[3180,5007,4831],{"class":4082},[3180,5009,4834],{"class":3346},[3180,5011,4837],{"class":3350},[3180,5013,4840],{"class":3335},[3180,5015,4768],{"class":3342},[3180,5017,3347],{"class":3357},[3180,5019,5020],{"class":3346},"App",[3180,5022,4076],{"class":3350},[3180,5024,3415],{"class":3350},[3180,5026,5027],{"class":3357}," route",[3180,5029,3361],{"class":3350},[3180,5031,3427],{"class":3350},[3180,5033,5034],{"class":3189},"\u002Ftest",[3180,5036,3375],{"class":3350},[3180,5038,3421],{"class":3350},[3180,5040,3395],{"class":3357},[3180,5042,5043,5045,5047,5049,5051,5054,5056,5058,5060,5062],{"class":3182,"line":3549},[3180,5044,4854],{"class":3342},[3180,5046,3347],{"class":3357},[3180,5048,4859],{"class":3346},[3180,5050,3093],{"class":3350},[3180,5052,5053],{"class":3342},"html",[3180,5055,4867],{"class":3357},[3180,5057,3093],{"class":3350},[3180,5059,4872],{"class":3342},[3180,5061,3347],{"class":3357},[3180,5063,5064],{"class":3350},"`\n",[3180,5066,5067],{"class":3182,"line":3566},[3180,5068,5069],{"class":3189},"      \"\u003Cdiv>This is an auto-imported component\u003C\u002Fdiv>\n",[3180,5071,5072],{"class":3182,"line":3572},[3180,5073,5074],{"class":3189},"      \u003Cdiv> I am a global component \u003C\u002Fdiv>\n",[3180,5076,5077],{"class":3182,"line":3578},[3180,5078,5079],{"class":3189},"      \u003Cdiv>\u002F\u003C\u002Fdiv>\n",[3180,5081,5082],{"class":3182,"line":3583},[3180,5083,5084],{"class":3189},"      \u003Ca href=\"\u002Ftest\"> Test link \u003C\u002Fa>\"\n",[3180,5086,5087,5090],{"class":3182,"line":3592},[3180,5088,5089],{"class":3350},"    `",[3180,5091,3395],{"class":3357},[3180,5093,5094,5096],{"class":3182,"line":3608},[3180,5095,3392],{"class":3350},[3180,5097,3395],{"class":3346},[3086,5099,5100,5101,5103],{},"The options object accepts ",[3098,5102,4640],{}," mount options and the following properties:",[3125,5105,5106],{},[3128,5107,5108,5111,5112,5114,5115,4430],{},[3098,5109,5110],{},"route",": the initial route, or ",[3098,5113,4466],{}," to skip the initial route change (default ",[3098,5116,5117],{},"\u002F",[3854,5119,5121],{"id":5120},"rendersuspended",[3098,5122,5123],{},"renderSuspended",[3086,5125,5126,5128,5129,5132],{},[3098,5127,5123],{}," allows you to render any Vue component within the Nuxt environment using ",[3098,5130,5131],{},"@testing-library\u002Fvue",", allowing async setup and access to injections from your Nuxt plugins.",[3086,5134,5135,5136,3134,5139,5142,5143,5147],{},"This should be used together with utilities from Testing Library, e.g. ",[3098,5137,5138],{},"screen",[3098,5140,5141],{},"fireEvent",". Install ",[3090,5144,5131],{"href":5145,"rel":5146},"https:\u002F\u002Ftesting-library.com\u002Fdocs\u002Fvue-testing-library\u002Fintro\u002F",[3106]," in your project to use these.",[3086,5149,5150,5151,3093],{},"Additionally, Testing Library also relies on testing globals for cleanup. You should turn these on in your ",[3090,5152,5155],{"href":5153,"rel":5154},"https:\u002F\u002Fvitest.dev\u002Fconfig\u002Fglobals",[3106],"Vitest config",[3086,5157,5158,5159,3093],{},"The passed in component will be rendered inside a ",[3098,5160,5161],{},"\u003Cdiv id=\"test-wrapper\">\u003C\u002Fdiv>",[3086,5163,5164],{},"Examples:",[3170,5166,5168],{"className":3325,"code":5167,"language":3327,"meta":3328,"style":3176},"\u002F\u002F @noErrors\nimport { expect, it } from 'vitest'\nimport type { Component } from 'vue'\n\ndeclare module '#components' {\n  export const SomeComponent: Component\n}\n\u002F\u002F ---cut---\n\u002F\u002F tests\u002Fcomponents\u002FSomeComponents.nuxt.spec.ts\nimport { renderSuspended } from '@nuxt\u002Ftest-utils\u002Fruntime'\nimport { SomeComponent } from '#components'\nimport { screen } from '@testing-library\u002Fvue'\n\nit('can render some component', async () => {\n  await renderSuspended(SomeComponent)\n  expect(screen.getByText('This is an auto-imported component')).toBeDefined()\n})\n",[3098,5169,5170,5174,5196,5216,5220,5234,5246,5250,5254,5258,5277,5295,5314,5318,5341,5354,5387],{"__ignoreMap":3176},[3180,5171,5172],{"class":3182,"line":3183},[3180,5173,4660],{"class":3948},[3180,5175,5176,5178,5180,5182,5184,5186,5188,5190,5192,5194],{"class":3182,"line":3354},[3180,5177,3412],{"class":3335},[3180,5179,3415],{"class":3350},[3180,5181,4669],{"class":3346},[3180,5183,4076],{"class":3350},[3180,5185,4674],{"class":3346},[3180,5187,3421],{"class":3350},[3180,5189,3424],{"class":3335},[3180,5191,3427],{"class":3350},[3180,5193,3143],{"class":3189},[3180,5195,3433],{"class":3350},[3180,5197,5198,5200,5202,5204,5206,5208,5210,5212,5214],{"class":3182,"line":3367},[3180,5199,3412],{"class":3335},[3180,5201,4691],{"class":3335},[3180,5203,3415],{"class":3350},[3180,5205,4696],{"class":3346},[3180,5207,3421],{"class":3350},[3180,5209,3424],{"class":3335},[3180,5211,3427],{"class":3350},[3180,5213,4705],{"class":3189},[3180,5215,3433],{"class":3350},[3180,5217,5218],{"class":3182,"line":3381},[3180,5219,3458],{"emptyLinePlaceholder":1208},[3180,5221,5222,5224,5226,5228,5230,5232],{"class":3182,"line":3389},[3180,5223,4716],{"class":4082},[3180,5225,4719],{"class":4082},[3180,5227,3427],{"class":3350},[3180,5229,4724],{"class":3189},[3180,5231,3375],{"class":3350},[3180,5233,3480],{"class":3350},[3180,5235,5236,5238,5240,5242,5244],{"class":3182,"line":3483},[3180,5237,4733],{"class":3335},[3180,5239,4736],{"class":4082},[3180,5241,4739],{"class":3346},[3180,5243,3361],{"class":3350},[3180,5245,4744],{"class":3186},[3180,5247,5248],{"class":3182,"line":3493},[3180,5249,4749],{"class":3350},[3180,5251,5252],{"class":3182,"line":3499},[3180,5253,4754],{"class":3948},[3180,5255,5256],{"class":3182,"line":3509},[3180,5257,4759],{"class":3948},[3180,5259,5260,5262,5264,5267,5269,5271,5273,5275],{"class":3182,"line":3526},[3180,5261,3412],{"class":3335},[3180,5263,3415],{"class":3350},[3180,5265,5266],{"class":3346}," renderSuspended",[3180,5268,3421],{"class":3350},[3180,5270,3424],{"class":3335},[3180,5272,3427],{"class":3350},[3180,5274,4777],{"class":3189},[3180,5276,3433],{"class":3350},[3180,5278,5279,5281,5283,5285,5287,5289,5291,5293],{"class":3182,"line":3549},[3180,5280,3412],{"class":3335},[3180,5282,3415],{"class":3350},[3180,5284,4739],{"class":3346},[3180,5286,3421],{"class":3350},[3180,5288,3424],{"class":3335},[3180,5290,3427],{"class":3350},[3180,5292,4724],{"class":3189},[3180,5294,3433],{"class":3350},[3180,5296,5297,5299,5301,5304,5306,5308,5310,5312],{"class":3182,"line":3566},[3180,5298,3412],{"class":3335},[3180,5300,3415],{"class":3350},[3180,5302,5303],{"class":3346}," screen",[3180,5305,3421],{"class":3350},[3180,5307,3424],{"class":3335},[3180,5309,3427],{"class":3350},[3180,5311,5131],{"class":3189},[3180,5313,3433],{"class":3350},[3180,5315,5316],{"class":3182,"line":3572},[3180,5317,3458],{"emptyLinePlaceholder":1208},[3180,5319,5320,5322,5324,5326,5329,5331,5333,5335,5337,5339],{"class":3182,"line":3578},[3180,5321,4806],{"class":3342},[3180,5323,3347],{"class":3346},[3180,5325,3375],{"class":3350},[3180,5327,5328],{"class":3189},"can render some component",[3180,5330,3375],{"class":3350},[3180,5332,4076],{"class":3350},[3180,5334,4820],{"class":4082},[3180,5336,4079],{"class":3350},[3180,5338,4083],{"class":4082},[3180,5340,3480],{"class":3350},[3180,5342,5343,5346,5348,5350,5352],{"class":3182,"line":3583},[3180,5344,5345],{"class":3335},"  await",[3180,5347,5266],{"class":3342},[3180,5349,3347],{"class":3357},[3180,5351,4847],{"class":3346},[3180,5353,3395],{"class":3357},[3180,5355,5356,5358,5360,5362,5364,5367,5369,5371,5374,5376,5379,5381,5384],{"class":3182,"line":3592},[3180,5357,4854],{"class":3342},[3180,5359,3347],{"class":3357},[3180,5361,5138],{"class":3346},[3180,5363,3093],{"class":3350},[3180,5365,5366],{"class":3342},"getByText",[3180,5368,3347],{"class":3357},[3180,5370,3375],{"class":3350},[3180,5372,5373],{"class":3189},"This is an auto-imported component",[3180,5375,3375],{"class":3350},[3180,5377,5378],{"class":3357},"))",[3180,5380,3093],{"class":3350},[3180,5382,5383],{"class":3342},"toBeDefined",[3180,5385,5386],{"class":3357},"()\n",[3180,5388,5389,5391],{"class":3182,"line":3608},[3180,5390,3392],{"class":3350},[3180,5392,3395],{"class":3346},[3170,5394,5396],{"className":3325,"code":5395,"language":3327,"meta":3328,"style":3176},"\u002F\u002F @noErrors\nimport { expect, it } from 'vitest'\n\u002F\u002F ---cut---\n\u002F\u002F tests\u002FApp.nuxt.spec.ts\nimport { renderSuspended } from '@nuxt\u002Ftest-utils\u002Fruntime'\nimport App from '~\u002Fapp.vue'\n\nit('can also render an app', async () => {\n  const html = await renderSuspended(App, { route: '\u002Ftest' })\n  expect(html).toMatchInlineSnapshot(`\n    \"\u003Cdiv id=\"test-wrapper\">\n      \u003Cdiv>This is an auto-imported component\u003C\u002Fdiv>\n      \u003Cdiv> I am a global component \u003C\u002Fdiv>\n      \u003Cdiv>Index page\u003C\u002Fdiv>\u003Ca href=\"\u002Ftest\"> Test link \u003C\u002Fa>\n    \u003C\u002Fdiv>\"\n  `)\n})\n",[3098,5397,5398,5402,5424,5428,5432,5450,5464,5468,5491,5526,5544,5549,5554,5558,5563,5568,5575],{"__ignoreMap":3176},[3180,5399,5400],{"class":3182,"line":3183},[3180,5401,4660],{"class":3948},[3180,5403,5404,5406,5408,5410,5412,5414,5416,5418,5420,5422],{"class":3182,"line":3354},[3180,5405,3412],{"class":3335},[3180,5407,3415],{"class":3350},[3180,5409,4669],{"class":3346},[3180,5411,4076],{"class":3350},[3180,5413,4674],{"class":3346},[3180,5415,3421],{"class":3350},[3180,5417,3424],{"class":3335},[3180,5419,3427],{"class":3350},[3180,5421,3143],{"class":3189},[3180,5423,3433],{"class":3350},[3180,5425,5426],{"class":3182,"line":3367},[3180,5427,4754],{"class":3948},[3180,5429,5430],{"class":3182,"line":3381},[3180,5431,4980],{"class":3948},[3180,5433,5434,5436,5438,5440,5442,5444,5446,5448],{"class":3182,"line":3389},[3180,5435,3412],{"class":3335},[3180,5437,3415],{"class":3350},[3180,5439,5266],{"class":3346},[3180,5441,3421],{"class":3350},[3180,5443,3424],{"class":3335},[3180,5445,3427],{"class":3350},[3180,5447,4777],{"class":3189},[3180,5449,3433],{"class":3350},[3180,5451,5452,5454,5456,5458,5460,5462],{"class":3182,"line":3483},[3180,5453,3412],{"class":3335},[3180,5455,4961],{"class":3346},[3180,5457,4964],{"class":3335},[3180,5459,3427],{"class":3350},[3180,5461,4969],{"class":3189},[3180,5463,3433],{"class":3350},[3180,5465,5466],{"class":3182,"line":3493},[3180,5467,3458],{"emptyLinePlaceholder":1208},[3180,5469,5470,5472,5474,5476,5479,5481,5483,5485,5487,5489],{"class":3182,"line":3499},[3180,5471,4806],{"class":3342},[3180,5473,3347],{"class":3346},[3180,5475,3375],{"class":3350},[3180,5477,5478],{"class":3189},"can also render an app",[3180,5480,3375],{"class":3350},[3180,5482,4076],{"class":3350},[3180,5484,4820],{"class":4082},[3180,5486,4079],{"class":3350},[3180,5488,4083],{"class":4082},[3180,5490,3480],{"class":3350},[3180,5492,5493,5495,5498,5500,5502,5504,5506,5508,5510,5512,5514,5516,5518,5520,5522,5524],{"class":3182,"line":3509},[3180,5494,4831],{"class":4082},[3180,5496,5497],{"class":3346}," html",[3180,5499,4837],{"class":3350},[3180,5501,4840],{"class":3335},[3180,5503,5266],{"class":3342},[3180,5505,3347],{"class":3357},[3180,5507,5020],{"class":3346},[3180,5509,4076],{"class":3350},[3180,5511,3415],{"class":3350},[3180,5513,5027],{"class":3357},[3180,5515,3361],{"class":3350},[3180,5517,3427],{"class":3350},[3180,5519,5034],{"class":3189},[3180,5521,3375],{"class":3350},[3180,5523,3421],{"class":3350},[3180,5525,3395],{"class":3357},[3180,5527,5528,5530,5532,5534,5536,5538,5540,5542],{"class":3182,"line":3526},[3180,5529,4854],{"class":3342},[3180,5531,3347],{"class":3357},[3180,5533,5053],{"class":3346},[3180,5535,3736],{"class":3357},[3180,5537,3093],{"class":3350},[3180,5539,4872],{"class":3342},[3180,5541,3347],{"class":3357},[3180,5543,5064],{"class":3350},[3180,5545,5546],{"class":3182,"line":3549},[3180,5547,5548],{"class":3189},"    \"\u003Cdiv id=\"test-wrapper\">\n",[3180,5550,5551],{"class":3182,"line":3566},[3180,5552,5553],{"class":3189},"      \u003Cdiv>This is an auto-imported component\u003C\u002Fdiv>\n",[3180,5555,5556],{"class":3182,"line":3572},[3180,5557,5074],{"class":3189},[3180,5559,5560],{"class":3182,"line":3578},[3180,5561,5562],{"class":3189},"      \u003Cdiv>Index page\u003C\u002Fdiv>\u003Ca href=\"\u002Ftest\"> Test link \u003C\u002Fa>\n",[3180,5564,5565],{"class":3182,"line":3583},[3180,5566,5567],{"class":3189},"    \u003C\u002Fdiv>\"\n",[3180,5569,5570,5573],{"class":3182,"line":3592},[3180,5571,5572],{"class":3350},"  `",[3180,5574,3395],{"class":3357},[3180,5576,5577,5579],{"class":3182,"line":3608},[3180,5578,3392],{"class":3350},[3180,5580,3395],{"class":3346},[3086,5582,5100,5583,5585],{},[3098,5584,5131],{}," render options and the following properties:",[3125,5587,5588],{},[3128,5589,5590,5111,5592,5114,5594,4430],{},[3098,5591,5110],{},[3098,5593,4466],{},[3098,5595,5117],{},[3854,5597,5599],{"id":5598},"mocknuxtimport",[3098,5600,5601],{},"mockNuxtImport",[3086,5603,5604,5606,5607,5609],{},[3098,5605,5601],{}," allows you to mock Nuxt's auto import functionality. For example, to mock ",[3098,5608,623],{},", you can do so like this:",[3170,5611,5613],{"className":3325,"code":5612,"language":3327,"meta":3328,"style":3176},"import { mockNuxtImport } from '@nuxt\u002Ftest-utils\u002Fruntime'\n\nmockNuxtImport('useState', () => {\n  return () => {\n    return { value: 'mocked storage' }\n  }\n})\n\n\u002F\u002F your tests here\n",[3098,5614,5615,5634,5638,5658,5669,5691,5696,5702,5706],{"__ignoreMap":3176},[3180,5616,5617,5619,5621,5624,5626,5628,5630,5632],{"class":3182,"line":3183},[3180,5618,3412],{"class":3335},[3180,5620,3415],{"class":3350},[3180,5622,5623],{"class":3346}," mockNuxtImport",[3180,5625,3421],{"class":3350},[3180,5627,3424],{"class":3335},[3180,5629,3427],{"class":3350},[3180,5631,4777],{"class":3189},[3180,5633,3433],{"class":3350},[3180,5635,5636],{"class":3182,"line":3354},[3180,5637,3458],{"emptyLinePlaceholder":1208},[3180,5639,5640,5642,5644,5646,5648,5650,5652,5654,5656],{"class":3182,"line":3367},[3180,5641,5601],{"class":3342},[3180,5643,3347],{"class":3346},[3180,5645,3375],{"class":3350},[3180,5647,623],{"class":3189},[3180,5649,3375],{"class":3350},[3180,5651,4076],{"class":3350},[3180,5653,4079],{"class":3350},[3180,5655,4083],{"class":4082},[3180,5657,3480],{"class":3350},[3180,5659,5660,5663,5665,5667],{"class":3182,"line":3381},[3180,5661,5662],{"class":3335},"  return",[3180,5664,4079],{"class":3350},[3180,5666,4083],{"class":4082},[3180,5668,3480],{"class":3350},[3180,5670,5671,5674,5676,5679,5681,5683,5686,5688],{"class":3182,"line":3389},[3180,5672,5673],{"class":3335},"    return",[3180,5675,3415],{"class":3350},[3180,5677,5678],{"class":3357}," value",[3180,5680,3361],{"class":3350},[3180,5682,3427],{"class":3350},[3180,5684,5685],{"class":3189},"mocked storage",[3180,5687,3375],{"class":3350},[3180,5689,5690],{"class":3350}," }\n",[3180,5692,5693],{"class":3182,"line":3483},[3180,5694,5695],{"class":3350},"  }\n",[3180,5697,5698,5700],{"class":3182,"line":3493},[3180,5699,3392],{"class":3350},[3180,5701,3395],{"class":3346},[3180,5703,5704],{"class":3182,"line":3499},[3180,5705,3458],{"emptyLinePlaceholder":1208},[3180,5707,5708],{"class":3182,"line":3509},[3180,5709,5710],{"class":3948},"\u002F\u002F your tests here\n",[3086,5712,5713],{},"You can explicitly type the mock for type safety, and use the original implementation passed to the factory function when mocking complex functionality.",[3170,5715,5718],{"className":3325,"code":5716,"filename":5717,"language":3327,"meta":3328,"style":3176},"import { mockNuxtImport } from '@nuxt\u002Ftest-utils\u002Fruntime'\n\nmockNuxtImport\u003Ctypeof useState>('useState', (original) => {\n  return (...args) => {\n    return { ...original('some-key'), value: 'mocked state' }\n  }\n})\n\n\u002F\u002F or specify the target to mock\nmockNuxtImport(useState, (original) => {\n  return (...args) => {\n    return { ...original('some-key'), value: 'mocked state' }\n  }\n})\n\n\u002F\u002F your tests here\n","test\u002Fnuxt\u002Fimport.test.ts",[3098,5719,5720,5738,5742,5778,5794,5831,5835,5841,5845,5850,5869,5883,5917,5921,5927,5931],{"__ignoreMap":3176},[3180,5721,5722,5724,5726,5728,5730,5732,5734,5736],{"class":3182,"line":3183},[3180,5723,3412],{"class":3335},[3180,5725,3415],{"class":3350},[3180,5727,5623],{"class":3346},[3180,5729,3421],{"class":3350},[3180,5731,3424],{"class":3335},[3180,5733,3427],{"class":3350},[3180,5735,4777],{"class":3189},[3180,5737,3433],{"class":3350},[3180,5739,5740],{"class":3182,"line":3354},[3180,5741,3458],{"emptyLinePlaceholder":1208},[3180,5743,5744,5746,5749,5752,5755,5757,5759,5761,5763,5765,5768,5772,5774,5776],{"class":3182,"line":3367},[3180,5745,5601],{"class":3342},[3180,5747,5748],{"class":3350},"\u003Ctypeof",[3180,5750,5751],{"class":3346}," useState",[3180,5753,5754],{"class":3350},">",[3180,5756,3347],{"class":3346},[3180,5758,3375],{"class":3350},[3180,5760,623],{"class":3189},[3180,5762,3375],{"class":3350},[3180,5764,4076],{"class":3350},[3180,5766,5767],{"class":3350}," (",[3180,5769,5771],{"class":5770},"s1nJG","original",[3180,5773,3736],{"class":3350},[3180,5775,4083],{"class":4082},[3180,5777,3480],{"class":3350},[3180,5779,5780,5782,5785,5788,5790,5792],{"class":3182,"line":3381},[3180,5781,5662],{"class":3335},[3180,5783,5784],{"class":3350}," (...",[3180,5786,5787],{"class":5770},"args",[3180,5789,3736],{"class":3350},[3180,5791,4083],{"class":4082},[3180,5793,3480],{"class":3350},[3180,5795,5796,5798,5800,5803,5805,5807,5809,5812,5814,5816,5818,5820,5822,5824,5827,5829],{"class":3182,"line":3389},[3180,5797,5673],{"class":3335},[3180,5799,3415],{"class":3350},[3180,5801,5802],{"class":3350}," ...",[3180,5804,5771],{"class":3342},[3180,5806,3347],{"class":3357},[3180,5808,3375],{"class":3350},[3180,5810,5811],{"class":3189},"some-key",[3180,5813,3375],{"class":3350},[3180,5815,3736],{"class":3357},[3180,5817,4076],{"class":3350},[3180,5819,5678],{"class":3357},[3180,5821,3361],{"class":3350},[3180,5823,3427],{"class":3350},[3180,5825,5826],{"class":3189},"mocked state",[3180,5828,3375],{"class":3350},[3180,5830,5690],{"class":3350},[3180,5832,5833],{"class":3182,"line":3483},[3180,5834,5695],{"class":3350},[3180,5836,5837,5839],{"class":3182,"line":3493},[3180,5838,3392],{"class":3350},[3180,5840,3395],{"class":3346},[3180,5842,5843],{"class":3182,"line":3499},[3180,5844,3458],{"emptyLinePlaceholder":1208},[3180,5846,5847],{"class":3182,"line":3509},[3180,5848,5849],{"class":3948},"\u002F\u002F or specify the target to mock\n",[3180,5851,5852,5854,5857,5859,5861,5863,5865,5867],{"class":3182,"line":3526},[3180,5853,5601],{"class":3342},[3180,5855,5856],{"class":3346},"(useState",[3180,5858,4076],{"class":3350},[3180,5860,5767],{"class":3350},[3180,5862,5771],{"class":5770},[3180,5864,3736],{"class":3350},[3180,5866,4083],{"class":4082},[3180,5868,3480],{"class":3350},[3180,5870,5871,5873,5875,5877,5879,5881],{"class":3182,"line":3549},[3180,5872,5662],{"class":3335},[3180,5874,5784],{"class":3350},[3180,5876,5787],{"class":5770},[3180,5878,3736],{"class":3350},[3180,5880,4083],{"class":4082},[3180,5882,3480],{"class":3350},[3180,5884,5885,5887,5889,5891,5893,5895,5897,5899,5901,5903,5905,5907,5909,5911,5913,5915],{"class":3182,"line":3566},[3180,5886,5673],{"class":3335},[3180,5888,3415],{"class":3350},[3180,5890,5802],{"class":3350},[3180,5892,5771],{"class":3342},[3180,5894,3347],{"class":3357},[3180,5896,3375],{"class":3350},[3180,5898,5811],{"class":3189},[3180,5900,3375],{"class":3350},[3180,5902,3736],{"class":3357},[3180,5904,4076],{"class":3350},[3180,5906,5678],{"class":3357},[3180,5908,3361],{"class":3350},[3180,5910,3427],{"class":3350},[3180,5912,5826],{"class":3189},[3180,5914,3375],{"class":3350},[3180,5916,5690],{"class":3350},[3180,5918,5919],{"class":3182,"line":3572},[3180,5920,5695],{"class":3350},[3180,5922,5923,5925],{"class":3182,"line":3578},[3180,5924,3392],{"class":3350},[3180,5926,3395],{"class":3346},[3180,5928,5929],{"class":3182,"line":3583},[3180,5930,3458],{"emptyLinePlaceholder":1208},[3180,5932,5933],{"class":3182,"line":3592},[3180,5934,5710],{"class":3948},[3761,5936,5937],{},[3086,5938,5939,5941,5942,3134,5945,5947,5948,3093],{},[3098,5940,5601],{}," can only be used once per mocked import per test file. It is actually a macro that gets transformed to ",[3098,5943,5944],{},"vi.mock",[3098,5946,5944],{}," is hoisted, as described ",[3090,5949,5952],{"href":5950,"rel":5951},"https:\u002F\u002Fvitest.dev\u002Fapi\u002Fvi#vi-mock",[3106],"in the Vitest docs",[3086,5954,5955,5956,5963,5964,5966,5967,5972],{},"If you need to mock a Nuxt import and provide different implementations between tests, you can do it by creating and exposing your mocks using ",[3090,5957,5960],{"href":5958,"rel":5959},"https:\u002F\u002Fvitest.dev\u002Fapi\u002Fvi#vi-hoisted",[3106],[3098,5961,5962],{},"vi.hoisted",", and then use those mocks in ",[3098,5965,5601],{},". You then have access to the mocked imports, and can change the implementation between tests. Be careful to ",[3090,5968,5971],{"href":5969,"rel":5970},"https:\u002F\u002Fvitest.dev\u002Fapi\u002Fmock#mockrestore",[3106],"restore mocks"," before or after each test to undo mock state changes between runs.",[3170,5974,5976],{"className":3325,"code":5975,"language":3327,"meta":3328,"style":3176},"import { vi } from 'vitest'\nimport { mockNuxtImport } from '@nuxt\u002Ftest-utils\u002Fruntime'\n\nconst { useStateMock } = vi.hoisted(() => {\n  return {\n    useStateMock: vi.fn(() => {\n      return { value: 'mocked storage' }\n    }),\n  }\n})\n\nmockNuxtImport('useState', () => {\n  return useStateMock\n})\n\n\u002F\u002F Then, inside a test\nuseStateMock.mockImplementation(() => {\n  return { value: 'something else' }\n})\n",[3098,5977,5978,5997,6015,6019,6049,6055,6077,6096,6105,6109,6115,6119,6139,6146,6152,6156,6161,6179,6198],{"__ignoreMap":3176},[3180,5979,5980,5982,5984,5987,5989,5991,5993,5995],{"class":3182,"line":3183},[3180,5981,3412],{"class":3335},[3180,5983,3415],{"class":3350},[3180,5985,5986],{"class":3346}," vi",[3180,5988,3421],{"class":3350},[3180,5990,3424],{"class":3335},[3180,5992,3427],{"class":3350},[3180,5994,3143],{"class":3189},[3180,5996,3433],{"class":3350},[3180,5998,5999,6001,6003,6005,6007,6009,6011,6013],{"class":3182,"line":3354},[3180,6000,3412],{"class":3335},[3180,6002,3415],{"class":3350},[3180,6004,5623],{"class":3346},[3180,6006,3421],{"class":3350},[3180,6008,3424],{"class":3335},[3180,6010,3427],{"class":3350},[3180,6012,4777],{"class":3189},[3180,6014,3433],{"class":3350},[3180,6016,6017],{"class":3182,"line":3367},[3180,6018,3458],{"emptyLinePlaceholder":1208},[3180,6020,6021,6024,6026,6029,6031,6033,6035,6037,6040,6042,6045,6047],{"class":3182,"line":3381},[3180,6022,6023],{"class":4082},"const",[3180,6025,3415],{"class":3350},[3180,6027,6028],{"class":3346}," useStateMock ",[3180,6030,3392],{"class":3350},[3180,6032,4837],{"class":3350},[3180,6034,5986],{"class":3346},[3180,6036,3093],{"class":3350},[3180,6038,6039],{"class":3342},"hoisted",[3180,6041,3347],{"class":3346},[3180,6043,6044],{"class":3350},"()",[3180,6046,4083],{"class":4082},[3180,6048,3480],{"class":3350},[3180,6050,6051,6053],{"class":3182,"line":3389},[3180,6052,5662],{"class":3335},[3180,6054,3480],{"class":3350},[3180,6056,6057,6060,6062,6064,6066,6069,6071,6073,6075],{"class":3182,"line":3483},[3180,6058,6059],{"class":3357},"    useStateMock",[3180,6061,3361],{"class":3350},[3180,6063,5986],{"class":3346},[3180,6065,3093],{"class":3350},[3180,6067,6068],{"class":3342},"fn",[3180,6070,3347],{"class":3357},[3180,6072,6044],{"class":3350},[3180,6074,4083],{"class":4082},[3180,6076,3480],{"class":3350},[3180,6078,6079,6082,6084,6086,6088,6090,6092,6094],{"class":3182,"line":3493},[3180,6080,6081],{"class":3335},"      return",[3180,6083,3415],{"class":3350},[3180,6085,5678],{"class":3357},[3180,6087,3361],{"class":3350},[3180,6089,3427],{"class":3350},[3180,6091,5685],{"class":3189},[3180,6093,3375],{"class":3350},[3180,6095,5690],{"class":3350},[3180,6097,6098,6101,6103],{"class":3182,"line":3499},[3180,6099,6100],{"class":3350},"    }",[3180,6102,3736],{"class":3357},[3180,6104,3378],{"class":3350},[3180,6106,6107],{"class":3182,"line":3509},[3180,6108,5695],{"class":3350},[3180,6110,6111,6113],{"class":3182,"line":3526},[3180,6112,3392],{"class":3350},[3180,6114,3395],{"class":3346},[3180,6116,6117],{"class":3182,"line":3549},[3180,6118,3458],{"emptyLinePlaceholder":1208},[3180,6120,6121,6123,6125,6127,6129,6131,6133,6135,6137],{"class":3182,"line":3566},[3180,6122,5601],{"class":3342},[3180,6124,3347],{"class":3346},[3180,6126,3375],{"class":3350},[3180,6128,623],{"class":3189},[3180,6130,3375],{"class":3350},[3180,6132,4076],{"class":3350},[3180,6134,4079],{"class":3350},[3180,6136,4083],{"class":4082},[3180,6138,3480],{"class":3350},[3180,6140,6141,6143],{"class":3182,"line":3572},[3180,6142,5662],{"class":3335},[3180,6144,6145],{"class":3346}," useStateMock\n",[3180,6147,6148,6150],{"class":3182,"line":3578},[3180,6149,3392],{"class":3350},[3180,6151,3395],{"class":3346},[3180,6153,6154],{"class":3182,"line":3583},[3180,6155,3458],{"emptyLinePlaceholder":1208},[3180,6157,6158],{"class":3182,"line":3592},[3180,6159,6160],{"class":3948},"\u002F\u002F Then, inside a test\n",[3180,6162,6163,6166,6168,6171,6173,6175,6177],{"class":3182,"line":3608},[3180,6164,6165],{"class":3346},"useStateMock",[3180,6167,3093],{"class":3350},[3180,6169,6170],{"class":3342},"mockImplementation",[3180,6172,3347],{"class":3346},[3180,6174,6044],{"class":3350},[3180,6176,4083],{"class":4082},[3180,6178,3480],{"class":3350},[3180,6180,6181,6183,6185,6187,6189,6191,6194,6196],{"class":3182,"line":3628},[3180,6182,5662],{"class":3335},[3180,6184,3415],{"class":3350},[3180,6186,5678],{"class":3357},[3180,6188,3361],{"class":3350},[3180,6190,3427],{"class":3350},[3180,6192,6193],{"class":3189},"something else",[3180,6195,3375],{"class":3350},[3180,6197,5690],{"class":3350},[3180,6199,6200,6202],{"class":3182,"line":3643},[3180,6201,3392],{"class":3350},[3180,6203,3395],{"class":3346},[3086,6205,6206],{},"If you need to mock behavior only inside a test, you can also use the following approach.",[3170,6208,6210],{"className":3325,"code":6209,"language":3327,"meta":3328,"style":3176},"import { beforeEach, vi } from 'vitest'\nimport { mockNuxtImport } from '@nuxt\u002Ftest-utils\u002Fruntime'\n\nmockNuxtImport(useRoute, original => vi.fn(original))\n\nbeforeEach(() => {\n  vi.resetAllMocks()\n})\n\n\u002F\u002F Then, inside a test\nconst useRouteOriginal = vi.mocked(useRoute).getMockImplementation()!\nvi.mocked(useRoute).mockImplementation(\n  (...args) => ({ ...useRouteOriginal(...args), path: '\u002Fmocked' }),\n)\n",[3098,6211,6212,6235,6253,6257,6280,6284,6297,6309,6315,6319,6323,6353,6370,6419],{"__ignoreMap":3176},[3180,6213,6214,6216,6218,6221,6223,6225,6227,6229,6231,6233],{"class":3182,"line":3183},[3180,6215,3412],{"class":3335},[3180,6217,3415],{"class":3350},[3180,6219,6220],{"class":3346}," beforeEach",[3180,6222,4076],{"class":3350},[3180,6224,5986],{"class":3346},[3180,6226,3421],{"class":3350},[3180,6228,3424],{"class":3335},[3180,6230,3427],{"class":3350},[3180,6232,3143],{"class":3189},[3180,6234,3433],{"class":3350},[3180,6236,6237,6239,6241,6243,6245,6247,6249,6251],{"class":3182,"line":3354},[3180,6238,3412],{"class":3335},[3180,6240,3415],{"class":3350},[3180,6242,5623],{"class":3346},[3180,6244,3421],{"class":3350},[3180,6246,3424],{"class":3335},[3180,6248,3427],{"class":3350},[3180,6250,4777],{"class":3189},[3180,6252,3433],{"class":3350},[3180,6254,6255],{"class":3182,"line":3367},[3180,6256,3458],{"emptyLinePlaceholder":1208},[3180,6258,6259,6261,6264,6266,6269,6271,6273,6275,6277],{"class":3182,"line":3381},[3180,6260,5601],{"class":3342},[3180,6262,6263],{"class":3346},"(useRoute",[3180,6265,4076],{"class":3350},[3180,6267,6268],{"class":5770}," original",[3180,6270,4083],{"class":4082},[3180,6272,5986],{"class":3346},[3180,6274,3093],{"class":3350},[3180,6276,6068],{"class":3342},[3180,6278,6279],{"class":3346},"(original))\n",[3180,6281,6282],{"class":3182,"line":3389},[3180,6283,3458],{"emptyLinePlaceholder":1208},[3180,6285,6286,6289,6291,6293,6295],{"class":3182,"line":3483},[3180,6287,6288],{"class":3342},"beforeEach",[3180,6290,3347],{"class":3346},[3180,6292,6044],{"class":3350},[3180,6294,4083],{"class":4082},[3180,6296,3480],{"class":3350},[3180,6298,6299,6302,6304,6307],{"class":3182,"line":3493},[3180,6300,6301],{"class":3346},"  vi",[3180,6303,3093],{"class":3350},[3180,6305,6306],{"class":3342},"resetAllMocks",[3180,6308,5386],{"class":3357},[3180,6310,6311,6313],{"class":3182,"line":3499},[3180,6312,3392],{"class":3350},[3180,6314,3395],{"class":3346},[3180,6316,6317],{"class":3182,"line":3509},[3180,6318,3458],{"emptyLinePlaceholder":1208},[3180,6320,6321],{"class":3182,"line":3526},[3180,6322,6160],{"class":3948},[3180,6324,6325,6327,6330,6333,6335,6337,6340,6343,6345,6348,6350],{"class":3182,"line":3549},[3180,6326,6023],{"class":4082},[3180,6328,6329],{"class":3346}," useRouteOriginal ",[3180,6331,6332],{"class":3350},"=",[3180,6334,5986],{"class":3346},[3180,6336,3093],{"class":3350},[3180,6338,6339],{"class":3342},"mocked",[3180,6341,6342],{"class":3346},"(useRoute)",[3180,6344,3093],{"class":3350},[3180,6346,6347],{"class":3342},"getMockImplementation",[3180,6349,6044],{"class":3346},[3180,6351,6352],{"class":3350},"!\n",[3180,6354,6355,6358,6360,6362,6364,6366,6368],{"class":3182,"line":3566},[3180,6356,6357],{"class":3346},"vi",[3180,6359,3093],{"class":3350},[3180,6361,6339],{"class":3342},[3180,6363,6342],{"class":3346},[3180,6365,3093],{"class":3350},[3180,6367,6170],{"class":3342},[3180,6369,4875],{"class":3346},[3180,6371,6372,6375,6377,6379,6381,6383,6386,6388,6391,6393,6396,6399,6401,6404,6406,6408,6411,6413,6415,6417],{"class":3182,"line":3572},[3180,6373,6374],{"class":3350},"  (...",[3180,6376,5787],{"class":5770},[3180,6378,3736],{"class":3350},[3180,6380,4083],{"class":4082},[3180,6382,5767],{"class":3346},[3180,6384,6385],{"class":3350},"{",[3180,6387,5802],{"class":3350},[3180,6389,6390],{"class":3342},"useRouteOriginal",[3180,6392,3347],{"class":3346},[3180,6394,6395],{"class":3350},"...",[3180,6397,6398],{"class":3346},"args)",[3180,6400,4076],{"class":3350},[3180,6402,6403],{"class":3357}," path",[3180,6405,3361],{"class":3350},[3180,6407,3427],{"class":3350},[3180,6409,6410],{"class":3189},"\u002Fmocked",[3180,6412,3375],{"class":3350},[3180,6414,3421],{"class":3350},[3180,6416,3736],{"class":3346},[3180,6418,3378],{"class":3350},[3180,6420,6421],{"class":3182,"line":3578},[3180,6422,3395],{"class":3346},[3854,6424,6426],{"id":6425},"mockcomponent",[3098,6427,6428],{},"mockComponent",[3086,6430,6431,6433],{},[3098,6432,6428],{}," allows you to mock Nuxt's component.\nThe first argument can be the component name in PascalCase, or the relative path of the component.\nThe second argument is a factory function that returns the mocked component.",[3086,6435,6436,6437,6440],{},"For example, to mock ",[3098,6438,6439],{},"MyComponent",", you can:",[3170,6442,6444],{"className":3325,"code":6443,"language":3327,"meta":3328,"style":3176},"import { mockComponent } from '@nuxt\u002Ftest-utils\u002Fruntime'\n\nmockComponent('MyComponent', {\n  props: {\n    value: String,\n  },\n  setup (props) {\n    \u002F\u002F ...\n  },\n})\n\n\u002F\u002F relative path or alias also works\nmockComponent('~\u002Fcomponents\u002Fmy-component.vue', () => {\n  \u002F\u002F or a factory function\n  return defineComponent({\n    setup (props) {\n      \u002F\u002F ...\n    },\n  })\n})\n\n\u002F\u002F or you can use SFC for redirecting to a mock component\nmockComponent('MyComponent', () => import('.\u002FMockComponent.vue'))\n\n\u002F\u002F your tests here\n",[3098,6445,6446,6465,6469,6485,6494,6506,6510,6524,6529,6533,6539,6543,6548,6569,6574,6585,6598,6603,6607,6614,6620,6624,6629,6662,6666],{"__ignoreMap":3176},[3180,6447,6448,6450,6452,6455,6457,6459,6461,6463],{"class":3182,"line":3183},[3180,6449,3412],{"class":3335},[3180,6451,3415],{"class":3350},[3180,6453,6454],{"class":3346}," mockComponent",[3180,6456,3421],{"class":3350},[3180,6458,3424],{"class":3335},[3180,6460,3427],{"class":3350},[3180,6462,4777],{"class":3189},[3180,6464,3433],{"class":3350},[3180,6466,6467],{"class":3182,"line":3354},[3180,6468,3458],{"emptyLinePlaceholder":1208},[3180,6470,6471,6473,6475,6477,6479,6481,6483],{"class":3182,"line":3367},[3180,6472,6428],{"class":3342},[3180,6474,3347],{"class":3346},[3180,6476,3375],{"class":3350},[3180,6478,6439],{"class":3189},[3180,6480,3375],{"class":3350},[3180,6482,4076],{"class":3350},[3180,6484,3480],{"class":3350},[3180,6486,6487,6490,6492],{"class":3182,"line":3381},[3180,6488,6489],{"class":3357},"  props",[3180,6491,3361],{"class":3350},[3180,6493,3480],{"class":3350},[3180,6495,6496,6499,6501,6504],{"class":3182,"line":3389},[3180,6497,6498],{"class":3357},"    value",[3180,6500,3361],{"class":3350},[3180,6502,6503],{"class":3346}," String",[3180,6505,3378],{"class":3350},[3180,6507,6508],{"class":3182,"line":3483},[3180,6509,3752],{"class":3350},[3180,6511,6512,6515,6517,6520,6522],{"class":3182,"line":3493},[3180,6513,6514],{"class":3357},"  setup",[3180,6516,5767],{"class":3350},[3180,6518,6519],{"class":5770},"props",[3180,6521,3736],{"class":3350},[3180,6523,3480],{"class":3350},[3180,6525,6526],{"class":3182,"line":3499},[3180,6527,6528],{"class":3948},"    \u002F\u002F ...\n",[3180,6530,6531],{"class":3182,"line":3509},[3180,6532,3752],{"class":3350},[3180,6534,6535,6537],{"class":3182,"line":3526},[3180,6536,3392],{"class":3350},[3180,6538,3395],{"class":3346},[3180,6540,6541],{"class":3182,"line":3549},[3180,6542,3458],{"emptyLinePlaceholder":1208},[3180,6544,6545],{"class":3182,"line":3566},[3180,6546,6547],{"class":3948},"\u002F\u002F relative path or alias also works\n",[3180,6549,6550,6552,6554,6556,6559,6561,6563,6565,6567],{"class":3182,"line":3572},[3180,6551,6428],{"class":3342},[3180,6553,3347],{"class":3346},[3180,6555,3375],{"class":3350},[3180,6557,6558],{"class":3189},"~\u002Fcomponents\u002Fmy-component.vue",[3180,6560,3375],{"class":3350},[3180,6562,4076],{"class":3350},[3180,6564,4079],{"class":3350},[3180,6566,4083],{"class":4082},[3180,6568,3480],{"class":3350},[3180,6570,6571],{"class":3182,"line":3578},[3180,6572,6573],{"class":3948},"  \u002F\u002F or a factory function\n",[3180,6575,6576,6578,6581,6583],{"class":3182,"line":3583},[3180,6577,5662],{"class":3335},[3180,6579,6580],{"class":3342}," defineComponent",[3180,6582,3347],{"class":3357},[3180,6584,3351],{"class":3350},[3180,6586,6587,6590,6592,6594,6596],{"class":3182,"line":3592},[3180,6588,6589],{"class":3357},"    setup ",[3180,6591,3347],{"class":3350},[3180,6593,6519],{"class":5770},[3180,6595,3736],{"class":3350},[3180,6597,3480],{"class":3350},[3180,6599,6600],{"class":3182,"line":3608},[3180,6601,6602],{"class":3948},"      \u002F\u002F ...\n",[3180,6604,6605],{"class":3182,"line":3628},[3180,6606,4304],{"class":3350},[3180,6608,6609,6612],{"class":3182,"line":3643},[3180,6610,6611],{"class":3350},"  }",[3180,6613,3395],{"class":3357},[3180,6615,6616,6618],{"class":3182,"line":3648},[3180,6617,3392],{"class":3350},[3180,6619,3395],{"class":3346},[3180,6621,6622],{"class":3182,"line":3653},[3180,6623,3458],{"emptyLinePlaceholder":1208},[3180,6625,6626],{"class":3182,"line":3665},[3180,6627,6628],{"class":3948},"\u002F\u002F or you can use SFC for redirecting to a mock component\n",[3180,6630,6631,6633,6635,6637,6639,6641,6643,6645,6647,6650,6652,6654,6657,6659],{"class":3182,"line":3674},[3180,6632,6428],{"class":3342},[3180,6634,3347],{"class":3346},[3180,6636,3375],{"class":3350},[3180,6638,6439],{"class":3189},[3180,6640,3375],{"class":3350},[3180,6642,4076],{"class":3350},[3180,6644,4079],{"class":3350},[3180,6646,4083],{"class":4082},[3180,6648,6649],{"class":3350}," import",[3180,6651,3347],{"class":3346},[3180,6653,3375],{"class":3350},[3180,6655,6656],{"class":3189},".\u002FMockComponent.vue",[3180,6658,3375],{"class":3350},[3180,6660,6661],{"class":3346},"))\n",[3180,6663,6664],{"class":3182,"line":3690},[3180,6665,3458],{"emptyLinePlaceholder":1208},[3180,6667,6668],{"class":3182,"line":3710},[3180,6669,5710],{"class":3948},[3801,6671,6672],{},[3086,6673,6674,6677],{},[3836,6675,6676],{},"Note",": You can't reference local variables in the factory function since they are hoisted. If you need to access Vue APIs or other variables, you need to import them in your factory function.",[3170,6679,6681],{"className":3325,"code":6680,"language":3327,"meta":3328,"style":3176},"import { mockComponent } from '@nuxt\u002Ftest-utils\u002Fruntime'\n\nmockComponent('MyComponent', async () => {\n  const { ref, h } = await import('vue')\n\n  return defineComponent({\n    setup (props) {\n      const counter = ref(0)\n      return () => h('div', null, counter.value)\n    },\n  })\n})\n",[3098,6682,6683,6701,6705,6727,6759,6763,6773,6785,6805,6838,6842,6848],{"__ignoreMap":3176},[3180,6684,6685,6687,6689,6691,6693,6695,6697,6699],{"class":3182,"line":3183},[3180,6686,3412],{"class":3335},[3180,6688,3415],{"class":3350},[3180,6690,6454],{"class":3346},[3180,6692,3421],{"class":3350},[3180,6694,3424],{"class":3335},[3180,6696,3427],{"class":3350},[3180,6698,4777],{"class":3189},[3180,6700,3433],{"class":3350},[3180,6702,6703],{"class":3182,"line":3354},[3180,6704,3458],{"emptyLinePlaceholder":1208},[3180,6706,6707,6709,6711,6713,6715,6717,6719,6721,6723,6725],{"class":3182,"line":3367},[3180,6708,6428],{"class":3342},[3180,6710,3347],{"class":3346},[3180,6712,3375],{"class":3350},[3180,6714,6439],{"class":3189},[3180,6716,3375],{"class":3350},[3180,6718,4076],{"class":3350},[3180,6720,4820],{"class":4082},[3180,6722,4079],{"class":3350},[3180,6724,4083],{"class":4082},[3180,6726,3480],{"class":3350},[3180,6728,6729,6731,6733,6736,6738,6741,6743,6745,6747,6749,6751,6753,6755,6757],{"class":3182,"line":3381},[3180,6730,4831],{"class":4082},[3180,6732,3415],{"class":3350},[3180,6734,6735],{"class":3346}," ref",[3180,6737,4076],{"class":3350},[3180,6739,6740],{"class":3346}," h",[3180,6742,3421],{"class":3350},[3180,6744,4837],{"class":3350},[3180,6746,4840],{"class":3335},[3180,6748,6649],{"class":3350},[3180,6750,3347],{"class":3357},[3180,6752,3375],{"class":3350},[3180,6754,4705],{"class":3189},[3180,6756,3375],{"class":3350},[3180,6758,3395],{"class":3357},[3180,6760,6761],{"class":3182,"line":3389},[3180,6762,3458],{"emptyLinePlaceholder":1208},[3180,6764,6765,6767,6769,6771],{"class":3182,"line":3483},[3180,6766,5662],{"class":3335},[3180,6768,6580],{"class":3342},[3180,6770,3347],{"class":3357},[3180,6772,3351],{"class":3350},[3180,6774,6775,6777,6779,6781,6783],{"class":3182,"line":3493},[3180,6776,6589],{"class":3357},[3180,6778,3347],{"class":3350},[3180,6780,6519],{"class":5770},[3180,6782,3736],{"class":3350},[3180,6784,3480],{"class":3350},[3180,6786,6787,6790,6793,6795,6797,6799,6803],{"class":3182,"line":3499},[3180,6788,6789],{"class":4082},"      const",[3180,6791,6792],{"class":3346}," counter",[3180,6794,4837],{"class":3350},[3180,6796,6735],{"class":3342},[3180,6798,3347],{"class":3357},[3180,6800,6802],{"class":6801},"sYRBq","0",[3180,6804,3395],{"class":3357},[3180,6806,6807,6809,6811,6813,6815,6817,6819,6822,6824,6826,6829,6831,6833,6836],{"class":3182,"line":3509},[3180,6808,6081],{"class":3335},[3180,6810,4079],{"class":3350},[3180,6812,4083],{"class":4082},[3180,6814,6740],{"class":3342},[3180,6816,3347],{"class":3357},[3180,6818,3375],{"class":3350},[3180,6820,6821],{"class":3189},"div",[3180,6823,3375],{"class":3350},[3180,6825,4076],{"class":3350},[3180,6827,6828],{"class":3350}," null,",[3180,6830,6792],{"class":3346},[3180,6832,3093],{"class":3350},[3180,6834,6835],{"class":3346},"value",[3180,6837,3395],{"class":3357},[3180,6839,6840],{"class":3182,"line":3526},[3180,6841,4304],{"class":3350},[3180,6843,6844,6846],{"class":3182,"line":3549},[3180,6845,6611],{"class":3350},[3180,6847,3395],{"class":3357},[3180,6849,6850,6852],{"class":3182,"line":3566},[3180,6851,3392],{"class":3350},[3180,6853,3395],{"class":3346},[3854,6855,6857],{"id":6856},"registerendpoint",[3098,6858,6859],{},"registerEndpoint",[3086,6861,6862,6864],{},[3098,6863,6859],{}," allows you create Nitro endpoint that returns mocked data. It can come in handy if you want to test a component that makes requests to API to display some data.",[3086,6866,6867,6868,6871],{},"The first argument is the endpoint name (e.g. ",[3098,6869,6870],{},"\u002Ftest\u002F",").\nThe second argument is a factory function that returns the mocked data.",[3086,6873,6436,6874,6876],{},[3098,6875,6870],{}," endpoint, you can do:",[3170,6878,6880],{"className":3325,"code":6879,"language":3327,"meta":3328,"style":3176},"import { registerEndpoint } from '@nuxt\u002Ftest-utils\u002Fruntime'\n\nregisterEndpoint('\u002Ftest\u002F', () => ({\n  test: 'test-field',\n}))\n",[3098,6881,6882,6901,6905,6927,6942],{"__ignoreMap":3176},[3180,6883,6884,6886,6888,6891,6893,6895,6897,6899],{"class":3182,"line":3183},[3180,6885,3412],{"class":3335},[3180,6887,3415],{"class":3350},[3180,6889,6890],{"class":3346}," registerEndpoint",[3180,6892,3421],{"class":3350},[3180,6894,3424],{"class":3335},[3180,6896,3427],{"class":3350},[3180,6898,4777],{"class":3189},[3180,6900,3433],{"class":3350},[3180,6902,6903],{"class":3182,"line":3354},[3180,6904,3458],{"emptyLinePlaceholder":1208},[3180,6906,6907,6909,6911,6913,6915,6917,6919,6921,6923,6925],{"class":3182,"line":3367},[3180,6908,6859],{"class":3342},[3180,6910,3347],{"class":3346},[3180,6912,3375],{"class":3350},[3180,6914,6870],{"class":3189},[3180,6916,3375],{"class":3350},[3180,6918,4076],{"class":3350},[3180,6920,4079],{"class":3350},[3180,6922,4083],{"class":4082},[3180,6924,5767],{"class":3346},[3180,6926,3351],{"class":3350},[3180,6928,6929,6931,6933,6935,6938,6940],{"class":3182,"line":3381},[3180,6930,3475],{"class":3357},[3180,6932,3361],{"class":3350},[3180,6934,3427],{"class":3350},[3180,6936,6937],{"class":3189},"test-field",[3180,6939,3375],{"class":3350},[3180,6941,3378],{"class":3350},[3180,6943,6944,6946],{"class":3182,"line":3389},[3180,6945,3392],{"class":3350},[3180,6947,6661],{"class":3346},[3086,6949,6950,6951,6954],{},"By default, your request will be made using the ",[3098,6952,6953],{},"GET"," method. You may use another method by setting an object as the second argument instead of a function.",[3170,6956,6958],{"className":3325,"code":6957,"language":3327,"meta":3328,"style":3176},"import { registerEndpoint } from '@nuxt\u002Ftest-utils\u002Fruntime'\n\nregisterEndpoint('\u002Ftest\u002F', {\n  method: 'POST',\n  handler: () => ({ test: 'test-field' }),\n})\n",[3098,6959,6960,6978,6982,6998,7014,7045],{"__ignoreMap":3176},[3180,6961,6962,6964,6966,6968,6970,6972,6974,6976],{"class":3182,"line":3183},[3180,6963,3412],{"class":3335},[3180,6965,3415],{"class":3350},[3180,6967,6890],{"class":3346},[3180,6969,3421],{"class":3350},[3180,6971,3424],{"class":3335},[3180,6973,3427],{"class":3350},[3180,6975,4777],{"class":3189},[3180,6977,3433],{"class":3350},[3180,6979,6980],{"class":3182,"line":3354},[3180,6981,3458],{"emptyLinePlaceholder":1208},[3180,6983,6984,6986,6988,6990,6992,6994,6996],{"class":3182,"line":3367},[3180,6985,6859],{"class":3342},[3180,6987,3347],{"class":3346},[3180,6989,3375],{"class":3350},[3180,6991,6870],{"class":3189},[3180,6993,3375],{"class":3350},[3180,6995,4076],{"class":3350},[3180,6997,3480],{"class":3350},[3180,6999,7000,7003,7005,7007,7010,7012],{"class":3182,"line":3381},[3180,7001,7002],{"class":3357},"  method",[3180,7004,3361],{"class":3350},[3180,7006,3427],{"class":3350},[3180,7008,7009],{"class":3189},"POST",[3180,7011,3375],{"class":3350},[3180,7013,3378],{"class":3350},[3180,7015,7016,7019,7021,7023,7025,7027,7029,7031,7033,7035,7037,7039,7041,7043],{"class":3182,"line":3389},[3180,7017,7018],{"class":3342},"  handler",[3180,7020,3361],{"class":3350},[3180,7022,4079],{"class":3350},[3180,7024,4083],{"class":4082},[3180,7026,5767],{"class":3346},[3180,7028,6385],{"class":3350},[3180,7030,4046],{"class":3357},[3180,7032,3361],{"class":3350},[3180,7034,3427],{"class":3350},[3180,7036,6937],{"class":3189},[3180,7038,3375],{"class":3350},[3180,7040,3421],{"class":3350},[3180,7042,3736],{"class":3346},[3180,7044,3378],{"class":3350},[3180,7046,7047,7049],{"class":3182,"line":3483},[3180,7048,3392],{"class":3350},[3180,7050,3395],{"class":3346},[3086,7052,7053],{},"This object accepts the following properties:",[3125,7055,7056,7062,7068],{},[3128,7057,7058,7061],{},[3098,7059,7060],{},"handler",": the event handler function",[3128,7063,7064,7067],{},[3098,7065,7066],{},"method",": (optional) HTTP method to match (e.g., 'GET', 'POST')",[3128,7069,7070,7073],{},[3098,7071,7072],{},"once",": (optional) if true, the handler will only be used for the first matching request and then automatically removed",[3801,7075,7076],{},[3086,7077,7078,7080,7081,7084,7085,5767,7089,7092],{},[3836,7079,6676],{},": If your requests in a component go to an external API, you can use ",[3098,7082,7083],{},"baseURL"," and then make it empty using ",[3090,7086,7088],{"href":7087},"\u002Fdocs\u002F4.x\u002Fgetting-started\u002Fconfiguration#environment-overrides","Nuxt Environment Override Config",[3098,7090,7091],{},"$test",") so all your requests will go to Nitro server.",[3854,7094,7096],{"id":7095},"conflict-with-end-to-end-testing","Conflict with End-To-End Testing",[3086,7098,7099,3134,7101,7104],{},[3098,7100,4777],{},[3098,7102,7103],{},"@nuxt\u002Ftest-utils\u002Fe2e"," need to run in different testing environments and so can't be used in the same file.",[3086,7106,7107,7108,7110,7111,7114,7115,7118],{},"If you would like to use both the end-to-end and unit testing functionality of ",[3098,7109,3100],{},", you can split your tests into separate files. You then either specify a test environment per-file with the special ",[3098,7112,7113],{},"\u002F\u002F @vitest-environment nuxt"," comment, or name your runtime unit test files with the ",[3098,7116,7117],{},".nuxt.spec.ts"," extension.",[3086,7120,7121],{},[3098,7122,7123],{},"app.nuxt.spec.ts",[3170,7125,7127],{"className":3325,"code":7126,"language":3327,"meta":3328,"style":3176},"import { mockNuxtImport } from '@nuxt\u002Ftest-utils\u002Fruntime'\n\nmockNuxtImport('useState', () => {\n  return () => {\n    return { value: 'mocked storage' }\n  }\n})\n",[3098,7128,7129,7147,7151,7171,7181,7199,7203],{"__ignoreMap":3176},[3180,7130,7131,7133,7135,7137,7139,7141,7143,7145],{"class":3182,"line":3183},[3180,7132,3412],{"class":3335},[3180,7134,3415],{"class":3350},[3180,7136,5623],{"class":3346},[3180,7138,3421],{"class":3350},[3180,7140,3424],{"class":3335},[3180,7142,3427],{"class":3350},[3180,7144,4777],{"class":3189},[3180,7146,3433],{"class":3350},[3180,7148,7149],{"class":3182,"line":3354},[3180,7150,3458],{"emptyLinePlaceholder":1208},[3180,7152,7153,7155,7157,7159,7161,7163,7165,7167,7169],{"class":3182,"line":3367},[3180,7154,5601],{"class":3342},[3180,7156,3347],{"class":3346},[3180,7158,3375],{"class":3350},[3180,7160,623],{"class":3189},[3180,7162,3375],{"class":3350},[3180,7164,4076],{"class":3350},[3180,7166,4079],{"class":3350},[3180,7168,4083],{"class":4082},[3180,7170,3480],{"class":3350},[3180,7172,7173,7175,7177,7179],{"class":3182,"line":3381},[3180,7174,5662],{"class":3335},[3180,7176,4079],{"class":3350},[3180,7178,4083],{"class":4082},[3180,7180,3480],{"class":3350},[3180,7182,7183,7185,7187,7189,7191,7193,7195,7197],{"class":3182,"line":3389},[3180,7184,5673],{"class":3335},[3180,7186,3415],{"class":3350},[3180,7188,5678],{"class":3357},[3180,7190,3361],{"class":3350},[3180,7192,3427],{"class":3350},[3180,7194,5685],{"class":3189},[3180,7196,3375],{"class":3350},[3180,7198,5690],{"class":3350},[3180,7200,7201],{"class":3182,"line":3483},[3180,7202,5695],{"class":3350},[3180,7204,7205,7207],{"class":3182,"line":3493},[3180,7206,3392],{"class":3350},[3180,7208,3395],{"class":3346},[3086,7210,7211],{},[3098,7212,7213],{},"app.e2e.spec.ts",[3170,7215,7217],{"className":3325,"code":7216,"language":3327,"meta":3328,"style":3176},"import { $fetch, setup } from '@nuxt\u002Ftest-utils\u002Fe2e'\n\nawait setup({\n  setupTimeout: 10000,\n})\n\n\u002F\u002F ...\n",[3098,7218,7219,7243,7247,7258,7270,7276,7280],{"__ignoreMap":3176},[3180,7220,7221,7223,7225,7228,7230,7233,7235,7237,7239,7241],{"class":3182,"line":3183},[3180,7222,3412],{"class":3335},[3180,7224,3415],{"class":3350},[3180,7226,7227],{"class":3346}," $fetch",[3180,7229,4076],{"class":3350},[3180,7231,7232],{"class":3346}," setup",[3180,7234,3421],{"class":3350},[3180,7236,3424],{"class":3335},[3180,7238,3427],{"class":3350},[3180,7240,7103],{"class":3189},[3180,7242,3433],{"class":3350},[3180,7244,7245],{"class":3182,"line":3354},[3180,7246,3458],{"emptyLinePlaceholder":1208},[3180,7248,7249,7252,7254,7256],{"class":3182,"line":3367},[3180,7250,7251],{"class":3335},"await",[3180,7253,7232],{"class":3342},[3180,7255,3347],{"class":3346},[3180,7257,3351],{"class":3350},[3180,7259,7260,7263,7265,7268],{"class":3182,"line":3381},[3180,7261,7262],{"class":3357},"  setupTimeout",[3180,7264,3361],{"class":3350},[3180,7266,7267],{"class":6801}," 10000",[3180,7269,3378],{"class":3350},[3180,7271,7272,7274],{"class":3182,"line":3389},[3180,7273,3392],{"class":3350},[3180,7275,3395],{"class":3346},[3180,7277,7278],{"class":3182,"line":3483},[3180,7279,3458],{"emptyLinePlaceholder":1208},[3180,7281,7282],{"class":3182,"line":3493},[3180,7283,7284],{"class":3948},"\u002F\u002F ...\n",[3305,7286,3824,7288],{"id":7287},"using-vuetest-utils",[3098,7289,4640],{},[3086,7291,7292,7293,7295],{},"If you prefer to use ",[3098,7294,4640],{}," on its own for unit testing in Nuxt, and you are only testing components which do not rely on Nuxt composables, auto-imports or context, you can follow these steps to set it up.",[3310,7297,7298,7388,7495,7590,7644,7830],{},[3128,7299,7300,7301],{},"Install the needed dependencies",[3166,7302,7303,7325,7346,7367],{"sync":3168},[3170,7304,7306],{"className":3172,"code":7305,"filename":3174,"language":3175,"meta":3176,"style":3176},"npm i --save-dev vitest @vue\u002Ftest-utils happy-dom @vitejs\u002Fplugin-vue\n",[3098,7307,7308],{"__ignoreMap":3176},[3180,7309,7310,7312,7314,7316,7318,7320,7322],{"class":3182,"line":3183},[3180,7311,3174],{"class":3186},[3180,7313,3190],{"class":3189},[3180,7315,3193],{"class":3189},[3180,7317,3199],{"class":3189},[3180,7319,3202],{"class":3189},[3180,7321,3205],{"class":3189},[3180,7323,7324],{"class":3189}," @vitejs\u002Fplugin-vue\n",[3170,7326,7328],{"className":3172,"code":7327,"filename":3212,"language":3175,"meta":3176,"style":3176},"yarn add --dev vitest @vue\u002Ftest-utils happy-dom @vitejs\u002Fplugin-vue\n",[3098,7329,7330],{"__ignoreMap":3176},[3180,7331,7332,7334,7336,7338,7340,7342,7344],{"class":3182,"line":3183},[3180,7333,3212],{"class":3186},[3180,7335,3221],{"class":3189},[3180,7337,3224],{"class":3189},[3180,7339,3199],{"class":3189},[3180,7341,3202],{"class":3189},[3180,7343,3205],{"class":3189},[3180,7345,7324],{"class":3189},[3170,7347,7349],{"className":3172,"code":7348,"filename":3238,"language":3175,"meta":3176,"style":3176},"pnpm add -D vitest @vue\u002Ftest-utils happy-dom @vitejs\u002Fplugin-vue\n",[3098,7350,7351],{"__ignoreMap":3176},[3180,7352,7353,7355,7357,7359,7361,7363,7365],{"class":3182,"line":3183},[3180,7354,3238],{"class":3186},[3180,7356,3221],{"class":3189},[3180,7358,3249],{"class":3189},[3180,7360,3199],{"class":3189},[3180,7362,3202],{"class":3189},[3180,7364,3205],{"class":3189},[3180,7366,7324],{"class":3189},[3170,7368,7370],{"className":3172,"code":7369,"filename":3263,"language":3175,"meta":3176,"style":3176},"bun add --dev vitest @vue\u002Ftest-utils happy-dom @vitejs\u002Fplugin-vue\n",[3098,7371,7372],{"__ignoreMap":3176},[3180,7373,7374,7376,7378,7380,7382,7384,7386],{"class":3182,"line":3183},[3180,7375,3263],{"class":3186},[3180,7377,3221],{"class":3189},[3180,7379,3224],{"class":3189},[3180,7381,3199],{"class":3189},[3180,7383,3202],{"class":3189},[3180,7385,3205],{"class":3189},[3180,7387,7324],{"class":3189},[3128,7389,3398,7390,3402,7392],{},[3098,7391,3401],{},[3170,7393,7395],{"className":3325,"code":7394,"language":3327,"meta":3176,"style":3176},"import { defineConfig } from 'vitest\u002Fconfig'\nimport vue from '@vitejs\u002Fplugin-vue'\n\nexport default defineConfig({\n  plugins: [vue()],\n  test: {\n    environment: 'happy-dom',\n  },\n})\n",[3098,7396,7397,7415,7431,7435,7447,7463,7471,7485,7489],{"__ignoreMap":3176},[3180,7398,7399,7401,7403,7405,7407,7409,7411,7413],{"class":3182,"line":3183},[3180,7400,3412],{"class":3335},[3180,7402,3415],{"class":3350},[3180,7404,3418],{"class":3346},[3180,7406,3421],{"class":3350},[3180,7408,3424],{"class":3335},[3180,7410,3427],{"class":3350},[3180,7412,3430],{"class":3189},[3180,7414,3433],{"class":3350},[3180,7416,7417,7419,7422,7424,7426,7429],{"class":3182,"line":3354},[3180,7418,3412],{"class":3335},[3180,7420,7421],{"class":3346}," vue ",[3180,7423,4964],{"class":3335},[3180,7425,3427],{"class":3350},[3180,7427,7428],{"class":3189},"@vitejs\u002Fplugin-vue",[3180,7430,3433],{"class":3350},[3180,7432,7433],{"class":3182,"line":3367},[3180,7434,3458],{"emptyLinePlaceholder":1208},[3180,7436,7437,7439,7441,7443,7445],{"class":3182,"line":3381},[3180,7438,3336],{"class":3335},[3180,7440,3339],{"class":3335},[3180,7442,3418],{"class":3342},[3180,7444,3347],{"class":3346},[3180,7446,3351],{"class":3350},[3180,7448,7449,7452,7454,7456,7458,7461],{"class":3182,"line":3389},[3180,7450,7451],{"class":3357},"  plugins",[3180,7453,3361],{"class":3350},[3180,7455,3534],{"class":3346},[3180,7457,4705],{"class":3342},[3180,7459,7460],{"class":3346},"()]",[3180,7462,3378],{"class":3350},[3180,7464,7465,7467,7469],{"class":3182,"line":3483},[3180,7466,3475],{"class":3357},[3180,7468,3361],{"class":3350},[3180,7470,3480],{"class":3350},[3180,7472,7473,7475,7477,7479,7481,7483],{"class":3182,"line":3493},[3180,7474,3933],{"class":3357},[3180,7476,3361],{"class":3350},[3180,7478,3427],{"class":3350},[3180,7480,3133],{"class":3189},[3180,7482,3375],{"class":3350},[3180,7484,3378],{"class":3350},[3180,7486,7487],{"class":3182,"line":3499},[3180,7488,3752],{"class":3350},[3180,7490,7491,7493],{"class":3182,"line":3509},[3180,7492,3392],{"class":3350},[3180,7494,3395],{"class":3346},[3128,7496,7497,7498,7500],{},"Add a new command for test in your ",[3098,7499,237],{},[3170,7501,7505],{"className":7502,"code":7503,"language":7504,"meta":3176,"style":3176},"language-json shiki shiki-themes material-theme-lighter material-theme-lighter material-theme-palenight","\"scripts\": {\n  \"build\": \"nuxt build\",\n  \"dev\": \"nuxt dev\",\n  ...\n  \"test\": \"vitest\"\n},\n","json",[3098,7506,7507,7522,7543,7562,7567,7584],{"__ignoreMap":3176},[3180,7508,7509,7512,7515,7517,7520],{"class":3182,"line":3183},[3180,7510,7511],{"class":3350},"\"",[3180,7513,7514],{"class":3189},"scripts",[3180,7516,7511],{"class":3350},[3180,7518,7519],{"class":3346},": ",[3180,7521,3351],{"class":3350},[3180,7523,7524,7527,7530,7532,7534,7537,7539,7541],{"class":3182,"line":3354},[3180,7525,7526],{"class":3350},"  \"",[3180,7528,7529],{"class":4082},"build",[3180,7531,7511],{"class":3350},[3180,7533,3361],{"class":3350},[3180,7535,7536],{"class":3350}," \"",[3180,7538,773],{"class":3189},[3180,7540,7511],{"class":3350},[3180,7542,3378],{"class":3350},[3180,7544,7545,7547,7550,7552,7554,7556,7558,7560],{"class":3182,"line":3367},[3180,7546,7526],{"class":3350},[3180,7548,7549],{"class":4082},"dev",[3180,7551,7511],{"class":3350},[3180,7553,3361],{"class":3350},[3180,7555,7536],{"class":3350},[3180,7557,785],{"class":3189},[3180,7559,7511],{"class":3350},[3180,7561,3378],{"class":3350},[3180,7563,7564],{"class":3182,"line":3381},[3180,7565,7566],{"class":3346},"  ...\n",[3180,7568,7569,7571,7573,7575,7577,7579,7581],{"class":3182,"line":3389},[3180,7570,7526],{"class":3350},[3180,7572,1268],{"class":4082},[3180,7574,7511],{"class":3350},[3180,7576,3361],{"class":3350},[3180,7578,7536],{"class":3350},[3180,7580,3143],{"class":3189},[3180,7582,7583],{"class":3350},"\"\n",[3180,7585,7586,7588],{"class":3182,"line":3483},[3180,7587,3392],{"class":3350},[3180,7589,3378],{"class":3346},[3128,7591,7592,7593,7596,7597,3402,7600],{},"Create a simple ",[3098,7594,7595],{},"\u003CHelloWorld>"," component ",[3098,7598,7599],{},"app\u002Fcomponents\u002FHelloWorld.vue",[3170,7601,7604],{"className":7602,"code":7603,"language":4705,"meta":3176,"style":3176},"language-vue shiki shiki-themes material-theme-lighter material-theme-lighter material-theme-palenight","\u003Ctemplate>\n  \u003Cp>Hello world\u003C\u002Fp>\n\u003C\u002Ftemplate>\n",[3098,7605,7606,7617,7636],{"__ignoreMap":3176},[3180,7607,7608,7611,7614],{"class":3182,"line":3183},[3180,7609,7610],{"class":3350},"\u003C",[3180,7612,7613],{"class":3357},"template",[3180,7615,7616],{"class":3350},">\n",[3180,7618,7619,7622,7624,7626,7629,7632,7634],{"class":3182,"line":3354},[3180,7620,7621],{"class":3350},"  \u003C",[3180,7623,3086],{"class":3357},[3180,7625,5754],{"class":3350},[3180,7627,7628],{"class":3346},"Hello world",[3180,7630,7631],{"class":3350},"\u003C\u002F",[3180,7633,3086],{"class":3357},[3180,7635,7616],{"class":3350},[3180,7637,7638,7640,7642],{"class":3182,"line":3367},[3180,7639,7631],{"class":3350},[3180,7641,7613],{"class":3357},[3180,7643,7616],{"class":3350},[3128,7645,7646,7647,7650],{},"Create a simple unit test for this newly created component ",[3098,7648,7649],{},"~\u002Fcomponents\u002FHelloWorld.spec.ts",[3170,7651,7653],{"className":3325,"code":7652,"language":3327,"meta":3328,"style":3176},"import { describe, expect, it } from 'vitest'\nimport { mount } from '@vue\u002Ftest-utils'\n\nimport HelloWorld from '.\u002FHelloWorld.vue'\n\ndescribe('HelloWorld', () => {\n  it('component renders Hello world properly', () => {\n    const wrapper = mount(HelloWorld)\n    expect(wrapper.text()).toContain('Hello world')\n  })\n})\n",[3098,7654,7655,7682,7701,7705,7721,7725,7747,7769,7787,7818,7824],{"__ignoreMap":3176},[3180,7656,7657,7659,7661,7664,7666,7668,7670,7672,7674,7676,7678,7680],{"class":3182,"line":3183},[3180,7658,3412],{"class":3335},[3180,7660,3415],{"class":3350},[3180,7662,7663],{"class":3346}," describe",[3180,7665,4076],{"class":3350},[3180,7667,4669],{"class":3346},[3180,7669,4076],{"class":3350},[3180,7671,4674],{"class":3346},[3180,7673,3421],{"class":3350},[3180,7675,3424],{"class":3335},[3180,7677,3427],{"class":3350},[3180,7679,3143],{"class":3189},[3180,7681,3433],{"class":3350},[3180,7683,7684,7686,7688,7691,7693,7695,7697,7699],{"class":3182,"line":3354},[3180,7685,3412],{"class":3335},[3180,7687,3415],{"class":3350},[3180,7689,7690],{"class":3346}," mount",[3180,7692,3421],{"class":3350},[3180,7694,3424],{"class":3335},[3180,7696,3427],{"class":3350},[3180,7698,4640],{"class":3189},[3180,7700,3433],{"class":3350},[3180,7702,7703],{"class":3182,"line":3367},[3180,7704,3458],{"emptyLinePlaceholder":1208},[3180,7706,7707,7709,7712,7714,7716,7719],{"class":3182,"line":3381},[3180,7708,3412],{"class":3335},[3180,7710,7711],{"class":3346}," HelloWorld ",[3180,7713,4964],{"class":3335},[3180,7715,3427],{"class":3350},[3180,7717,7718],{"class":3189},".\u002FHelloWorld.vue",[3180,7720,3433],{"class":3350},[3180,7722,7723],{"class":3182,"line":3389},[3180,7724,3458],{"emptyLinePlaceholder":1208},[3180,7726,7727,7730,7732,7734,7737,7739,7741,7743,7745],{"class":3182,"line":3483},[3180,7728,7729],{"class":3342},"describe",[3180,7731,3347],{"class":3346},[3180,7733,3375],{"class":3350},[3180,7735,7736],{"class":3189},"HelloWorld",[3180,7738,3375],{"class":3350},[3180,7740,4076],{"class":3350},[3180,7742,4079],{"class":3350},[3180,7744,4083],{"class":4082},[3180,7746,3480],{"class":3350},[3180,7748,7749,7752,7754,7756,7759,7761,7763,7765,7767],{"class":3182,"line":3493},[3180,7750,7751],{"class":3342},"  it",[3180,7753,3347],{"class":3357},[3180,7755,3375],{"class":3350},[3180,7757,7758],{"class":3189},"component renders Hello world properly",[3180,7760,3375],{"class":3350},[3180,7762,4076],{"class":3350},[3180,7764,4079],{"class":3350},[3180,7766,4083],{"class":4082},[3180,7768,3480],{"class":3350},[3180,7770,7771,7774,7777,7779,7781,7783,7785],{"class":3182,"line":3499},[3180,7772,7773],{"class":4082},"    const",[3180,7775,7776],{"class":3346}," wrapper",[3180,7778,4837],{"class":3350},[3180,7780,7690],{"class":3342},[3180,7782,3347],{"class":3357},[3180,7784,7736],{"class":3346},[3180,7786,3395],{"class":3357},[3180,7788,7789,7792,7794,7797,7799,7801,7803,7805,7808,7810,7812,7814,7816],{"class":3182,"line":3509},[3180,7790,7791],{"class":3342},"    expect",[3180,7793,3347],{"class":3357},[3180,7795,7796],{"class":3346},"wrapper",[3180,7798,3093],{"class":3350},[3180,7800,4864],{"class":3342},[3180,7802,4867],{"class":3357},[3180,7804,3093],{"class":3350},[3180,7806,7807],{"class":3342},"toContain",[3180,7809,3347],{"class":3357},[3180,7811,3375],{"class":3350},[3180,7813,7628],{"class":3189},[3180,7815,3375],{"class":3350},[3180,7817,3395],{"class":3357},[3180,7819,7820,7822],{"class":3182,"line":3526},[3180,7821,6611],{"class":3350},[3180,7823,3395],{"class":3357},[3180,7825,7826,7828],{"class":3182,"line":3549},[3180,7827,3392],{"class":3350},[3180,7829,3395],{"class":3346},[3128,7831,7832,7833],{},"Run vitest command",[3166,7834,7835,7850,7861,7874],{"sync":3168},[3170,7836,7838],{"className":3172,"code":7837,"filename":3174,"language":3175,"meta":3176,"style":3176},"npm run test\n",[3098,7839,7840],{"__ignoreMap":3176},[3180,7841,7842,7844,7847],{"class":3182,"line":3183},[3180,7843,3174],{"class":3186},[3180,7845,7846],{"class":3189}," run",[3180,7848,7849],{"class":3189}," test\n",[3170,7851,7853],{"className":3172,"code":7852,"filename":3212,"language":3175,"meta":3176,"style":3176},"yarn test\n",[3098,7854,7855],{"__ignoreMap":3176},[3180,7856,7857,7859],{"class":3182,"line":3183},[3180,7858,3212],{"class":3186},[3180,7860,7849],{"class":3189},[3170,7862,7864],{"className":3172,"code":7863,"filename":3238,"language":3175,"meta":3176,"style":3176},"pnpm run test\n",[3098,7865,7866],{"__ignoreMap":3176},[3180,7867,7868,7870,7872],{"class":3182,"line":3183},[3180,7869,3238],{"class":3186},[3180,7871,7846],{"class":3189},[3180,7873,7849],{"class":3189},[3170,7875,7877],{"className":3172,"code":7876,"filename":3263,"language":3175,"meta":3176,"style":3176},"bun run test\n",[3098,7878,7879],{"__ignoreMap":3176},[3180,7880,7881,7883,7885],{"class":3182,"line":3183},[3180,7882,3263],{"class":3186},[3180,7884,7846],{"class":3189},[3180,7886,7849],{"class":3189},[3086,7888,7889,7890,7892],{},"Congratulations, you're all set to start unit testing with ",[3098,7891,4640],{}," in Nuxt! Happy testing!",[3115,7894,7896],{"id":7895},"end-to-end-testing","End-To-End Testing",[3086,7898,7899,7900,3144,7905,3144,7910,3134,7915,7920],{},"For end-to-end testing, we support ",[3090,7901,7904],{"href":7902,"rel":7903},"https:\u002F\u002Fgithub.com\u002Fvitest-dev\u002Fvitest",[3106],"Vitest",[3090,7906,7909],{"href":7907,"rel":7908},"https:\u002F\u002Fjestjs.io",[3106],"Jest",[3090,7911,7914],{"href":7912,"rel":7913},"https:\u002F\u002Fcucumber.io\u002F",[3106],"Cucumber",[3090,7916,7919],{"href":7917,"rel":7918},"https:\u002F\u002Fplaywright.dev\u002F",[3106],"Playwright"," as test runners.",[3305,7922,3308],{"id":7923},"setup-1",[3086,7925,7926,7927,7929,7930,7932],{},"In each ",[3098,7928,7729],{}," block where you are taking advantage of the ",[3098,7931,7103],{}," helper methods, you will need to set up the test context before beginning.",[3170,7934,7937],{"className":3325,"code":7935,"filename":7936,"language":3327,"meta":3328,"style":3176},"import { describe, test } from 'vitest'\nimport { $fetch, setup } from '@nuxt\u002Ftest-utils\u002Fe2e'\n\ndescribe('My test', async () => {\n  await setup({\n    \u002F\u002F test context options\n  })\n\n  test('my test', () => {\n    \u002F\u002F ...\n  })\n})\n","test\u002Fmy-test.spec.ts",[3098,7938,7939,7961,7983,7987,8010,8020,8025,8031,8035,8055,8059,8065],{"__ignoreMap":3176},[3180,7940,7941,7943,7945,7947,7949,7951,7953,7955,7957,7959],{"class":3182,"line":3183},[3180,7942,3412],{"class":3335},[3180,7944,3415],{"class":3350},[3180,7946,7663],{"class":3346},[3180,7948,4076],{"class":3350},[3180,7950,4046],{"class":3346},[3180,7952,3421],{"class":3350},[3180,7954,3424],{"class":3335},[3180,7956,3427],{"class":3350},[3180,7958,3143],{"class":3189},[3180,7960,3433],{"class":3350},[3180,7962,7963,7965,7967,7969,7971,7973,7975,7977,7979,7981],{"class":3182,"line":3354},[3180,7964,3412],{"class":3335},[3180,7966,3415],{"class":3350},[3180,7968,7227],{"class":3346},[3180,7970,4076],{"class":3350},[3180,7972,7232],{"class":3346},[3180,7974,3421],{"class":3350},[3180,7976,3424],{"class":3335},[3180,7978,3427],{"class":3350},[3180,7980,7103],{"class":3189},[3180,7982,3433],{"class":3350},[3180,7984,7985],{"class":3182,"line":3367},[3180,7986,3458],{"emptyLinePlaceholder":1208},[3180,7988,7989,7991,7993,7995,7998,8000,8002,8004,8006,8008],{"class":3182,"line":3381},[3180,7990,7729],{"class":3342},[3180,7992,3347],{"class":3346},[3180,7994,3375],{"class":3350},[3180,7996,7997],{"class":3189},"My test",[3180,7999,3375],{"class":3350},[3180,8001,4076],{"class":3350},[3180,8003,4820],{"class":4082},[3180,8005,4079],{"class":3350},[3180,8007,4083],{"class":4082},[3180,8009,3480],{"class":3350},[3180,8011,8012,8014,8016,8018],{"class":3182,"line":3389},[3180,8013,5345],{"class":3335},[3180,8015,7232],{"class":3342},[3180,8017,3347],{"class":3357},[3180,8019,3351],{"class":3350},[3180,8021,8022],{"class":3182,"line":3483},[3180,8023,8024],{"class":3948},"    \u002F\u002F test context options\n",[3180,8026,8027,8029],{"class":3182,"line":3493},[3180,8028,6611],{"class":3350},[3180,8030,3395],{"class":3357},[3180,8032,8033],{"class":3182,"line":3499},[3180,8034,3458],{"emptyLinePlaceholder":1208},[3180,8036,8037,8039,8041,8043,8045,8047,8049,8051,8053],{"class":3182,"line":3509},[3180,8038,3475],{"class":3342},[3180,8040,3347],{"class":3357},[3180,8042,3375],{"class":3350},[3180,8044,4071],{"class":3189},[3180,8046,3375],{"class":3350},[3180,8048,4076],{"class":3350},[3180,8050,4079],{"class":3350},[3180,8052,4083],{"class":4082},[3180,8054,3480],{"class":3350},[3180,8056,8057],{"class":3182,"line":3526},[3180,8058,6528],{"class":3948},[3180,8060,8061,8063],{"class":3182,"line":3549},[3180,8062,6611],{"class":3350},[3180,8064,3395],{"class":3357},[3180,8066,8067,8069],{"class":3182,"line":3566},[3180,8068,3392],{"class":3350},[3180,8070,3395],{"class":3346},[3086,8072,8073,8074,8076,8077,3144,8080,3144,8082,3134,8085,8088],{},"Behind the scenes, ",[3098,8075,3307],{}," performs a number of tasks in ",[3098,8078,8079],{},"beforeAll",[3098,8081,6288],{},[3098,8083,8084],{},"afterEach",[3098,8086,8087],{},"afterAll"," to set up the Nuxt test environment correctly.",[3086,8090,8091,8092,8094],{},"Please use the options below for the ",[3098,8093,3307],{}," method.",[3854,8096,8098],{"id":8097},"nuxt-config","Nuxt Config",[3125,8100,8101,8121],{},[3128,8102,8103,8106,8107],{},[3098,8104,8105],{},"rootDir",": Path to a directory with a Nuxt app to be put under test.\n",[3125,8108,8109,8115],{},[3128,8110,8111,8112],{},"Type: ",[3098,8113,8114],{},"string",[3128,8116,8117,8118],{},"Default: ",[3098,8119,8120],{},"'.'",[3128,8122,8123,8126,8127],{},[3098,8124,8125],{},"configFile",": Name of the configuration file.\n",[3125,8128,8129,8133],{},[3128,8130,8111,8131],{},[3098,8132,8114],{},[3128,8134,8117,8135],{},[3098,8136,8137],{},"'nuxt.config'",[3854,8139,8141],{"id":8140},"timings","Timings",[3125,8143,8144,8170],{},[3128,8145,8146,8149,8150,8153,8154],{},[3098,8147,8148],{},"setupTimeout",": The amount of time (in milliseconds) to allow for ",[3098,8151,8152],{},"setupTest"," to complete its work (which could include building or generating files for a Nuxt application, depending on the options that are passed).",[3125,8155,8156,8161],{},[3128,8157,8111,8158],{},[3098,8159,8160],{},"number",[3128,8162,8117,8163,4420,8166,8169],{},[3098,8164,8165],{},"120000",[3098,8167,8168],{},"240000"," on windows",[3128,8171,8172,8175,8176],{},[3098,8173,8174],{},"teardownTimeout",": The amount of time (in milliseconds) to allow tearing down the test environment, such as closing the browser.",[3125,8177,8178,8182],{},[3128,8179,8111,8180],{},[3098,8181,8160],{},[3128,8183,8117,8184],{},[3098,8185,8186],{},"30000",[3854,8188,399],{"id":8189},"features",[3125,8191,8192,8221,8241,8259,8278,8300,8343,8366,8383],{},[3128,8193,8194,8196,8197],{},[3098,8195,7529],{},": Whether to run a separate build step.",[3125,8198,8199,8204],{},[3128,8200,8111,8201],{},[3098,8202,8203],{},"boolean",[3128,8205,8117,8206,5767,8208,8210,8211,4420,8214,8216,8217,8220],{},[3098,8207,4454],{},[3098,8209,4466],{}," if ",[3098,8212,8213],{},"browser",[3098,8215,185],{}," is disabled, or if a ",[3098,8218,8219],{},"host"," is provided)",[3128,8222,8223,8225,8226],{},[3098,8224,185],{},": Whether to launch a server to respond to requests in the test suite.",[3125,8227,8228,8232],{},[3128,8229,8111,8230],{},[3098,8231,8203],{},[3128,8233,8117,8234,5767,8236,8238,8239,8220],{},[3098,8235,4454],{},[3098,8237,4466],{}," if a ",[3098,8240,8219],{},[3128,8242,8243,8246,8247],{},[3098,8244,8245],{},"port",": If provided, set the launched test server port to the value.",[3125,8248,8249,8254],{},[3128,8250,8111,8251],{},[3098,8252,8253],{},"number | undefined",[3128,8255,8117,8256],{},[3098,8257,8258],{},"undefined",[3128,8260,8261,8263,8264,3093,8268],{},[3098,8262,8219],{},": If provided, a URL to use as the test target instead of building and running a new server. Useful for running \"real\" end-to-end tests against a deployed version of your application, or against an already running local server (which may provide a significant reduction in test execution timings). See the ",[3090,8265,8267],{"href":8266},"\u002Fdocs\u002F4.x\u002Fgetting-started\u002Ftesting#target-host-end-to-end-example","target host end-to-end example below",[3125,8269,8270,8274],{},[3128,8271,8111,8272],{},[3098,8273,8114],{},[3128,8275,8117,8276],{},[3098,8277,8258],{},[3128,8279,8280,8282,8283,8289,8290],{},[3098,8281,8213],{},": Under the hood, Nuxt test utils uses ",[3090,8284,8287],{"href":8285,"rel":8286},"https:\u002F\u002Fplaywright.dev",[3106],[3098,8288,3153],{}," to carry out browser testing. If this option is set, a browser will be launched and can be controlled in the subsequent test suite.",[3125,8291,8292,8296],{},[3128,8293,8111,8294],{},[3098,8295,8203],{},[3128,8297,8117,8298],{},[3098,8299,4466],{},[3128,8301,8302,8305],{},[3098,8303,8304],{},"browserOptions",[3125,8306,8307],{},[3128,8308,8111,8309,8312,8313],{},[3098,8310,8311],{},"object"," with the following properties\n",[3125,8314,8315,8330],{},[3128,8316,8317,8320,8321,3144,8324,4420,8327],{},[3098,8318,8319],{},"type",": The type of browser to launch - either ",[3098,8322,8323],{},"chromium",[3098,8325,8326],{},"firefox",[3098,8328,8329],{},"webkit",[3128,8331,8332,7519,8335,8337,8338,3093],{},[3098,8333,8334],{},"launch",[3098,8336,8311],{}," of options that will be passed to playwright when launching the browser. See ",[3090,8339,8342],{"href":8340,"rel":8341},"https:\u002F\u002Fplaywright.dev\u002Fdocs\u002Fapi\u002Fclass-browsertype#browser-type-launch",[3106],"full API reference",[3128,8344,8345,8348,8349,8353,8354],{},[3098,8346,8347],{},"runner",": Specify the runner for the test suite. Currently, ",[3090,8350,7904],{"href":8351,"rel":8352},"https:\u002F\u002Fvitest.dev",[3106]," is recommended.",[3125,8355,8356,8361],{},[3128,8357,8111,8358],{},[3098,8359,8360],{},"'vitest' | 'jest' | 'cucumber'",[3128,8362,8117,8363],{},[3098,8364,8365],{},"'vitest'",[3128,8367,8368,8371,8372],{},[3098,8369,8370],{},"logLevel",": Overrides the consola log level for the server subprocess. (use NUXT_TEST_LOG_LEVEL environment variable to override)",[3125,8373,8374,8378],{},[3128,8375,8111,8376],{},[3098,8377,8160],{},[3128,8379,8117,8380],{},[3098,8381,8382],{},"1",[3128,8384,8385,8388,8389,8391,8392,8395,8396,8398,8399],{},[3098,8386,8387],{},"captureServerLogs",": Whether to capture server process output instead of inheriting stdio. When ",[3098,8390,4454],{}," (default), server stdout\u002Fstderr is suppressed from the console and accessible via ",[3098,8393,8394],{},"getServerLogs()",". Set to ",[3098,8397,4466],{}," to restore the old inherit-stdio behaviour (useful when debugging a test locally).",[3125,8400,8401,8405],{},[3128,8402,8111,8403],{},[3098,8404,8203],{},[3128,8406,8117,8407],{},[3098,8408,4454],{},[4225,8410,8412,8413,8415],{"id":8411},"target-host-end-to-end-example","Target ",[3098,8414,8219],{}," end-to-end example",[3086,8417,8418],{},"A common use-case for end-to-end testing is running the tests against a deployed application running in the same environment typically used for Production.",[3086,8420,8421],{},"For local development or automated deploy pipelines, testing against a separate local server can be more efficient and is typically faster than allowing the test framework to rebuild between tests.",[3086,8423,8424,8425,8427,8428,8430],{},"To utilize a separate target host for end-to-end tests, simply provide the ",[3098,8426,8219],{}," property of the ",[3098,8429,3307],{}," function with the desired URL.",[3170,8432,8434],{"className":3325,"code":8433,"language":3327,"meta":3176,"style":3176},"import { createPage, setup } from '@nuxt\u002Ftest-utils\u002Fe2e'\nimport { describe, expect, it } from 'vitest'\n\ndescribe('login page', async () => {\n  await setup({\n    host: 'http:\u002F\u002Flocalhost:8787',\n  })\n\n  it('displays the email and password fields', async () => {\n    const page = await createPage('\u002Flogin')\n    expect(await page.getByTestId('email').isVisible()).toBe(true)\n    expect(await page.getByTestId('password').isVisible()).toBe(true)\n  })\n})\n",[3098,8435,8436,8459,8485,8489,8512,8522,8538,8544,8548,8571,8595,8639,8680,8686],{"__ignoreMap":3176},[3180,8437,8438,8440,8442,8445,8447,8449,8451,8453,8455,8457],{"class":3182,"line":3183},[3180,8439,3412],{"class":3335},[3180,8441,3415],{"class":3350},[3180,8443,8444],{"class":3346}," createPage",[3180,8446,4076],{"class":3350},[3180,8448,7232],{"class":3346},[3180,8450,3421],{"class":3350},[3180,8452,3424],{"class":3335},[3180,8454,3427],{"class":3350},[3180,8456,7103],{"class":3189},[3180,8458,3433],{"class":3350},[3180,8460,8461,8463,8465,8467,8469,8471,8473,8475,8477,8479,8481,8483],{"class":3182,"line":3354},[3180,8462,3412],{"class":3335},[3180,8464,3415],{"class":3350},[3180,8466,7663],{"class":3346},[3180,8468,4076],{"class":3350},[3180,8470,4669],{"class":3346},[3180,8472,4076],{"class":3350},[3180,8474,4674],{"class":3346},[3180,8476,3421],{"class":3350},[3180,8478,3424],{"class":3335},[3180,8480,3427],{"class":3350},[3180,8482,3143],{"class":3189},[3180,8484,3433],{"class":3350},[3180,8486,8487],{"class":3182,"line":3367},[3180,8488,3458],{"emptyLinePlaceholder":1208},[3180,8490,8491,8493,8495,8497,8500,8502,8504,8506,8508,8510],{"class":3182,"line":3381},[3180,8492,7729],{"class":3342},[3180,8494,3347],{"class":3346},[3180,8496,3375],{"class":3350},[3180,8498,8499],{"class":3189},"login page",[3180,8501,3375],{"class":3350},[3180,8503,4076],{"class":3350},[3180,8505,4820],{"class":4082},[3180,8507,4079],{"class":3350},[3180,8509,4083],{"class":4082},[3180,8511,3480],{"class":3350},[3180,8513,8514,8516,8518,8520],{"class":3182,"line":3389},[3180,8515,5345],{"class":3335},[3180,8517,7232],{"class":3342},[3180,8519,3347],{"class":3357},[3180,8521,3351],{"class":3350},[3180,8523,8524,8527,8529,8531,8534,8536],{"class":3182,"line":3483},[3180,8525,8526],{"class":3357},"    host",[3180,8528,3361],{"class":3350},[3180,8530,3427],{"class":3350},[3180,8532,8533],{"class":3189},"http:\u002F\u002Flocalhost:8787",[3180,8535,3375],{"class":3350},[3180,8537,3378],{"class":3350},[3180,8539,8540,8542],{"class":3182,"line":3493},[3180,8541,6611],{"class":3350},[3180,8543,3395],{"class":3357},[3180,8545,8546],{"class":3182,"line":3499},[3180,8547,3458],{"emptyLinePlaceholder":1208},[3180,8549,8550,8552,8554,8556,8559,8561,8563,8565,8567,8569],{"class":3182,"line":3509},[3180,8551,7751],{"class":3342},[3180,8553,3347],{"class":3357},[3180,8555,3375],{"class":3350},[3180,8557,8558],{"class":3189},"displays the email and password fields",[3180,8560,3375],{"class":3350},[3180,8562,4076],{"class":3350},[3180,8564,4820],{"class":4082},[3180,8566,4079],{"class":3350},[3180,8568,4083],{"class":4082},[3180,8570,3480],{"class":3350},[3180,8572,8573,8575,8578,8580,8582,8584,8586,8588,8591,8593],{"class":3182,"line":3526},[3180,8574,7773],{"class":4082},[3180,8576,8577],{"class":3346}," page",[3180,8579,4837],{"class":3350},[3180,8581,4840],{"class":3335},[3180,8583,8444],{"class":3342},[3180,8585,3347],{"class":3357},[3180,8587,3375],{"class":3350},[3180,8589,8590],{"class":3189},"\u002Flogin",[3180,8592,3375],{"class":3350},[3180,8594,3395],{"class":3357},[3180,8596,8597,8599,8601,8603,8605,8607,8610,8612,8614,8617,8619,8621,8623,8626,8628,8630,8633,8635,8637],{"class":3182,"line":3549},[3180,8598,7791],{"class":3342},[3180,8600,3347],{"class":3357},[3180,8602,7251],{"class":3335},[3180,8604,8577],{"class":3346},[3180,8606,3093],{"class":3350},[3180,8608,8609],{"class":3342},"getByTestId",[3180,8611,3347],{"class":3357},[3180,8613,3375],{"class":3350},[3180,8615,8616],{"class":3189},"email",[3180,8618,3375],{"class":3350},[3180,8620,3736],{"class":3357},[3180,8622,3093],{"class":3350},[3180,8624,8625],{"class":3342},"isVisible",[3180,8627,4867],{"class":3357},[3180,8629,3093],{"class":3350},[3180,8631,8632],{"class":3342},"toBe",[3180,8634,3347],{"class":3357},[3180,8636,4454],{"class":4569},[3180,8638,3395],{"class":3357},[3180,8640,8641,8643,8645,8647,8649,8651,8653,8655,8657,8660,8662,8664,8666,8668,8670,8672,8674,8676,8678],{"class":3182,"line":3566},[3180,8642,7791],{"class":3342},[3180,8644,3347],{"class":3357},[3180,8646,7251],{"class":3335},[3180,8648,8577],{"class":3346},[3180,8650,3093],{"class":3350},[3180,8652,8609],{"class":3342},[3180,8654,3347],{"class":3357},[3180,8656,3375],{"class":3350},[3180,8658,8659],{"class":3189},"password",[3180,8661,3375],{"class":3350},[3180,8663,3736],{"class":3357},[3180,8665,3093],{"class":3350},[3180,8667,8625],{"class":3342},[3180,8669,4867],{"class":3357},[3180,8671,3093],{"class":3350},[3180,8673,8632],{"class":3342},[3180,8675,3347],{"class":3357},[3180,8677,4454],{"class":4569},[3180,8679,3395],{"class":3357},[3180,8681,8682,8684],{"class":3182,"line":3572},[3180,8683,6611],{"class":3350},[3180,8685,3395],{"class":3357},[3180,8687,8688,8690],{"class":3182,"line":3578},[3180,8689,3392],{"class":3350},[3180,8691,3395],{"class":3346},[3305,8693,8695],{"id":8694},"apis","APIs",[3854,8697,8699],{"id":8698},"fetchurl",[3098,8700,8701],{},"$fetch(url)",[3086,8703,8704],{},"Get the HTML of a server-rendered page.",[3170,8706,8708],{"className":3325,"code":8707,"language":3327,"meta":3328,"style":3176},"import { $fetch } from '@nuxt\u002Ftest-utils\u002Fe2e'\n\nconst html = await $fetch('\u002F')\n",[3098,8709,8710,8728,8732],{"__ignoreMap":3176},[3180,8711,8712,8714,8716,8718,8720,8722,8724,8726],{"class":3182,"line":3183},[3180,8713,3412],{"class":3335},[3180,8715,3415],{"class":3350},[3180,8717,7227],{"class":3346},[3180,8719,3421],{"class":3350},[3180,8721,3424],{"class":3335},[3180,8723,3427],{"class":3350},[3180,8725,7103],{"class":3189},[3180,8727,3433],{"class":3350},[3180,8729,8730],{"class":3182,"line":3354},[3180,8731,3458],{"emptyLinePlaceholder":1208},[3180,8733,8734,8736,8739,8741,8743,8745,8747,8749,8751,8753],{"class":3182,"line":3367},[3180,8735,6023],{"class":4082},[3180,8737,8738],{"class":3346}," html ",[3180,8740,6332],{"class":3350},[3180,8742,4840],{"class":3335},[3180,8744,7227],{"class":3342},[3180,8746,3347],{"class":3346},[3180,8748,3375],{"class":3350},[3180,8750,5117],{"class":3189},[3180,8752,3375],{"class":3350},[3180,8754,3395],{"class":3346},[3854,8756,8758],{"id":8757},"fetchurl-1",[3098,8759,8760],{},"fetch(url)",[3086,8762,8763],{},"Get the response of a server-rendered page.",[3170,8765,8767],{"className":3325,"code":8766,"language":3327,"meta":3328,"style":3176},"import { fetch } from '@nuxt\u002Ftest-utils\u002Fe2e'\n\nconst res = await fetch('\u002F')\nconst { body, headers } = res\n",[3098,8768,8769,8788,8792,8815],{"__ignoreMap":3176},[3180,8770,8771,8773,8775,8778,8780,8782,8784,8786],{"class":3182,"line":3183},[3180,8772,3412],{"class":3335},[3180,8774,3415],{"class":3350},[3180,8776,8777],{"class":3346}," fetch",[3180,8779,3421],{"class":3350},[3180,8781,3424],{"class":3335},[3180,8783,3427],{"class":3350},[3180,8785,7103],{"class":3189},[3180,8787,3433],{"class":3350},[3180,8789,8790],{"class":3182,"line":3354},[3180,8791,3458],{"emptyLinePlaceholder":1208},[3180,8793,8794,8796,8799,8801,8803,8805,8807,8809,8811,8813],{"class":3182,"line":3367},[3180,8795,6023],{"class":4082},[3180,8797,8798],{"class":3346}," res ",[3180,8800,6332],{"class":3350},[3180,8802,4840],{"class":3335},[3180,8804,8777],{"class":3342},[3180,8806,3347],{"class":3346},[3180,8808,3375],{"class":3350},[3180,8810,5117],{"class":3189},[3180,8812,3375],{"class":3350},[3180,8814,3395],{"class":3346},[3180,8816,8817,8819,8821,8824,8826,8829,8831,8833],{"class":3182,"line":3381},[3180,8818,6023],{"class":4082},[3180,8820,3415],{"class":3350},[3180,8822,8823],{"class":3346}," body",[3180,8825,4076],{"class":3350},[3180,8827,8828],{"class":3346}," headers ",[3180,8830,3392],{"class":3350},[3180,8832,4837],{"class":3350},[3180,8834,8835],{"class":3346}," res\n",[3854,8837,8839],{"id":8838},"urlpath",[3098,8840,8841],{},"url(path)",[3086,8843,8844],{},"Get the full URL for a given page (including the port the test server is running on.)",[3170,8846,8848],{"className":3325,"code":8847,"language":3327,"meta":3328,"style":3176},"import { url } from '@nuxt\u002Ftest-utils\u002Fe2e'\n\nconst pageUrl = url('\u002Fpage')\n\u002F\u002F 'http:\u002F\u002Flocalhost:6840\u002Fpage'\n",[3098,8849,8850,8869,8873,8895],{"__ignoreMap":3176},[3180,8851,8852,8854,8856,8859,8861,8863,8865,8867],{"class":3182,"line":3183},[3180,8853,3412],{"class":3335},[3180,8855,3415],{"class":3350},[3180,8857,8858],{"class":3346}," url",[3180,8860,3421],{"class":3350},[3180,8862,3424],{"class":3335},[3180,8864,3427],{"class":3350},[3180,8866,7103],{"class":3189},[3180,8868,3433],{"class":3350},[3180,8870,8871],{"class":3182,"line":3354},[3180,8872,3458],{"emptyLinePlaceholder":1208},[3180,8874,8875,8877,8880,8882,8884,8886,8888,8891,8893],{"class":3182,"line":3367},[3180,8876,6023],{"class":4082},[3180,8878,8879],{"class":3346}," pageUrl ",[3180,8881,6332],{"class":3350},[3180,8883,8858],{"class":3342},[3180,8885,3347],{"class":3346},[3180,8887,3375],{"class":3350},[3180,8889,8890],{"class":3189},"\u002Fpage",[3180,8892,3375],{"class":3350},[3180,8894,3395],{"class":3346},[3180,8896,8897],{"class":3182,"line":3381},[3180,8898,8899],{"class":3948},"\u002F\u002F 'http:\u002F\u002Flocalhost:6840\u002Fpage'\n",[3854,8901,8903],{"id":8902},"getserverlogs",[3098,8904,8394],{},[3086,8906,8907,8908,8911,8912,8915,8916,8918,8919,8921],{},"Returns the lines captured from the server subprocess's stdout\u002Fstderr since the last ",[3098,8909,8910],{},"startServer()"," call (or ",[3098,8913,8914],{},"clearServerLogs()","). Only populated when ",[3098,8917,8387],{}," is ",[3098,8920,4454],{}," (the default).",[3170,8923,8925],{"className":3325,"code":8924,"language":3327,"meta":3328,"style":3176},"import { expect, it, vi } from 'vitest'\nimport { $fetch, clearServerLogs, getServerLogs } from '@nuxt\u002Ftest-utils\u002Fe2e'\n\nit('captures console.log output from a server route', async () => {\n  clearServerLogs()\n  await $fetch('\u002Fapi\u002Flog-test')\n  await vi.waitFor(() => {\n    expect(getServerLogs().some(line => line.includes('[test] server-log-marker'))).toBe(true)\n  })\n})\n",[3098,8926,8927,8953,8981,8985,9008,9015,9032,9051,9103,9109],{"__ignoreMap":3176},[3180,8928,8929,8931,8933,8935,8937,8939,8941,8943,8945,8947,8949,8951],{"class":3182,"line":3183},[3180,8930,3412],{"class":3335},[3180,8932,3415],{"class":3350},[3180,8934,4669],{"class":3346},[3180,8936,4076],{"class":3350},[3180,8938,4674],{"class":3346},[3180,8940,4076],{"class":3350},[3180,8942,5986],{"class":3346},[3180,8944,3421],{"class":3350},[3180,8946,3424],{"class":3335},[3180,8948,3427],{"class":3350},[3180,8950,3143],{"class":3189},[3180,8952,3433],{"class":3350},[3180,8954,8955,8957,8959,8961,8963,8966,8968,8971,8973,8975,8977,8979],{"class":3182,"line":3354},[3180,8956,3412],{"class":3335},[3180,8958,3415],{"class":3350},[3180,8960,7227],{"class":3346},[3180,8962,4076],{"class":3350},[3180,8964,8965],{"class":3346}," clearServerLogs",[3180,8967,4076],{"class":3350},[3180,8969,8970],{"class":3346}," getServerLogs",[3180,8972,3421],{"class":3350},[3180,8974,3424],{"class":3335},[3180,8976,3427],{"class":3350},[3180,8978,7103],{"class":3189},[3180,8980,3433],{"class":3350},[3180,8982,8983],{"class":3182,"line":3367},[3180,8984,3458],{"emptyLinePlaceholder":1208},[3180,8986,8987,8989,8991,8993,8996,8998,9000,9002,9004,9006],{"class":3182,"line":3381},[3180,8988,4806],{"class":3342},[3180,8990,3347],{"class":3346},[3180,8992,3375],{"class":3350},[3180,8994,8995],{"class":3189},"captures console.log output from a server route",[3180,8997,3375],{"class":3350},[3180,8999,4076],{"class":3350},[3180,9001,4820],{"class":4082},[3180,9003,4079],{"class":3350},[3180,9005,4083],{"class":4082},[3180,9007,3480],{"class":3350},[3180,9009,9010,9013],{"class":3182,"line":3389},[3180,9011,9012],{"class":3342},"  clearServerLogs",[3180,9014,5386],{"class":3357},[3180,9016,9017,9019,9021,9023,9025,9028,9030],{"class":3182,"line":3483},[3180,9018,5345],{"class":3335},[3180,9020,7227],{"class":3342},[3180,9022,3347],{"class":3357},[3180,9024,3375],{"class":3350},[3180,9026,9027],{"class":3189},"\u002Fapi\u002Flog-test",[3180,9029,3375],{"class":3350},[3180,9031,3395],{"class":3357},[3180,9033,9034,9036,9038,9040,9043,9045,9047,9049],{"class":3182,"line":3493},[3180,9035,5345],{"class":3335},[3180,9037,5986],{"class":3346},[3180,9039,3093],{"class":3350},[3180,9041,9042],{"class":3342},"waitFor",[3180,9044,3347],{"class":3357},[3180,9046,6044],{"class":3350},[3180,9048,4083],{"class":4082},[3180,9050,3480],{"class":3350},[3180,9052,9053,9055,9057,9060,9062,9064,9067,9069,9071,9073,9076,9078,9081,9083,9085,9088,9090,9093,9095,9097,9099,9101],{"class":3182,"line":3499},[3180,9054,7791],{"class":3342},[3180,9056,3347],{"class":3357},[3180,9058,9059],{"class":3342},"getServerLogs",[3180,9061,6044],{"class":3357},[3180,9063,3093],{"class":3350},[3180,9065,9066],{"class":3342},"some",[3180,9068,3347],{"class":3357},[3180,9070,3182],{"class":5770},[3180,9072,4083],{"class":4082},[3180,9074,9075],{"class":3346}," line",[3180,9077,3093],{"class":3350},[3180,9079,9080],{"class":3342},"includes",[3180,9082,3347],{"class":3357},[3180,9084,3375],{"class":3350},[3180,9086,9087],{"class":3189},"[test] server-log-marker",[3180,9089,3375],{"class":3350},[3180,9091,9092],{"class":3357},")))",[3180,9094,3093],{"class":3350},[3180,9096,8632],{"class":3342},[3180,9098,3347],{"class":3357},[3180,9100,4454],{"class":4569},[3180,9102,3395],{"class":3357},[3180,9104,9105,9107],{"class":3182,"line":3509},[3180,9106,6611],{"class":3350},[3180,9108,3395],{"class":3357},[3180,9110,9111,9113],{"class":3182,"line":3526},[3180,9112,3392],{"class":3350},[3180,9114,3395],{"class":3346},[3854,9116,9118],{"id":9117},"clearserverlogs",[3098,9119,8914],{},[3086,9121,9122],{},"Clears the captured server log lines. Useful between requests when you want to assert only on the logs produced by a specific operation.",[3305,9124,9126],{"id":9125},"testing-in-a-browser","Testing in a Browser",[3086,9128,9129,9130,9132],{},"We provide built-in support using Playwright within ",[3098,9131,3100],{},", either programmatically or via the Playwright test runner.",[3854,9134,9136],{"id":9135},"createpageurl",[3098,9137,9138],{},"createPage(url)",[3086,9140,9141,9142,3144,9144,4420,9146,9148,9149,9152,9153,3093],{},"Within ",[3098,9143,3143],{},[3098,9145,3150],{},[3098,9147,3147],{},", you can create a configured Playwright browser instance with ",[3098,9150,9151],{},"createPage",", and (optionally) point it at a path from the running server. You can find out more about the API methods available in the ",[3090,9154,9157],{"href":9155,"rel":9156},"https:\u002F\u002Fplaywright.dev\u002Fdocs\u002Fapi\u002Fclass-page",[3106],"Playwright documentation",[3170,9159,9161],{"className":3325,"code":9160,"language":3327,"meta":3328,"style":3176},"import { createPage } from '@nuxt\u002Ftest-utils\u002Fe2e'\n\nconst page = await createPage('\u002Fpage')\n\u002F\u002F you can access all the Playwright APIs from the `page` variable\n",[3098,9162,9163,9181,9185,9208],{"__ignoreMap":3176},[3180,9164,9165,9167,9169,9171,9173,9175,9177,9179],{"class":3182,"line":3183},[3180,9166,3412],{"class":3335},[3180,9168,3415],{"class":3350},[3180,9170,8444],{"class":3346},[3180,9172,3421],{"class":3350},[3180,9174,3424],{"class":3335},[3180,9176,3427],{"class":3350},[3180,9178,7103],{"class":3189},[3180,9180,3433],{"class":3350},[3180,9182,9183],{"class":3182,"line":3354},[3180,9184,3458],{"emptyLinePlaceholder":1208},[3180,9186,9187,9189,9192,9194,9196,9198,9200,9202,9204,9206],{"class":3182,"line":3367},[3180,9188,6023],{"class":4082},[3180,9190,9191],{"class":3346}," page ",[3180,9193,6332],{"class":3350},[3180,9195,4840],{"class":3335},[3180,9197,8444],{"class":3342},[3180,9199,3347],{"class":3346},[3180,9201,3375],{"class":3350},[3180,9203,8890],{"class":3189},[3180,9205,3375],{"class":3350},[3180,9207,3395],{"class":3346},[3180,9209,9210],{"class":3182,"line":3381},[3180,9211,9212],{"class":3948},"\u002F\u002F you can access all the Playwright APIs from the `page` variable\n",[3854,9214,9216],{"id":9215},"testing-with-playwright-test-runner","Testing with Playwright Test Runner",[3086,9218,9219,9220,3093],{},"We also provide first-class support for testing Nuxt within ",[3090,9221,9224],{"href":9222,"rel":9223},"https:\u002F\u002Fplaywright.dev\u002Fdocs\u002Fintro",[3106],"the Playwright test runner",[3166,9226,9227,9246,9263,9280,9297],{"sync":3168},[3170,9228,9230],{"className":3172,"code":9229,"filename":3174,"language":3175,"meta":3176,"style":3176},"npm i --save-dev @playwright\u002Ftest @nuxt\u002Ftest-utils\n",[3098,9231,9232],{"__ignoreMap":3176},[3180,9233,9234,9236,9238,9240,9243],{"class":3182,"line":3183},[3180,9235,3174],{"class":3186},[3180,9237,3190],{"class":3189},[3180,9239,3193],{"class":3189},[3180,9241,9242],{"class":3189}," @playwright\u002Ftest",[3180,9244,9245],{"class":3189}," @nuxt\u002Ftest-utils\n",[3170,9247,9249],{"className":3172,"code":9248,"filename":3212,"language":3175,"meta":3176,"style":3176},"yarn add --dev @playwright\u002Ftest @nuxt\u002Ftest-utils\n",[3098,9250,9251],{"__ignoreMap":3176},[3180,9252,9253,9255,9257,9259,9261],{"class":3182,"line":3183},[3180,9254,3212],{"class":3186},[3180,9256,3221],{"class":3189},[3180,9258,3224],{"class":3189},[3180,9260,9242],{"class":3189},[3180,9262,9245],{"class":3189},[3170,9264,9266],{"className":3172,"code":9265,"filename":3238,"language":3175,"meta":3176,"style":3176},"pnpm add -D @playwright\u002Ftest @nuxt\u002Ftest-utils\n",[3098,9267,9268],{"__ignoreMap":3176},[3180,9269,9270,9272,9274,9276,9278],{"class":3182,"line":3183},[3180,9271,3238],{"class":3186},[3180,9273,3221],{"class":3189},[3180,9275,3249],{"class":3189},[3180,9277,9242],{"class":3189},[3180,9279,9245],{"class":3189},[3170,9281,9283],{"className":3172,"code":9282,"filename":3263,"language":3175,"meta":3176,"style":3176},"bun add --dev @playwright\u002Ftest @nuxt\u002Ftest-utils\n",[3098,9284,9285],{"__ignoreMap":3176},[3180,9286,9287,9289,9291,9293,9295],{"class":3182,"line":3183},[3180,9288,3263],{"class":3186},[3180,9290,3221],{"class":3189},[3180,9292,3224],{"class":3189},[3180,9294,9242],{"class":3189},[3180,9296,9245],{"class":3189},[3170,9298,9301],{"className":3172,"code":9299,"filename":9300,"language":3175,"meta":3176,"style":3176},"deno add --dev npm:@playwright\u002Ftest npm:@nuxt\u002Ftest-utils\n","deno",[3098,9302,9303],{"__ignoreMap":3176},[3180,9304,9305,9307,9309,9311,9314],{"class":3182,"line":3183},[3180,9306,9300],{"class":3186},[3180,9308,3221],{"class":3189},[3180,9310,3224],{"class":3189},[3180,9312,9313],{"class":3189}," npm:@playwright\u002Ftest",[3180,9315,9316],{"class":3189}," npm:@nuxt\u002Ftest-utils\n",[3086,9318,9319,9320,9323],{},"You can provide global Nuxt configuration, with the same configuration details as the ",[3098,9321,9322],{},"setup()"," function mentioned earlier in this section.",[3170,9325,9328],{"className":3325,"code":9326,"filename":9327,"language":3327,"meta":3176,"style":3176},"import { fileURLToPath } from 'node:url'\nimport { defineConfig, devices } from '@playwright\u002Ftest'\nimport type { ConfigOptions } from '@nuxt\u002Ftest-utils\u002Fplaywright'\n\nexport default defineConfig\u003CConfigOptions>({\n  use: {\n    nuxt: {\n      rootDir: fileURLToPath(new URL('.', import.meta.url)),\n    },\n  },\n  \u002F\u002F ...\n})\n","playwright.config.ts",[3098,9329,9330,9348,9371,9393,9397,9416,9425,9434,9475,9479,9483,9488],{"__ignoreMap":3176},[3180,9331,9332,9334,9336,9338,9340,9342,9344,9346],{"class":3182,"line":3183},[3180,9333,3412],{"class":3335},[3180,9335,3415],{"class":3350},[3180,9337,3893],{"class":3346},[3180,9339,3421],{"class":3350},[3180,9341,3424],{"class":3335},[3180,9343,3427],{"class":3350},[3180,9345,3902],{"class":3189},[3180,9347,3433],{"class":3350},[3180,9349,9350,9352,9354,9356,9358,9361,9363,9365,9367,9369],{"class":3182,"line":3354},[3180,9351,3412],{"class":3335},[3180,9353,3415],{"class":3350},[3180,9355,3418],{"class":3346},[3180,9357,4076],{"class":3350},[3180,9359,9360],{"class":3346}," devices",[3180,9362,3421],{"class":3350},[3180,9364,3424],{"class":3335},[3180,9366,3427],{"class":3350},[3180,9368,3163],{"class":3189},[3180,9370,3433],{"class":3350},[3180,9372,9373,9375,9377,9379,9382,9384,9386,9388,9391],{"class":3182,"line":3367},[3180,9374,3412],{"class":3335},[3180,9376,4691],{"class":3335},[3180,9378,3415],{"class":3350},[3180,9380,9381],{"class":3346}," ConfigOptions",[3180,9383,3421],{"class":3350},[3180,9385,3424],{"class":3335},[3180,9387,3427],{"class":3350},[3180,9389,9390],{"class":3189},"@nuxt\u002Ftest-utils\u002Fplaywright",[3180,9392,3433],{"class":3350},[3180,9394,9395],{"class":3182,"line":3381},[3180,9396,3458],{"emptyLinePlaceholder":1208},[3180,9398,9399,9401,9403,9405,9407,9410,9412,9414],{"class":3182,"line":3389},[3180,9400,3336],{"class":3335},[3180,9402,3339],{"class":3335},[3180,9404,3418],{"class":3342},[3180,9406,7610],{"class":3350},[3180,9408,9409],{"class":3186},"ConfigOptions",[3180,9411,5754],{"class":3350},[3180,9413,3347],{"class":3346},[3180,9415,3351],{"class":3350},[3180,9417,9418,9421,9423],{"class":3182,"line":3483},[3180,9419,9420],{"class":3357},"  use",[3180,9422,3361],{"class":3350},[3180,9424,3480],{"class":3350},[3180,9426,9427,9430,9432],{"class":3182,"line":3493},[3180,9428,9429],{"class":3357},"    nuxt",[3180,9431,3361],{"class":3350},[3180,9433,3480],{"class":3350},[3180,9435,9436,9439,9441,9443,9445,9448,9451,9453,9455,9457,9459,9461,9463,9465,9468,9470,9473],{"class":3182,"line":3499},[3180,9437,9438],{"class":3357},"      rootDir",[3180,9440,3361],{"class":3350},[3180,9442,3893],{"class":3342},[3180,9444,3347],{"class":3346},[3180,9446,9447],{"class":3350},"new",[3180,9449,9450],{"class":3342}," URL",[3180,9452,3347],{"class":3346},[3180,9454,3375],{"class":3350},[3180,9456,3093],{"class":3189},[3180,9458,3375],{"class":3350},[3180,9460,4076],{"class":3350},[3180,9462,6649],{"class":3335},[3180,9464,3093],{"class":3350},[3180,9466,9467],{"class":3346},"meta",[3180,9469,3093],{"class":3350},[3180,9471,9472],{"class":3346},"url))",[3180,9474,3378],{"class":3350},[3180,9476,9477],{"class":3182,"line":3509},[3180,9478,4304],{"class":3350},[3180,9480,9481],{"class":3182,"line":3526},[3180,9482,3752],{"class":3350},[3180,9484,9485],{"class":3182,"line":3549},[3180,9486,9487],{"class":3948},"  \u002F\u002F ...\n",[3180,9489,9490,9492],{"class":3182,"line":3566},[3180,9491,3392],{"class":3350},[3180,9493,3395],{"class":3346},[9495,9496],"read-more",{"target":9497,"title":9498,"to":9499},"_blank","See full example config","https:\u002F\u002Fgithub.com\u002Fnuxt\u002Ftest-utils\u002Fblob\u002Fmain\u002Fexamples\u002Fapp-playwright\u002Fplaywright.config.ts",[3086,9501,9502,9503,3134,9506,9508,9509,3361],{},"Your test file should then use ",[3098,9504,9505],{},"expect",[3098,9507,1268],{}," directly from ",[3098,9510,9390],{},[3170,9512,9515],{"className":3325,"code":9513,"filename":9514,"language":3327,"meta":3176,"style":3176},"import { expect, test } from '@nuxt\u002Ftest-utils\u002Fplaywright'\n\ntest('test', async ({ page, goto }) => {\n  await goto('\u002F', { waitUntil: 'hydration' })\n  await expect(page.getByRole('heading')).toHaveText('Welcome to Playwright!')\n})\n","tests\u002Fexample.test.ts",[3098,9516,9517,9539,9543,9576,9610,9653],{"__ignoreMap":3176},[3180,9518,9519,9521,9523,9525,9527,9529,9531,9533,9535,9537],{"class":3182,"line":3183},[3180,9520,3412],{"class":3335},[3180,9522,3415],{"class":3350},[3180,9524,4669],{"class":3346},[3180,9526,4076],{"class":3350},[3180,9528,4046],{"class":3346},[3180,9530,3421],{"class":3350},[3180,9532,3424],{"class":3335},[3180,9534,3427],{"class":3350},[3180,9536,9390],{"class":3189},[3180,9538,3433],{"class":3350},[3180,9540,9541],{"class":3182,"line":3354},[3180,9542,3458],{"emptyLinePlaceholder":1208},[3180,9544,9545,9547,9549,9551,9553,9555,9557,9559,9562,9564,9566,9569,9572,9574],{"class":3182,"line":3367},[3180,9546,1268],{"class":3342},[3180,9548,3347],{"class":3346},[3180,9550,3375],{"class":3350},[3180,9552,1268],{"class":3189},[3180,9554,3375],{"class":3350},[3180,9556,4076],{"class":3350},[3180,9558,4820],{"class":4082},[3180,9560,9561],{"class":3350}," ({",[3180,9563,8577],{"class":5770},[3180,9565,4076],{"class":3350},[3180,9567,9568],{"class":5770}," goto",[3180,9570,9571],{"class":3350}," })",[3180,9573,4083],{"class":4082},[3180,9575,3480],{"class":3350},[3180,9577,9578,9580,9582,9584,9586,9588,9590,9592,9594,9597,9599,9601,9604,9606,9608],{"class":3182,"line":3381},[3180,9579,5345],{"class":3335},[3180,9581,9568],{"class":3335},[3180,9583,3347],{"class":3357},[3180,9585,3375],{"class":3350},[3180,9587,5117],{"class":3189},[3180,9589,3375],{"class":3350},[3180,9591,4076],{"class":3350},[3180,9593,3415],{"class":3350},[3180,9595,9596],{"class":3357}," waitUntil",[3180,9598,3361],{"class":3350},[3180,9600,3427],{"class":3350},[3180,9602,9603],{"class":3189},"hydration",[3180,9605,3375],{"class":3350},[3180,9607,3421],{"class":3350},[3180,9609,3395],{"class":3357},[3180,9611,9612,9614,9616,9618,9621,9623,9626,9628,9630,9633,9635,9637,9639,9642,9644,9646,9649,9651],{"class":3182,"line":3389},[3180,9613,5345],{"class":3335},[3180,9615,4669],{"class":3342},[3180,9617,3347],{"class":3357},[3180,9619,9620],{"class":3346},"page",[3180,9622,3093],{"class":3350},[3180,9624,9625],{"class":3342},"getByRole",[3180,9627,3347],{"class":3357},[3180,9629,3375],{"class":3350},[3180,9631,9632],{"class":3189},"heading",[3180,9634,3375],{"class":3350},[3180,9636,5378],{"class":3357},[3180,9638,3093],{"class":3350},[3180,9640,9641],{"class":3342},"toHaveText",[3180,9643,3347],{"class":3357},[3180,9645,3375],{"class":3350},[3180,9647,9648],{"class":3189},"Welcome to Playwright!",[3180,9650,3375],{"class":3350},[3180,9652,3395],{"class":3357},[3180,9654,9655,9657],{"class":3182,"line":3483},[3180,9656,3392],{"class":3350},[3180,9658,3395],{"class":3346},[3086,9660,9661],{},"You can alternatively configure your Nuxt server directly within your test file:",[3170,9663,9665],{"className":3325,"code":9664,"filename":9514,"language":3327,"meta":3176,"style":3176},"import { expect, test } from '@nuxt\u002Ftest-utils\u002Fplaywright'\n\ntest.use({\n  nuxt: {\n    rootDir: fileURLToPath(new URL('..', import.meta.url)),\n  },\n})\n\ntest('test', async ({ page, goto }) => {\n  await goto('\u002F', { waitUntil: 'hydration' })\n  await expect(page.getByRole('heading')).toHaveText('Welcome to Playwright!')\n})\n",[3098,9666,9667,9689,9693,9706,9715,9753,9757,9763,9767,9797,9829,9867],{"__ignoreMap":3176},[3180,9668,9669,9671,9673,9675,9677,9679,9681,9683,9685,9687],{"class":3182,"line":3183},[3180,9670,3412],{"class":3335},[3180,9672,3415],{"class":3350},[3180,9674,4669],{"class":3346},[3180,9676,4076],{"class":3350},[3180,9678,4046],{"class":3346},[3180,9680,3421],{"class":3350},[3180,9682,3424],{"class":3335},[3180,9684,3427],{"class":3350},[3180,9686,9390],{"class":3189},[3180,9688,3433],{"class":3350},[3180,9690,9691],{"class":3182,"line":3354},[3180,9692,3458],{"emptyLinePlaceholder":1208},[3180,9694,9695,9697,9699,9702,9704],{"class":3182,"line":3367},[3180,9696,1268],{"class":3346},[3180,9698,3093],{"class":3350},[3180,9700,9701],{"class":3342},"use",[3180,9703,3347],{"class":3346},[3180,9705,3351],{"class":3350},[3180,9707,9708,9711,9713],{"class":3182,"line":3381},[3180,9709,9710],{"class":3357},"  nuxt",[3180,9712,3361],{"class":3350},[3180,9714,3480],{"class":3350},[3180,9716,9717,9720,9722,9724,9726,9728,9730,9732,9734,9737,9739,9741,9743,9745,9747,9749,9751],{"class":3182,"line":3389},[3180,9718,9719],{"class":3357},"    rootDir",[3180,9721,3361],{"class":3350},[3180,9723,3893],{"class":3342},[3180,9725,3347],{"class":3346},[3180,9727,9447],{"class":3350},[3180,9729,9450],{"class":3342},[3180,9731,3347],{"class":3346},[3180,9733,3375],{"class":3350},[3180,9735,9736],{"class":3189},"..",[3180,9738,3375],{"class":3350},[3180,9740,4076],{"class":3350},[3180,9742,6649],{"class":3335},[3180,9744,3093],{"class":3350},[3180,9746,9467],{"class":3346},[3180,9748,3093],{"class":3350},[3180,9750,9472],{"class":3346},[3180,9752,3378],{"class":3350},[3180,9754,9755],{"class":3182,"line":3483},[3180,9756,3752],{"class":3350},[3180,9758,9759,9761],{"class":3182,"line":3493},[3180,9760,3392],{"class":3350},[3180,9762,3395],{"class":3346},[3180,9764,9765],{"class":3182,"line":3499},[3180,9766,3458],{"emptyLinePlaceholder":1208},[3180,9768,9769,9771,9773,9775,9777,9779,9781,9783,9785,9787,9789,9791,9793,9795],{"class":3182,"line":3509},[3180,9770,1268],{"class":3342},[3180,9772,3347],{"class":3346},[3180,9774,3375],{"class":3350},[3180,9776,1268],{"class":3189},[3180,9778,3375],{"class":3350},[3180,9780,4076],{"class":3350},[3180,9782,4820],{"class":4082},[3180,9784,9561],{"class":3350},[3180,9786,8577],{"class":5770},[3180,9788,4076],{"class":3350},[3180,9790,9568],{"class":5770},[3180,9792,9571],{"class":3350},[3180,9794,4083],{"class":4082},[3180,9796,3480],{"class":3350},[3180,9798,9799,9801,9803,9805,9807,9809,9811,9813,9815,9817,9819,9821,9823,9825,9827],{"class":3182,"line":3526},[3180,9800,5345],{"class":3335},[3180,9802,9568],{"class":3335},[3180,9804,3347],{"class":3357},[3180,9806,3375],{"class":3350},[3180,9808,5117],{"class":3189},[3180,9810,3375],{"class":3350},[3180,9812,4076],{"class":3350},[3180,9814,3415],{"class":3350},[3180,9816,9596],{"class":3357},[3180,9818,3361],{"class":3350},[3180,9820,3427],{"class":3350},[3180,9822,9603],{"class":3189},[3180,9824,3375],{"class":3350},[3180,9826,3421],{"class":3350},[3180,9828,3395],{"class":3357},[3180,9830,9831,9833,9835,9837,9839,9841,9843,9845,9847,9849,9851,9853,9855,9857,9859,9861,9863,9865],{"class":3182,"line":3549},[3180,9832,5345],{"class":3335},[3180,9834,4669],{"class":3342},[3180,9836,3347],{"class":3357},[3180,9838,9620],{"class":3346},[3180,9840,3093],{"class":3350},[3180,9842,9625],{"class":3342},[3180,9844,3347],{"class":3357},[3180,9846,3375],{"class":3350},[3180,9848,9632],{"class":3189},[3180,9850,3375],{"class":3350},[3180,9852,5378],{"class":3357},[3180,9854,3093],{"class":3350},[3180,9856,9641],{"class":3342},[3180,9858,3347],{"class":3357},[3180,9860,3375],{"class":3350},[3180,9862,9648],{"class":3189},[3180,9864,3375],{"class":3350},[3180,9866,3395],{"class":3357},[3180,9868,9869,9871],{"class":3182,"line":3566},[3180,9870,3392],{"class":3350},[3180,9872,3395],{"class":3346},[9874,9875,9876],"style",{},"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 .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 .smZ93, html code.shiki .smZ93{--shiki-light:#9C3EDA;--shiki-default:#9C3EDA;--shiki-dark:#C792EA}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 .sYRBq, html code.shiki .sYRBq{--shiki-light:#F76D47;--shiki-default:#F76D47;--shiki-dark:#F78C6C}",{"title":3176,"searchDepth":3354,"depth":3354,"links":9878},[9879,9880,9889],{"id":3117,"depth":3354,"text":24},{"id":3286,"depth":3354,"text":3287,"children":9881},[9882,9883,9884,9885,9886,9887],{"id":3307,"depth":3367,"text":3308},{"id":3820,"depth":3367,"text":3821},{"id":4109,"depth":3367,"text":4110},{"id":4436,"depth":3367,"text":4437},{"id":4608,"depth":3367,"text":4609},{"id":7287,"depth":3367,"text":9888},"Using @vue\u002Ftest-utils",{"id":7895,"depth":3354,"text":7896,"children":9890},[9891,9892,9893],{"id":7923,"depth":3367,"text":3308},{"id":8694,"depth":3367,"text":8695},{"id":9125,"depth":3367,"text":9126},"How to test your Nuxt application.","md",{},{"icon":102},{"title":99,"description":9894},"5-KXd1fjczN9XoctzX6yplwJ2jDfLeK01UZqa-3e_5M",[9901,9903],{"title":94,"path":2056,"stem":2057,"description":9902,"icon":97,"children":-1},"Learn how to deploy your Nuxt application to any hosting provider.",{"title":104,"path":2062,"stem":2063,"description":9904,"icon":107,"children":-1},"Learn how to upgrade to the latest Nuxt version.",1788337346902]