[{"data":1,"prerenderedAt":9267},["ShallowReactive",2],{"$fGCo9l1hMtNdUiA6QzdUX5X3kLqaWcC5t2kdz4LrvCvc":3,"versions":2856,"-docs-3-x-getting-started-testing":2861,"-docs-3-x-getting-started-testing-surround":9262},[4,1120,1948,2767],{"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,426,907,999,1036,1078],{"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,356,379],{"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],{"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},"Use Hooks & Extend Types","\u002Fdocs\u002F3.x\u002Fguide\u002Fmodules\u002Frecipes-advanced","docs\u002F3.x\u002F3.guide\u002F4.modules\u002F4.recipes-advanced",{"title":345,"path":346,"stem":347,"titleTemplate":6},"Test Your Module","\u002Fdocs\u002F3.x\u002Fguide\u002Fmodules\u002Ftesting","docs\u002F3.x\u002F3.guide\u002F4.modules\u002F5.testing",{"title":349,"path":350,"stem":351,"titleTemplate":6},"Follow Best Practices","\u002Fdocs\u002F3.x\u002Fguide\u002Fmodules\u002Fbest-practices","docs\u002F3.x\u002F3.guide\u002F4.modules\u002F6.best-practices",{"title":353,"path":354,"stem":355,"titleTemplate":6},"Publish & Share Your Module","\u002Fdocs\u002F3.x\u002Fguide\u002Fmodules\u002Fecosystem","docs\u002F3.x\u002F3.guide\u002F4.modules\u002F7.ecosystem",{"title":357,"titleTemplate":358,"icon":359,"path":360,"stem":361,"children":362,"page":108},"Recipes","%s · Recipes","i-lucide-cooking-pot","\u002Fdocs\u002F3.x\u002Fguide\u002Frecipes","docs\u002F3.x\u002F3.guide\u002F5.recipes",[363,367,371,375],{"title":364,"path":365,"stem":366,"titleTemplate":6},"Custom Routing","\u002Fdocs\u002F3.x\u002Fguide\u002Frecipes\u002Fcustom-routing","docs\u002F3.x\u002F3.guide\u002F5.recipes\u002F1.custom-routing",{"title":368,"path":369,"stem":370,"titleTemplate":6},"Vite Plugins","\u002Fdocs\u002F3.x\u002Fguide\u002Frecipes\u002Fvite-plugin","docs\u002F3.x\u002F3.guide\u002F5.recipes\u002F2.vite-plugin",{"title":372,"path":373,"stem":374,"titleTemplate":6},"Custom useFetch","\u002Fdocs\u002F3.x\u002Fguide\u002Frecipes\u002Fcustom-usefetch","docs\u002F3.x\u002F3.guide\u002F5.recipes\u002F3.custom-usefetch",{"title":376,"path":377,"stem":378,"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":380,"titleTemplate":381,"icon":382,"path":383,"stem":384,"children":385,"page":108},"Going Further","%s · Nuxt Advanced","i-lucide-star","\u002Fdocs\u002F3.x\u002Fguide\u002Fgoing-further","docs\u002F3.x\u002F3.guide\u002F6.going-further",[386,390,394,398,402,406,410,414,418,422],{"title":387,"path":388,"stem":389,"titleTemplate":6},"Custom Events","\u002Fdocs\u002F3.x\u002Fguide\u002Fgoing-further\u002Fevents","docs\u002F3.x\u002F3.guide\u002F6.going-further\u002F1.events",{"title":391,"path":392,"stem":393,"titleTemplate":6},"Experimental Features","\u002Fdocs\u002F3.x\u002Fguide\u002Fgoing-further\u002Fexperimental-features","docs\u002F3.x\u002F3.guide\u002F6.going-further\u002F1.experimental-features",{"title":395,"path":396,"stem":397,"titleTemplate":6},"Features","\u002Fdocs\u002F3.x\u002Fguide\u002Fgoing-further\u002Ffeatures","docs\u002F3.x\u002F3.guide\u002F6.going-further\u002F1.features",{"title":399,"path":400,"stem":401,"titleTemplate":6},"Runtime Config","\u002Fdocs\u002F3.x\u002Fguide\u002Fgoing-further\u002Fruntime-config","docs\u002F3.x\u002F3.guide\u002F6.going-further\u002F10.runtime-config",{"title":403,"path":404,"stem":405,"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":407,"path":408,"stem":409,"titleTemplate":6},"Lifecycle Hooks","\u002Fdocs\u002F3.x\u002Fguide\u002Fgoing-further\u002Fhooks","docs\u002F3.x\u002F3.guide\u002F6.going-further\u002F2.hooks",{"title":411,"path":412,"stem":413,"titleTemplate":6},"Nuxt Kit","\u002Fdocs\u002F3.x\u002Fguide\u002Fgoing-further\u002Fkit","docs\u002F3.x\u002F3.guide\u002F6.going-further\u002F4.kit",{"title":415,"path":416,"stem":417,"titleTemplate":6},"NuxtApp","\u002Fdocs\u002F3.x\u002Fguide\u002Fgoing-further\u002Fnuxt-app","docs\u002F3.x\u002F3.guide\u002F6.going-further\u002F6.nuxt-app",{"title":419,"path":420,"stem":421,"titleTemplate":6},"Authoring Nuxt Layers","\u002Fdocs\u002F3.x\u002Fguide\u002Fgoing-further\u002Flayers","docs\u002F3.x\u002F3.guide\u002F6.going-further\u002F7.layers",{"title":423,"path":424,"stem":425,"titleTemplate":6},"Debugging","\u002Fdocs\u002F3.x\u002Fguide\u002Fgoing-further\u002Fdebugging","docs\u002F3.x\u002F3.guide\u002F6.going-further\u002F9.debugging",{"title":427,"titleTemplate":428,"icon":429,"path":430,"stem":431,"children":432,"page":108},"API","%s · Nuxt API","i-lucide-code-xml","\u002Fdocs\u002F3.x\u002Fapi","docs\u002F3.x\u002F4.api",[433,499,622,745,816,889,902],{"title":434,"titleTemplate":435,"icon":324,"path":436,"stem":437,"children":438,"page":108},"Components","%s · Nuxt Components","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomponents","docs\u002F3.x\u002F4.api\u002F1.components",[439,443,447,451,455,459,463,467,471,475,479,483,487,491,495],{"title":440,"path":441,"stem":442,"titleTemplate":6},"\u003CClientOnly>","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomponents\u002Fclient-only","docs\u002F3.x\u002F4.api\u002F1.components\u002F1.client-only",{"title":444,"path":445,"stem":446,"titleTemplate":6},"\u003CDevOnly>","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomponents\u002Fdev-only","docs\u002F3.x\u002F4.api\u002F1.components\u002F1.dev-only",{"title":448,"path":449,"stem":450,"titleTemplate":6},"\u003CNuxtClientFallback>","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomponents\u002Fnuxt-client-fallback","docs\u002F3.x\u002F4.api\u002F1.components\u002F1.nuxt-client-fallback",{"title":452,"path":453,"stem":454,"titleTemplate":6},"\u003CNuxtPicture>","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomponents\u002Fnuxt-picture","docs\u002F3.x\u002F4.api\u002F1.components\u002F10.nuxt-picture",{"title":456,"path":457,"stem":458,"titleTemplate":6},"\u003CTeleport>","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomponents\u002Fteleports","docs\u002F3.x\u002F4.api\u002F1.components\u002F11.teleports",{"title":460,"path":461,"stem":462,"titleTemplate":6},"\u003CNuxtRouteAnnouncer>","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomponents\u002Fnuxt-route-announcer","docs\u002F3.x\u002F4.api\u002F1.components\u002F12.nuxt-route-announcer",{"title":464,"path":465,"stem":466,"titleTemplate":6},"\u003CNuxtTime>","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomponents\u002Fnuxt-time","docs\u002F3.x\u002F4.api\u002F1.components\u002F13.nuxt-time",{"title":468,"path":469,"stem":470,"titleTemplate":6},"\u003CNuxtPage>","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomponents\u002Fnuxt-page","docs\u002F3.x\u002F4.api\u002F1.components\u002F2.nuxt-page",{"title":472,"path":473,"stem":474,"titleTemplate":6},"\u003CNuxtLayout>","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomponents\u002Fnuxt-layout","docs\u002F3.x\u002F4.api\u002F1.components\u002F3.nuxt-layout",{"title":476,"path":477,"stem":478,"titleTemplate":6},"\u003CNuxtLink>","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomponents\u002Fnuxt-link","docs\u002F3.x\u002F4.api\u002F1.components\u002F4.nuxt-link",{"title":480,"path":481,"stem":482,"titleTemplate":6},"\u003CNuxtLoadingIndicator>","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomponents\u002Fnuxt-loading-indicator","docs\u002F3.x\u002F4.api\u002F1.components\u002F5.nuxt-loading-indicator",{"title":484,"path":485,"stem":486,"titleTemplate":6},"\u003CNuxtErrorBoundary>","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomponents\u002Fnuxt-error-boundary","docs\u002F3.x\u002F4.api\u002F1.components\u002F6.nuxt-error-boundary",{"title":488,"path":489,"stem":490,"titleTemplate":6},"\u003CNuxtWelcome>","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomponents\u002Fnuxt-welcome","docs\u002F3.x\u002F4.api\u002F1.components\u002F7.nuxt-welcome",{"title":492,"path":493,"stem":494,"titleTemplate":6},"\u003CNuxtIsland>","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomponents\u002Fnuxt-island","docs\u002F3.x\u002F4.api\u002F1.components\u002F8.nuxt-island",{"title":496,"path":497,"stem":498,"titleTemplate":6},"\u003CNuxtImg>","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomponents\u002Fnuxt-img","docs\u002F3.x\u002F4.api\u002F1.components\u002F9.nuxt-img",{"title":500,"titleTemplate":501,"icon":502,"path":503,"stem":504,"children":505,"page":108},"Composables","%s · Nuxt Composables","i-lucide-arrow-left-right","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables","docs\u002F3.x\u002F4.api\u002F2.composables",[506,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],{"title":507,"path":508,"stem":509,"titleTemplate":6},"onPrehydrate","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fon-prehydrate","docs\u002F3.x\u002F4.api\u002F2.composables\u002Fon-prehydrate",{"title":511,"path":512,"stem":513,"titleTemplate":6},"useAppConfig","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-app-config","docs\u002F3.x\u002F4.api\u002F2.composables\u002Fuse-app-config",{"title":515,"path":516,"stem":517,"titleTemplate":6},"useAsyncData","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-async-data","docs\u002F3.x\u002F4.api\u002F2.composables\u002Fuse-async-data",{"title":519,"path":520,"stem":521,"titleTemplate":6},"useCookie","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-cookie","docs\u002F3.x\u002F4.api\u002F2.composables\u002Fuse-cookie",{"title":523,"path":524,"stem":525,"titleTemplate":6},"useError","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-error","docs\u002F3.x\u002F4.api\u002F2.composables\u002Fuse-error",{"title":527,"path":528,"stem":529,"titleTemplate":6},"useFetch","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-fetch","docs\u002F3.x\u002F4.api\u002F2.composables\u002Fuse-fetch",{"title":531,"path":532,"stem":533,"titleTemplate":6},"useHead","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-head","docs\u002F3.x\u002F4.api\u002F2.composables\u002Fuse-head",{"title":535,"path":536,"stem":537,"titleTemplate":6},"useHeadSafe","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-head-safe","docs\u002F3.x\u002F4.api\u002F2.composables\u002Fuse-head-safe",{"title":539,"path":540,"stem":541,"titleTemplate":6},"useHydration","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-hydration","docs\u002F3.x\u002F4.api\u002F2.composables\u002Fuse-hydration",{"title":543,"path":544,"stem":545,"titleTemplate":6},"useLazyAsyncData","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-lazy-async-data","docs\u002F3.x\u002F4.api\u002F2.composables\u002Fuse-lazy-async-data",{"title":547,"path":548,"stem":549,"titleTemplate":6},"useLazyFetch","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-lazy-fetch","docs\u002F3.x\u002F4.api\u002F2.composables\u002Fuse-lazy-fetch",{"title":551,"path":552,"stem":553,"titleTemplate":6},"useLoadingIndicator","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-loading-indicator","docs\u002F3.x\u002F4.api\u002F2.composables\u002Fuse-loading-indicator",{"title":555,"path":556,"stem":557,"titleTemplate":6},"useNuxtApp","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-nuxt-app","docs\u002F3.x\u002F4.api\u002F2.composables\u002Fuse-nuxt-app",{"title":559,"path":560,"stem":561,"titleTemplate":6},"useNuxtData","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-nuxt-data","docs\u002F3.x\u002F4.api\u002F2.composables\u002Fuse-nuxt-data",{"title":563,"path":564,"stem":565,"titleTemplate":6},"usePreviewMode","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-preview-mode","docs\u002F3.x\u002F4.api\u002F2.composables\u002Fuse-preview-mode",{"title":567,"path":568,"stem":569,"titleTemplate":6},"useRequestEvent","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-request-event","docs\u002F3.x\u002F4.api\u002F2.composables\u002Fuse-request-event",{"title":571,"path":572,"stem":573,"titleTemplate":6},"useRequestFetch","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-request-fetch","docs\u002F3.x\u002F4.api\u002F2.composables\u002Fuse-request-fetch",{"title":575,"path":576,"stem":577,"titleTemplate":6},"useRequestHeader","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-request-header","docs\u002F3.x\u002F4.api\u002F2.composables\u002Fuse-request-header",{"title":579,"path":580,"stem":581,"titleTemplate":6},"useRequestHeaders","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-request-headers","docs\u002F3.x\u002F4.api\u002F2.composables\u002Fuse-request-headers",{"title":583,"path":584,"stem":585,"titleTemplate":6},"useRequestURL","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-request-url","docs\u002F3.x\u002F4.api\u002F2.composables\u002Fuse-request-url",{"title":587,"path":588,"stem":589,"titleTemplate":6},"useResponseHeader","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-response-header","docs\u002F3.x\u002F4.api\u002F2.composables\u002Fuse-response-header",{"title":591,"path":592,"stem":593,"titleTemplate":6},"useRoute","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-route","docs\u002F3.x\u002F4.api\u002F2.composables\u002Fuse-route",{"title":595,"path":596,"stem":597,"titleTemplate":6},"useRouteAnnouncer","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-route-announcer","docs\u002F3.x\u002F4.api\u002F2.composables\u002Fuse-route-announcer",{"title":599,"path":600,"stem":601,"titleTemplate":6},"useRouter","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-router","docs\u002F3.x\u002F4.api\u002F2.composables\u002Fuse-router",{"title":603,"path":604,"stem":605,"titleTemplate":6},"useRuntimeConfig","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-runtime-config","docs\u002F3.x\u002F4.api\u002F2.composables\u002Fuse-runtime-config",{"title":607,"path":608,"stem":609,"titleTemplate":6},"useRuntimeHook","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-runtime-hook","docs\u002F3.x\u002F4.api\u002F2.composables\u002Fuse-runtime-hook",{"title":611,"path":612,"stem":613,"titleTemplate":6},"useSeoMeta","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-seo-meta","docs\u002F3.x\u002F4.api\u002F2.composables\u002Fuse-seo-meta",{"title":615,"path":616,"stem":617,"titleTemplate":6},"useServerSeoMeta","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-server-seo-meta","docs\u002F3.x\u002F4.api\u002F2.composables\u002Fuse-server-seo-meta",{"title":619,"path":620,"stem":621,"titleTemplate":6},"useState","\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-state","docs\u002F3.x\u002F4.api\u002F2.composables\u002Fuse-state",{"title":623,"titleTemplate":624,"icon":625,"path":626,"stem":627,"children":628,"page":108},"Utils","%s · Nuxt Utils","i-lucide-square-function","\u002Fdocs\u002F3.x\u002Fapi\u002Futils","docs\u002F3.x\u002F4.api\u002F3.utils",[629,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],{"title":630,"path":631,"stem":632,"titleTemplate":6},"$fetch","\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Fdollarfetch","docs\u002F3.x\u002F4.api\u002F3.utils\u002F$fetch",{"title":634,"path":635,"stem":636,"titleTemplate":6},"abortNavigation","\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Fabort-navigation","docs\u002F3.x\u002F4.api\u002F3.utils\u002Fabort-navigation",{"title":638,"path":639,"stem":640,"titleTemplate":6},"addRouteMiddleware","\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Fadd-route-middleware","docs\u002F3.x\u002F4.api\u002F3.utils\u002Fadd-route-middleware",{"title":642,"path":643,"stem":644,"titleTemplate":6},"callOnce","\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Fcall-once","docs\u002F3.x\u002F4.api\u002F3.utils\u002Fcall-once",{"title":646,"path":647,"stem":648,"titleTemplate":6},"clearError","\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Fclear-error","docs\u002F3.x\u002F4.api\u002F3.utils\u002Fclear-error",{"title":650,"path":651,"stem":652,"titleTemplate":6},"clearNuxtData","\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Fclear-nuxt-data","docs\u002F3.x\u002F4.api\u002F3.utils\u002Fclear-nuxt-data",{"title":654,"path":655,"stem":656,"titleTemplate":6},"clearNuxtState","\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Fclear-nuxt-state","docs\u002F3.x\u002F4.api\u002F3.utils\u002Fclear-nuxt-state",{"title":658,"path":659,"stem":660,"titleTemplate":6},"createError","\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Fcreate-error","docs\u002F3.x\u002F4.api\u002F3.utils\u002Fcreate-error",{"title":662,"path":663,"stem":664,"titleTemplate":6},"defineLazyHydrationComponent","\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Fdefine-lazy-hydration-component","docs\u002F3.x\u002F4.api\u002F3.utils\u002Fdefine-lazy-hydration-component",{"title":666,"path":667,"stem":668,"titleTemplate":6},"defineNuxtComponent","\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Fdefine-nuxt-component","docs\u002F3.x\u002F4.api\u002F3.utils\u002Fdefine-nuxt-component",{"title":670,"path":671,"stem":672,"titleTemplate":6},"defineNuxtPlugin","\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Fdefine-nuxt-plugin","docs\u002F3.x\u002F4.api\u002F3.utils\u002Fdefine-nuxt-plugin",{"title":674,"path":675,"stem":676,"titleTemplate":6},"defineNuxtRouteMiddleware","\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Fdefine-nuxt-route-middleware","docs\u002F3.x\u002F4.api\u002F3.utils\u002Fdefine-nuxt-route-middleware",{"title":678,"path":679,"stem":680,"titleTemplate":6},"definePageMeta","\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Fdefine-page-meta","docs\u002F3.x\u002F4.api\u002F3.utils\u002Fdefine-page-meta",{"title":682,"path":683,"stem":684,"titleTemplate":6},"defineRouteRules","\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Fdefine-route-rules","docs\u002F3.x\u002F4.api\u002F3.utils\u002Fdefine-route-rules",{"title":686,"path":687,"stem":688,"titleTemplate":6},"navigateTo","\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Fnavigate-to","docs\u002F3.x\u002F4.api\u002F3.utils\u002Fnavigate-to",{"title":690,"path":691,"stem":692,"titleTemplate":6},"onBeforeRouteLeave","\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Fon-before-route-leave","docs\u002F3.x\u002F4.api\u002F3.utils\u002Fon-before-route-leave",{"title":694,"path":695,"stem":696,"titleTemplate":6},"onBeforeRouteUpdate","\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Fon-before-route-update","docs\u002F3.x\u002F4.api\u002F3.utils\u002Fon-before-route-update",{"title":698,"path":699,"stem":700,"titleTemplate":6},"onNuxtReady","\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Fon-nuxt-ready","docs\u002F3.x\u002F4.api\u002F3.utils\u002Fon-nuxt-ready",{"title":702,"path":703,"stem":704,"titleTemplate":6},"prefetchComponents","\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Fprefetch-components","docs\u002F3.x\u002F4.api\u002F3.utils\u002Fprefetch-components",{"title":706,"path":707,"stem":708,"titleTemplate":6},"preloadComponents","\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Fpreload-components","docs\u002F3.x\u002F4.api\u002F3.utils\u002Fpreload-components",{"title":710,"path":711,"stem":712,"titleTemplate":6},"preloadRouteComponents","\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Fpreload-route-components","docs\u002F3.x\u002F4.api\u002F3.utils\u002Fpreload-route-components",{"title":714,"path":715,"stem":716,"titleTemplate":6},"prerenderRoutes","\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Fprerender-routes","docs\u002F3.x\u002F4.api\u002F3.utils\u002Fprerender-routes",{"title":718,"path":719,"stem":720,"titleTemplate":6},"refreshCookie","\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Frefresh-cookie","docs\u002F3.x\u002F4.api\u002F3.utils\u002Frefresh-cookie",{"title":722,"path":723,"stem":724,"titleTemplate":6},"refreshNuxtData","\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Frefresh-nuxt-data","docs\u002F3.x\u002F4.api\u002F3.utils\u002Frefresh-nuxt-data",{"title":726,"path":727,"stem":728,"titleTemplate":6},"reloadNuxtApp","\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Freload-nuxt-app","docs\u002F3.x\u002F4.api\u002F3.utils\u002Freload-nuxt-app",{"title":730,"path":731,"stem":732,"titleTemplate":6},"setPageLayout","\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Fset-page-layout","docs\u002F3.x\u002F4.api\u002F3.utils\u002Fset-page-layout",{"title":734,"path":735,"stem":736,"titleTemplate":6},"setResponseStatus","\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Fset-response-status","docs\u002F3.x\u002F4.api\u002F3.utils\u002Fset-response-status",{"title":738,"path":739,"stem":740,"titleTemplate":6},"showError","\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Fshow-error","docs\u002F3.x\u002F4.api\u002F3.utils\u002Fshow-error",{"title":742,"path":743,"stem":744,"titleTemplate":6},"updateAppConfig","\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Fupdate-app-config","docs\u002F3.x\u002F4.api\u002F3.utils\u002Fupdate-app-config",{"title":746,"titleTemplate":747,"icon":748,"path":749,"stem":750,"children":751,"page":108},"Commands","%s · Nuxt Commands","i-lucide-square-terminal","\u002Fdocs\u002F3.x\u002Fapi\u002Fcommands","docs\u002F3.x\u002F4.api\u002F4.commands",[752,756,760,764,768,772,776,780,784,788,792,796,800,804,808,812],{"title":753,"path":754,"stem":755,"titleTemplate":6},"nuxt add","\u002Fdocs\u002F3.x\u002Fapi\u002Fcommands\u002Fadd","docs\u002F3.x\u002F4.api\u002F4.commands\u002Fadd",{"title":757,"path":758,"stem":759,"titleTemplate":6},"nuxt analyze","\u002Fdocs\u002F3.x\u002Fapi\u002Fcommands\u002Fanalyze","docs\u002F3.x\u002F4.api\u002F4.commands\u002Fanalyze",{"title":761,"path":762,"stem":763,"titleTemplate":6},"nuxt build","\u002Fdocs\u002F3.x\u002Fapi\u002Fcommands\u002Fbuild","docs\u002F3.x\u002F4.api\u002F4.commands\u002Fbuild",{"title":765,"path":766,"stem":767,"titleTemplate":6},"nuxt build-module","\u002Fdocs\u002F3.x\u002Fapi\u002Fcommands\u002Fbuild-module","docs\u002F3.x\u002F4.api\u002F4.commands\u002Fbuild-module",{"title":769,"path":770,"stem":771,"titleTemplate":6},"nuxt cleanup","\u002Fdocs\u002F3.x\u002Fapi\u002Fcommands\u002Fcleanup","docs\u002F3.x\u002F4.api\u002F4.commands\u002Fcleanup",{"title":773,"path":774,"stem":775,"titleTemplate":6},"nuxt dev","\u002Fdocs\u002F3.x\u002Fapi\u002Fcommands\u002Fdev","docs\u002F3.x\u002F4.api\u002F4.commands\u002Fdev",{"title":777,"path":778,"stem":779,"titleTemplate":6},"nuxt devtools","\u002Fdocs\u002F3.x\u002Fapi\u002Fcommands\u002Fdevtools","docs\u002F3.x\u002F4.api\u002F4.commands\u002Fdevtools",{"title":781,"path":782,"stem":783,"titleTemplate":6},"nuxt generate","\u002Fdocs\u002F3.x\u002Fapi\u002Fcommands\u002Fgenerate","docs\u002F3.x\u002F4.api\u002F4.commands\u002Fgenerate",{"title":785,"path":786,"stem":787,"titleTemplate":6},"nuxt info","\u002Fdocs\u002F3.x\u002Fapi\u002Fcommands\u002Finfo","docs\u002F3.x\u002F4.api\u002F4.commands\u002Finfo",{"title":789,"path":790,"stem":791,"titleTemplate":6},"create nuxt","\u002Fdocs\u002F3.x\u002Fapi\u002Fcommands\u002Finit","docs\u002F3.x\u002F4.api\u002F4.commands\u002Finit",{"title":793,"path":794,"stem":795,"titleTemplate":6},"nuxt module","\u002Fdocs\u002F3.x\u002Fapi\u002Fcommands\u002Fmodule","docs\u002F3.x\u002F4.api\u002F4.commands\u002Fmodule",{"title":797,"path":798,"stem":799,"titleTemplate":6},"nuxt prepare","\u002Fdocs\u002F3.x\u002Fapi\u002Fcommands\u002Fprepare","docs\u002F3.x\u002F4.api\u002F4.commands\u002Fprepare",{"title":801,"path":802,"stem":803,"titleTemplate":6},"nuxt preview","\u002Fdocs\u002F3.x\u002Fapi\u002Fcommands\u002Fpreview","docs\u002F3.x\u002F4.api\u002F4.commands\u002Fpreview",{"title":805,"path":806,"stem":807,"titleTemplate":6},"nuxt test","\u002Fdocs\u002F3.x\u002Fapi\u002Fcommands\u002Ftest","docs\u002F3.x\u002F4.api\u002F4.commands\u002Ftest",{"title":809,"path":810,"stem":811,"titleTemplate":6},"nuxt typecheck","\u002Fdocs\u002F3.x\u002Fapi\u002Fcommands\u002Ftypecheck","docs\u002F3.x\u002F4.api\u002F4.commands\u002Ftypecheck",{"title":813,"path":814,"stem":815,"titleTemplate":6},"nuxt upgrade","\u002Fdocs\u002F3.x\u002Fapi\u002Fcommands\u002Fupgrade","docs\u002F3.x\u002F4.api\u002F4.commands\u002Fupgrade",{"title":411,"titleTemplate":817,"icon":818,"path":819,"stem":820,"children":821,"page":108},"%s · Nuxt Kit","i-lucide-package","\u002Fdocs\u002F3.x\u002Fapi\u002Fkit","docs\u002F3.x\u002F4.api\u002F5.kit",[822,825,828,832,836,840,844,848,852,855,859,863,866,869,873,877,881,885],{"title":276,"path":823,"stem":824,"titleTemplate":6},"\u002Fdocs\u002F3.x\u002Fapi\u002Fkit\u002Fmodules","docs\u002F3.x\u002F4.api\u002F5.kit\u002F1.modules",{"title":399,"path":826,"stem":827,"titleTemplate":6},"\u002Fdocs\u002F3.x\u002Fapi\u002Fkit\u002Fruntime-config","docs\u002F3.x\u002F4.api\u002F5.kit\u002F10.runtime-config",{"title":829,"path":830,"stem":831,"titleTemplate":6},"Templates","\u002Fdocs\u002F3.x\u002Fapi\u002Fkit\u002Ftemplates","docs\u002F3.x\u002F4.api\u002F5.kit\u002F10.templates",{"title":833,"path":834,"stem":835,"titleTemplate":6},"Nitro","\u002Fdocs\u002F3.x\u002Fapi\u002Fkit\u002Fnitro","docs\u002F3.x\u002F4.api\u002F5.kit\u002F11.nitro",{"title":837,"path":838,"stem":839,"titleTemplate":6},"Resolving","\u002Fdocs\u002F3.x\u002Fapi\u002Fkit\u002Fresolving","docs\u002F3.x\u002F4.api\u002F5.kit\u002F12.resolving",{"title":841,"path":842,"stem":843,"titleTemplate":6},"Logging","\u002Fdocs\u002F3.x\u002Fapi\u002Fkit\u002Flogging","docs\u002F3.x\u002F4.api\u002F5.kit\u002F13.logging",{"title":845,"path":846,"stem":847,"titleTemplate":6},"Builder","\u002Fdocs\u002F3.x\u002Fapi\u002Fkit\u002Fbuilder","docs\u002F3.x\u002F4.api\u002F5.kit\u002F14.builder",{"title":849,"path":850,"stem":851,"titleTemplate":6},"Examples","\u002Fdocs\u002F3.x\u002Fapi\u002Fkit\u002Fexamples","docs\u002F3.x\u002F4.api\u002F5.kit\u002F15.examples",{"title":84,"path":853,"stem":854,"titleTemplate":6},"\u002Fdocs\u002F3.x\u002Fapi\u002Fkit\u002Flayers","docs\u002F3.x\u002F4.api\u002F5.kit\u002F16.layers",{"title":856,"path":857,"stem":858,"titleTemplate":6},"Programmatic Usage","\u002Fdocs\u002F3.x\u002Fapi\u002Fkit\u002Fprogrammatic","docs\u002F3.x\u002F4.api\u002F5.kit\u002F2.programmatic",{"title":860,"path":861,"stem":862,"titleTemplate":6},"Compatibility","\u002Fdocs\u002F3.x\u002Fapi\u002Fkit\u002Fcompatibility","docs\u002F3.x\u002F4.api\u002F5.kit\u002F3.compatibility",{"title":268,"path":864,"stem":865,"titleTemplate":6},"\u002Fdocs\u002F3.x\u002Fapi\u002Fkit\u002Fautoimports","docs\u002F3.x\u002F4.api\u002F5.kit\u002F4.autoimports",{"title":434,"path":867,"stem":868,"titleTemplate":6},"\u002Fdocs\u002F3.x\u002Fapi\u002Fkit\u002Fcomponents","docs\u002F3.x\u002F4.api\u002F5.kit\u002F5.components",{"title":870,"path":871,"stem":872,"titleTemplate":6},"Context","\u002Fdocs\u002F3.x\u002Fapi\u002Fkit\u002Fcontext","docs\u002F3.x\u002F4.api\u002F5.kit\u002F6.context",{"title":874,"path":875,"stem":876,"titleTemplate":6},"Pages","\u002Fdocs\u002F3.x\u002Fapi\u002Fkit\u002Fpages","docs\u002F3.x\u002F4.api\u002F5.kit\u002F7.pages",{"title":878,"path":879,"stem":880,"titleTemplate":6},"Layout","\u002Fdocs\u002F3.x\u002Fapi\u002Fkit\u002Flayout","docs\u002F3.x\u002F4.api\u002F5.kit\u002F8.layout",{"title":882,"path":883,"stem":884,"titleTemplate":6},"Head","\u002Fdocs\u002F3.x\u002Fapi\u002Fkit\u002Fhead","docs\u002F3.x\u002F4.api\u002F5.kit\u002F9.head",{"title":886,"path":887,"stem":888,"titleTemplate":6},"Plugins","\u002Fdocs\u002F3.x\u002Fapi\u002Fkit\u002Fplugins","docs\u002F3.x\u002F4.api\u002F5.kit\u002F9.plugins",{"title":890,"titleTemplate":6,"icon":891,"path":892,"stem":893,"children":894,"page":108},"Advanced","i-lucide-brain","\u002Fdocs\u002F3.x\u002Fapi\u002Fadvanced","docs\u002F3.x\u002F4.api\u002F6.advanced",[895,898],{"title":407,"path":896,"stem":897,"titleTemplate":6},"\u002Fdocs\u002F3.x\u002Fapi\u002Fadvanced\u002Fhooks","docs\u002F3.x\u002F4.api\u002F6.advanced\u002F1.hooks",{"title":899,"path":900,"stem":901,"titleTemplate":6},"Import meta","\u002Fdocs\u002F3.x\u002Fapi\u002Fadvanced\u002Fimport-meta","docs\u002F3.x\u002F4.api\u002F6.advanced\u002F2.import-meta",{"title":903,"path":904,"stem":905,"titleTemplate":906,"icon":32},"Nuxt Configuration","\u002Fdocs\u002F3.x\u002Fapi\u002Fnuxt-config","docs\u002F3.x\u002F4.api\u002F6.nuxt-config","%s",{"title":849,"titleTemplate":908,"icon":909,"path":910,"stem":911,"children":912,"page":108},"%s · Nuxt Examples","i-lucide-app-window-mac","\u002Fdocs\u002F3.x\u002Fexamples","docs\u002F3.x\u002F4.examples",[913,917,939,954,990],{"title":914,"path":915,"stem":916,"titleTemplate":6},"Hello World","\u002Fdocs\u002F3.x\u002Fexamples\u002Fhello-world","docs\u002F3.x\u002F4.examples\u002F0.hello-world",{"title":395,"path":918,"stem":919,"children":920,"page":108},"\u002Fdocs\u002F3.x\u002Fexamples\u002Ffeatures","docs\u002F3.x\u002F4.examples\u002F1.features",[921,925,928,931,935],{"title":922,"path":923,"stem":924,"titleTemplate":6},"Auto Imports","\u002Fdocs\u002F3.x\u002Fexamples\u002Ffeatures\u002Fauto-imports","docs\u002F3.x\u002F4.examples\u002F1.features\u002F1.auto-imports",{"title":64,"path":926,"stem":927,"titleTemplate":6},"\u002Fdocs\u002F3.x\u002Fexamples\u002Ffeatures\u002Fdata-fetching","docs\u002F3.x\u002F4.examples\u002F1.features\u002F2.data-fetching",{"title":69,"path":929,"stem":930,"titleTemplate":6},"\u002Fdocs\u002F3.x\u002Fexamples\u002Ffeatures\u002Fstate-management","docs\u002F3.x\u002F4.examples\u002F1.features\u002F3.state-management",{"title":932,"path":933,"stem":934,"titleTemplate":6},"Meta Tags","\u002Fdocs\u002F3.x\u002Fexamples\u002Ffeatures\u002Fmeta-tags","docs\u002F3.x\u002F4.examples\u002F1.features\u002F4.meta-tags",{"title":936,"path":937,"stem":938,"titleTemplate":6},"Layouts","\u002Fdocs\u002F3.x\u002Fexamples\u002Ffeatures\u002Flayouts","docs\u002F3.x\u002F4.examples\u002F1.features\u002F5.layouts",{"title":49,"path":940,"stem":941,"children":942,"page":108},"\u002Fdocs\u002F3.x\u002Fexamples\u002Frouting","docs\u002F3.x\u002F4.examples\u002F2.routing",[943,947,950],{"title":944,"path":945,"stem":946,"titleTemplate":6},"Middleware","\u002Fdocs\u002F3.x\u002Fexamples\u002Frouting\u002Fmiddleware","docs\u002F3.x\u002F4.examples\u002F2.routing\u002Fmiddleware",{"title":874,"path":948,"stem":949,"titleTemplate":6},"\u002Fdocs\u002F3.x\u002Fexamples\u002Frouting\u002Fpages","docs\u002F3.x\u002F4.examples\u002F2.routing\u002Fpages",{"title":951,"path":952,"stem":953,"titleTemplate":6},"Universal Router","\u002Fdocs\u002F3.x\u002Fexamples\u002Frouting\u002Funiversal-router","docs\u002F3.x\u002F4.examples\u002F2.routing\u002Funiversal-router",{"title":890,"path":955,"stem":956,"children":957,"page":108},"\u002Fdocs\u002F3.x\u002Fexamples\u002Fadvanced","docs\u002F3.x\u002F4.examples\u002F4.advanced",[958,961,964,968,972,976,980,983,986],{"title":84,"path":959,"stem":960,"titleTemplate":6},"\u002Fdocs\u002F3.x\u002Fexamples\u002Fadvanced\u002Fconfig-extends","docs\u002F3.x\u002F4.examples\u002F4.advanced\u002Fconfig-extends",{"title":74,"path":962,"stem":963,"titleTemplate":6},"\u002Fdocs\u002F3.x\u002Fexamples\u002Fadvanced\u002Ferror-handling","docs\u002F3.x\u002F4.examples\u002F4.advanced\u002Ferror-handling",{"title":965,"path":966,"stem":967,"titleTemplate":6},"JSX \u002F TSX","\u002Fdocs\u002F3.x\u002Fexamples\u002Fadvanced\u002Fjsx","docs\u002F3.x\u002F4.examples\u002F4.advanced\u002Fjsx",{"title":969,"path":970,"stem":971,"titleTemplate":6},"Locale","\u002Fdocs\u002F3.x\u002Fexamples\u002Fadvanced\u002Flocale","docs\u002F3.x\u002F4.examples\u002F4.advanced\u002Flocale",{"title":973,"path":974,"stem":975,"titleTemplate":6},"Module Extend Pages","\u002Fdocs\u002F3.x\u002Fexamples\u002Fadvanced\u002Fmodule-extend-pages","docs\u002F3.x\u002F4.examples\u002F4.advanced\u002Fmodule-extend-pages",{"title":977,"path":978,"stem":979,"titleTemplate":6},"Teleport","\u002Fdocs\u002F3.x\u002Fexamples\u002Fadvanced\u002Fteleport","docs\u002F3.x\u002F4.examples\u002F4.advanced\u002Fteleport",{"title":99,"path":981,"stem":982,"titleTemplate":6},"\u002Fdocs\u002F3.x\u002Fexamples\u002Fadvanced\u002Ftesting","docs\u002F3.x\u002F4.examples\u002F4.advanced\u002Ftesting",{"title":519,"path":984,"stem":985,"titleTemplate":6},"\u002Fdocs\u002F3.x\u002Fexamples\u002Fadvanced\u002Fuse-cookie","docs\u002F3.x\u002F4.examples\u002F4.advanced\u002Fuse-cookie",{"title":987,"path":988,"stem":989,"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":991,"path":992,"stem":993,"children":994,"page":108},"Experimental","\u002Fdocs\u002F3.x\u002Fexamples\u002Fexperimental","docs\u002F3.x\u002F4.examples\u002F7.experimental",[995],{"title":996,"path":997,"stem":998,"titleTemplate":6},"WASM","\u002Fdocs\u002F3.x\u002Fexamples\u002Fexperimental\u002Fwasm","docs\u002F3.x\u002F4.examples\u002F7.experimental\u002Fwasm",{"title":1000,"titleTemplate":1001,"icon":1002,"path":1003,"stem":1004,"children":1005,"page":108},"Community","%s · Nuxt Community","i-lucide-messages-square","\u002Fdocs\u002F3.x\u002Fcommunity","docs\u002F3.x\u002F5.community",[1006,1011,1016,1021,1026,1031],{"title":1007,"path":1008,"stem":1009,"titleTemplate":6,"icon":1010},"Getting Help","\u002Fdocs\u002F3.x\u002Fcommunity\u002Fgetting-help","docs\u002F3.x\u002F5.community\u002F2.getting-help","i-lucide-life-buoy",{"title":1012,"path":1013,"stem":1014,"titleTemplate":6,"icon":1015},"Reporting Bugs","\u002Fdocs\u002F3.x\u002Fcommunity\u002Freporting-bugs","docs\u002F3.x\u002F5.community\u002F3.reporting-bugs","i-lucide-bug",{"title":1017,"path":1018,"stem":1019,"titleTemplate":6,"icon":1020},"Contribution","\u002Fdocs\u002F3.x\u002Fcommunity\u002Fcontribution","docs\u002F3.x\u002F5.community\u002F4.contribution","i-lucide-git-pull-request",{"title":1022,"path":1023,"stem":1024,"titleTemplate":6,"icon":1025},"Framework","\u002Fdocs\u002F3.x\u002Fcommunity\u002Fframework-contribution","docs\u002F3.x\u002F5.community\u002F5.framework-contribution","i-lucide-github",{"title":1027,"path":1028,"stem":1029,"titleTemplate":6,"icon":1030},"Roadmap","\u002Fdocs\u002F3.x\u002Fcommunity\u002Froadmap","docs\u002F3.x\u002F5.community\u002F6.roadmap","i-lucide-map",{"title":1032,"path":1033,"stem":1034,"titleTemplate":6,"icon":1035},"Releases","\u002Fdocs\u002F3.x\u002Fcommunity\u002Fchangelog","docs\u002F3.x\u002F5.community\u002F7.changelog","i-lucide-bell-dot",{"title":1037,"titleTemplate":1038,"icon":1039,"path":1040,"stem":1041,"children":1042,"page":108},"Migrate to Nuxt Bridge","Migrate to Nuxt Bridge: %s","i-lucide-ship","\u002Fdocs\u002F3.x\u002Fbridge","docs\u002F3.x\u002F6.bridge",[1043,1047,1050,1053,1057,1061,1065,1068,1071,1074],{"title":1044,"path":1045,"stem":1046,"titleTemplate":6},"Overview","\u002Fdocs\u002F3.x\u002Fbridge\u002Foverview","docs\u002F3.x\u002F6.bridge\u002F1.overview",{"title":29,"path":1048,"stem":1049,"titleTemplate":6},"\u002Fdocs\u002F3.x\u002Fbridge\u002Fconfiguration","docs\u002F3.x\u002F6.bridge\u002F10.configuration",{"title":280,"path":1051,"stem":1052,"titleTemplate":6},"\u002Fdocs\u002F3.x\u002Fbridge\u002Ftypescript","docs\u002F3.x\u002F6.bridge\u002F2.typescript",{"title":1054,"path":1055,"stem":1056,"titleTemplate":6},"Legacy Composition API","\u002Fdocs\u002F3.x\u002Fbridge\u002Fbridge-composition-api","docs\u002F3.x\u002F6.bridge\u002F3.bridge-composition-api",{"title":1058,"path":1059,"stem":1060,"titleTemplate":6},"Plugins and Middleware","\u002Fdocs\u002F3.x\u002Fbridge\u002Fplugins-and-middleware","docs\u002F3.x\u002F6.bridge\u002F4.plugins-and-middleware",{"title":1062,"path":1063,"stem":1064,"titleTemplate":6},"New Composition API","\u002Fdocs\u002F3.x\u002Fbridge\u002Fnuxt3-compatible-api","docs\u002F3.x\u002F6.bridge\u002F5.nuxt3-compatible-api",{"title":932,"path":1066,"stem":1067,"titleTemplate":6},"\u002Fdocs\u002F3.x\u002Fbridge\u002Fmeta","docs\u002F3.x\u002F6.bridge\u002F6.meta",{"title":399,"path":1069,"stem":1070,"titleTemplate":6},"\u002Fdocs\u002F3.x\u002Fbridge\u002Fruntime-config","docs\u002F3.x\u002F6.bridge\u002F7.runtime-config",{"title":833,"path":1072,"stem":1073,"titleTemplate":6},"\u002Fdocs\u002F3.x\u002Fbridge\u002Fnitro","docs\u002F3.x\u002F6.bridge\u002F8.nitro",{"title":1075,"path":1076,"stem":1077,"titleTemplate":6},"Vite","\u002Fdocs\u002F3.x\u002Fbridge\u002Fvite","docs\u002F3.x\u002F6.bridge\u002F9.vite",{"title":1079,"titleTemplate":1080,"icon":107,"path":1081,"stem":1082,"children":1083,"page":108},"Migrate to Nuxt 3","Migrate to Nuxt 3: %s","\u002Fdocs\u002F3.x\u002Fmigration","docs\u002F3.x\u002F7.migration",[1084,1087,1091,1094,1097,1100,1103,1106,1109,1113,1117],{"title":1044,"path":1085,"stem":1086,"titleTemplate":6},"\u002Fdocs\u002F3.x\u002Fmigration\u002Foverview","docs\u002F3.x\u002F7.migration\u002F1.overview",{"title":1088,"path":1089,"stem":1090,"titleTemplate":6},"Build Tooling","\u002Fdocs\u002F3.x\u002Fmigration\u002Fbundling","docs\u002F3.x\u002F7.migration\u002F10.bundling",{"title":79,"path":1092,"stem":1093,"titleTemplate":6},"\u002Fdocs\u002F3.x\u002Fmigration\u002Fserver","docs\u002F3.x\u002F7.migration\u002F11.server",{"title":29,"path":1095,"stem":1096,"titleTemplate":6},"\u002Fdocs\u002F3.x\u002Fmigration\u002Fconfiguration","docs\u002F3.x\u002F7.migration\u002F2.configuration",{"title":276,"path":1098,"stem":1099,"titleTemplate":6},"\u002Fdocs\u002F3.x\u002Fmigration\u002Fmodule-authors","docs\u002F3.x\u002F7.migration\u002F20.module-authors",{"title":922,"path":1101,"stem":1102,"titleTemplate":6},"\u002Fdocs\u002F3.x\u002Fmigration\u002Fauto-imports","docs\u002F3.x\u002F7.migration\u002F3.auto-imports",{"title":932,"path":1104,"stem":1105,"titleTemplate":6},"\u002Fdocs\u002F3.x\u002Fmigration\u002Fmeta","docs\u002F3.x\u002F7.migration\u002F4.meta",{"title":1058,"path":1107,"stem":1108,"titleTemplate":6},"\u002Fdocs\u002F3.x\u002Fmigration\u002Fplugins-and-middleware","docs\u002F3.x\u002F7.migration\u002F5.plugins-and-middleware",{"title":1110,"path":1111,"stem":1112,"titleTemplate":6},"Pages and Layouts","\u002Fdocs\u002F3.x\u002Fmigration\u002Fpages-and-layouts","docs\u002F3.x\u002F7.migration\u002F6.pages-and-layouts",{"title":1114,"path":1115,"stem":1116,"titleTemplate":6},"Component Options","\u002Fdocs\u002F3.x\u002Fmigration\u002Fcomponent-options","docs\u002F3.x\u002F7.migration\u002F7.component-options",{"title":399,"path":1118,"stem":1119,"titleTemplate":6},"\u002Fdocs\u002F3.x\u002Fmigration\u002Fruntime-config","docs\u002F3.x\u002F7.migration\u002F8.runtime-config",{"title":5,"titleTemplate":6,"icon":7,"path":1121,"stem":1122,"children":1123,"page":108},"\u002Fdocs\u002F4.x","docs\u002F4.x",[1124,1182,1276,1404,1778,1855,1877,1911],{"title":12,"titleTemplate":13,"icon":14,"path":1125,"stem":1126,"children":1127,"page":108},"\u002Fdocs\u002F4.x\u002Fgetting-started","docs\u002F4.x\u002F1.getting-started",[1128,1131,1134,1137,1140,1143,1146,1149,1152,1155,1158,1161,1164,1167,1170,1173,1176,1179],{"title":19,"path":1129,"stem":1130,"titleTemplate":6,"icon":22},"\u002Fdocs\u002F4.x\u002Fgetting-started\u002Fintroduction","docs\u002F4.x\u002F1.getting-started\u002F01.introduction",{"title":24,"path":1132,"stem":1133,"titleTemplate":6,"icon":27},"\u002Fdocs\u002F4.x\u002Fgetting-started\u002Finstallation","docs\u002F4.x\u002F1.getting-started\u002F02.installation",{"title":29,"path":1135,"stem":1136,"titleTemplate":6,"icon":32},"\u002Fdocs\u002F4.x\u002Fgetting-started\u002Fconfiguration","docs\u002F4.x\u002F1.getting-started\u002F03.configuration",{"title":34,"path":1138,"stem":1139,"titleTemplate":6,"icon":37},"\u002Fdocs\u002F4.x\u002Fgetting-started\u002Fviews","docs\u002F4.x\u002F1.getting-started\u002F04.views",{"title":39,"path":1141,"stem":1142,"titleTemplate":6,"icon":42},"\u002Fdocs\u002F4.x\u002Fgetting-started\u002Fassets","docs\u002F4.x\u002F1.getting-started\u002F05.assets",{"title":44,"path":1144,"stem":1145,"titleTemplate":6,"icon":47},"\u002Fdocs\u002F4.x\u002Fgetting-started\u002Fstyling","docs\u002F4.x\u002F1.getting-started\u002F06.styling",{"title":49,"path":1147,"stem":1148,"titleTemplate":6,"icon":52},"\u002Fdocs\u002F4.x\u002Fgetting-started\u002Frouting","docs\u002F4.x\u002F1.getting-started\u002F07.routing",{"title":54,"path":1150,"stem":1151,"titleTemplate":6,"icon":57},"\u002Fdocs\u002F4.x\u002Fgetting-started\u002Fseo-meta","docs\u002F4.x\u002F1.getting-started\u002F08.seo-meta",{"title":59,"path":1153,"stem":1154,"titleTemplate":6,"icon":62},"\u002Fdocs\u002F4.x\u002Fgetting-started\u002Ftransitions","docs\u002F4.x\u002F1.getting-started\u002F09.transitions",{"title":64,"path":1156,"stem":1157,"titleTemplate":6,"icon":67},"\u002Fdocs\u002F4.x\u002Fgetting-started\u002Fdata-fetching","docs\u002F4.x\u002F1.getting-started\u002F10.data-fetching",{"title":69,"path":1159,"stem":1160,"titleTemplate":6,"icon":72},"\u002Fdocs\u002F4.x\u002Fgetting-started\u002Fstate-management","docs\u002F4.x\u002F1.getting-started\u002F11.state-management",{"title":74,"path":1162,"stem":1163,"titleTemplate":6,"icon":77},"\u002Fdocs\u002F4.x\u002Fgetting-started\u002Ferror-handling","docs\u002F4.x\u002F1.getting-started\u002F12.error-handling",{"title":79,"path":1165,"stem":1166,"titleTemplate":6,"icon":82},"\u002Fdocs\u002F4.x\u002Fgetting-started\u002Fserver","docs\u002F4.x\u002F1.getting-started\u002F13.server",{"title":84,"path":1168,"stem":1169,"titleTemplate":6,"icon":87},"\u002Fdocs\u002F4.x\u002Fgetting-started\u002Flayers","docs\u002F4.x\u002F1.getting-started\u002F14.layers",{"title":89,"path":1171,"stem":1172,"titleTemplate":6,"icon":92},"\u002Fdocs\u002F4.x\u002Fgetting-started\u002Fprerendering","docs\u002F4.x\u002F1.getting-started\u002F15.prerendering",{"title":94,"path":1174,"stem":1175,"titleTemplate":6,"icon":97},"\u002Fdocs\u002F4.x\u002Fgetting-started\u002Fdeployment","docs\u002F4.x\u002F1.getting-started\u002F16.deployment",{"title":99,"path":1177,"stem":1178,"titleTemplate":6,"icon":102},"\u002Fdocs\u002F4.x\u002Fgetting-started\u002Ftesting","docs\u002F4.x\u002F1.getting-started\u002F17.testing",{"title":104,"path":1180,"stem":1181,"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":1183,"stem":1184,"children":1185,"page":108},"\u002Fdocs\u002F4.x\u002Fdirectory-structure","docs\u002F4.x\u002F2.directory-structure",[1186,1189,1192,1234,1237,1240,1243,1246,1249,1252,1255,1258,1261,1264,1267,1270,1273],{"title":117,"path":1187,"stem":1188,"titleTemplate":6,"icon":120},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Fnuxt","docs\u002F4.x\u002F2.directory-structure\u002F0.nuxt",{"title":122,"path":1190,"stem":1191,"titleTemplate":6,"icon":125},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Foutput","docs\u002F4.x\u002F2.directory-structure\u002F0.output",{"title":1193,"titleTemplate":111,"head":1194,"defaultOpen":1196,"icon":1197,"path":1198,"stem":1199,"children":1200,"page":108},"app",{"title":1195},"app\u002F",true,"i-vscode-icons-folder-type-app","\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Fapp","docs\u002F4.x\u002F2.directory-structure\u002F1.app",[1201,1204,1207,1210,1213,1216,1219,1222,1225,1228,1231],{"title":127,"path":1202,"stem":1203,"titleTemplate":6,"icon":130},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Fapp\u002Fassets","docs\u002F4.x\u002F2.directory-structure\u002F1.app\u002F1.assets",{"title":132,"path":1205,"stem":1206,"titleTemplate":6,"icon":135},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Fapp\u002Fcomponents","docs\u002F4.x\u002F2.directory-structure\u002F1.app\u002F1.components",{"title":137,"path":1208,"stem":1209,"titleTemplate":6,"icon":140},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Fapp\u002Fcomposables","docs\u002F4.x\u002F2.directory-structure\u002F1.app\u002F1.composables",{"title":152,"path":1211,"stem":1212,"titleTemplate":6,"icon":155},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Fapp\u002Flayouts","docs\u002F4.x\u002F2.directory-structure\u002F1.app\u002F1.layouts",{"title":157,"path":1214,"stem":1215,"titleTemplate":6,"icon":160},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Fapp\u002Fmiddleware","docs\u002F4.x\u002F2.directory-structure\u002F1.app\u002F1.middleware",{"title":171,"path":1217,"stem":1218,"titleTemplate":6,"icon":155},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Fapp\u002Fpages","docs\u002F4.x\u002F2.directory-structure\u002F1.app\u002F1.pages",{"title":175,"path":1220,"stem":1221,"titleTemplate":6,"icon":178},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Fapp\u002Fplugins","docs\u002F4.x\u002F2.directory-structure\u002F1.app\u002F1.plugins",{"title":195,"path":1223,"stem":1224,"titleTemplate":6,"icon":198},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Fapp\u002Futils","docs\u002F4.x\u002F2.directory-structure\u002F1.app\u002F1.utils",{"title":219,"path":1226,"stem":1227,"titleTemplate":6,"icon":222},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Fapp\u002Fapp","docs\u002F4.x\u002F2.directory-structure\u002F1.app\u002F3.app",{"title":224,"path":1229,"stem":1230,"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":1232,"stem":1233,"titleTemplate":6,"icon":222},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Fapp\u002Ferror","docs\u002F4.x\u002F2.directory-structure\u002F1.app\u002F3.error",{"title":142,"path":1235,"stem":1236,"titleTemplate":6,"icon":145},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Fcontent","docs\u002F4.x\u002F2.directory-structure\u002F1.content",{"title":147,"path":1238,"stem":1239,"titleTemplate":6,"icon":150},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Flayers","docs\u002F4.x\u002F2.directory-structure\u002F1.layers",{"title":162,"path":1241,"stem":1242,"titleTemplate":6,"icon":150},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Fmodules","docs\u002F4.x\u002F2.directory-structure\u002F1.modules",{"title":166,"path":1244,"stem":1245,"titleTemplate":6,"icon":169},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Fnode_modules","docs\u002F4.x\u002F2.directory-structure\u002F1.node_modules",{"title":180,"path":1247,"stem":1248,"titleTemplate":6,"icon":183},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Fpublic","docs\u002F4.x\u002F2.directory-structure\u002F1.public",{"title":185,"path":1250,"stem":1251,"titleTemplate":6,"icon":188},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Fserver","docs\u002F4.x\u002F2.directory-structure\u002F1.server",{"title":190,"path":1253,"stem":1254,"titleTemplate":6,"icon":193},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Fshared","docs\u002F4.x\u002F2.directory-structure\u002F1.shared",{"title":200,"path":1256,"stem":1257,"titleTemplate":6,"icon":203},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Fenv","docs\u002F4.x\u002F2.directory-structure\u002F2.env",{"title":205,"path":1259,"stem":1260,"titleTemplate":6,"icon":208},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Fgitignore","docs\u002F4.x\u002F2.directory-structure\u002F2.gitignore",{"title":210,"path":1262,"stem":1263,"titleTemplate":6,"icon":213},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Fnuxtignore","docs\u002F4.x\u002F2.directory-structure\u002F2.nuxtignore",{"title":215,"path":1265,"stem":1266,"titleTemplate":6,"icon":213},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Fnuxtrc","docs\u002F4.x\u002F2.directory-structure\u002F2.nuxtrc",{"title":233,"path":1268,"stem":1269,"titleTemplate":6,"icon":213},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Fnuxt-config","docs\u002F4.x\u002F2.directory-structure\u002F3.nuxt-config",{"title":237,"path":1271,"stem":1272,"titleTemplate":6,"icon":240},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Fpackage","docs\u002F4.x\u002F2.directory-structure\u002F3.package",{"title":242,"path":1274,"stem":1275,"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":1277,"stem":1278,"children":1279,"page":108},"\u002Fdocs\u002F4.x\u002Fguide","docs\u002F4.x\u002F3.guide",[1280,1305,1319,1329,1354,1370],{"title":253,"titleTemplate":254,"icon":255,"path":1281,"stem":1282,"children":1283,"page":108},"\u002Fdocs\u002F4.x\u002Fguide\u002Fconcepts","docs\u002F4.x\u002F3.guide\u002F1.concepts",[1284,1287,1290,1293,1296,1299,1302],{"title":260,"path":1285,"stem":1286,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Fconcepts\u002Frendering","docs\u002F4.x\u002F3.guide\u002F1.concepts\u002F1.rendering",{"title":264,"path":1288,"stem":1289,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Fconcepts\u002Fnuxt-lifecycle","docs\u002F4.x\u002F3.guide\u002F1.concepts\u002F2.nuxt-lifecycle",{"title":268,"path":1291,"stem":1292,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Fconcepts\u002Fauto-imports","docs\u002F4.x\u002F3.guide\u002F1.concepts\u002F3.auto-imports",{"title":272,"path":1294,"stem":1295,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Fconcepts\u002Fserver-engine","docs\u002F4.x\u002F3.guide\u002F1.concepts\u002F4.server-engine",{"title":276,"path":1297,"stem":1298,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Fconcepts\u002Fmodules","docs\u002F4.x\u002F3.guide\u002F1.concepts\u002F5.modules",{"title":280,"path":1300,"stem":1301,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Fconcepts\u002Ftypescript","docs\u002F4.x\u002F3.guide\u002F1.concepts\u002F8.typescript",{"title":284,"path":1303,"stem":1304,"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":1306,"stem":1307,"children":1308,"page":108},"\u002Fdocs\u002F4.x\u002Fguide\u002Fbest-practices","docs\u002F4.x\u002F3.guide\u002F2.best-practices",[1309,1313,1316],{"title":1310,"path":1311,"stem":1312,"titleTemplate":6},"Nuxt and Hydration","\u002Fdocs\u002F4.x\u002Fguide\u002Fbest-practices\u002Fhydration","docs\u002F4.x\u002F3.guide\u002F2.best-practices\u002Fhydration",{"title":299,"path":1314,"stem":1315,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Fbest-practices\u002Fperformance","docs\u002F4.x\u002F3.guide\u002F2.best-practices\u002Fperformance",{"title":303,"path":1317,"stem":1318,"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":1320,"stem":1321,"children":1322,"page":108},"\u002Fdocs\u002F4.x\u002Fguide\u002Fai","docs\u002F4.x\u002F3.guide\u002F3.ai",[1323,1326],{"title":314,"path":1324,"stem":1325,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Fai\u002Fmcp","docs\u002F4.x\u002F3.guide\u002F3.ai\u002F1.mcp",{"title":318,"path":1327,"stem":1328,"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":1330,"stem":1331,"children":1332,"page":108},"\u002Fdocs\u002F4.x\u002Fguide\u002Fmodules","docs\u002F4.x\u002F3.guide\u002F4.modules",[1333,1336,1339,1342,1345,1348,1351],{"title":329,"path":1334,"stem":1335,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Fmodules\u002Fgetting-started","docs\u002F4.x\u002F3.guide\u002F4.modules\u002F1.getting-started",{"title":333,"path":1337,"stem":1338,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Fmodules\u002Fmodule-anatomy","docs\u002F4.x\u002F3.guide\u002F4.modules\u002F2.module-anatomy",{"title":337,"path":1340,"stem":1341,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Fmodules\u002Frecipes-basics","docs\u002F4.x\u002F3.guide\u002F4.modules\u002F3.recipes-basics",{"title":341,"path":1343,"stem":1344,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Fmodules\u002Frecipes-advanced","docs\u002F4.x\u002F3.guide\u002F4.modules\u002F4.recipes-advanced",{"title":345,"path":1346,"stem":1347,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Fmodules\u002Ftesting","docs\u002F4.x\u002F3.guide\u002F4.modules\u002F5.testing",{"title":349,"path":1349,"stem":1350,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Fmodules\u002Fbest-practices","docs\u002F4.x\u002F3.guide\u002F4.modules\u002F6.best-practices",{"title":353,"path":1352,"stem":1353,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Fmodules\u002Fecosystem","docs\u002F4.x\u002F3.guide\u002F4.modules\u002F7.ecosystem",{"title":357,"titleTemplate":358,"icon":359,"path":1355,"stem":1356,"children":1357,"page":108},"\u002Fdocs\u002F4.x\u002Fguide\u002Frecipes","docs\u002F4.x\u002F3.guide\u002F5.recipes",[1358,1361,1364,1367],{"title":364,"path":1359,"stem":1360,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Frecipes\u002Fcustom-routing","docs\u002F4.x\u002F3.guide\u002F5.recipes\u002F1.custom-routing",{"title":368,"path":1362,"stem":1363,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Frecipes\u002Fvite-plugin","docs\u002F4.x\u002F3.guide\u002F5.recipes\u002F2.vite-plugin",{"title":372,"path":1365,"stem":1366,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Frecipes\u002Fcustom-usefetch","docs\u002F4.x\u002F3.guide\u002F5.recipes\u002F3.custom-usefetch",{"title":376,"path":1368,"stem":1369,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Frecipes\u002Fsessions-and-authentication","docs\u002F4.x\u002F3.guide\u002F5.recipes\u002F4.sessions-and-authentication",{"title":380,"titleTemplate":381,"icon":382,"path":1371,"stem":1372,"children":1373,"page":108},"\u002Fdocs\u002F4.x\u002Fguide\u002Fgoing-further","docs\u002F4.x\u002F3.guide\u002F6.going-further",[1374,1377,1380,1383,1386,1389,1392,1395,1398,1401],{"title":387,"path":1375,"stem":1376,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Fgoing-further\u002Fevents","docs\u002F4.x\u002F3.guide\u002F6.going-further\u002F1.events",{"title":391,"path":1378,"stem":1379,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Fgoing-further\u002Fexperimental-features","docs\u002F4.x\u002F3.guide\u002F6.going-further\u002F1.experimental-features",{"title":395,"path":1381,"stem":1382,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Fgoing-further\u002Ffeatures","docs\u002F4.x\u002F3.guide\u002F6.going-further\u002F1.features",{"title":399,"path":1384,"stem":1385,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Fgoing-further\u002Fruntime-config","docs\u002F4.x\u002F3.guide\u002F6.going-further\u002F10.runtime-config",{"title":403,"path":1387,"stem":1388,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Fgoing-further\u002Fnightly-release-channel","docs\u002F4.x\u002F3.guide\u002F6.going-further\u002F11.nightly-release-channel",{"title":407,"path":1390,"stem":1391,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Fgoing-further\u002Fhooks","docs\u002F4.x\u002F3.guide\u002F6.going-further\u002F2.hooks",{"title":411,"path":1393,"stem":1394,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Fgoing-further\u002Fkit","docs\u002F4.x\u002F3.guide\u002F6.going-further\u002F4.kit",{"title":415,"path":1396,"stem":1397,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Fgoing-further\u002Fnuxt-app","docs\u002F4.x\u002F3.guide\u002F6.going-further\u002F6.nuxt-app",{"title":419,"path":1399,"stem":1400,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Fgoing-further\u002Flayers","docs\u002F4.x\u002F3.guide\u002F6.going-further\u002F7.layers",{"title":423,"path":1402,"stem":1403,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fguide\u002Fgoing-further\u002Fdebugging","docs\u002F4.x\u002F3.guide\u002F6.going-further\u002F9.debugging",{"title":427,"titleTemplate":428,"icon":429,"path":1405,"stem":1406,"children":1407,"page":108},"\u002Fdocs\u002F4.x\u002Fapi","docs\u002F4.x\u002F4.api",[1408,1461,1564,1655,1707,1765,1775],{"title":434,"titleTemplate":435,"icon":324,"path":1409,"stem":1410,"children":1411,"page":108},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomponents","docs\u002F4.x\u002F4.api\u002F1.components",[1412,1415,1418,1421,1424,1427,1430,1433,1437,1440,1443,1446,1449,1452,1455,1458],{"title":440,"path":1413,"stem":1414,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomponents\u002Fclient-only","docs\u002F4.x\u002F4.api\u002F1.components\u002F1.client-only",{"title":444,"path":1416,"stem":1417,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomponents\u002Fdev-only","docs\u002F4.x\u002F4.api\u002F1.components\u002F1.dev-only",{"title":448,"path":1419,"stem":1420,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomponents\u002Fnuxt-client-fallback","docs\u002F4.x\u002F4.api\u002F1.components\u002F1.nuxt-client-fallback",{"title":452,"path":1422,"stem":1423,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomponents\u002Fnuxt-picture","docs\u002F4.x\u002F4.api\u002F1.components\u002F10.nuxt-picture",{"title":456,"path":1425,"stem":1426,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomponents\u002Fteleports","docs\u002F4.x\u002F4.api\u002F1.components\u002F11.teleports",{"title":460,"path":1428,"stem":1429,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomponents\u002Fnuxt-route-announcer","docs\u002F4.x\u002F4.api\u002F1.components\u002F12.nuxt-route-announcer",{"title":464,"path":1431,"stem":1432,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomponents\u002Fnuxt-time","docs\u002F4.x\u002F4.api\u002F1.components\u002F13.nuxt-time",{"title":1434,"path":1435,"stem":1436,"titleTemplate":6},"\u003CNuxtAnnouncer>","\u002Fdocs\u002F4.x\u002Fapi\u002Fcomponents\u002Fnuxt-announcer","docs\u002F4.x\u002F4.api\u002F1.components\u002F14.nuxt-announcer",{"title":468,"path":1438,"stem":1439,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomponents\u002Fnuxt-page","docs\u002F4.x\u002F4.api\u002F1.components\u002F2.nuxt-page",{"title":472,"path":1441,"stem":1442,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomponents\u002Fnuxt-layout","docs\u002F4.x\u002F4.api\u002F1.components\u002F3.nuxt-layout",{"title":476,"path":1444,"stem":1445,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomponents\u002Fnuxt-link","docs\u002F4.x\u002F4.api\u002F1.components\u002F4.nuxt-link",{"title":480,"path":1447,"stem":1448,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomponents\u002Fnuxt-loading-indicator","docs\u002F4.x\u002F4.api\u002F1.components\u002F5.nuxt-loading-indicator",{"title":484,"path":1450,"stem":1451,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomponents\u002Fnuxt-error-boundary","docs\u002F4.x\u002F4.api\u002F1.components\u002F6.nuxt-error-boundary",{"title":488,"path":1453,"stem":1454,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomponents\u002Fnuxt-welcome","docs\u002F4.x\u002F4.api\u002F1.components\u002F7.nuxt-welcome",{"title":492,"path":1456,"stem":1457,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomponents\u002Fnuxt-island","docs\u002F4.x\u002F4.api\u002F1.components\u002F8.nuxt-island",{"title":496,"path":1459,"stem":1460,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomponents\u002Fnuxt-img","docs\u002F4.x\u002F4.api\u002F1.components\u002F9.nuxt-img",{"title":500,"titleTemplate":501,"icon":502,"path":1462,"stem":1463,"children":1464,"page":108},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables","docs\u002F4.x\u002F4.api\u002F2.composables",[1465,1469,1473,1476,1480,1483,1486,1489,1492,1495,1498,1501,1504,1507,1510,1513,1516,1519,1522,1525,1528,1531,1534,1537,1540,1543,1546,1549,1552,1555,1558,1561],{"title":1466,"path":1467,"stem":1468,"titleTemplate":6},"createUseAsyncData","\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fcreate-use-async-data","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fcreate-use-async-data",{"title":1470,"path":1471,"stem":1472,"titleTemplate":6},"createUseFetch","\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fcreate-use-fetch","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fcreate-use-fetch",{"title":507,"path":1474,"stem":1475,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fon-prehydrate","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fon-prehydrate",{"title":1477,"path":1478,"stem":1479,"titleTemplate":6},"useAnnouncer","\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-announcer","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-announcer",{"title":511,"path":1481,"stem":1482,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-app-config","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-app-config",{"title":515,"path":1484,"stem":1485,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-async-data","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-async-data",{"title":519,"path":1487,"stem":1488,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-cookie","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-cookie",{"title":523,"path":1490,"stem":1491,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-error","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-error",{"title":527,"path":1493,"stem":1494,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-fetch","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-fetch",{"title":531,"path":1496,"stem":1497,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-head","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-head",{"title":535,"path":1499,"stem":1500,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-head-safe","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-head-safe",{"title":539,"path":1502,"stem":1503,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-hydration","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-hydration",{"title":543,"path":1505,"stem":1506,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-lazy-async-data","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-lazy-async-data",{"title":547,"path":1508,"stem":1509,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-lazy-fetch","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-lazy-fetch",{"title":551,"path":1511,"stem":1512,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-loading-indicator","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-loading-indicator",{"title":555,"path":1514,"stem":1515,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-nuxt-app","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-nuxt-app",{"title":559,"path":1517,"stem":1518,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-nuxt-data","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-nuxt-data",{"title":563,"path":1520,"stem":1521,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-preview-mode","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-preview-mode",{"title":567,"path":1523,"stem":1524,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-request-event","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-request-event",{"title":571,"path":1526,"stem":1527,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-request-fetch","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-request-fetch",{"title":575,"path":1529,"stem":1530,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-request-header","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-request-header",{"title":579,"path":1532,"stem":1533,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-request-headers","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-request-headers",{"title":583,"path":1535,"stem":1536,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-request-url","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-request-url",{"title":587,"path":1538,"stem":1539,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-response-header","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-response-header",{"title":591,"path":1541,"stem":1542,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-route","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-route",{"title":595,"path":1544,"stem":1545,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-route-announcer","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-route-announcer",{"title":599,"path":1547,"stem":1548,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-router","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-router",{"title":603,"path":1550,"stem":1551,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-runtime-config","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-runtime-config",{"title":607,"path":1553,"stem":1554,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-runtime-hook","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-runtime-hook",{"title":611,"path":1556,"stem":1557,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-seo-meta","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-seo-meta",{"title":615,"path":1559,"stem":1560,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-server-seo-meta","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-server-seo-meta",{"title":619,"path":1562,"stem":1563,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-state","docs\u002F4.x\u002F4.api\u002F2.composables\u002Fuse-state",{"title":623,"titleTemplate":624,"icon":625,"path":1565,"stem":1566,"children":1567,"page":108},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils","docs\u002F4.x\u002F4.api\u002F3.utils",[1568,1571,1574,1577,1580,1583,1586,1589,1592,1595,1598,1601,1604,1607,1610,1613,1616,1619,1622,1625,1628,1631,1634,1637,1640,1643,1646,1649,1652],{"title":630,"path":1569,"stem":1570,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fdollarfetch","docs\u002F4.x\u002F4.api\u002F3.utils\u002F$fetch",{"title":634,"path":1572,"stem":1573,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fabort-navigation","docs\u002F4.x\u002F4.api\u002F3.utils\u002Fabort-navigation",{"title":638,"path":1575,"stem":1576,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fadd-route-middleware","docs\u002F4.x\u002F4.api\u002F3.utils\u002Fadd-route-middleware",{"title":642,"path":1578,"stem":1579,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fcall-once","docs\u002F4.x\u002F4.api\u002F3.utils\u002Fcall-once",{"title":646,"path":1581,"stem":1582,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fclear-error","docs\u002F4.x\u002F4.api\u002F3.utils\u002Fclear-error",{"title":650,"path":1584,"stem":1585,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fclear-nuxt-data","docs\u002F4.x\u002F4.api\u002F3.utils\u002Fclear-nuxt-data",{"title":654,"path":1587,"stem":1588,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fclear-nuxt-state","docs\u002F4.x\u002F4.api\u002F3.utils\u002Fclear-nuxt-state",{"title":658,"path":1590,"stem":1591,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fcreate-error","docs\u002F4.x\u002F4.api\u002F3.utils\u002Fcreate-error",{"title":662,"path":1593,"stem":1594,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fdefine-lazy-hydration-component","docs\u002F4.x\u002F4.api\u002F3.utils\u002Fdefine-lazy-hydration-component",{"title":666,"path":1596,"stem":1597,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fdefine-nuxt-component","docs\u002F4.x\u002F4.api\u002F3.utils\u002Fdefine-nuxt-component",{"title":670,"path":1599,"stem":1600,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fdefine-nuxt-plugin","docs\u002F4.x\u002F4.api\u002F3.utils\u002Fdefine-nuxt-plugin",{"title":674,"path":1602,"stem":1603,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fdefine-nuxt-route-middleware","docs\u002F4.x\u002F4.api\u002F3.utils\u002Fdefine-nuxt-route-middleware",{"title":678,"path":1605,"stem":1606,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fdefine-page-meta","docs\u002F4.x\u002F4.api\u002F3.utils\u002Fdefine-page-meta",{"title":682,"path":1608,"stem":1609,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fdefine-route-rules","docs\u002F4.x\u002F4.api\u002F3.utils\u002Fdefine-route-rules",{"title":686,"path":1611,"stem":1612,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fnavigate-to","docs\u002F4.x\u002F4.api\u002F3.utils\u002Fnavigate-to",{"title":690,"path":1614,"stem":1615,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fon-before-route-leave","docs\u002F4.x\u002F4.api\u002F3.utils\u002Fon-before-route-leave",{"title":694,"path":1617,"stem":1618,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fon-before-route-update","docs\u002F4.x\u002F4.api\u002F3.utils\u002Fon-before-route-update",{"title":698,"path":1620,"stem":1621,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fon-nuxt-ready","docs\u002F4.x\u002F4.api\u002F3.utils\u002Fon-nuxt-ready",{"title":702,"path":1623,"stem":1624,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fprefetch-components","docs\u002F4.x\u002F4.api\u002F3.utils\u002Fprefetch-components",{"title":706,"path":1626,"stem":1627,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fpreload-components","docs\u002F4.x\u002F4.api\u002F3.utils\u002Fpreload-components",{"title":710,"path":1629,"stem":1630,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fpreload-route-components","docs\u002F4.x\u002F4.api\u002F3.utils\u002Fpreload-route-components",{"title":714,"path":1632,"stem":1633,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fprerender-routes","docs\u002F4.x\u002F4.api\u002F3.utils\u002Fprerender-routes",{"title":718,"path":1635,"stem":1636,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Frefresh-cookie","docs\u002F4.x\u002F4.api\u002F3.utils\u002Frefresh-cookie",{"title":722,"path":1638,"stem":1639,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Frefresh-nuxt-data","docs\u002F4.x\u002F4.api\u002F3.utils\u002Frefresh-nuxt-data",{"title":726,"path":1641,"stem":1642,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Freload-nuxt-app","docs\u002F4.x\u002F4.api\u002F3.utils\u002Freload-nuxt-app",{"title":730,"path":1644,"stem":1645,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fset-page-layout","docs\u002F4.x\u002F4.api\u002F3.utils\u002Fset-page-layout",{"title":734,"path":1647,"stem":1648,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fset-response-status","docs\u002F4.x\u002F4.api\u002F3.utils\u002Fset-response-status",{"title":738,"path":1650,"stem":1651,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fshow-error","docs\u002F4.x\u002F4.api\u002F3.utils\u002Fshow-error",{"title":742,"path":1653,"stem":1654,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fupdate-app-config","docs\u002F4.x\u002F4.api\u002F3.utils\u002Fupdate-app-config",{"title":746,"titleTemplate":747,"icon":748,"path":1656,"stem":1657,"children":1658,"page":108},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcommands","docs\u002F4.x\u002F4.api\u002F4.commands",[1659,1662,1665,1668,1671,1674,1677,1680,1683,1686,1689,1692,1695,1698,1701,1704],{"title":753,"path":1660,"stem":1661,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcommands\u002Fadd","docs\u002F4.x\u002F4.api\u002F4.commands\u002Fadd",{"title":757,"path":1663,"stem":1664,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcommands\u002Fanalyze","docs\u002F4.x\u002F4.api\u002F4.commands\u002Fanalyze",{"title":761,"path":1666,"stem":1667,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcommands\u002Fbuild","docs\u002F4.x\u002F4.api\u002F4.commands\u002Fbuild",{"title":765,"path":1669,"stem":1670,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcommands\u002Fbuild-module","docs\u002F4.x\u002F4.api\u002F4.commands\u002Fbuild-module",{"title":769,"path":1672,"stem":1673,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcommands\u002Fcleanup","docs\u002F4.x\u002F4.api\u002F4.commands\u002Fcleanup",{"title":773,"path":1675,"stem":1676,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcommands\u002Fdev","docs\u002F4.x\u002F4.api\u002F4.commands\u002Fdev",{"title":777,"path":1678,"stem":1679,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcommands\u002Fdevtools","docs\u002F4.x\u002F4.api\u002F4.commands\u002Fdevtools",{"title":781,"path":1681,"stem":1682,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcommands\u002Fgenerate","docs\u002F4.x\u002F4.api\u002F4.commands\u002Fgenerate",{"title":785,"path":1684,"stem":1685,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcommands\u002Finfo","docs\u002F4.x\u002F4.api\u002F4.commands\u002Finfo",{"title":789,"path":1687,"stem":1688,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcommands\u002Finit","docs\u002F4.x\u002F4.api\u002F4.commands\u002Finit",{"title":793,"path":1690,"stem":1691,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcommands\u002Fmodule","docs\u002F4.x\u002F4.api\u002F4.commands\u002Fmodule",{"title":797,"path":1693,"stem":1694,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcommands\u002Fprepare","docs\u002F4.x\u002F4.api\u002F4.commands\u002Fprepare",{"title":801,"path":1696,"stem":1697,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcommands\u002Fpreview","docs\u002F4.x\u002F4.api\u002F4.commands\u002Fpreview",{"title":805,"path":1699,"stem":1700,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcommands\u002Ftest","docs\u002F4.x\u002F4.api\u002F4.commands\u002Ftest",{"title":809,"path":1702,"stem":1703,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcommands\u002Ftypecheck","docs\u002F4.x\u002F4.api\u002F4.commands\u002Ftypecheck",{"title":813,"path":1705,"stem":1706,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcommands\u002Fupgrade","docs\u002F4.x\u002F4.api\u002F4.commands\u002Fupgrade",{"title":411,"titleTemplate":817,"icon":818,"path":1708,"stem":1709,"children":1710,"page":108},"\u002Fdocs\u002F4.x\u002Fapi\u002Fkit","docs\u002F4.x\u002F4.api\u002F5.kit",[1711,1714,1717,1720,1723,1726,1729,1732,1735,1738,1741,1744,1747,1750,1753,1756,1759,1762],{"title":276,"path":1712,"stem":1713,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fkit\u002Fmodules","docs\u002F4.x\u002F4.api\u002F5.kit\u002F1.modules",{"title":399,"path":1715,"stem":1716,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fkit\u002Fruntime-config","docs\u002F4.x\u002F4.api\u002F5.kit\u002F10.runtime-config",{"title":829,"path":1718,"stem":1719,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fkit\u002Ftemplates","docs\u002F4.x\u002F4.api\u002F5.kit\u002F10.templates",{"title":833,"path":1721,"stem":1722,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fkit\u002Fnitro","docs\u002F4.x\u002F4.api\u002F5.kit\u002F11.nitro",{"title":837,"path":1724,"stem":1725,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fkit\u002Fresolving","docs\u002F4.x\u002F4.api\u002F5.kit\u002F12.resolving",{"title":841,"path":1727,"stem":1728,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fkit\u002Flogging","docs\u002F4.x\u002F4.api\u002F5.kit\u002F13.logging",{"title":845,"path":1730,"stem":1731,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fkit\u002Fbuilder","docs\u002F4.x\u002F4.api\u002F5.kit\u002F14.builder",{"title":849,"path":1733,"stem":1734,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fkit\u002Fexamples","docs\u002F4.x\u002F4.api\u002F5.kit\u002F15.examples",{"title":84,"path":1736,"stem":1737,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fkit\u002Flayers","docs\u002F4.x\u002F4.api\u002F5.kit\u002F16.layers",{"title":856,"path":1739,"stem":1740,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fkit\u002Fprogrammatic","docs\u002F4.x\u002F4.api\u002F5.kit\u002F2.programmatic",{"title":860,"path":1742,"stem":1743,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fkit\u002Fcompatibility","docs\u002F4.x\u002F4.api\u002F5.kit\u002F3.compatibility",{"title":268,"path":1745,"stem":1746,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fkit\u002Fautoimports","docs\u002F4.x\u002F4.api\u002F5.kit\u002F4.autoimports",{"title":434,"path":1748,"stem":1749,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fkit\u002Fcomponents","docs\u002F4.x\u002F4.api\u002F5.kit\u002F5.components",{"title":870,"path":1751,"stem":1752,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fkit\u002Fcontext","docs\u002F4.x\u002F4.api\u002F5.kit\u002F6.context",{"title":874,"path":1754,"stem":1755,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fkit\u002Fpages","docs\u002F4.x\u002F4.api\u002F5.kit\u002F7.pages",{"title":878,"path":1757,"stem":1758,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fkit\u002Flayout","docs\u002F4.x\u002F4.api\u002F5.kit\u002F8.layout",{"title":882,"path":1760,"stem":1761,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fkit\u002Fhead","docs\u002F4.x\u002F4.api\u002F5.kit\u002F9.head",{"title":886,"path":1763,"stem":1764,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fkit\u002Fplugins","docs\u002F4.x\u002F4.api\u002F5.kit\u002F9.plugins",{"title":890,"titleTemplate":6,"icon":891,"path":1766,"stem":1767,"children":1768,"page":108},"\u002Fdocs\u002F4.x\u002Fapi\u002Fadvanced","docs\u002F4.x\u002F4.api\u002F6.advanced",[1769,1772],{"title":407,"path":1770,"stem":1771,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fadvanced\u002Fhooks","docs\u002F4.x\u002F4.api\u002F6.advanced\u002F1.hooks",{"title":899,"path":1773,"stem":1774,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fapi\u002Fadvanced\u002Fimport-meta","docs\u002F4.x\u002F4.api\u002F6.advanced\u002F2.import-meta",{"title":903,"path":1776,"stem":1777,"titleTemplate":906,"icon":32},"\u002Fdocs\u002F4.x\u002Fapi\u002Fnuxt-config","docs\u002F4.x\u002F4.api\u002F6.nuxt-config",{"title":849,"titleTemplate":908,"icon":909,"path":1779,"stem":1780,"children":1781,"page":108},"\u002Fdocs\u002F4.x\u002Fexamples","docs\u002F4.x\u002F4.examples",[1782,1785,1804,1817,1848],{"title":914,"path":1783,"stem":1784,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fexamples\u002Fhello-world","docs\u002F4.x\u002F4.examples\u002F0.hello-world",{"title":395,"path":1786,"stem":1787,"children":1788,"page":108},"\u002Fdocs\u002F4.x\u002Fexamples\u002Ffeatures","docs\u002F4.x\u002F4.examples\u002F1.features",[1789,1792,1795,1798,1801],{"title":922,"path":1790,"stem":1791,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fexamples\u002Ffeatures\u002Fauto-imports","docs\u002F4.x\u002F4.examples\u002F1.features\u002F1.auto-imports",{"title":64,"path":1793,"stem":1794,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fexamples\u002Ffeatures\u002Fdata-fetching","docs\u002F4.x\u002F4.examples\u002F1.features\u002F2.data-fetching",{"title":69,"path":1796,"stem":1797,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fexamples\u002Ffeatures\u002Fstate-management","docs\u002F4.x\u002F4.examples\u002F1.features\u002F3.state-management",{"title":932,"path":1799,"stem":1800,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fexamples\u002Ffeatures\u002Fmeta-tags","docs\u002F4.x\u002F4.examples\u002F1.features\u002F4.meta-tags",{"title":936,"path":1802,"stem":1803,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fexamples\u002Ffeatures\u002Flayouts","docs\u002F4.x\u002F4.examples\u002F1.features\u002F5.layouts",{"title":49,"path":1805,"stem":1806,"children":1807,"page":108},"\u002Fdocs\u002F4.x\u002Fexamples\u002Frouting","docs\u002F4.x\u002F4.examples\u002F2.routing",[1808,1811,1814],{"title":944,"path":1809,"stem":1810,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fexamples\u002Frouting\u002Fmiddleware","docs\u002F4.x\u002F4.examples\u002F2.routing\u002Fmiddleware",{"title":874,"path":1812,"stem":1813,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fexamples\u002Frouting\u002Fpages","docs\u002F4.x\u002F4.examples\u002F2.routing\u002Fpages",{"title":951,"path":1815,"stem":1816,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fexamples\u002Frouting\u002Funiversal-router","docs\u002F4.x\u002F4.examples\u002F2.routing\u002Funiversal-router",{"title":890,"path":1818,"stem":1819,"children":1820,"page":108},"\u002Fdocs\u002F4.x\u002Fexamples\u002Fadvanced","docs\u002F4.x\u002F4.examples\u002F4.advanced",[1821,1824,1827,1830,1833,1836,1839,1842,1845],{"title":84,"path":1822,"stem":1823,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fexamples\u002Fadvanced\u002Fconfig-extends","docs\u002F4.x\u002F4.examples\u002F4.advanced\u002Fconfig-extends",{"title":74,"path":1825,"stem":1826,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fexamples\u002Fadvanced\u002Ferror-handling","docs\u002F4.x\u002F4.examples\u002F4.advanced\u002Ferror-handling",{"title":965,"path":1828,"stem":1829,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fexamples\u002Fadvanced\u002Fjsx","docs\u002F4.x\u002F4.examples\u002F4.advanced\u002Fjsx",{"title":969,"path":1831,"stem":1832,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fexamples\u002Fadvanced\u002Flocale","docs\u002F4.x\u002F4.examples\u002F4.advanced\u002Flocale",{"title":973,"path":1834,"stem":1835,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fexamples\u002Fadvanced\u002Fmodule-extend-pages","docs\u002F4.x\u002F4.examples\u002F4.advanced\u002Fmodule-extend-pages",{"title":977,"path":1837,"stem":1838,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fexamples\u002Fadvanced\u002Fteleport","docs\u002F4.x\u002F4.examples\u002F4.advanced\u002Fteleport",{"title":99,"path":1840,"stem":1841,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fexamples\u002Fadvanced\u002Ftesting","docs\u002F4.x\u002F4.examples\u002F4.advanced\u002Ftesting",{"title":519,"path":1843,"stem":1844,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fexamples\u002Fadvanced\u002Fuse-cookie","docs\u002F4.x\u002F4.examples\u002F4.advanced\u002Fuse-cookie",{"title":987,"path":1846,"stem":1847,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fexamples\u002Fadvanced\u002Fuse-custom-fetch-composable","docs\u002F4.x\u002F4.examples\u002F4.advanced\u002Fuse-custom-fetch-composable",{"title":991,"path":1849,"stem":1850,"children":1851,"page":108},"\u002Fdocs\u002F4.x\u002Fexamples\u002Fexperimental","docs\u002F4.x\u002F4.examples\u002F7.experimental",[1852],{"title":996,"path":1853,"stem":1854,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fexamples\u002Fexperimental\u002Fwasm","docs\u002F4.x\u002F4.examples\u002F7.experimental\u002Fwasm",{"title":1000,"titleTemplate":1001,"icon":1002,"path":1856,"stem":1857,"children":1858,"page":108},"\u002Fdocs\u002F4.x\u002Fcommunity","docs\u002F4.x\u002F5.community",[1859,1862,1865,1868,1871,1874],{"title":1007,"path":1860,"stem":1861,"titleTemplate":6,"icon":1010},"\u002Fdocs\u002F4.x\u002Fcommunity\u002Fgetting-help","docs\u002F4.x\u002F5.community\u002F2.getting-help",{"title":1012,"path":1863,"stem":1864,"titleTemplate":6,"icon":1015},"\u002Fdocs\u002F4.x\u002Fcommunity\u002Freporting-bugs","docs\u002F4.x\u002F5.community\u002F3.reporting-bugs",{"title":1017,"path":1866,"stem":1867,"titleTemplate":6,"icon":1020},"\u002Fdocs\u002F4.x\u002Fcommunity\u002Fcontribution","docs\u002F4.x\u002F5.community\u002F4.contribution",{"title":1022,"path":1869,"stem":1870,"titleTemplate":6,"icon":1025},"\u002Fdocs\u002F4.x\u002Fcommunity\u002Fframework-contribution","docs\u002F4.x\u002F5.community\u002F5.framework-contribution",{"title":1027,"path":1872,"stem":1873,"titleTemplate":6,"icon":1030},"\u002Fdocs\u002F4.x\u002Fcommunity\u002Froadmap","docs\u002F4.x\u002F5.community\u002F6.roadmap",{"title":1032,"path":1875,"stem":1876,"titleTemplate":6,"icon":1035},"\u002Fdocs\u002F4.x\u002Fcommunity\u002Fchangelog","docs\u002F4.x\u002F5.community\u002F7.changelog",{"title":1037,"titleTemplate":1038,"icon":1039,"path":1878,"stem":1879,"children":1880,"page":108},"\u002Fdocs\u002F4.x\u002Fbridge","docs\u002F4.x\u002F6.bridge",[1881,1884,1887,1890,1893,1896,1899,1902,1905,1908],{"title":1044,"path":1882,"stem":1883,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fbridge\u002Foverview","docs\u002F4.x\u002F6.bridge\u002F1.overview",{"title":29,"path":1885,"stem":1886,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fbridge\u002Fconfiguration","docs\u002F4.x\u002F6.bridge\u002F10.configuration",{"title":280,"path":1888,"stem":1889,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fbridge\u002Ftypescript","docs\u002F4.x\u002F6.bridge\u002F2.typescript",{"title":1054,"path":1891,"stem":1892,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fbridge\u002Fbridge-composition-api","docs\u002F4.x\u002F6.bridge\u002F3.bridge-composition-api",{"title":1058,"path":1894,"stem":1895,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fbridge\u002Fplugins-and-middleware","docs\u002F4.x\u002F6.bridge\u002F4.plugins-and-middleware",{"title":1062,"path":1897,"stem":1898,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fbridge\u002Fnuxt3-compatible-api","docs\u002F4.x\u002F6.bridge\u002F5.nuxt3-compatible-api",{"title":932,"path":1900,"stem":1901,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fbridge\u002Fmeta","docs\u002F4.x\u002F6.bridge\u002F6.meta",{"title":399,"path":1903,"stem":1904,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fbridge\u002Fruntime-config","docs\u002F4.x\u002F6.bridge\u002F7.runtime-config",{"title":833,"path":1906,"stem":1907,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fbridge\u002Fnitro","docs\u002F4.x\u002F6.bridge\u002F8.nitro",{"title":1075,"path":1909,"stem":1910,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fbridge\u002Fvite","docs\u002F4.x\u002F6.bridge\u002F9.vite",{"title":1079,"titleTemplate":1080,"icon":107,"path":1912,"stem":1913,"children":1914,"page":108},"\u002Fdocs\u002F4.x\u002Fmigration","docs\u002F4.x\u002F7.migration",[1915,1918,1921,1924,1927,1930,1933,1936,1939,1942,1945],{"title":1044,"path":1916,"stem":1917,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fmigration\u002Foverview","docs\u002F4.x\u002F7.migration\u002F1.overview",{"title":1088,"path":1919,"stem":1920,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fmigration\u002Fbundling","docs\u002F4.x\u002F7.migration\u002F10.bundling",{"title":79,"path":1922,"stem":1923,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fmigration\u002Fserver","docs\u002F4.x\u002F7.migration\u002F11.server",{"title":29,"path":1925,"stem":1926,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fmigration\u002Fconfiguration","docs\u002F4.x\u002F7.migration\u002F2.configuration",{"title":276,"path":1928,"stem":1929,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fmigration\u002Fmodule-authors","docs\u002F4.x\u002F7.migration\u002F20.module-authors",{"title":922,"path":1931,"stem":1932,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fmigration\u002Fauto-imports","docs\u002F4.x\u002F7.migration\u002F3.auto-imports",{"title":932,"path":1934,"stem":1935,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fmigration\u002Fmeta","docs\u002F4.x\u002F7.migration\u002F4.meta",{"title":1058,"path":1937,"stem":1938,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fmigration\u002Fplugins-and-middleware","docs\u002F4.x\u002F7.migration\u002F5.plugins-and-middleware",{"title":1110,"path":1940,"stem":1941,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fmigration\u002Fpages-and-layouts","docs\u002F4.x\u002F7.migration\u002F6.pages-and-layouts",{"title":1114,"path":1943,"stem":1944,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fmigration\u002Fcomponent-options","docs\u002F4.x\u002F7.migration\u002F7.component-options",{"title":399,"path":1946,"stem":1947,"titleTemplate":6},"\u002Fdocs\u002F4.x\u002Fmigration\u002Fruntime-config","docs\u002F4.x\u002F7.migration\u002F8.runtime-config",{"title":5,"titleTemplate":6,"icon":7,"path":1949,"stem":1950,"children":1951,"page":108},"\u002Fdocs\u002F5.x","docs\u002F5.x",[1952,2010,2100,2227,2597,2674,2696,2730],{"title":12,"titleTemplate":13,"icon":14,"path":1953,"stem":1954,"children":1955,"page":108},"\u002Fdocs\u002F5.x\u002Fgetting-started","docs\u002F5.x\u002F1.getting-started",[1956,1959,1962,1965,1968,1971,1974,1977,1980,1983,1986,1989,1992,1995,1998,2001,2004,2007],{"title":19,"path":1957,"stem":1958,"titleTemplate":6,"icon":22},"\u002Fdocs\u002F5.x\u002Fgetting-started\u002Fintroduction","docs\u002F5.x\u002F1.getting-started\u002F01.introduction",{"title":24,"path":1960,"stem":1961,"titleTemplate":6,"icon":27},"\u002Fdocs\u002F5.x\u002Fgetting-started\u002Finstallation","docs\u002F5.x\u002F1.getting-started\u002F02.installation",{"title":29,"path":1963,"stem":1964,"titleTemplate":6,"icon":32},"\u002Fdocs\u002F5.x\u002Fgetting-started\u002Fconfiguration","docs\u002F5.x\u002F1.getting-started\u002F03.configuration",{"title":34,"path":1966,"stem":1967,"titleTemplate":6,"icon":37},"\u002Fdocs\u002F5.x\u002Fgetting-started\u002Fviews","docs\u002F5.x\u002F1.getting-started\u002F04.views",{"title":39,"path":1969,"stem":1970,"titleTemplate":6,"icon":42},"\u002Fdocs\u002F5.x\u002Fgetting-started\u002Fassets","docs\u002F5.x\u002F1.getting-started\u002F05.assets",{"title":44,"path":1972,"stem":1973,"titleTemplate":6,"icon":47},"\u002Fdocs\u002F5.x\u002Fgetting-started\u002Fstyling","docs\u002F5.x\u002F1.getting-started\u002F06.styling",{"title":49,"path":1975,"stem":1976,"titleTemplate":6,"icon":52},"\u002Fdocs\u002F5.x\u002Fgetting-started\u002Frouting","docs\u002F5.x\u002F1.getting-started\u002F07.routing",{"title":54,"path":1978,"stem":1979,"titleTemplate":6,"icon":57},"\u002Fdocs\u002F5.x\u002Fgetting-started\u002Fseo-meta","docs\u002F5.x\u002F1.getting-started\u002F08.seo-meta",{"title":59,"path":1981,"stem":1982,"titleTemplate":6,"icon":62},"\u002Fdocs\u002F5.x\u002Fgetting-started\u002Ftransitions","docs\u002F5.x\u002F1.getting-started\u002F09.transitions",{"title":64,"path":1984,"stem":1985,"titleTemplate":6,"icon":67},"\u002Fdocs\u002F5.x\u002Fgetting-started\u002Fdata-fetching","docs\u002F5.x\u002F1.getting-started\u002F10.data-fetching",{"title":69,"path":1987,"stem":1988,"titleTemplate":6,"icon":72},"\u002Fdocs\u002F5.x\u002Fgetting-started\u002Fstate-management","docs\u002F5.x\u002F1.getting-started\u002F11.state-management",{"title":74,"path":1990,"stem":1991,"titleTemplate":6,"icon":77},"\u002Fdocs\u002F5.x\u002Fgetting-started\u002Ferror-handling","docs\u002F5.x\u002F1.getting-started\u002F12.error-handling",{"title":79,"path":1993,"stem":1994,"titleTemplate":6,"icon":82},"\u002Fdocs\u002F5.x\u002Fgetting-started\u002Fserver","docs\u002F5.x\u002F1.getting-started\u002F13.server",{"title":84,"path":1996,"stem":1997,"titleTemplate":6,"icon":87},"\u002Fdocs\u002F5.x\u002Fgetting-started\u002Flayers","docs\u002F5.x\u002F1.getting-started\u002F14.layers",{"title":89,"path":1999,"stem":2000,"titleTemplate":6,"icon":92},"\u002Fdocs\u002F5.x\u002Fgetting-started\u002Fprerendering","docs\u002F5.x\u002F1.getting-started\u002F15.prerendering",{"title":94,"path":2002,"stem":2003,"titleTemplate":6,"icon":97},"\u002Fdocs\u002F5.x\u002Fgetting-started\u002Fdeployment","docs\u002F5.x\u002F1.getting-started\u002F16.deployment",{"title":99,"path":2005,"stem":2006,"titleTemplate":6,"icon":102},"\u002Fdocs\u002F5.x\u002Fgetting-started\u002Ftesting","docs\u002F5.x\u002F1.getting-started\u002F17.testing",{"title":104,"path":2008,"stem":2009,"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":2011,"stem":2012,"children":2013,"page":108},"\u002Fdocs\u002F5.x\u002Fdirectory-structure","docs\u002F5.x\u002F2.directory-structure",[2014,2017,2020,2058,2061,2064,2067,2070,2073,2076,2079,2082,2085,2088,2091,2094,2097],{"title":117,"path":2015,"stem":2016,"titleTemplate":6,"icon":120},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fnuxt","docs\u002F5.x\u002F2.directory-structure\u002F0.nuxt",{"title":122,"path":2018,"stem":2019,"titleTemplate":6,"icon":125},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Foutput","docs\u002F5.x\u002F2.directory-structure\u002F0.output",{"title":1193,"titleTemplate":111,"head":2021,"defaultOpen":1196,"icon":1197,"path":2022,"stem":2023,"children":2024,"page":108},{"title":1195},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fapp","docs\u002F5.x\u002F2.directory-structure\u002F1.app",[2025,2028,2031,2034,2037,2040,2043,2046,2049,2052,2055],{"title":127,"path":2026,"stem":2027,"titleTemplate":6,"icon":130},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fapp\u002Fassets","docs\u002F5.x\u002F2.directory-structure\u002F1.app\u002F1.assets",{"title":132,"path":2029,"stem":2030,"titleTemplate":6,"icon":135},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fapp\u002Fcomponents","docs\u002F5.x\u002F2.directory-structure\u002F1.app\u002F1.components",{"title":137,"path":2032,"stem":2033,"titleTemplate":6,"icon":140},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fapp\u002Fcomposables","docs\u002F5.x\u002F2.directory-structure\u002F1.app\u002F1.composables",{"title":152,"path":2035,"stem":2036,"titleTemplate":6,"icon":155},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fapp\u002Flayouts","docs\u002F5.x\u002F2.directory-structure\u002F1.app\u002F1.layouts",{"title":157,"path":2038,"stem":2039,"titleTemplate":6,"icon":160},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fapp\u002Fmiddleware","docs\u002F5.x\u002F2.directory-structure\u002F1.app\u002F1.middleware",{"title":171,"path":2041,"stem":2042,"titleTemplate":6,"icon":155},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fapp\u002Fpages","docs\u002F5.x\u002F2.directory-structure\u002F1.app\u002F1.pages",{"title":175,"path":2044,"stem":2045,"titleTemplate":6,"icon":178},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fapp\u002Fplugins","docs\u002F5.x\u002F2.directory-structure\u002F1.app\u002F1.plugins",{"title":195,"path":2047,"stem":2048,"titleTemplate":6,"icon":198},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fapp\u002Futils","docs\u002F5.x\u002F2.directory-structure\u002F1.app\u002F1.utils",{"title":219,"path":2050,"stem":2051,"titleTemplate":6,"icon":222},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fapp\u002Fapp","docs\u002F5.x\u002F2.directory-structure\u002F1.app\u002F3.app",{"title":224,"path":2053,"stem":2054,"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":2056,"stem":2057,"titleTemplate":6,"icon":222},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fapp\u002Ferror","docs\u002F5.x\u002F2.directory-structure\u002F1.app\u002F3.error",{"title":142,"path":2059,"stem":2060,"titleTemplate":6,"icon":145},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fcontent","docs\u002F5.x\u002F2.directory-structure\u002F1.content",{"title":147,"path":2062,"stem":2063,"titleTemplate":6,"icon":150},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Flayers","docs\u002F5.x\u002F2.directory-structure\u002F1.layers",{"title":162,"path":2065,"stem":2066,"titleTemplate":6,"icon":150},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fmodules","docs\u002F5.x\u002F2.directory-structure\u002F1.modules",{"title":166,"path":2068,"stem":2069,"titleTemplate":6,"icon":169},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fnode_modules","docs\u002F5.x\u002F2.directory-structure\u002F1.node_modules",{"title":180,"path":2071,"stem":2072,"titleTemplate":6,"icon":183},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fpublic","docs\u002F5.x\u002F2.directory-structure\u002F1.public",{"title":185,"path":2074,"stem":2075,"titleTemplate":6,"icon":188},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fserver","docs\u002F5.x\u002F2.directory-structure\u002F1.server",{"title":190,"path":2077,"stem":2078,"titleTemplate":6,"icon":193},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fshared","docs\u002F5.x\u002F2.directory-structure\u002F1.shared",{"title":200,"path":2080,"stem":2081,"titleTemplate":6,"icon":203},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fenv","docs\u002F5.x\u002F2.directory-structure\u002F2.env",{"title":205,"path":2083,"stem":2084,"titleTemplate":6,"icon":208},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fgitignore","docs\u002F5.x\u002F2.directory-structure\u002F2.gitignore",{"title":210,"path":2086,"stem":2087,"titleTemplate":6,"icon":213},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fnuxtignore","docs\u002F5.x\u002F2.directory-structure\u002F2.nuxtignore",{"title":215,"path":2089,"stem":2090,"titleTemplate":6,"icon":213},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fnuxtrc","docs\u002F5.x\u002F2.directory-structure\u002F2.nuxtrc",{"title":233,"path":2092,"stem":2093,"titleTemplate":6,"icon":213},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fnuxt-config","docs\u002F5.x\u002F2.directory-structure\u002F3.nuxt-config",{"title":237,"path":2095,"stem":2096,"titleTemplate":6,"icon":240},"\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fpackage","docs\u002F5.x\u002F2.directory-structure\u002F3.package",{"title":242,"path":2098,"stem":2099,"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":2101,"stem":2102,"children":2103,"page":108},"\u002Fdocs\u002F5.x\u002Fguide","docs\u002F5.x\u002F3.guide",[2104,2129,2142,2152,2177,2193],{"title":253,"titleTemplate":254,"icon":255,"path":2105,"stem":2106,"children":2107,"page":108},"\u002Fdocs\u002F5.x\u002Fguide\u002Fconcepts","docs\u002F5.x\u002F3.guide\u002F1.concepts",[2108,2111,2114,2117,2120,2123,2126],{"title":260,"path":2109,"stem":2110,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fconcepts\u002Frendering","docs\u002F5.x\u002F3.guide\u002F1.concepts\u002F1.rendering",{"title":264,"path":2112,"stem":2113,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fconcepts\u002Fnuxt-lifecycle","docs\u002F5.x\u002F3.guide\u002F1.concepts\u002F2.nuxt-lifecycle",{"title":268,"path":2115,"stem":2116,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fconcepts\u002Fauto-imports","docs\u002F5.x\u002F3.guide\u002F1.concepts\u002F3.auto-imports",{"title":272,"path":2118,"stem":2119,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fconcepts\u002Fserver-engine","docs\u002F5.x\u002F3.guide\u002F1.concepts\u002F4.server-engine",{"title":276,"path":2121,"stem":2122,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fconcepts\u002Fmodules","docs\u002F5.x\u002F3.guide\u002F1.concepts\u002F5.modules",{"title":280,"path":2124,"stem":2125,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fconcepts\u002Ftypescript","docs\u002F5.x\u002F3.guide\u002F1.concepts\u002F8.typescript",{"title":284,"path":2127,"stem":2128,"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":2130,"stem":2131,"children":2132,"page":108},"\u002Fdocs\u002F5.x\u002Fguide\u002Fbest-practices","docs\u002F5.x\u002F3.guide\u002F2.best-practices",[2133,2136,2139],{"title":1310,"path":2134,"stem":2135,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fbest-practices\u002Fhydration","docs\u002F5.x\u002F3.guide\u002F2.best-practices\u002Fhydration",{"title":299,"path":2137,"stem":2138,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fbest-practices\u002Fperformance","docs\u002F5.x\u002F3.guide\u002F2.best-practices\u002Fperformance",{"title":303,"path":2140,"stem":2141,"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":2143,"stem":2144,"children":2145,"page":108},"\u002Fdocs\u002F5.x\u002Fguide\u002Fai","docs\u002F5.x\u002F3.guide\u002F3.ai",[2146,2149],{"title":314,"path":2147,"stem":2148,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fai\u002Fmcp","docs\u002F5.x\u002F3.guide\u002F3.ai\u002F1.mcp",{"title":318,"path":2150,"stem":2151,"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":2153,"stem":2154,"children":2155,"page":108},"\u002Fdocs\u002F5.x\u002Fguide\u002Fmodules","docs\u002F5.x\u002F3.guide\u002F4.modules",[2156,2159,2162,2165,2168,2171,2174],{"title":329,"path":2157,"stem":2158,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fmodules\u002Fgetting-started","docs\u002F5.x\u002F3.guide\u002F4.modules\u002F1.getting-started",{"title":333,"path":2160,"stem":2161,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fmodules\u002Fmodule-anatomy","docs\u002F5.x\u002F3.guide\u002F4.modules\u002F2.module-anatomy",{"title":337,"path":2163,"stem":2164,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fmodules\u002Frecipes-basics","docs\u002F5.x\u002F3.guide\u002F4.modules\u002F3.recipes-basics",{"title":341,"path":2166,"stem":2167,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fmodules\u002Frecipes-advanced","docs\u002F5.x\u002F3.guide\u002F4.modules\u002F4.recipes-advanced",{"title":345,"path":2169,"stem":2170,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fmodules\u002Ftesting","docs\u002F5.x\u002F3.guide\u002F4.modules\u002F5.testing",{"title":349,"path":2172,"stem":2173,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fmodules\u002Fbest-practices","docs\u002F5.x\u002F3.guide\u002F4.modules\u002F6.best-practices",{"title":353,"path":2175,"stem":2176,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fmodules\u002Fecosystem","docs\u002F5.x\u002F3.guide\u002F4.modules\u002F7.ecosystem",{"title":357,"titleTemplate":358,"icon":359,"path":2178,"stem":2179,"children":2180,"page":108},"\u002Fdocs\u002F5.x\u002Fguide\u002Frecipes","docs\u002F5.x\u002F3.guide\u002F5.recipes",[2181,2184,2187,2190],{"title":364,"path":2182,"stem":2183,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Frecipes\u002Fcustom-routing","docs\u002F5.x\u002F3.guide\u002F5.recipes\u002F1.custom-routing",{"title":368,"path":2185,"stem":2186,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Frecipes\u002Fvite-plugin","docs\u002F5.x\u002F3.guide\u002F5.recipes\u002F2.vite-plugin",{"title":372,"path":2188,"stem":2189,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Frecipes\u002Fcustom-usefetch","docs\u002F5.x\u002F3.guide\u002F5.recipes\u002F3.custom-usefetch",{"title":376,"path":2191,"stem":2192,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Frecipes\u002Fsessions-and-authentication","docs\u002F5.x\u002F3.guide\u002F5.recipes\u002F4.sessions-and-authentication",{"title":380,"titleTemplate":381,"icon":382,"path":2194,"stem":2195,"children":2196,"page":108},"\u002Fdocs\u002F5.x\u002Fguide\u002Fgoing-further","docs\u002F5.x\u002F3.guide\u002F6.going-further",[2197,2200,2203,2206,2209,2212,2215,2218,2221,2224],{"title":387,"path":2198,"stem":2199,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fgoing-further\u002Fevents","docs\u002F5.x\u002F3.guide\u002F6.going-further\u002F1.events",{"title":391,"path":2201,"stem":2202,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fgoing-further\u002Fexperimental-features","docs\u002F5.x\u002F3.guide\u002F6.going-further\u002F1.experimental-features",{"title":395,"path":2204,"stem":2205,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fgoing-further\u002Ffeatures","docs\u002F5.x\u002F3.guide\u002F6.going-further\u002F1.features",{"title":399,"path":2207,"stem":2208,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fgoing-further\u002Fruntime-config","docs\u002F5.x\u002F3.guide\u002F6.going-further\u002F10.runtime-config",{"title":403,"path":2210,"stem":2211,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fgoing-further\u002Fnightly-release-channel","docs\u002F5.x\u002F3.guide\u002F6.going-further\u002F11.nightly-release-channel",{"title":407,"path":2213,"stem":2214,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fgoing-further\u002Fhooks","docs\u002F5.x\u002F3.guide\u002F6.going-further\u002F2.hooks",{"title":411,"path":2216,"stem":2217,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fgoing-further\u002Fkit","docs\u002F5.x\u002F3.guide\u002F6.going-further\u002F4.kit",{"title":415,"path":2219,"stem":2220,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fgoing-further\u002Fnuxt-app","docs\u002F5.x\u002F3.guide\u002F6.going-further\u002F6.nuxt-app",{"title":419,"path":2222,"stem":2223,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fgoing-further\u002Flayers","docs\u002F5.x\u002F3.guide\u002F6.going-further\u002F7.layers",{"title":423,"path":2225,"stem":2226,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fguide\u002Fgoing-further\u002Fdebugging","docs\u002F5.x\u002F3.guide\u002F6.going-further\u002F9.debugging",{"title":427,"titleTemplate":428,"icon":429,"path":2228,"stem":2229,"children":2230,"page":108},"\u002Fdocs\u002F5.x\u002Fapi","docs\u002F5.x\u002F4.api",[2231,2283,2383,2474,2526,2584,2594],{"title":434,"titleTemplate":435,"icon":324,"path":2232,"stem":2233,"children":2234,"page":108},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomponents","docs\u002F5.x\u002F4.api\u002F1.components",[2235,2238,2241,2244,2247,2250,2253,2256,2259,2262,2265,2268,2271,2274,2277,2280],{"title":440,"path":2236,"stem":2237,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomponents\u002Fclient-only","docs\u002F5.x\u002F4.api\u002F1.components\u002F1.client-only",{"title":444,"path":2239,"stem":2240,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomponents\u002Fdev-only","docs\u002F5.x\u002F4.api\u002F1.components\u002F1.dev-only",{"title":448,"path":2242,"stem":2243,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomponents\u002Fnuxt-client-fallback","docs\u002F5.x\u002F4.api\u002F1.components\u002F1.nuxt-client-fallback",{"title":452,"path":2245,"stem":2246,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomponents\u002Fnuxt-picture","docs\u002F5.x\u002F4.api\u002F1.components\u002F10.nuxt-picture",{"title":456,"path":2248,"stem":2249,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomponents\u002Fteleports","docs\u002F5.x\u002F4.api\u002F1.components\u002F11.teleports",{"title":460,"path":2251,"stem":2252,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomponents\u002Fnuxt-route-announcer","docs\u002F5.x\u002F4.api\u002F1.components\u002F12.nuxt-route-announcer",{"title":464,"path":2254,"stem":2255,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomponents\u002Fnuxt-time","docs\u002F5.x\u002F4.api\u002F1.components\u002F13.nuxt-time",{"title":1434,"path":2257,"stem":2258,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomponents\u002Fnuxt-announcer","docs\u002F5.x\u002F4.api\u002F1.components\u002F14.nuxt-announcer",{"title":468,"path":2260,"stem":2261,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomponents\u002Fnuxt-page","docs\u002F5.x\u002F4.api\u002F1.components\u002F2.nuxt-page",{"title":472,"path":2263,"stem":2264,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomponents\u002Fnuxt-layout","docs\u002F5.x\u002F4.api\u002F1.components\u002F3.nuxt-layout",{"title":476,"path":2266,"stem":2267,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomponents\u002Fnuxt-link","docs\u002F5.x\u002F4.api\u002F1.components\u002F4.nuxt-link",{"title":480,"path":2269,"stem":2270,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomponents\u002Fnuxt-loading-indicator","docs\u002F5.x\u002F4.api\u002F1.components\u002F5.nuxt-loading-indicator",{"title":484,"path":2272,"stem":2273,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomponents\u002Fnuxt-error-boundary","docs\u002F5.x\u002F4.api\u002F1.components\u002F6.nuxt-error-boundary",{"title":488,"path":2275,"stem":2276,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomponents\u002Fnuxt-welcome","docs\u002F5.x\u002F4.api\u002F1.components\u002F7.nuxt-welcome",{"title":492,"path":2278,"stem":2279,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomponents\u002Fnuxt-island","docs\u002F5.x\u002F4.api\u002F1.components\u002F8.nuxt-island",{"title":496,"path":2281,"stem":2282,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomponents\u002Fnuxt-img","docs\u002F5.x\u002F4.api\u002F1.components\u002F9.nuxt-img",{"title":500,"titleTemplate":501,"icon":502,"path":2284,"stem":2285,"children":2286,"page":108},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables","docs\u002F5.x\u002F4.api\u002F2.composables",[2287,2290,2293,2296,2299,2302,2305,2308,2311,2314,2317,2320,2323,2326,2329,2332,2335,2338,2341,2344,2347,2350,2353,2356,2359,2362,2365,2368,2371,2374,2377,2380],{"title":1466,"path":2288,"stem":2289,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fcreate-use-async-data","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fcreate-use-async-data",{"title":1470,"path":2291,"stem":2292,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fcreate-use-fetch","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fcreate-use-fetch",{"title":507,"path":2294,"stem":2295,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fon-prehydrate","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fon-prehydrate",{"title":1477,"path":2297,"stem":2298,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-announcer","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-announcer",{"title":511,"path":2300,"stem":2301,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-app-config","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-app-config",{"title":515,"path":2303,"stem":2304,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-async-data","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-async-data",{"title":519,"path":2306,"stem":2307,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-cookie","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-cookie",{"title":523,"path":2309,"stem":2310,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-error","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-error",{"title":527,"path":2312,"stem":2313,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-fetch","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-fetch",{"title":531,"path":2315,"stem":2316,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-head","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-head",{"title":535,"path":2318,"stem":2319,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-head-safe","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-head-safe",{"title":539,"path":2321,"stem":2322,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-hydration","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-hydration",{"title":543,"path":2324,"stem":2325,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-lazy-async-data","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-lazy-async-data",{"title":547,"path":2327,"stem":2328,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-lazy-fetch","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-lazy-fetch",{"title":551,"path":2330,"stem":2331,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-loading-indicator","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-loading-indicator",{"title":555,"path":2333,"stem":2334,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-nuxt-app","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-nuxt-app",{"title":559,"path":2336,"stem":2337,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-nuxt-data","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-nuxt-data",{"title":563,"path":2339,"stem":2340,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-preview-mode","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-preview-mode",{"title":567,"path":2342,"stem":2343,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-request-event","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-request-event",{"title":571,"path":2345,"stem":2346,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-request-fetch","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-request-fetch",{"title":575,"path":2348,"stem":2349,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-request-header","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-request-header",{"title":579,"path":2351,"stem":2352,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-request-headers","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-request-headers",{"title":583,"path":2354,"stem":2355,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-request-url","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-request-url",{"title":587,"path":2357,"stem":2358,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-response-header","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-response-header",{"title":591,"path":2360,"stem":2361,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-route","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-route",{"title":595,"path":2363,"stem":2364,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-route-announcer","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-route-announcer",{"title":599,"path":2366,"stem":2367,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-router","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-router",{"title":603,"path":2369,"stem":2370,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-runtime-config","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-runtime-config",{"title":607,"path":2372,"stem":2373,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-runtime-hook","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-runtime-hook",{"title":611,"path":2375,"stem":2376,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-seo-meta","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-seo-meta",{"title":615,"path":2378,"stem":2379,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-server-seo-meta","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-server-seo-meta",{"title":619,"path":2381,"stem":2382,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-state","docs\u002F5.x\u002F4.api\u002F2.composables\u002Fuse-state",{"title":623,"titleTemplate":624,"icon":625,"path":2384,"stem":2385,"children":2386,"page":108},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils","docs\u002F5.x\u002F4.api\u002F3.utils",[2387,2390,2393,2396,2399,2402,2405,2408,2411,2414,2417,2420,2423,2426,2429,2432,2435,2438,2441,2444,2447,2450,2453,2456,2459,2462,2465,2468,2471],{"title":630,"path":2388,"stem":2389,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fdollarfetch","docs\u002F5.x\u002F4.api\u002F3.utils\u002F$fetch",{"title":634,"path":2391,"stem":2392,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fabort-navigation","docs\u002F5.x\u002F4.api\u002F3.utils\u002Fabort-navigation",{"title":638,"path":2394,"stem":2395,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fadd-route-middleware","docs\u002F5.x\u002F4.api\u002F3.utils\u002Fadd-route-middleware",{"title":642,"path":2397,"stem":2398,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fcall-once","docs\u002F5.x\u002F4.api\u002F3.utils\u002Fcall-once",{"title":646,"path":2400,"stem":2401,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fclear-error","docs\u002F5.x\u002F4.api\u002F3.utils\u002Fclear-error",{"title":650,"path":2403,"stem":2404,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fclear-nuxt-data","docs\u002F5.x\u002F4.api\u002F3.utils\u002Fclear-nuxt-data",{"title":654,"path":2406,"stem":2407,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fclear-nuxt-state","docs\u002F5.x\u002F4.api\u002F3.utils\u002Fclear-nuxt-state",{"title":658,"path":2409,"stem":2410,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fcreate-error","docs\u002F5.x\u002F4.api\u002F3.utils\u002Fcreate-error",{"title":662,"path":2412,"stem":2413,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fdefine-lazy-hydration-component","docs\u002F5.x\u002F4.api\u002F3.utils\u002Fdefine-lazy-hydration-component",{"title":666,"path":2415,"stem":2416,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fdefine-nuxt-component","docs\u002F5.x\u002F4.api\u002F3.utils\u002Fdefine-nuxt-component",{"title":670,"path":2418,"stem":2419,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fdefine-nuxt-plugin","docs\u002F5.x\u002F4.api\u002F3.utils\u002Fdefine-nuxt-plugin",{"title":674,"path":2421,"stem":2422,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fdefine-nuxt-route-middleware","docs\u002F5.x\u002F4.api\u002F3.utils\u002Fdefine-nuxt-route-middleware",{"title":678,"path":2424,"stem":2425,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fdefine-page-meta","docs\u002F5.x\u002F4.api\u002F3.utils\u002Fdefine-page-meta",{"title":682,"path":2427,"stem":2428,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fdefine-route-rules","docs\u002F5.x\u002F4.api\u002F3.utils\u002Fdefine-route-rules",{"title":686,"path":2430,"stem":2431,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fnavigate-to","docs\u002F5.x\u002F4.api\u002F3.utils\u002Fnavigate-to",{"title":690,"path":2433,"stem":2434,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fon-before-route-leave","docs\u002F5.x\u002F4.api\u002F3.utils\u002Fon-before-route-leave",{"title":694,"path":2436,"stem":2437,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fon-before-route-update","docs\u002F5.x\u002F4.api\u002F3.utils\u002Fon-before-route-update",{"title":698,"path":2439,"stem":2440,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fon-nuxt-ready","docs\u002F5.x\u002F4.api\u002F3.utils\u002Fon-nuxt-ready",{"title":702,"path":2442,"stem":2443,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fprefetch-components","docs\u002F5.x\u002F4.api\u002F3.utils\u002Fprefetch-components",{"title":706,"path":2445,"stem":2446,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fpreload-components","docs\u002F5.x\u002F4.api\u002F3.utils\u002Fpreload-components",{"title":710,"path":2448,"stem":2449,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fpreload-route-components","docs\u002F5.x\u002F4.api\u002F3.utils\u002Fpreload-route-components",{"title":714,"path":2451,"stem":2452,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fprerender-routes","docs\u002F5.x\u002F4.api\u002F3.utils\u002Fprerender-routes",{"title":718,"path":2454,"stem":2455,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Frefresh-cookie","docs\u002F5.x\u002F4.api\u002F3.utils\u002Frefresh-cookie",{"title":722,"path":2457,"stem":2458,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Frefresh-nuxt-data","docs\u002F5.x\u002F4.api\u002F3.utils\u002Frefresh-nuxt-data",{"title":726,"path":2460,"stem":2461,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Freload-nuxt-app","docs\u002F5.x\u002F4.api\u002F3.utils\u002Freload-nuxt-app",{"title":730,"path":2463,"stem":2464,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fset-page-layout","docs\u002F5.x\u002F4.api\u002F3.utils\u002Fset-page-layout",{"title":734,"path":2466,"stem":2467,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fset-response-status","docs\u002F5.x\u002F4.api\u002F3.utils\u002Fset-response-status",{"title":738,"path":2469,"stem":2470,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fshow-error","docs\u002F5.x\u002F4.api\u002F3.utils\u002Fshow-error",{"title":742,"path":2472,"stem":2473,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fupdate-app-config","docs\u002F5.x\u002F4.api\u002F3.utils\u002Fupdate-app-config",{"title":746,"titleTemplate":747,"icon":748,"path":2475,"stem":2476,"children":2477,"page":108},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcommands","docs\u002F5.x\u002F4.api\u002F4.commands",[2478,2481,2484,2487,2490,2493,2496,2499,2502,2505,2508,2511,2514,2517,2520,2523],{"title":753,"path":2479,"stem":2480,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcommands\u002Fadd","docs\u002F5.x\u002F4.api\u002F4.commands\u002Fadd",{"title":757,"path":2482,"stem":2483,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcommands\u002Fanalyze","docs\u002F5.x\u002F4.api\u002F4.commands\u002Fanalyze",{"title":761,"path":2485,"stem":2486,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcommands\u002Fbuild","docs\u002F5.x\u002F4.api\u002F4.commands\u002Fbuild",{"title":765,"path":2488,"stem":2489,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcommands\u002Fbuild-module","docs\u002F5.x\u002F4.api\u002F4.commands\u002Fbuild-module",{"title":769,"path":2491,"stem":2492,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcommands\u002Fcleanup","docs\u002F5.x\u002F4.api\u002F4.commands\u002Fcleanup",{"title":773,"path":2494,"stem":2495,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcommands\u002Fdev","docs\u002F5.x\u002F4.api\u002F4.commands\u002Fdev",{"title":777,"path":2497,"stem":2498,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcommands\u002Fdevtools","docs\u002F5.x\u002F4.api\u002F4.commands\u002Fdevtools",{"title":781,"path":2500,"stem":2501,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcommands\u002Fgenerate","docs\u002F5.x\u002F4.api\u002F4.commands\u002Fgenerate",{"title":785,"path":2503,"stem":2504,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcommands\u002Finfo","docs\u002F5.x\u002F4.api\u002F4.commands\u002Finfo",{"title":789,"path":2506,"stem":2507,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcommands\u002Finit","docs\u002F5.x\u002F4.api\u002F4.commands\u002Finit",{"title":793,"path":2509,"stem":2510,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcommands\u002Fmodule","docs\u002F5.x\u002F4.api\u002F4.commands\u002Fmodule",{"title":797,"path":2512,"stem":2513,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcommands\u002Fprepare","docs\u002F5.x\u002F4.api\u002F4.commands\u002Fprepare",{"title":801,"path":2515,"stem":2516,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcommands\u002Fpreview","docs\u002F5.x\u002F4.api\u002F4.commands\u002Fpreview",{"title":805,"path":2518,"stem":2519,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcommands\u002Ftest","docs\u002F5.x\u002F4.api\u002F4.commands\u002Ftest",{"title":809,"path":2521,"stem":2522,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcommands\u002Ftypecheck","docs\u002F5.x\u002F4.api\u002F4.commands\u002Ftypecheck",{"title":813,"path":2524,"stem":2525,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fcommands\u002Fupgrade","docs\u002F5.x\u002F4.api\u002F4.commands\u002Fupgrade",{"title":411,"titleTemplate":817,"icon":818,"path":2527,"stem":2528,"children":2529,"page":108},"\u002Fdocs\u002F5.x\u002Fapi\u002Fkit","docs\u002F5.x\u002F4.api\u002F5.kit",[2530,2533,2536,2539,2542,2545,2548,2551,2554,2557,2560,2563,2566,2569,2572,2575,2578,2581],{"title":276,"path":2531,"stem":2532,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fkit\u002Fmodules","docs\u002F5.x\u002F4.api\u002F5.kit\u002F1.modules",{"title":399,"path":2534,"stem":2535,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fkit\u002Fruntime-config","docs\u002F5.x\u002F4.api\u002F5.kit\u002F10.runtime-config",{"title":829,"path":2537,"stem":2538,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fkit\u002Ftemplates","docs\u002F5.x\u002F4.api\u002F5.kit\u002F10.templates",{"title":833,"path":2540,"stem":2541,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fkit\u002Fnitro","docs\u002F5.x\u002F4.api\u002F5.kit\u002F11.nitro",{"title":837,"path":2543,"stem":2544,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fkit\u002Fresolving","docs\u002F5.x\u002F4.api\u002F5.kit\u002F12.resolving",{"title":841,"path":2546,"stem":2547,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fkit\u002Flogging","docs\u002F5.x\u002F4.api\u002F5.kit\u002F13.logging",{"title":845,"path":2549,"stem":2550,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fkit\u002Fbuilder","docs\u002F5.x\u002F4.api\u002F5.kit\u002F14.builder",{"title":849,"path":2552,"stem":2553,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fkit\u002Fexamples","docs\u002F5.x\u002F4.api\u002F5.kit\u002F15.examples",{"title":84,"path":2555,"stem":2556,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fkit\u002Flayers","docs\u002F5.x\u002F4.api\u002F5.kit\u002F16.layers",{"title":856,"path":2558,"stem":2559,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fkit\u002Fprogrammatic","docs\u002F5.x\u002F4.api\u002F5.kit\u002F2.programmatic",{"title":860,"path":2561,"stem":2562,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fkit\u002Fcompatibility","docs\u002F5.x\u002F4.api\u002F5.kit\u002F3.compatibility",{"title":268,"path":2564,"stem":2565,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fkit\u002Fautoimports","docs\u002F5.x\u002F4.api\u002F5.kit\u002F4.autoimports",{"title":434,"path":2567,"stem":2568,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fkit\u002Fcomponents","docs\u002F5.x\u002F4.api\u002F5.kit\u002F5.components",{"title":870,"path":2570,"stem":2571,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fkit\u002Fcontext","docs\u002F5.x\u002F4.api\u002F5.kit\u002F6.context",{"title":874,"path":2573,"stem":2574,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fkit\u002Fpages","docs\u002F5.x\u002F4.api\u002F5.kit\u002F7.pages",{"title":878,"path":2576,"stem":2577,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fkit\u002Flayout","docs\u002F5.x\u002F4.api\u002F5.kit\u002F8.layout",{"title":882,"path":2579,"stem":2580,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fkit\u002Fhead","docs\u002F5.x\u002F4.api\u002F5.kit\u002F9.head",{"title":886,"path":2582,"stem":2583,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fkit\u002Fplugins","docs\u002F5.x\u002F4.api\u002F5.kit\u002F9.plugins",{"title":890,"titleTemplate":6,"icon":891,"path":2585,"stem":2586,"children":2587,"page":108},"\u002Fdocs\u002F5.x\u002Fapi\u002Fadvanced","docs\u002F5.x\u002F4.api\u002F6.advanced",[2588,2591],{"title":407,"path":2589,"stem":2590,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fadvanced\u002Fhooks","docs\u002F5.x\u002F4.api\u002F6.advanced\u002F1.hooks",{"title":899,"path":2592,"stem":2593,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fapi\u002Fadvanced\u002Fimport-meta","docs\u002F5.x\u002F4.api\u002F6.advanced\u002F2.import-meta",{"title":903,"path":2595,"stem":2596,"titleTemplate":906,"icon":32},"\u002Fdocs\u002F5.x\u002Fapi\u002Fnuxt-config","docs\u002F5.x\u002F4.api\u002F6.nuxt-config",{"title":849,"titleTemplate":908,"icon":909,"path":2598,"stem":2599,"children":2600,"page":108},"\u002Fdocs\u002F5.x\u002Fexamples","docs\u002F5.x\u002F4.examples",[2601,2604,2623,2636,2667],{"title":914,"path":2602,"stem":2603,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fexamples\u002Fhello-world","docs\u002F5.x\u002F4.examples\u002F0.hello-world",{"title":395,"path":2605,"stem":2606,"children":2607,"page":108},"\u002Fdocs\u002F5.x\u002Fexamples\u002Ffeatures","docs\u002F5.x\u002F4.examples\u002F1.features",[2608,2611,2614,2617,2620],{"title":922,"path":2609,"stem":2610,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fexamples\u002Ffeatures\u002Fauto-imports","docs\u002F5.x\u002F4.examples\u002F1.features\u002F1.auto-imports",{"title":64,"path":2612,"stem":2613,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fexamples\u002Ffeatures\u002Fdata-fetching","docs\u002F5.x\u002F4.examples\u002F1.features\u002F2.data-fetching",{"title":69,"path":2615,"stem":2616,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fexamples\u002Ffeatures\u002Fstate-management","docs\u002F5.x\u002F4.examples\u002F1.features\u002F3.state-management",{"title":932,"path":2618,"stem":2619,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fexamples\u002Ffeatures\u002Fmeta-tags","docs\u002F5.x\u002F4.examples\u002F1.features\u002F4.meta-tags",{"title":936,"path":2621,"stem":2622,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fexamples\u002Ffeatures\u002Flayouts","docs\u002F5.x\u002F4.examples\u002F1.features\u002F5.layouts",{"title":49,"path":2624,"stem":2625,"children":2626,"page":108},"\u002Fdocs\u002F5.x\u002Fexamples\u002Frouting","docs\u002F5.x\u002F4.examples\u002F2.routing",[2627,2630,2633],{"title":944,"path":2628,"stem":2629,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fexamples\u002Frouting\u002Fmiddleware","docs\u002F5.x\u002F4.examples\u002F2.routing\u002Fmiddleware",{"title":874,"path":2631,"stem":2632,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fexamples\u002Frouting\u002Fpages","docs\u002F5.x\u002F4.examples\u002F2.routing\u002Fpages",{"title":951,"path":2634,"stem":2635,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fexamples\u002Frouting\u002Funiversal-router","docs\u002F5.x\u002F4.examples\u002F2.routing\u002Funiversal-router",{"title":890,"path":2637,"stem":2638,"children":2639,"page":108},"\u002Fdocs\u002F5.x\u002Fexamples\u002Fadvanced","docs\u002F5.x\u002F4.examples\u002F4.advanced",[2640,2643,2646,2649,2652,2655,2658,2661,2664],{"title":84,"path":2641,"stem":2642,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fexamples\u002Fadvanced\u002Fconfig-extends","docs\u002F5.x\u002F4.examples\u002F4.advanced\u002Fconfig-extends",{"title":74,"path":2644,"stem":2645,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fexamples\u002Fadvanced\u002Ferror-handling","docs\u002F5.x\u002F4.examples\u002F4.advanced\u002Ferror-handling",{"title":965,"path":2647,"stem":2648,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fexamples\u002Fadvanced\u002Fjsx","docs\u002F5.x\u002F4.examples\u002F4.advanced\u002Fjsx",{"title":969,"path":2650,"stem":2651,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fexamples\u002Fadvanced\u002Flocale","docs\u002F5.x\u002F4.examples\u002F4.advanced\u002Flocale",{"title":973,"path":2653,"stem":2654,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fexamples\u002Fadvanced\u002Fmodule-extend-pages","docs\u002F5.x\u002F4.examples\u002F4.advanced\u002Fmodule-extend-pages",{"title":977,"path":2656,"stem":2657,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fexamples\u002Fadvanced\u002Fteleport","docs\u002F5.x\u002F4.examples\u002F4.advanced\u002Fteleport",{"title":99,"path":2659,"stem":2660,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fexamples\u002Fadvanced\u002Ftesting","docs\u002F5.x\u002F4.examples\u002F4.advanced\u002Ftesting",{"title":519,"path":2662,"stem":2663,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fexamples\u002Fadvanced\u002Fuse-cookie","docs\u002F5.x\u002F4.examples\u002F4.advanced\u002Fuse-cookie",{"title":987,"path":2665,"stem":2666,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fexamples\u002Fadvanced\u002Fuse-custom-fetch-composable","docs\u002F5.x\u002F4.examples\u002F4.advanced\u002Fuse-custom-fetch-composable",{"title":991,"path":2668,"stem":2669,"children":2670,"page":108},"\u002Fdocs\u002F5.x\u002Fexamples\u002Fexperimental","docs\u002F5.x\u002F4.examples\u002F7.experimental",[2671],{"title":996,"path":2672,"stem":2673,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fexamples\u002Fexperimental\u002Fwasm","docs\u002F5.x\u002F4.examples\u002F7.experimental\u002Fwasm",{"title":1000,"titleTemplate":1001,"icon":1002,"path":2675,"stem":2676,"children":2677,"page":108},"\u002Fdocs\u002F5.x\u002Fcommunity","docs\u002F5.x\u002F5.community",[2678,2681,2684,2687,2690,2693],{"title":1007,"path":2679,"stem":2680,"titleTemplate":6,"icon":1010},"\u002Fdocs\u002F5.x\u002Fcommunity\u002Fgetting-help","docs\u002F5.x\u002F5.community\u002F2.getting-help",{"title":1012,"path":2682,"stem":2683,"titleTemplate":6,"icon":1015},"\u002Fdocs\u002F5.x\u002Fcommunity\u002Freporting-bugs","docs\u002F5.x\u002F5.community\u002F3.reporting-bugs",{"title":1017,"path":2685,"stem":2686,"titleTemplate":6,"icon":1020},"\u002Fdocs\u002F5.x\u002Fcommunity\u002Fcontribution","docs\u002F5.x\u002F5.community\u002F4.contribution",{"title":1022,"path":2688,"stem":2689,"titleTemplate":6,"icon":1025},"\u002Fdocs\u002F5.x\u002Fcommunity\u002Fframework-contribution","docs\u002F5.x\u002F5.community\u002F5.framework-contribution",{"title":1027,"path":2691,"stem":2692,"titleTemplate":6,"icon":1030},"\u002Fdocs\u002F5.x\u002Fcommunity\u002Froadmap","docs\u002F5.x\u002F5.community\u002F6.roadmap",{"title":1032,"path":2694,"stem":2695,"titleTemplate":6,"icon":1035},"\u002Fdocs\u002F5.x\u002Fcommunity\u002Fchangelog","docs\u002F5.x\u002F5.community\u002F7.changelog",{"title":1037,"titleTemplate":1038,"icon":1039,"path":2697,"stem":2698,"children":2699,"page":108},"\u002Fdocs\u002F5.x\u002Fbridge","docs\u002F5.x\u002F6.bridge",[2700,2703,2706,2709,2712,2715,2718,2721,2724,2727],{"title":1044,"path":2701,"stem":2702,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fbridge\u002Foverview","docs\u002F5.x\u002F6.bridge\u002F1.overview",{"title":29,"path":2704,"stem":2705,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fbridge\u002Fconfiguration","docs\u002F5.x\u002F6.bridge\u002F10.configuration",{"title":280,"path":2707,"stem":2708,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fbridge\u002Ftypescript","docs\u002F5.x\u002F6.bridge\u002F2.typescript",{"title":1054,"path":2710,"stem":2711,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fbridge\u002Fbridge-composition-api","docs\u002F5.x\u002F6.bridge\u002F3.bridge-composition-api",{"title":1058,"path":2713,"stem":2714,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fbridge\u002Fplugins-and-middleware","docs\u002F5.x\u002F6.bridge\u002F4.plugins-and-middleware",{"title":1062,"path":2716,"stem":2717,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fbridge\u002Fnuxt3-compatible-api","docs\u002F5.x\u002F6.bridge\u002F5.nuxt3-compatible-api",{"title":932,"path":2719,"stem":2720,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fbridge\u002Fmeta","docs\u002F5.x\u002F6.bridge\u002F6.meta",{"title":399,"path":2722,"stem":2723,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fbridge\u002Fruntime-config","docs\u002F5.x\u002F6.bridge\u002F7.runtime-config",{"title":833,"path":2725,"stem":2726,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fbridge\u002Fnitro","docs\u002F5.x\u002F6.bridge\u002F8.nitro",{"title":1075,"path":2728,"stem":2729,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fbridge\u002Fvite","docs\u002F5.x\u002F6.bridge\u002F9.vite",{"title":1079,"titleTemplate":1080,"icon":107,"path":2731,"stem":2732,"children":2733,"page":108},"\u002Fdocs\u002F5.x\u002Fmigration","docs\u002F5.x\u002F7.migration",[2734,2737,2740,2743,2746,2749,2752,2755,2758,2761,2764],{"title":1044,"path":2735,"stem":2736,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fmigration\u002Foverview","docs\u002F5.x\u002F7.migration\u002F1.overview",{"title":1088,"path":2738,"stem":2739,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fmigration\u002Fbundling","docs\u002F5.x\u002F7.migration\u002F10.bundling",{"title":79,"path":2741,"stem":2742,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fmigration\u002Fserver","docs\u002F5.x\u002F7.migration\u002F11.server",{"title":29,"path":2744,"stem":2745,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fmigration\u002Fconfiguration","docs\u002F5.x\u002F7.migration\u002F2.configuration",{"title":276,"path":2747,"stem":2748,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fmigration\u002Fmodule-authors","docs\u002F5.x\u002F7.migration\u002F20.module-authors",{"title":922,"path":2750,"stem":2751,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fmigration\u002Fauto-imports","docs\u002F5.x\u002F7.migration\u002F3.auto-imports",{"title":932,"path":2753,"stem":2754,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fmigration\u002Fmeta","docs\u002F5.x\u002F7.migration\u002F4.meta",{"title":1058,"path":2756,"stem":2757,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fmigration\u002Fplugins-and-middleware","docs\u002F5.x\u002F7.migration\u002F5.plugins-and-middleware",{"title":1110,"path":2759,"stem":2760,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fmigration\u002Fpages-and-layouts","docs\u002F5.x\u002F7.migration\u002F6.pages-and-layouts",{"title":1114,"path":2762,"stem":2763,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fmigration\u002Fcomponent-options","docs\u002F5.x\u002F7.migration\u002F7.component-options",{"title":399,"path":2765,"stem":2766,"titleTemplate":6},"\u002Fdocs\u002F5.x\u002Fmigration\u002Fruntime-config","docs\u002F5.x\u002F7.migration\u002F8.runtime-config",{"title":2768,"path":2769,"stem":2770,"children":2771,"page":108},"Blog","\u002Fblog","blog",[2772,2776,2780,2784,2788,2792,2796,2800,2804,2808,2812,2816,2820,2824,2828,2832,2836,2840,2844,2848,2852],{"title":2773,"path":2774,"stem":2775},"Announcing 3.0","\u002Fblog\u002Fv3","blog\u002F1.v3",{"title":2777,"path":2778,"stem":2779},"Nuxt 3.3","\u002Fblog\u002Fv3-3","blog\u002F10.v3-3",{"title":2781,"path":2782,"stem":2783},"Nuxt 3.4","\u002Fblog\u002Fv3-4","blog\u002F11.v3-4",{"title":2785,"path":2786,"stem":2787},"Nuxt 3.5","\u002Fblog\u002Fv3-5","blog\u002F12.v3-5",{"title":2789,"path":2790,"stem":2791},"Nuxt 3.6","\u002Fblog\u002Fv3-6","blog\u002F13.v3-6",{"title":2793,"path":2794,"stem":2795},"Nuxt on the Edge","\u002Fblog\u002Fnuxt-on-the-edge","blog\u002F14.nuxt-on-the-edge",{"title":2797,"path":2798,"stem":2799},"Nuxt DevTools v1.0","\u002Fblog\u002Fnuxt-devtools-v1-0","blog\u002F18.nuxt-devtools-v1-0",{"title":2801,"path":2802,"stem":2803},"Nuxt: A vision for 2023","\u002Fblog\u002Fvision-2023","blog\u002F2.vision-2023",{"title":2805,"path":2806,"stem":2807},"The Evolution of Shiki v1.0","\u002Fblog\u002Fshiki-v1","blog\u002F21.shiki-v1",{"title":2809,"path":2810,"stem":2811},"Refreshed Nuxt ESLint Integrations","\u002Fblog\u002Feslint-module","blog\u002F24.eslint-module",{"title":2813,"path":2814,"stem":2815},"Introducing Nuxt Scripts","\u002Fblog\u002Fnuxt-scripts","blog\u002F26.nuxt-scripts",{"title":2817,"path":2818,"stem":2819},"Introducing Nuxt Icon v1","\u002Fblog\u002Fnuxt-icon-v1-0","blog\u002F29.nuxt-icon-v1-0",{"title":2821,"path":2822,"stem":2823},"Introducing Nuxt DevTools","\u002Fblog\u002Fintroducing-nuxt-devtools","blog\u002F3.introducing-nuxt-devtools",{"title":2825,"path":2826,"stem":2827},"Announcing Nuxt 3 Release Candidate","\u002Fblog\u002Fnuxt3-rc","blog\u002F3.nuxt3-rc",{"title":2829,"path":2830,"stem":2831},"Nuxt 2 End-of-Life (EOL)","\u002Fblog\u002Fnuxt2-eol","blog\u002F4.nuxt2-eol",{"title":2833,"path":2834,"stem":2835},"Introducing Nuxt 3 Beta","\u002Fblog\u002Fnuxt3-beta","blog\u002F4.nuxt3-beta",{"title":2837,"path":2838,"stem":2839},"Going Full Static","\u002Fblog\u002Fgoing-full-static","blog\u002F5.going-full-static",{"title":2841,"path":2842,"stem":2843},"Introducing Smart Prefetching","\u002Fblog\u002Fintroducing-smart-prefetching","blog\u002F6.introducing-smart-prefetching",{"title":2845,"path":2846,"stem":2847},"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":2849,"path":2850,"stem":2851},"Nuxt 2 Static Improvements","\u002Fblog\u002Fnuxt-static-improvements","blog\u002F8.nuxt-static-improvements",{"title":2853,"path":2854,"stem":2855},"Nuxt 2: From Terminal to Browser","\u002Fblog\u002Fnuxtjs-from-terminal-to-browser","blog\u002F9.nuxtjs-from-terminal-to-browser",{"v5":2857,"v4":2858,"v3":2859,"v2":2860},"5 (nightly)","4.4.2","3.21.2","2.18.1",{"id":2862,"title":99,"body":2863,"description":9256,"extension":9257,"links":6,"meta":9258,"navigation":9259,"path":100,"seo":9260,"stem":101,"titleTemplate":6,"__hash__":9261},"docsv3\u002Fdocs\u002F3.x\u002F1.getting-started\u002F17.testing.md",{"type":2864,"value":2865,"toc":9239},"minimark",[2866,2878,2893,2898,2902,2908,2949,3068,3072,3088,3093,3544,3568,3577,3581,3590,3613,3618,3621,3771,3788,3858,3868,3872,3875,3947,3950,3954,3957,4034,4059,4063,4068,4074,4081,4087,4101,4111,4232,4236,4241,4247,4252,4275,4278,4525,4725,4731,4745,4751,4760,4775,4783,4789,4792,5020,5208,5213,5223,5229,5237,5338,5341,5562,5580,5600,5831,5834,6050,6056,6061,6068,6297,6305,6481,6487,6492,6499,6504,6575,6582,6678,6681,6701,6720,6724,6732,6746,6751,6836,6841,6912,6917,6923,7514,7520,7524,7548,7551,7560,7698,7716,7722,7726,7765,7769,7814,7817,7993,8001,8004,8007,8016,8277,8281,8287,8290,8340,8346,8349,8421,8427,8430,8485,8489,8495,8501,8520,8575,8579,8587,8679,8686,8856,8862,8873,9021,9024,9235],[2867,2868,2869],"tip",{},[2870,2871,2872,2873,2877],"p",{},"If you are a module author, you can find more specific information in the ",[2874,2875,2876],"a",{"href":346},"Module Author's guide",".",[2870,2879,2880,2881,2885,2886,2892],{},"Nuxt offers first-class support for end-to-end and unit testing of your Nuxt application via ",[2882,2883,2884],"code",{},"@nuxt\u002Ftest-utils",", a library of test utilities and configuration that currently powers the ",[2874,2887,2891],{"href":2888,"rel":2889},"https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fnuxt\u002Ftree\u002Fmain\u002Ftest",[2890],"nofollow","tests we use on Nuxt itself"," and tests throughout the module ecosystem.",[2894,2895],"video-accordion",{"title":2896,"video-id":2897},"Watch a video from Alexander Lichter about getting started with @nuxt\u002Ftest-utils","yGzwk9xi9gU",[2899,2900,24],"h2",{"id":2901},"installation",[2870,2903,2904,2905,2907],{},"In order to allow you to manage your other testing dependencies, ",[2882,2906,2884],{}," ships with various optional peer dependencies. For example:",[2909,2910,2911,2923,2939],"ul",{},[2912,2913,2914,2915,2918,2919,2922],"li",{},"you can choose between ",[2882,2916,2917],{},"happy-dom"," and ",[2882,2920,2921],{},"jsdom"," for a runtime Nuxt environment",[2912,2924,2914,2925,2928,2929,2928,2932,2918,2935,2938],{},[2882,2926,2927],{},"vitest",", ",[2882,2930,2931],{},"cucumber",[2882,2933,2934],{},"jest",[2882,2936,2937],{},"playwright"," for end-to-end test runners",[2912,2940,2941,2944,2945,2948],{},[2882,2942,2943],{},"playwright-core"," is only required if you wish to use the built-in browser testing utilities (and are not using ",[2882,2946,2947],{},"@playwright\u002Ftest"," as your test runner)",[2950,2951,2953,2993,3019,3044],"code-group",{"sync":2952},"pm",[2954,2955,2961],"pre",{"className":2956,"code":2957,"filename":2958,"language":2959,"meta":2960,"style":2960},"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","",[2882,2962,2963],{"__ignoreMap":2960},[2964,2965,2968,2971,2975,2978,2981,2984,2987,2990],"span",{"class":2966,"line":2967},"line",1,[2964,2969,2958],{"class":2970},"s52Pk",[2964,2972,2974],{"class":2973},"sGFVr"," i",[2964,2976,2977],{"class":2973}," --save-dev",[2964,2979,2980],{"class":2973}," @nuxt\u002Ftest-utils",[2964,2982,2983],{"class":2973}," vitest",[2964,2985,2986],{"class":2973}," @vue\u002Ftest-utils",[2964,2988,2989],{"class":2973}," happy-dom",[2964,2991,2992],{"class":2973}," playwright-core\n",[2954,2994,2997],{"className":2956,"code":2995,"filename":2996,"language":2959,"meta":2960,"style":2960},"yarn add --dev @nuxt\u002Ftest-utils vitest @vue\u002Ftest-utils happy-dom playwright-core\n","yarn",[2882,2998,2999],{"__ignoreMap":2960},[2964,3000,3001,3003,3006,3009,3011,3013,3015,3017],{"class":2966,"line":2967},[2964,3002,2996],{"class":2970},[2964,3004,3005],{"class":2973}," add",[2964,3007,3008],{"class":2973}," --dev",[2964,3010,2980],{"class":2973},[2964,3012,2983],{"class":2973},[2964,3014,2986],{"class":2973},[2964,3016,2989],{"class":2973},[2964,3018,2992],{"class":2973},[2954,3020,3023],{"className":2956,"code":3021,"filename":3022,"language":2959,"meta":2960,"style":2960},"pnpm add -D @nuxt\u002Ftest-utils vitest @vue\u002Ftest-utils happy-dom playwright-core\n","pnpm",[2882,3024,3025],{"__ignoreMap":2960},[2964,3026,3027,3029,3031,3034,3036,3038,3040,3042],{"class":2966,"line":2967},[2964,3028,3022],{"class":2970},[2964,3030,3005],{"class":2973},[2964,3032,3033],{"class":2973}," -D",[2964,3035,2980],{"class":2973},[2964,3037,2983],{"class":2973},[2964,3039,2986],{"class":2973},[2964,3041,2989],{"class":2973},[2964,3043,2992],{"class":2973},[2954,3045,3048],{"className":2956,"code":3046,"filename":3047,"language":2959,"meta":2960,"style":2960},"bun add --dev @nuxt\u002Ftest-utils vitest @vue\u002Ftest-utils happy-dom playwright-core\n","bun",[2882,3049,3050],{"__ignoreMap":2960},[2964,3051,3052,3054,3056,3058,3060,3062,3064,3066],{"class":2966,"line":2967},[2964,3053,3047],{"class":2970},[2964,3055,3005],{"class":2973},[2964,3057,3008],{"class":2973},[2964,3059,2980],{"class":2973},[2964,3061,2983],{"class":2973},[2964,3063,2986],{"class":2973},[2964,3065,2989],{"class":2973},[2964,3067,2992],{"class":2973},[2899,3069,3071],{"id":3070},"unit-testing","Unit Testing",[2870,3073,3074,3075,3080,3081,3087],{},"We currently ship an environment for unit testing code that needs a ",[2874,3076,3079],{"href":3077,"rel":3078},"https:\u002F\u002Fnuxt.com",[2890],"Nuxt"," runtime environment. It currently ",[3082,3083,3084,3085],"em",{},"only has support for ",[2882,3086,2927],{}," (although contribution to add other runtimes would be welcome).",[3089,3090,3092],"h3",{"id":3091},"setup","Setup",[3094,3095,3096,3180],"ol",{},[2912,3097,3098,3099,3102,3103,3106,3107],{},"Add ",[2882,3100,3101],{},"@nuxt\u002Ftest-utils\u002Fmodule"," to your ",[2882,3104,3105],{},"nuxt.config"," file (optional). It adds a Vitest integration to your Nuxt DevTools which supports running your unit tests in development.",[2954,3108,3113],{"className":3109,"code":3110,"language":3111,"meta":3112,"style":2960},"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",[2882,3114,3115,3136,3149,3163,3171],{"__ignoreMap":2960},[2964,3116,3117,3121,3124,3128,3132],{"class":2966,"line":2967},[2964,3118,3120],{"class":3119},"s8R28","export",[2964,3122,3123],{"class":3119}," default",[2964,3125,3127],{"class":3126},"s3cPz"," defineNuxtConfig",[2964,3129,3131],{"class":3130},"sZSNi","(",[2964,3133,3135],{"class":3134},"sDfIl","{\n",[2964,3137,3139,3143,3146],{"class":2966,"line":3138},2,[2964,3140,3142],{"class":3141},"sRlkE","  modules",[2964,3144,3145],{"class":3134},":",[2964,3147,3148],{"class":3130}," [\n",[2964,3150,3152,3155,3157,3160],{"class":2966,"line":3151},3,[2964,3153,3154],{"class":3134},"    '",[2964,3156,3101],{"class":2973},[2964,3158,3159],{"class":3134},"'",[2964,3161,3162],{"class":3134},",\n",[2964,3164,3166,3169],{"class":2966,"line":3165},4,[2964,3167,3168],{"class":3130},"  ]",[2964,3170,3162],{"class":3134},[2964,3172,3174,3177],{"class":2966,"line":3173},5,[2964,3175,3176],{"class":3134},"}",[2964,3178,3179],{"class":3130},")\n",[2912,3181,3182,3183,3186,3187],{},"Create a ",[2882,3184,3185],{},"vitest.config.ts"," with the following content:",[2954,3188,3190],{"className":3109,"code":3189,"language":3111,"meta":3112,"style":2960},"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",[2882,3191,3192,3218,3238,3243,3255,3265,3275,3281,3291,3308,3331,3348,3354,3360,3365,3374,3390,3410,3425,3430,3435,3447,3456,3472,3492,3507,3512,3523,3531,3537],{"__ignoreMap":2960},[2964,3193,3194,3197,3200,3203,3206,3209,3212,3215],{"class":2966,"line":2967},[2964,3195,3196],{"class":3119},"import",[2964,3198,3199],{"class":3134}," {",[2964,3201,3202],{"class":3130}," defineConfig",[2964,3204,3205],{"class":3134}," }",[2964,3207,3208],{"class":3119}," from",[2964,3210,3211],{"class":3134}," '",[2964,3213,3214],{"class":2973},"vitest\u002Fconfig",[2964,3216,3217],{"class":3134},"'\n",[2964,3219,3220,3222,3224,3227,3229,3231,3233,3236],{"class":2966,"line":3138},[2964,3221,3196],{"class":3119},[2964,3223,3199],{"class":3134},[2964,3225,3226],{"class":3130}," defineVitestProject",[2964,3228,3205],{"class":3134},[2964,3230,3208],{"class":3119},[2964,3232,3211],{"class":3134},[2964,3234,3235],{"class":2973},"@nuxt\u002Ftest-utils\u002Fconfig",[2964,3237,3217],{"class":3134},[2964,3239,3240],{"class":2966,"line":3151},[2964,3241,3242],{"emptyLinePlaceholder":1196},"\n",[2964,3244,3245,3247,3249,3251,3253],{"class":2966,"line":3165},[2964,3246,3120],{"class":3119},[2964,3248,3123],{"class":3119},[2964,3250,3202],{"class":3126},[2964,3252,3131],{"class":3130},[2964,3254,3135],{"class":3134},[2964,3256,3257,3260,3262],{"class":2966,"line":3173},[2964,3258,3259],{"class":3141},"  test",[2964,3261,3145],{"class":3134},[2964,3263,3264],{"class":3134}," {\n",[2964,3266,3268,3271,3273],{"class":2966,"line":3267},6,[2964,3269,3270],{"class":3141},"    projects",[2964,3272,3145],{"class":3134},[2964,3274,3148],{"class":3130},[2964,3276,3278],{"class":2966,"line":3277},7,[2964,3279,3280],{"class":3134},"      {\n",[2964,3282,3284,3287,3289],{"class":2966,"line":3283},8,[2964,3285,3286],{"class":3141},"        test",[2964,3288,3145],{"class":3134},[2964,3290,3264],{"class":3134},[2964,3292,3294,3297,3299,3301,3304,3306],{"class":2966,"line":3293},9,[2964,3295,3296],{"class":3141},"          name",[2964,3298,3145],{"class":3134},[2964,3300,3211],{"class":3134},[2964,3302,3303],{"class":2973},"unit",[2964,3305,3159],{"class":3134},[2964,3307,3162],{"class":3134},[2964,3309,3311,3314,3316,3319,3321,3324,3326,3329],{"class":2966,"line":3310},10,[2964,3312,3313],{"class":3141},"          include",[2964,3315,3145],{"class":3134},[2964,3317,3318],{"class":3130}," [",[2964,3320,3159],{"class":3134},[2964,3322,3323],{"class":2973},"test\u002Funit\u002F*.{test,spec}.ts",[2964,3325,3159],{"class":3134},[2964,3327,3328],{"class":3130},"]",[2964,3330,3162],{"class":3134},[2964,3332,3334,3337,3339,3341,3344,3346],{"class":2966,"line":3333},11,[2964,3335,3336],{"class":3141},"          environment",[2964,3338,3145],{"class":3134},[2964,3340,3211],{"class":3134},[2964,3342,3343],{"class":2973},"node",[2964,3345,3159],{"class":3134},[2964,3347,3162],{"class":3134},[2964,3349,3351],{"class":2966,"line":3350},12,[2964,3352,3353],{"class":3134},"        },\n",[2964,3355,3357],{"class":2966,"line":3356},13,[2964,3358,3359],{"class":3134},"      },\n",[2964,3361,3363],{"class":2966,"line":3362},14,[2964,3364,3280],{"class":3134},[2964,3366,3368,3370,3372],{"class":2966,"line":3367},15,[2964,3369,3286],{"class":3141},[2964,3371,3145],{"class":3134},[2964,3373,3264],{"class":3134},[2964,3375,3377,3379,3381,3383,3386,3388],{"class":2966,"line":3376},16,[2964,3378,3296],{"class":3141},[2964,3380,3145],{"class":3134},[2964,3382,3211],{"class":3134},[2964,3384,3385],{"class":2973},"e2e",[2964,3387,3159],{"class":3134},[2964,3389,3162],{"class":3134},[2964,3391,3393,3395,3397,3399,3401,3404,3406,3408],{"class":2966,"line":3392},17,[2964,3394,3313],{"class":3141},[2964,3396,3145],{"class":3134},[2964,3398,3318],{"class":3130},[2964,3400,3159],{"class":3134},[2964,3402,3403],{"class":2973},"test\u002Fe2e\u002F*.{test,spec}.ts",[2964,3405,3159],{"class":3134},[2964,3407,3328],{"class":3130},[2964,3409,3162],{"class":3134},[2964,3411,3413,3415,3417,3419,3421,3423],{"class":2966,"line":3412},18,[2964,3414,3336],{"class":3141},[2964,3416,3145],{"class":3134},[2964,3418,3211],{"class":3134},[2964,3420,3343],{"class":2973},[2964,3422,3159],{"class":3134},[2964,3424,3162],{"class":3134},[2964,3426,3428],{"class":2966,"line":3427},19,[2964,3429,3353],{"class":3134},[2964,3431,3433],{"class":2966,"line":3432},20,[2964,3434,3359],{"class":3134},[2964,3436,3438,3441,3443,3445],{"class":2966,"line":3437},21,[2964,3439,3440],{"class":3119},"      await",[2964,3442,3226],{"class":3126},[2964,3444,3131],{"class":3130},[2964,3446,3135],{"class":3134},[2964,3448,3450,3452,3454],{"class":2966,"line":3449},22,[2964,3451,3286],{"class":3141},[2964,3453,3145],{"class":3134},[2964,3455,3264],{"class":3134},[2964,3457,3459,3461,3463,3465,3468,3470],{"class":2966,"line":3458},23,[2964,3460,3296],{"class":3141},[2964,3462,3145],{"class":3134},[2964,3464,3211],{"class":3134},[2964,3466,3467],{"class":2973},"nuxt",[2964,3469,3159],{"class":3134},[2964,3471,3162],{"class":3134},[2964,3473,3475,3477,3479,3481,3483,3486,3488,3490],{"class":2966,"line":3474},24,[2964,3476,3313],{"class":3141},[2964,3478,3145],{"class":3134},[2964,3480,3318],{"class":3130},[2964,3482,3159],{"class":3134},[2964,3484,3485],{"class":2973},"test\u002Fnuxt\u002F*.{test,spec}.ts",[2964,3487,3159],{"class":3134},[2964,3489,3328],{"class":3130},[2964,3491,3162],{"class":3134},[2964,3493,3495,3497,3499,3501,3503,3505],{"class":2966,"line":3494},25,[2964,3496,3336],{"class":3141},[2964,3498,3145],{"class":3134},[2964,3500,3211],{"class":3134},[2964,3502,3467],{"class":2973},[2964,3504,3159],{"class":3134},[2964,3506,3162],{"class":3134},[2964,3508,3510],{"class":2966,"line":3509},26,[2964,3511,3353],{"class":3134},[2964,3513,3515,3518,3521],{"class":2966,"line":3514},27,[2964,3516,3517],{"class":3134},"      }",[2964,3519,3520],{"class":3130},")",[2964,3522,3162],{"class":3134},[2964,3524,3526,3529],{"class":2966,"line":3525},28,[2964,3527,3528],{"class":3130},"    ]",[2964,3530,3162],{"class":3134},[2964,3532,3534],{"class":2966,"line":3533},29,[2964,3535,3536],{"class":3134},"  },\n",[2964,3538,3540,3542],{"class":2966,"line":3539},30,[2964,3541,3176],{"class":3134},[2964,3543,3179],{"class":3130},[2867,3545,3546,3559],{},[2870,3547,3548,3549,3551,3552,3555,3556,3558],{},"When importing ",[2882,3550,2884],{}," in your vitest config, It is necessary to have ",[2882,3553,3554],{},"\"type\": \"module\""," specified in your ",[2882,3557,237],{}," or rename your vitest config file appropriately.",[3560,3561,3562],"blockquote",{},[2870,3563,3564,3565,2877],{},"i.e., ",[2882,3566,3567],{},"vitest.config.m{ts,js}",[2867,3569,3570],{},[2870,3571,3572,3573,3576],{},"It is possible to set environment variables for testing by using the ",[2882,3574,3575],{},".env.test"," file.",[3089,3578,3580],{"id":3579},"using-a-nuxt-runtime-environment","Using a Nuxt Runtime Environment",[2870,3582,3583,3584,3589],{},"Using ",[2874,3585,3588],{"href":3586,"rel":3587},"https:\u002F\u002Fvitest.dev\u002Fguide\u002Fprojects.html#test-projects",[2890],"Vitest projects",", you have fine-grained control over which tests run in which environment:",[2909,3591,3592,3603],{},[2912,3593,3594,3598,3599,3602],{},[3595,3596,3597],"strong",{},"Unit tests",": Place regular unit tests in ",[2882,3600,3601],{},"test\u002Funit\u002F"," - these run in a Node environment for speed",[2912,3604,3605,3608,3609,3612],{},[3595,3606,3607],{},"Nuxt tests",": Place tests that rely on the Nuxt runtime environment in ",[2882,3610,3611],{},"test\u002Fnuxt\u002F"," - these will run within a Nuxt runtime environment",[3614,3615,3617],"h4",{"id":3616},"alternative-simple-setup","Alternative: Simple Setup",[2870,3619,3620],{},"If you prefer a simpler setup and want all tests to run in the Nuxt environment, you can use the basic configuration:",[2954,3622,3624],{"className":3109,"code":3623,"language":3111,"meta":3112,"style":2960},"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",[2882,3625,3626,3645,3665,3669,3681,3689,3704,3710,3715,3720,3725,3733,3738,3746,3751,3756,3761,3765],{"__ignoreMap":2960},[2964,3627,3628,3630,3632,3635,3637,3639,3641,3643],{"class":2966,"line":2967},[2964,3629,3196],{"class":3119},[2964,3631,3199],{"class":3134},[2964,3633,3634],{"class":3130}," defineVitestConfig",[2964,3636,3205],{"class":3134},[2964,3638,3208],{"class":3119},[2964,3640,3211],{"class":3134},[2964,3642,3235],{"class":2973},[2964,3644,3217],{"class":3134},[2964,3646,3647,3649,3651,3654,3656,3658,3660,3663],{"class":2966,"line":3138},[2964,3648,3196],{"class":3119},[2964,3650,3199],{"class":3134},[2964,3652,3653],{"class":3130}," fileURLToPath",[2964,3655,3205],{"class":3134},[2964,3657,3208],{"class":3119},[2964,3659,3211],{"class":3134},[2964,3661,3662],{"class":2973},"node:url",[2964,3664,3217],{"class":3134},[2964,3666,3667],{"class":2966,"line":3151},[2964,3668,3242],{"emptyLinePlaceholder":1196},[2964,3670,3671,3673,3675,3677,3679],{"class":2966,"line":3165},[2964,3672,3120],{"class":3119},[2964,3674,3123],{"class":3119},[2964,3676,3634],{"class":3126},[2964,3678,3131],{"class":3130},[2964,3680,3135],{"class":3134},[2964,3682,3683,3685,3687],{"class":2966,"line":3173},[2964,3684,3259],{"class":3141},[2964,3686,3145],{"class":3134},[2964,3688,3264],{"class":3134},[2964,3690,3691,3694,3696,3698,3700,3702],{"class":2966,"line":3267},[2964,3692,3693],{"class":3141},"    environment",[2964,3695,3145],{"class":3134},[2964,3697,3211],{"class":3134},[2964,3699,3467],{"class":2973},[2964,3701,3159],{"class":3134},[2964,3703,3162],{"class":3134},[2964,3705,3706],{"class":2966,"line":3277},[2964,3707,3709],{"class":3708},"sWuyu","    \u002F\u002F you can optionally set Nuxt-specific environment options\n",[2964,3711,3712],{"class":2966,"line":3283},[2964,3713,3714],{"class":3708},"    \u002F\u002F environmentOptions: {\n",[2964,3716,3717],{"class":2966,"line":3293},[2964,3718,3719],{"class":3708},"    \u002F\u002F   nuxt: {\n",[2964,3721,3722],{"class":2966,"line":3310},[2964,3723,3724],{"class":3708},"    \u002F\u002F     rootDir: fileURLToPath(new URL('.\u002Fplayground', import.meta.url)),\n",[2964,3726,3727,3730],{"class":2966,"line":3333},[2964,3728,3729],{"class":3708},"    \u002F\u002F     domEnvironment: 'happy-dom',",[2964,3731,3732],{"class":3708}," \u002F\u002F 'happy-dom' (default) or 'jsdom'\n",[2964,3734,3735],{"class":2966,"line":3350},[2964,3736,3737],{"class":3708},"    \u002F\u002F     overrides: {\n",[2964,3739,3740,3743],{"class":2966,"line":3356},[2964,3741,3742],{"class":3708},"    \u002F\u002F",[2964,3744,3745],{"class":3708},"       \u002F\u002F other Nuxt config you want to pass\n",[2964,3747,3748],{"class":2966,"line":3362},[2964,3749,3750],{"class":3708},"    \u002F\u002F     }\n",[2964,3752,3753],{"class":2966,"line":3367},[2964,3754,3755],{"class":3708},"    \u002F\u002F   }\n",[2964,3757,3758],{"class":2966,"line":3376},[2964,3759,3760],{"class":3708},"    \u002F\u002F }\n",[2964,3762,3763],{"class":2966,"line":3392},[2964,3764,3536],{"class":3134},[2964,3766,3767,3769],{"class":2966,"line":3412},[2964,3768,3176],{"class":3134},[2964,3770,3179],{"class":3130},[2870,3772,3773,3774,3777,3778,3781,3782,3787],{},"If you're using the simple setup with ",[2882,3775,3776],{},"environment: 'nuxt'"," by default, you can opt ",[3082,3779,3780],{},"out"," of the ",[2874,3783,3786],{"href":3784,"rel":3785},"https:\u002F\u002Fvitest.dev\u002Fguide\u002Fenvironment.html#test-environment",[2890],"Nuxt environment"," per test file as needed.",[2954,3789,3791],{"className":3109,"code":3790,"language":3111,"meta":3112,"style":2960},"\u002F\u002F @vitest-environment node\nimport { test } from 'vitest'\n\ntest('my test', () => {\n  \u002F\u002F ... test without Nuxt environment!\n})\n",[2882,3792,3793,3798,3817,3821,3847,3852],{"__ignoreMap":2960},[2964,3794,3795],{"class":2966,"line":2967},[2964,3796,3797],{"class":3708},"\u002F\u002F @vitest-environment node\n",[2964,3799,3800,3802,3804,3807,3809,3811,3813,3815],{"class":2966,"line":3138},[2964,3801,3196],{"class":3119},[2964,3803,3199],{"class":3134},[2964,3805,3806],{"class":3130}," test",[2964,3808,3205],{"class":3134},[2964,3810,3208],{"class":3119},[2964,3812,3211],{"class":3134},[2964,3814,2927],{"class":2973},[2964,3816,3217],{"class":3134},[2964,3818,3819],{"class":2966,"line":3151},[2964,3820,3242],{"emptyLinePlaceholder":1196},[2964,3822,3823,3826,3828,3830,3833,3835,3838,3841,3845],{"class":2966,"line":3165},[2964,3824,3825],{"class":3126},"test",[2964,3827,3131],{"class":3130},[2964,3829,3159],{"class":3134},[2964,3831,3832],{"class":2973},"my test",[2964,3834,3159],{"class":3134},[2964,3836,3837],{"class":3134},",",[2964,3839,3840],{"class":3134}," ()",[2964,3842,3844],{"class":3843},"smZ93"," =>",[2964,3846,3264],{"class":3134},[2964,3848,3849],{"class":2966,"line":3173},[2964,3850,3851],{"class":3708},"  \u002F\u002F ... test without Nuxt environment!\n",[2964,3853,3854,3856],{"class":2966,"line":3267},[2964,3855,3176],{"class":3134},[2964,3857,3179],{"class":3130},[3859,3860,3861],"warning",{},[2870,3862,3863,3864,3867],{},"This approach is not recommended as it creates a hybrid environment where Nuxt Vite plugins run but the Nuxt entry and ",[2882,3865,3866],{},"nuxtApp"," are not initialized. This can lead to hard-to-debug errors.",[3089,3869,3871],{"id":3870},"organizing-your-tests","Organizing Your Tests",[2870,3873,3874],{},"With the project-based setup, you might organize your tests as follows:",[2954,3876,3879],{"className":2956,"code":3877,"filename":3878,"language":2959,"meta":2960,"style":2960},"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",[2882,3880,3881,3886,3894,3905,3912,3922,3931,3938],{"__ignoreMap":2960},[2964,3882,3883],{"class":2966,"line":2967},[2964,3884,3885],{"class":2970},"test\u002F\n",[2964,3887,3888,3891],{"class":2966,"line":3138},[2964,3889,3890],{"class":2970},"├──",[2964,3892,3893],{"class":2973}," e2e\u002F\n",[2964,3895,3896,3899,3902],{"class":2966,"line":3151},[2964,3897,3898],{"class":2970},"│",[2964,3900,3901],{"class":2973},"   └──",[2964,3903,3904],{"class":2973}," ssr.test.ts\n",[2964,3906,3907,3909],{"class":2966,"line":3165},[2964,3908,3890],{"class":2970},[2964,3910,3911],{"class":2973}," nuxt\u002F\n",[2964,3913,3914,3916,3919],{"class":2966,"line":3173},[2964,3915,3898],{"class":2970},[2964,3917,3918],{"class":2973},"   ├──",[2964,3920,3921],{"class":2973}," components.test.ts\n",[2964,3923,3924,3926,3928],{"class":2966,"line":3267},[2964,3925,3898],{"class":2970},[2964,3927,3901],{"class":2973},[2964,3929,3930],{"class":2973}," composables.test.ts\n",[2964,3932,3933,3935],{"class":2966,"line":3277},[2964,3934,3890],{"class":2970},[2964,3936,3937],{"class":2973}," unit\u002F\n",[2964,3939,3940,3942,3944],{"class":2966,"line":3283},[2964,3941,3898],{"class":2970},[2964,3943,3901],{"class":2973},[2964,3945,3946],{"class":2973}," utils.test.ts\n",[2870,3948,3949],{},"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.",[3614,3951,3953],{"id":3952},"running-tests","Running Tests",[2870,3955,3956],{},"With the project setup, you can run different test suites:",[2954,3958,3960],{"className":2956,"code":3959,"language":2959,"meta":2960,"style":2960},"# 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",[2882,3961,3962,3967,3975,3979,3984,3996,4000,4005,4016,4020,4025],{"__ignoreMap":2960},[2964,3963,3964],{"class":2966,"line":2967},[2964,3965,3966],{"class":3708},"# Run all tests\n",[2964,3968,3969,3972],{"class":2966,"line":3138},[2964,3970,3971],{"class":2970},"npx",[2964,3973,3974],{"class":2973}," vitest\n",[2964,3976,3977],{"class":2966,"line":3151},[2964,3978,3242],{"emptyLinePlaceholder":1196},[2964,3980,3981],{"class":2966,"line":3165},[2964,3982,3983],{"class":3708},"# Run only unit tests\n",[2964,3985,3986,3988,3990,3993],{"class":2966,"line":3173},[2964,3987,3971],{"class":2970},[2964,3989,2983],{"class":2973},[2964,3991,3992],{"class":2973}," --project",[2964,3994,3995],{"class":2973}," unit\n",[2964,3997,3998],{"class":2966,"line":3267},[2964,3999,3242],{"emptyLinePlaceholder":1196},[2964,4001,4002],{"class":2966,"line":3277},[2964,4003,4004],{"class":3708},"# Run only Nuxt tests\n",[2964,4006,4007,4009,4011,4013],{"class":2966,"line":3283},[2964,4008,3971],{"class":2970},[2964,4010,2983],{"class":2973},[2964,4012,3992],{"class":2973},[2964,4014,4015],{"class":2973}," nuxt\n",[2964,4017,4018],{"class":2966,"line":3293},[2964,4019,3242],{"emptyLinePlaceholder":1196},[2964,4021,4022],{"class":2966,"line":3310},[2964,4023,4024],{"class":3708},"# Run tests in watch mode\n",[2964,4026,4027,4029,4031],{"class":2966,"line":3333},[2964,4028,3971],{"class":2970},[2964,4030,2983],{"class":2973},[2964,4032,4033],{"class":2973}," --watch\n",[3859,4035,4036,4056],{},[2870,4037,4038,4039,4045,4046,4052,4053,4055],{},"When you run your tests within the Nuxt environment, they will be running in a ",[2874,4040,4043],{"href":4041,"rel":4042},"https:\u002F\u002Fgithub.com\u002Fcapricorn86\u002Fhappy-dom",[2890],[2882,4044,2917],{}," or ",[2874,4047,4050],{"href":4048,"rel":4049},"https:\u002F\u002Fgithub.com\u002Fjsdom\u002Fjsdom",[2890],[2882,4051,2921],{}," 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 ",[2882,4054,219],{},").",[2870,4057,4058],{},"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).",[3089,4060,4062],{"id":4061},"built-in-mocks","🎭 Built-In Mocks",[2870,4064,4065,4067],{},[2882,4066,2884],{}," provides some built-in mocks for the DOM environment.",[3614,4069,4071],{"id":4070},"intersectionobserver",[2882,4072,4073],{},"intersectionObserver",[2870,4075,4076,4077,4080],{},"Default ",[2882,4078,4079],{},"true",", creates a dummy class without any functionality for the IntersectionObserver API",[3614,4082,4084],{"id":4083},"indexeddb",[2882,4085,4086],{},"indexedDB",[2870,4088,4076,4089,4092,4093,4100],{},[2882,4090,4091],{},"false",", uses ",[2874,4094,4097],{"href":4095,"rel":4096},"https:\u002F\u002Fgithub.com\u002Fdumbmatter\u002FfakeIndexedDB",[2890],[2882,4098,4099],{},"fake-indexeddb"," to create a functional mock of the IndexedDB API",[2870,4102,4103,4104,4107,4108,4110],{},"These can be configured in the ",[2882,4105,4106],{},"environmentOptions"," section of your ",[2882,4109,3185],{}," file:",[2954,4112,4114],{"className":3109,"code":4113,"language":3111,"meta":3112,"style":2960},"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",[2882,4115,4116,4134,4138,4150,4158,4167,4176,4185,4198,4209,4213,4217,4222,4226],{"__ignoreMap":2960},[2964,4117,4118,4120,4122,4124,4126,4128,4130,4132],{"class":2966,"line":2967},[2964,4119,3196],{"class":3119},[2964,4121,3199],{"class":3134},[2964,4123,3634],{"class":3130},[2964,4125,3205],{"class":3134},[2964,4127,3208],{"class":3119},[2964,4129,3211],{"class":3134},[2964,4131,3235],{"class":2973},[2964,4133,3217],{"class":3134},[2964,4135,4136],{"class":2966,"line":3138},[2964,4137,3242],{"emptyLinePlaceholder":1196},[2964,4139,4140,4142,4144,4146,4148],{"class":2966,"line":3151},[2964,4141,3120],{"class":3119},[2964,4143,3123],{"class":3119},[2964,4145,3634],{"class":3126},[2964,4147,3131],{"class":3130},[2964,4149,3135],{"class":3134},[2964,4151,4152,4154,4156],{"class":2966,"line":3165},[2964,4153,3259],{"class":3141},[2964,4155,3145],{"class":3134},[2964,4157,3264],{"class":3134},[2964,4159,4160,4163,4165],{"class":2966,"line":3173},[2964,4161,4162],{"class":3141},"    environmentOptions",[2964,4164,3145],{"class":3134},[2964,4166,3264],{"class":3134},[2964,4168,4169,4172,4174],{"class":2966,"line":3267},[2964,4170,4171],{"class":3141},"      nuxt",[2964,4173,3145],{"class":3134},[2964,4175,3264],{"class":3134},[2964,4177,4178,4181,4183],{"class":2966,"line":3277},[2964,4179,4180],{"class":3141},"        mock",[2964,4182,3145],{"class":3134},[2964,4184,3264],{"class":3134},[2964,4186,4187,4190,4192,4196],{"class":2966,"line":3283},[2964,4188,4189],{"class":3141},"          intersectionObserver",[2964,4191,3145],{"class":3134},[2964,4193,4195],{"class":4194},"sbKd-"," true",[2964,4197,3162],{"class":3134},[2964,4199,4200,4203,4205,4207],{"class":2966,"line":3293},[2964,4201,4202],{"class":3141},"          indexedDb",[2964,4204,3145],{"class":3134},[2964,4206,4195],{"class":4194},[2964,4208,3162],{"class":3134},[2964,4210,4211],{"class":2966,"line":3310},[2964,4212,3353],{"class":3134},[2964,4214,4215],{"class":2966,"line":3333},[2964,4216,3359],{"class":3134},[2964,4218,4219],{"class":2966,"line":3350},[2964,4220,4221],{"class":3134},"    },\n",[2964,4223,4224],{"class":2966,"line":3356},[2964,4225,3536],{"class":3134},[2964,4227,4228,4230],{"class":2966,"line":3362},[2964,4229,3176],{"class":3134},[2964,4231,3179],{"class":3130},[3089,4233,4235],{"id":4234},"️-helpers","🛠️ Helpers",[2870,4237,4238,4240],{},[2882,4239,2884],{}," provides a number of helpers to make testing Nuxt apps easier.",[3614,4242,4244],{"id":4243},"mountsuspended",[2882,4245,4246],{},"mountSuspended",[2870,4248,4249,4251],{},[2882,4250,4246],{}," allows you to mount any Vue component within the Nuxt environment, allowing async setup and access to injections from your Nuxt plugins.",[4253,4254,4255],"note",{},[2870,4256,4257,4258,4260,4261,4264,4265,4268,4269,4274],{},"Under the hood, ",[2882,4259,4246],{}," wraps ",[2882,4262,4263],{},"mount"," from ",[2882,4266,4267],{},"@vue\u002Ftest-utils",", so you can check out ",[2874,4270,4273],{"href":4271,"rel":4272},"https:\u002F\u002Ftest-utils.vuejs.org\u002Fguide\u002F",[2890],"the Vue Test Utils documentation"," for more on the options you can pass, and how to use this utility.",[2870,4276,4277],{},"For example:",[2954,4279,4281],{"className":3109,"code":4280,"language":3111,"meta":3112,"style":2960},"\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",[2882,4282,4283,4288,4312,4335,4339,4356,4372,4377,4382,4387,4407,4425,4429,4454,4477,4503,4514,4519],{"__ignoreMap":2960},[2964,4284,4285],{"class":2966,"line":2967},[2964,4286,4287],{"class":3708},"\u002F\u002F @noErrors\n",[2964,4289,4290,4292,4294,4297,4299,4302,4304,4306,4308,4310],{"class":2966,"line":3138},[2964,4291,3196],{"class":3119},[2964,4293,3199],{"class":3134},[2964,4295,4296],{"class":3130}," expect",[2964,4298,3837],{"class":3134},[2964,4300,4301],{"class":3130}," it",[2964,4303,3205],{"class":3134},[2964,4305,3208],{"class":3119},[2964,4307,3211],{"class":3134},[2964,4309,2927],{"class":2973},[2964,4311,3217],{"class":3134},[2964,4313,4314,4316,4319,4321,4324,4326,4328,4330,4333],{"class":2966,"line":3151},[2964,4315,3196],{"class":3119},[2964,4317,4318],{"class":3119}," type",[2964,4320,3199],{"class":3134},[2964,4322,4323],{"class":3130}," Component",[2964,4325,3205],{"class":3134},[2964,4327,3208],{"class":3119},[2964,4329,3211],{"class":3134},[2964,4331,4332],{"class":2973},"vue",[2964,4334,3217],{"class":3134},[2964,4336,4337],{"class":2966,"line":3165},[2964,4338,3242],{"emptyLinePlaceholder":1196},[2964,4340,4341,4344,4347,4349,4352,4354],{"class":2966,"line":3173},[2964,4342,4343],{"class":3843},"declare",[2964,4345,4346],{"class":3843}," module",[2964,4348,3211],{"class":3134},[2964,4350,4351],{"class":2973},"#components",[2964,4353,3159],{"class":3134},[2964,4355,3264],{"class":3134},[2964,4357,4358,4361,4364,4367,4369],{"class":2966,"line":3267},[2964,4359,4360],{"class":3119},"  export",[2964,4362,4363],{"class":3843}," const",[2964,4365,4366],{"class":3130}," SomeComponent",[2964,4368,3145],{"class":3134},[2964,4370,4371],{"class":2970}," Component\n",[2964,4373,4374],{"class":2966,"line":3277},[2964,4375,4376],{"class":3134},"}\n",[2964,4378,4379],{"class":2966,"line":3283},[2964,4380,4381],{"class":3708},"\u002F\u002F ---cut---\n",[2964,4383,4384],{"class":2966,"line":3293},[2964,4385,4386],{"class":3708},"\u002F\u002F tests\u002Fcomponents\u002FSomeComponents.nuxt.spec.ts\n",[2964,4388,4389,4391,4393,4396,4398,4400,4402,4405],{"class":2966,"line":3310},[2964,4390,3196],{"class":3119},[2964,4392,3199],{"class":3134},[2964,4394,4395],{"class":3130}," mountSuspended",[2964,4397,3205],{"class":3134},[2964,4399,3208],{"class":3119},[2964,4401,3211],{"class":3134},[2964,4403,4404],{"class":2973},"@nuxt\u002Ftest-utils\u002Fruntime",[2964,4406,3217],{"class":3134},[2964,4408,4409,4411,4413,4415,4417,4419,4421,4423],{"class":2966,"line":3333},[2964,4410,3196],{"class":3119},[2964,4412,3199],{"class":3134},[2964,4414,4366],{"class":3130},[2964,4416,3205],{"class":3134},[2964,4418,3208],{"class":3119},[2964,4420,3211],{"class":3134},[2964,4422,4351],{"class":2973},[2964,4424,3217],{"class":3134},[2964,4426,4427],{"class":2966,"line":3350},[2964,4428,3242],{"emptyLinePlaceholder":1196},[2964,4430,4431,4434,4436,4438,4441,4443,4445,4448,4450,4452],{"class":2966,"line":3356},[2964,4432,4433],{"class":3126},"it",[2964,4435,3131],{"class":3130},[2964,4437,3159],{"class":3134},[2964,4439,4440],{"class":2973},"can mount some component",[2964,4442,3159],{"class":3134},[2964,4444,3837],{"class":3134},[2964,4446,4447],{"class":3843}," async",[2964,4449,3840],{"class":3134},[2964,4451,3844],{"class":3843},[2964,4453,3264],{"class":3134},[2964,4455,4456,4459,4462,4465,4468,4470,4472,4475],{"class":2966,"line":3362},[2964,4457,4458],{"class":3843},"  const",[2964,4460,4461],{"class":3130}," component",[2964,4463,4464],{"class":3134}," =",[2964,4466,4467],{"class":3119}," await",[2964,4469,4395],{"class":3126},[2964,4471,3131],{"class":3141},[2964,4473,4474],{"class":3130},"SomeComponent",[2964,4476,3179],{"class":3141},[2964,4478,4479,4482,4484,4487,4489,4492,4495,4497,4500],{"class":2966,"line":3367},[2964,4480,4481],{"class":3126},"  expect",[2964,4483,3131],{"class":3141},[2964,4485,4486],{"class":3130},"component",[2964,4488,2877],{"class":3134},[2964,4490,4491],{"class":3126},"text",[2964,4493,4494],{"class":3141},"())",[2964,4496,2877],{"class":3134},[2964,4498,4499],{"class":3126},"toMatchInlineSnapshot",[2964,4501,4502],{"class":3141},"(\n",[2964,4504,4505,4507,4510,4512],{"class":2966,"line":3376},[2964,4506,3154],{"class":3134},[2964,4508,4509],{"class":2973},"\"This is an auto-imported component\"",[2964,4511,3159],{"class":3134},[2964,4513,3162],{"class":3134},[2964,4515,4516],{"class":2966,"line":3392},[2964,4517,4518],{"class":3141},"  )\n",[2964,4520,4521,4523],{"class":2966,"line":3412},[2964,4522,3176],{"class":3134},[2964,4524,3179],{"class":3130},[2954,4526,4528],{"className":3109,"code":4527,"language":3111,"meta":3112,"style":2960},"\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",[2882,4529,4530,4534,4556,4560,4564,4582,4599,4603,4608,4631,4668,4692,4697,4702,4707,4712,4719],{"__ignoreMap":2960},[2964,4531,4532],{"class":2966,"line":2967},[2964,4533,4287],{"class":3708},[2964,4535,4536,4538,4540,4542,4544,4546,4548,4550,4552,4554],{"class":2966,"line":3138},[2964,4537,3196],{"class":3119},[2964,4539,3199],{"class":3134},[2964,4541,4296],{"class":3130},[2964,4543,3837],{"class":3134},[2964,4545,4301],{"class":3130},[2964,4547,3205],{"class":3134},[2964,4549,3208],{"class":3119},[2964,4551,3211],{"class":3134},[2964,4553,2927],{"class":2973},[2964,4555,3217],{"class":3134},[2964,4557,4558],{"class":2966,"line":3151},[2964,4559,4381],{"class":3708},[2964,4561,4562],{"class":2966,"line":3165},[2964,4563,4386],{"class":3708},[2964,4565,4566,4568,4570,4572,4574,4576,4578,4580],{"class":2966,"line":3173},[2964,4567,3196],{"class":3119},[2964,4569,3199],{"class":3134},[2964,4571,4395],{"class":3130},[2964,4573,3205],{"class":3134},[2964,4575,3208],{"class":3119},[2964,4577,3211],{"class":3134},[2964,4579,4404],{"class":2973},[2964,4581,3217],{"class":3134},[2964,4583,4584,4586,4589,4592,4594,4597],{"class":2966,"line":3267},[2964,4585,3196],{"class":3119},[2964,4587,4588],{"class":3130}," App ",[2964,4590,4591],{"class":3119},"from",[2964,4593,3211],{"class":3134},[2964,4595,4596],{"class":2973},"~\u002Fapp.vue",[2964,4598,3217],{"class":3134},[2964,4600,4601],{"class":2966,"line":3277},[2964,4602,3242],{"emptyLinePlaceholder":1196},[2964,4604,4605],{"class":2966,"line":3283},[2964,4606,4607],{"class":3708},"\u002F\u002F tests\u002FApp.nuxt.spec.ts\n",[2964,4609,4610,4612,4614,4616,4619,4621,4623,4625,4627,4629],{"class":2966,"line":3293},[2964,4611,4433],{"class":3126},[2964,4613,3131],{"class":3130},[2964,4615,3159],{"class":3134},[2964,4617,4618],{"class":2973},"can also mount an app",[2964,4620,3159],{"class":3134},[2964,4622,3837],{"class":3134},[2964,4624,4447],{"class":3843},[2964,4626,3840],{"class":3134},[2964,4628,3844],{"class":3843},[2964,4630,3264],{"class":3134},[2964,4632,4633,4635,4637,4639,4641,4643,4645,4648,4650,4652,4655,4657,4659,4662,4664,4666],{"class":2966,"line":3310},[2964,4634,4458],{"class":3843},[2964,4636,4461],{"class":3130},[2964,4638,4464],{"class":3134},[2964,4640,4467],{"class":3119},[2964,4642,4395],{"class":3126},[2964,4644,3131],{"class":3141},[2964,4646,4647],{"class":3130},"App",[2964,4649,3837],{"class":3134},[2964,4651,3199],{"class":3134},[2964,4653,4654],{"class":3141}," route",[2964,4656,3145],{"class":3134},[2964,4658,3211],{"class":3134},[2964,4660,4661],{"class":2973},"\u002Ftest",[2964,4663,3159],{"class":3134},[2964,4665,3205],{"class":3134},[2964,4667,3179],{"class":3141},[2964,4669,4670,4672,4674,4676,4678,4681,4683,4685,4687,4689],{"class":2966,"line":3333},[2964,4671,4481],{"class":3126},[2964,4673,3131],{"class":3141},[2964,4675,4486],{"class":3130},[2964,4677,2877],{"class":3134},[2964,4679,4680],{"class":3126},"html",[2964,4682,4494],{"class":3141},[2964,4684,2877],{"class":3134},[2964,4686,4499],{"class":3126},[2964,4688,3131],{"class":3141},[2964,4690,4691],{"class":3134},"`\n",[2964,4693,4694],{"class":2966,"line":3350},[2964,4695,4696],{"class":2973},"      \"\u003Cdiv>This is an auto-imported component\u003C\u002Fdiv>\n",[2964,4698,4699],{"class":2966,"line":3356},[2964,4700,4701],{"class":2973},"      \u003Cdiv> I am a global component \u003C\u002Fdiv>\n",[2964,4703,4704],{"class":2966,"line":3362},[2964,4705,4706],{"class":2973},"      \u003Cdiv>\u002F\u003C\u002Fdiv>\n",[2964,4708,4709],{"class":2966,"line":3367},[2964,4710,4711],{"class":2973},"      \u003Ca href=\"\u002Ftest\"> Test link \u003C\u002Fa>\"\n",[2964,4713,4714,4717],{"class":2966,"line":3376},[2964,4715,4716],{"class":3134},"    `",[2964,4718,3179],{"class":3141},[2964,4720,4721,4723],{"class":2966,"line":3392},[2964,4722,3176],{"class":3134},[2964,4724,3179],{"class":3130},[2870,4726,4727,4728,4730],{},"The options object accepts ",[2882,4729,4267],{}," mount options and the following properties:",[2909,4732,4733],{},[2912,4734,4735,4738,4739,4741,4742,4055],{},[2882,4736,4737],{},"route",": the initial route, or ",[2882,4740,4091],{}," to skip the initial route change (default ",[2882,4743,4744],{},"\u002F",[3614,4746,4748],{"id":4747},"rendersuspended",[2882,4749,4750],{},"renderSuspended",[2870,4752,4753,4755,4756,4759],{},[2882,4754,4750],{}," allows you to render any Vue component within the Nuxt environment using ",[2882,4757,4758],{},"@testing-library\u002Fvue",", allowing async setup and access to injections from your Nuxt plugins.",[2870,4761,4762,4763,2918,4766,4769,4770,4774],{},"This should be used together with utilities from Testing Library, e.g. ",[2882,4764,4765],{},"screen",[2882,4767,4768],{},"fireEvent",". Install ",[2874,4771,4758],{"href":4772,"rel":4773},"https:\u002F\u002Ftesting-library.com\u002Fdocs\u002Fvue-testing-library\u002Fintro\u002F",[2890]," in your project to use these.",[2870,4776,4777,4778,2877],{},"Additionally, Testing Library also relies on testing globals for cleanup. You should turn these on in your ",[2874,4779,4782],{"href":4780,"rel":4781},"https:\u002F\u002Fvitest.dev\u002Fconfig\u002Fglobals",[2890],"Vitest config",[2870,4784,4785,4786,2877],{},"The passed in component will be rendered inside a ",[2882,4787,4788],{},"\u003Cdiv id=\"test-wrapper\">\u003C\u002Fdiv>",[2870,4790,4791],{},"Examples:",[2954,4793,4795],{"className":3109,"code":4794,"language":3111,"meta":3112,"style":2960},"\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",[2882,4796,4797,4801,4823,4843,4847,4861,4873,4877,4881,4885,4904,4922,4941,4945,4968,4981,5014],{"__ignoreMap":2960},[2964,4798,4799],{"class":2966,"line":2967},[2964,4800,4287],{"class":3708},[2964,4802,4803,4805,4807,4809,4811,4813,4815,4817,4819,4821],{"class":2966,"line":3138},[2964,4804,3196],{"class":3119},[2964,4806,3199],{"class":3134},[2964,4808,4296],{"class":3130},[2964,4810,3837],{"class":3134},[2964,4812,4301],{"class":3130},[2964,4814,3205],{"class":3134},[2964,4816,3208],{"class":3119},[2964,4818,3211],{"class":3134},[2964,4820,2927],{"class":2973},[2964,4822,3217],{"class":3134},[2964,4824,4825,4827,4829,4831,4833,4835,4837,4839,4841],{"class":2966,"line":3151},[2964,4826,3196],{"class":3119},[2964,4828,4318],{"class":3119},[2964,4830,3199],{"class":3134},[2964,4832,4323],{"class":3130},[2964,4834,3205],{"class":3134},[2964,4836,3208],{"class":3119},[2964,4838,3211],{"class":3134},[2964,4840,4332],{"class":2973},[2964,4842,3217],{"class":3134},[2964,4844,4845],{"class":2966,"line":3165},[2964,4846,3242],{"emptyLinePlaceholder":1196},[2964,4848,4849,4851,4853,4855,4857,4859],{"class":2966,"line":3173},[2964,4850,4343],{"class":3843},[2964,4852,4346],{"class":3843},[2964,4854,3211],{"class":3134},[2964,4856,4351],{"class":2973},[2964,4858,3159],{"class":3134},[2964,4860,3264],{"class":3134},[2964,4862,4863,4865,4867,4869,4871],{"class":2966,"line":3267},[2964,4864,4360],{"class":3119},[2964,4866,4363],{"class":3843},[2964,4868,4366],{"class":3130},[2964,4870,3145],{"class":3134},[2964,4872,4371],{"class":2970},[2964,4874,4875],{"class":2966,"line":3277},[2964,4876,4376],{"class":3134},[2964,4878,4879],{"class":2966,"line":3283},[2964,4880,4381],{"class":3708},[2964,4882,4883],{"class":2966,"line":3293},[2964,4884,4386],{"class":3708},[2964,4886,4887,4889,4891,4894,4896,4898,4900,4902],{"class":2966,"line":3310},[2964,4888,3196],{"class":3119},[2964,4890,3199],{"class":3134},[2964,4892,4893],{"class":3130}," renderSuspended",[2964,4895,3205],{"class":3134},[2964,4897,3208],{"class":3119},[2964,4899,3211],{"class":3134},[2964,4901,4404],{"class":2973},[2964,4903,3217],{"class":3134},[2964,4905,4906,4908,4910,4912,4914,4916,4918,4920],{"class":2966,"line":3333},[2964,4907,3196],{"class":3119},[2964,4909,3199],{"class":3134},[2964,4911,4366],{"class":3130},[2964,4913,3205],{"class":3134},[2964,4915,3208],{"class":3119},[2964,4917,3211],{"class":3134},[2964,4919,4351],{"class":2973},[2964,4921,3217],{"class":3134},[2964,4923,4924,4926,4928,4931,4933,4935,4937,4939],{"class":2966,"line":3350},[2964,4925,3196],{"class":3119},[2964,4927,3199],{"class":3134},[2964,4929,4930],{"class":3130}," screen",[2964,4932,3205],{"class":3134},[2964,4934,3208],{"class":3119},[2964,4936,3211],{"class":3134},[2964,4938,4758],{"class":2973},[2964,4940,3217],{"class":3134},[2964,4942,4943],{"class":2966,"line":3356},[2964,4944,3242],{"emptyLinePlaceholder":1196},[2964,4946,4947,4949,4951,4953,4956,4958,4960,4962,4964,4966],{"class":2966,"line":3362},[2964,4948,4433],{"class":3126},[2964,4950,3131],{"class":3130},[2964,4952,3159],{"class":3134},[2964,4954,4955],{"class":2973},"can render some component",[2964,4957,3159],{"class":3134},[2964,4959,3837],{"class":3134},[2964,4961,4447],{"class":3843},[2964,4963,3840],{"class":3134},[2964,4965,3844],{"class":3843},[2964,4967,3264],{"class":3134},[2964,4969,4970,4973,4975,4977,4979],{"class":2966,"line":3367},[2964,4971,4972],{"class":3119},"  await",[2964,4974,4893],{"class":3126},[2964,4976,3131],{"class":3141},[2964,4978,4474],{"class":3130},[2964,4980,3179],{"class":3141},[2964,4982,4983,4985,4987,4989,4991,4994,4996,4998,5001,5003,5006,5008,5011],{"class":2966,"line":3376},[2964,4984,4481],{"class":3126},[2964,4986,3131],{"class":3141},[2964,4988,4765],{"class":3130},[2964,4990,2877],{"class":3134},[2964,4992,4993],{"class":3126},"getByText",[2964,4995,3131],{"class":3141},[2964,4997,3159],{"class":3134},[2964,4999,5000],{"class":2973},"This is an auto-imported component",[2964,5002,3159],{"class":3134},[2964,5004,5005],{"class":3141},"))",[2964,5007,2877],{"class":3134},[2964,5009,5010],{"class":3126},"toBeDefined",[2964,5012,5013],{"class":3141},"()\n",[2964,5015,5016,5018],{"class":2966,"line":3392},[2964,5017,3176],{"class":3134},[2964,5019,3179],{"class":3130},[2954,5021,5023],{"className":3109,"code":5022,"language":3111,"meta":3112,"style":2960},"\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",[2882,5024,5025,5029,5051,5055,5059,5077,5091,5095,5118,5153,5171,5176,5181,5185,5190,5195,5202],{"__ignoreMap":2960},[2964,5026,5027],{"class":2966,"line":2967},[2964,5028,4287],{"class":3708},[2964,5030,5031,5033,5035,5037,5039,5041,5043,5045,5047,5049],{"class":2966,"line":3138},[2964,5032,3196],{"class":3119},[2964,5034,3199],{"class":3134},[2964,5036,4296],{"class":3130},[2964,5038,3837],{"class":3134},[2964,5040,4301],{"class":3130},[2964,5042,3205],{"class":3134},[2964,5044,3208],{"class":3119},[2964,5046,3211],{"class":3134},[2964,5048,2927],{"class":2973},[2964,5050,3217],{"class":3134},[2964,5052,5053],{"class":2966,"line":3151},[2964,5054,4381],{"class":3708},[2964,5056,5057],{"class":2966,"line":3165},[2964,5058,4607],{"class":3708},[2964,5060,5061,5063,5065,5067,5069,5071,5073,5075],{"class":2966,"line":3173},[2964,5062,3196],{"class":3119},[2964,5064,3199],{"class":3134},[2964,5066,4893],{"class":3130},[2964,5068,3205],{"class":3134},[2964,5070,3208],{"class":3119},[2964,5072,3211],{"class":3134},[2964,5074,4404],{"class":2973},[2964,5076,3217],{"class":3134},[2964,5078,5079,5081,5083,5085,5087,5089],{"class":2966,"line":3267},[2964,5080,3196],{"class":3119},[2964,5082,4588],{"class":3130},[2964,5084,4591],{"class":3119},[2964,5086,3211],{"class":3134},[2964,5088,4596],{"class":2973},[2964,5090,3217],{"class":3134},[2964,5092,5093],{"class":2966,"line":3277},[2964,5094,3242],{"emptyLinePlaceholder":1196},[2964,5096,5097,5099,5101,5103,5106,5108,5110,5112,5114,5116],{"class":2966,"line":3283},[2964,5098,4433],{"class":3126},[2964,5100,3131],{"class":3130},[2964,5102,3159],{"class":3134},[2964,5104,5105],{"class":2973},"can also render an app",[2964,5107,3159],{"class":3134},[2964,5109,3837],{"class":3134},[2964,5111,4447],{"class":3843},[2964,5113,3840],{"class":3134},[2964,5115,3844],{"class":3843},[2964,5117,3264],{"class":3134},[2964,5119,5120,5122,5125,5127,5129,5131,5133,5135,5137,5139,5141,5143,5145,5147,5149,5151],{"class":2966,"line":3293},[2964,5121,4458],{"class":3843},[2964,5123,5124],{"class":3130}," html",[2964,5126,4464],{"class":3134},[2964,5128,4467],{"class":3119},[2964,5130,4893],{"class":3126},[2964,5132,3131],{"class":3141},[2964,5134,4647],{"class":3130},[2964,5136,3837],{"class":3134},[2964,5138,3199],{"class":3134},[2964,5140,4654],{"class":3141},[2964,5142,3145],{"class":3134},[2964,5144,3211],{"class":3134},[2964,5146,4661],{"class":2973},[2964,5148,3159],{"class":3134},[2964,5150,3205],{"class":3134},[2964,5152,3179],{"class":3141},[2964,5154,5155,5157,5159,5161,5163,5165,5167,5169],{"class":2966,"line":3310},[2964,5156,4481],{"class":3126},[2964,5158,3131],{"class":3141},[2964,5160,4680],{"class":3130},[2964,5162,3520],{"class":3141},[2964,5164,2877],{"class":3134},[2964,5166,4499],{"class":3126},[2964,5168,3131],{"class":3141},[2964,5170,4691],{"class":3134},[2964,5172,5173],{"class":2966,"line":3333},[2964,5174,5175],{"class":2973},"    \"\u003Cdiv id=\"test-wrapper\">\n",[2964,5177,5178],{"class":2966,"line":3350},[2964,5179,5180],{"class":2973},"      \u003Cdiv>This is an auto-imported component\u003C\u002Fdiv>\n",[2964,5182,5183],{"class":2966,"line":3356},[2964,5184,4701],{"class":2973},[2964,5186,5187],{"class":2966,"line":3362},[2964,5188,5189],{"class":2973},"      \u003Cdiv>Index page\u003C\u002Fdiv>\u003Ca href=\"\u002Ftest\"> Test link \u003C\u002Fa>\n",[2964,5191,5192],{"class":2966,"line":3367},[2964,5193,5194],{"class":2973},"    \u003C\u002Fdiv>\"\n",[2964,5196,5197,5200],{"class":2966,"line":3376},[2964,5198,5199],{"class":3134},"  `",[2964,5201,3179],{"class":3141},[2964,5203,5204,5206],{"class":2966,"line":3392},[2964,5205,3176],{"class":3134},[2964,5207,3179],{"class":3130},[2870,5209,4727,5210,5212],{},[2882,5211,4758],{}," render options and the following properties:",[2909,5214,5215],{},[2912,5216,5217,4738,5219,4741,5221,4055],{},[2882,5218,4737],{},[2882,5220,4091],{},[2882,5222,4744],{},[3614,5224,5226],{"id":5225},"mocknuxtimport",[2882,5227,5228],{},"mockNuxtImport",[2870,5230,5231,5233,5234,5236],{},[2882,5232,5228],{}," allows you to mock Nuxt's auto import functionality. For example, to mock ",[2882,5235,619],{},", you can do so like this:",[2954,5238,5240],{"className":3109,"code":5239,"language":3111,"meta":3112,"style":2960},"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",[2882,5241,5242,5261,5265,5285,5296,5318,5323,5329,5333],{"__ignoreMap":2960},[2964,5243,5244,5246,5248,5251,5253,5255,5257,5259],{"class":2966,"line":2967},[2964,5245,3196],{"class":3119},[2964,5247,3199],{"class":3134},[2964,5249,5250],{"class":3130}," mockNuxtImport",[2964,5252,3205],{"class":3134},[2964,5254,3208],{"class":3119},[2964,5256,3211],{"class":3134},[2964,5258,4404],{"class":2973},[2964,5260,3217],{"class":3134},[2964,5262,5263],{"class":2966,"line":3138},[2964,5264,3242],{"emptyLinePlaceholder":1196},[2964,5266,5267,5269,5271,5273,5275,5277,5279,5281,5283],{"class":2966,"line":3151},[2964,5268,5228],{"class":3126},[2964,5270,3131],{"class":3130},[2964,5272,3159],{"class":3134},[2964,5274,619],{"class":2973},[2964,5276,3159],{"class":3134},[2964,5278,3837],{"class":3134},[2964,5280,3840],{"class":3134},[2964,5282,3844],{"class":3843},[2964,5284,3264],{"class":3134},[2964,5286,5287,5290,5292,5294],{"class":2966,"line":3165},[2964,5288,5289],{"class":3119},"  return",[2964,5291,3840],{"class":3134},[2964,5293,3844],{"class":3843},[2964,5295,3264],{"class":3134},[2964,5297,5298,5301,5303,5306,5308,5310,5313,5315],{"class":2966,"line":3173},[2964,5299,5300],{"class":3119},"    return",[2964,5302,3199],{"class":3134},[2964,5304,5305],{"class":3141}," value",[2964,5307,3145],{"class":3134},[2964,5309,3211],{"class":3134},[2964,5311,5312],{"class":2973},"mocked storage",[2964,5314,3159],{"class":3134},[2964,5316,5317],{"class":3134}," }\n",[2964,5319,5320],{"class":2966,"line":3267},[2964,5321,5322],{"class":3134},"  }\n",[2964,5324,5325,5327],{"class":2966,"line":3277},[2964,5326,3176],{"class":3134},[2964,5328,3179],{"class":3130},[2964,5330,5331],{"class":2966,"line":3283},[2964,5332,3242],{"emptyLinePlaceholder":1196},[2964,5334,5335],{"class":2966,"line":3293},[2964,5336,5337],{"class":3708},"\u002F\u002F your tests here\n",[2870,5339,5340],{},"You can explicitly type the mock for type safety, and use the original implementation passed to the factory function when mocking complex functionality.",[2954,5342,5345],{"className":3109,"code":5343,"filename":5344,"language":3111,"meta":3112,"style":2960},"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",[2882,5346,5347,5365,5369,5405,5421,5458,5462,5468,5472,5477,5496,5510,5544,5548,5554,5558],{"__ignoreMap":2960},[2964,5348,5349,5351,5353,5355,5357,5359,5361,5363],{"class":2966,"line":2967},[2964,5350,3196],{"class":3119},[2964,5352,3199],{"class":3134},[2964,5354,5250],{"class":3130},[2964,5356,3205],{"class":3134},[2964,5358,3208],{"class":3119},[2964,5360,3211],{"class":3134},[2964,5362,4404],{"class":2973},[2964,5364,3217],{"class":3134},[2964,5366,5367],{"class":2966,"line":3138},[2964,5368,3242],{"emptyLinePlaceholder":1196},[2964,5370,5371,5373,5376,5379,5382,5384,5386,5388,5390,5392,5395,5399,5401,5403],{"class":2966,"line":3151},[2964,5372,5228],{"class":3126},[2964,5374,5375],{"class":3134},"\u003Ctypeof",[2964,5377,5378],{"class":3130}," useState",[2964,5380,5381],{"class":3134},">",[2964,5383,3131],{"class":3130},[2964,5385,3159],{"class":3134},[2964,5387,619],{"class":2973},[2964,5389,3159],{"class":3134},[2964,5391,3837],{"class":3134},[2964,5393,5394],{"class":3134}," (",[2964,5396,5398],{"class":5397},"s1nJG","original",[2964,5400,3520],{"class":3134},[2964,5402,3844],{"class":3843},[2964,5404,3264],{"class":3134},[2964,5406,5407,5409,5412,5415,5417,5419],{"class":2966,"line":3165},[2964,5408,5289],{"class":3119},[2964,5410,5411],{"class":3134}," (...",[2964,5413,5414],{"class":5397},"args",[2964,5416,3520],{"class":3134},[2964,5418,3844],{"class":3843},[2964,5420,3264],{"class":3134},[2964,5422,5423,5425,5427,5430,5432,5434,5436,5439,5441,5443,5445,5447,5449,5451,5454,5456],{"class":2966,"line":3173},[2964,5424,5300],{"class":3119},[2964,5426,3199],{"class":3134},[2964,5428,5429],{"class":3134}," ...",[2964,5431,5398],{"class":3126},[2964,5433,3131],{"class":3141},[2964,5435,3159],{"class":3134},[2964,5437,5438],{"class":2973},"some-key",[2964,5440,3159],{"class":3134},[2964,5442,3520],{"class":3141},[2964,5444,3837],{"class":3134},[2964,5446,5305],{"class":3141},[2964,5448,3145],{"class":3134},[2964,5450,3211],{"class":3134},[2964,5452,5453],{"class":2973},"mocked state",[2964,5455,3159],{"class":3134},[2964,5457,5317],{"class":3134},[2964,5459,5460],{"class":2966,"line":3267},[2964,5461,5322],{"class":3134},[2964,5463,5464,5466],{"class":2966,"line":3277},[2964,5465,3176],{"class":3134},[2964,5467,3179],{"class":3130},[2964,5469,5470],{"class":2966,"line":3283},[2964,5471,3242],{"emptyLinePlaceholder":1196},[2964,5473,5474],{"class":2966,"line":3293},[2964,5475,5476],{"class":3708},"\u002F\u002F or specify the target to mock\n",[2964,5478,5479,5481,5484,5486,5488,5490,5492,5494],{"class":2966,"line":3310},[2964,5480,5228],{"class":3126},[2964,5482,5483],{"class":3130},"(useState",[2964,5485,3837],{"class":3134},[2964,5487,5394],{"class":3134},[2964,5489,5398],{"class":5397},[2964,5491,3520],{"class":3134},[2964,5493,3844],{"class":3843},[2964,5495,3264],{"class":3134},[2964,5497,5498,5500,5502,5504,5506,5508],{"class":2966,"line":3333},[2964,5499,5289],{"class":3119},[2964,5501,5411],{"class":3134},[2964,5503,5414],{"class":5397},[2964,5505,3520],{"class":3134},[2964,5507,3844],{"class":3843},[2964,5509,3264],{"class":3134},[2964,5511,5512,5514,5516,5518,5520,5522,5524,5526,5528,5530,5532,5534,5536,5538,5540,5542],{"class":2966,"line":3350},[2964,5513,5300],{"class":3119},[2964,5515,3199],{"class":3134},[2964,5517,5429],{"class":3134},[2964,5519,5398],{"class":3126},[2964,5521,3131],{"class":3141},[2964,5523,3159],{"class":3134},[2964,5525,5438],{"class":2973},[2964,5527,3159],{"class":3134},[2964,5529,3520],{"class":3141},[2964,5531,3837],{"class":3134},[2964,5533,5305],{"class":3141},[2964,5535,3145],{"class":3134},[2964,5537,3211],{"class":3134},[2964,5539,5453],{"class":2973},[2964,5541,3159],{"class":3134},[2964,5543,5317],{"class":3134},[2964,5545,5546],{"class":2966,"line":3356},[2964,5547,5322],{"class":3134},[2964,5549,5550,5552],{"class":2966,"line":3362},[2964,5551,3176],{"class":3134},[2964,5553,3179],{"class":3130},[2964,5555,5556],{"class":2966,"line":3367},[2964,5557,3242],{"emptyLinePlaceholder":1196},[2964,5559,5560],{"class":2966,"line":3376},[2964,5561,5337],{"class":3708},[4253,5563,5564],{},[2870,5565,5566,5568,5569,2918,5572,5574,5575,2877],{},[2882,5567,5228],{}," can only be used once per mocked import per test file. It is actually a macro that gets transformed to ",[2882,5570,5571],{},"vi.mock",[2882,5573,5571],{}," is hoisted, as described ",[2874,5576,5579],{"href":5577,"rel":5578},"https:\u002F\u002Fvitest.dev\u002Fapi\u002Fvi#vi-mock",[2890],"in the Vitest docs",[2870,5581,5582,5583,5590,5591,5593,5594,5599],{},"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 ",[2874,5584,5587],{"href":5585,"rel":5586},"https:\u002F\u002Fvitest.dev\u002Fapi\u002Fvi#vi-hoisted",[2890],[2882,5588,5589],{},"vi.hoisted",", and then use those mocks in ",[2882,5592,5228],{},". You then have access to the mocked imports, and can change the implementation between tests. Be careful to ",[2874,5595,5598],{"href":5596,"rel":5597},"https:\u002F\u002Fvitest.dev\u002Fapi\u002Fmock#mockrestore",[2890],"restore mocks"," before or after each test to undo mock state changes between runs.",[2954,5601,5603],{"className":3109,"code":5602,"language":3111,"meta":3112,"style":2960},"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",[2882,5604,5605,5624,5642,5646,5676,5682,5704,5723,5732,5736,5742,5746,5766,5773,5779,5783,5788,5806,5825],{"__ignoreMap":2960},[2964,5606,5607,5609,5611,5614,5616,5618,5620,5622],{"class":2966,"line":2967},[2964,5608,3196],{"class":3119},[2964,5610,3199],{"class":3134},[2964,5612,5613],{"class":3130}," vi",[2964,5615,3205],{"class":3134},[2964,5617,3208],{"class":3119},[2964,5619,3211],{"class":3134},[2964,5621,2927],{"class":2973},[2964,5623,3217],{"class":3134},[2964,5625,5626,5628,5630,5632,5634,5636,5638,5640],{"class":2966,"line":3138},[2964,5627,3196],{"class":3119},[2964,5629,3199],{"class":3134},[2964,5631,5250],{"class":3130},[2964,5633,3205],{"class":3134},[2964,5635,3208],{"class":3119},[2964,5637,3211],{"class":3134},[2964,5639,4404],{"class":2973},[2964,5641,3217],{"class":3134},[2964,5643,5644],{"class":2966,"line":3151},[2964,5645,3242],{"emptyLinePlaceholder":1196},[2964,5647,5648,5651,5653,5656,5658,5660,5662,5664,5667,5669,5672,5674],{"class":2966,"line":3165},[2964,5649,5650],{"class":3843},"const",[2964,5652,3199],{"class":3134},[2964,5654,5655],{"class":3130}," useStateMock ",[2964,5657,3176],{"class":3134},[2964,5659,4464],{"class":3134},[2964,5661,5613],{"class":3130},[2964,5663,2877],{"class":3134},[2964,5665,5666],{"class":3126},"hoisted",[2964,5668,3131],{"class":3130},[2964,5670,5671],{"class":3134},"()",[2964,5673,3844],{"class":3843},[2964,5675,3264],{"class":3134},[2964,5677,5678,5680],{"class":2966,"line":3173},[2964,5679,5289],{"class":3119},[2964,5681,3264],{"class":3134},[2964,5683,5684,5687,5689,5691,5693,5696,5698,5700,5702],{"class":2966,"line":3267},[2964,5685,5686],{"class":3141},"    useStateMock",[2964,5688,3145],{"class":3134},[2964,5690,5613],{"class":3130},[2964,5692,2877],{"class":3134},[2964,5694,5695],{"class":3126},"fn",[2964,5697,3131],{"class":3141},[2964,5699,5671],{"class":3134},[2964,5701,3844],{"class":3843},[2964,5703,3264],{"class":3134},[2964,5705,5706,5709,5711,5713,5715,5717,5719,5721],{"class":2966,"line":3277},[2964,5707,5708],{"class":3119},"      return",[2964,5710,3199],{"class":3134},[2964,5712,5305],{"class":3141},[2964,5714,3145],{"class":3134},[2964,5716,3211],{"class":3134},[2964,5718,5312],{"class":2973},[2964,5720,3159],{"class":3134},[2964,5722,5317],{"class":3134},[2964,5724,5725,5728,5730],{"class":2966,"line":3283},[2964,5726,5727],{"class":3134},"    }",[2964,5729,3520],{"class":3141},[2964,5731,3162],{"class":3134},[2964,5733,5734],{"class":2966,"line":3293},[2964,5735,5322],{"class":3134},[2964,5737,5738,5740],{"class":2966,"line":3310},[2964,5739,3176],{"class":3134},[2964,5741,3179],{"class":3130},[2964,5743,5744],{"class":2966,"line":3333},[2964,5745,3242],{"emptyLinePlaceholder":1196},[2964,5747,5748,5750,5752,5754,5756,5758,5760,5762,5764],{"class":2966,"line":3350},[2964,5749,5228],{"class":3126},[2964,5751,3131],{"class":3130},[2964,5753,3159],{"class":3134},[2964,5755,619],{"class":2973},[2964,5757,3159],{"class":3134},[2964,5759,3837],{"class":3134},[2964,5761,3840],{"class":3134},[2964,5763,3844],{"class":3843},[2964,5765,3264],{"class":3134},[2964,5767,5768,5770],{"class":2966,"line":3356},[2964,5769,5289],{"class":3119},[2964,5771,5772],{"class":3130}," useStateMock\n",[2964,5774,5775,5777],{"class":2966,"line":3362},[2964,5776,3176],{"class":3134},[2964,5778,3179],{"class":3130},[2964,5780,5781],{"class":2966,"line":3367},[2964,5782,3242],{"emptyLinePlaceholder":1196},[2964,5784,5785],{"class":2966,"line":3376},[2964,5786,5787],{"class":3708},"\u002F\u002F Then, inside a test\n",[2964,5789,5790,5793,5795,5798,5800,5802,5804],{"class":2966,"line":3392},[2964,5791,5792],{"class":3130},"useStateMock",[2964,5794,2877],{"class":3134},[2964,5796,5797],{"class":3126},"mockImplementation",[2964,5799,3131],{"class":3130},[2964,5801,5671],{"class":3134},[2964,5803,3844],{"class":3843},[2964,5805,3264],{"class":3134},[2964,5807,5808,5810,5812,5814,5816,5818,5821,5823],{"class":2966,"line":3412},[2964,5809,5289],{"class":3119},[2964,5811,3199],{"class":3134},[2964,5813,5305],{"class":3141},[2964,5815,3145],{"class":3134},[2964,5817,3211],{"class":3134},[2964,5819,5820],{"class":2973},"something else",[2964,5822,3159],{"class":3134},[2964,5824,5317],{"class":3134},[2964,5826,5827,5829],{"class":2966,"line":3427},[2964,5828,3176],{"class":3134},[2964,5830,3179],{"class":3130},[2870,5832,5833],{},"If you need to mock behavior only inside a test, you can also use the following approach.",[2954,5835,5837],{"className":3109,"code":5836,"language":3111,"meta":3112,"style":2960},"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",[2882,5838,5839,5862,5880,5884,5907,5911,5924,5936,5942,5946,5950,5980,5997,6046],{"__ignoreMap":2960},[2964,5840,5841,5843,5845,5848,5850,5852,5854,5856,5858,5860],{"class":2966,"line":2967},[2964,5842,3196],{"class":3119},[2964,5844,3199],{"class":3134},[2964,5846,5847],{"class":3130}," beforeEach",[2964,5849,3837],{"class":3134},[2964,5851,5613],{"class":3130},[2964,5853,3205],{"class":3134},[2964,5855,3208],{"class":3119},[2964,5857,3211],{"class":3134},[2964,5859,2927],{"class":2973},[2964,5861,3217],{"class":3134},[2964,5863,5864,5866,5868,5870,5872,5874,5876,5878],{"class":2966,"line":3138},[2964,5865,3196],{"class":3119},[2964,5867,3199],{"class":3134},[2964,5869,5250],{"class":3130},[2964,5871,3205],{"class":3134},[2964,5873,3208],{"class":3119},[2964,5875,3211],{"class":3134},[2964,5877,4404],{"class":2973},[2964,5879,3217],{"class":3134},[2964,5881,5882],{"class":2966,"line":3151},[2964,5883,3242],{"emptyLinePlaceholder":1196},[2964,5885,5886,5888,5891,5893,5896,5898,5900,5902,5904],{"class":2966,"line":3165},[2964,5887,5228],{"class":3126},[2964,5889,5890],{"class":3130},"(useRoute",[2964,5892,3837],{"class":3134},[2964,5894,5895],{"class":5397}," original",[2964,5897,3844],{"class":3843},[2964,5899,5613],{"class":3130},[2964,5901,2877],{"class":3134},[2964,5903,5695],{"class":3126},[2964,5905,5906],{"class":3130},"(original))\n",[2964,5908,5909],{"class":2966,"line":3173},[2964,5910,3242],{"emptyLinePlaceholder":1196},[2964,5912,5913,5916,5918,5920,5922],{"class":2966,"line":3267},[2964,5914,5915],{"class":3126},"beforeEach",[2964,5917,3131],{"class":3130},[2964,5919,5671],{"class":3134},[2964,5921,3844],{"class":3843},[2964,5923,3264],{"class":3134},[2964,5925,5926,5929,5931,5934],{"class":2966,"line":3277},[2964,5927,5928],{"class":3130},"  vi",[2964,5930,2877],{"class":3134},[2964,5932,5933],{"class":3126},"resetAllMocks",[2964,5935,5013],{"class":3141},[2964,5937,5938,5940],{"class":2966,"line":3283},[2964,5939,3176],{"class":3134},[2964,5941,3179],{"class":3130},[2964,5943,5944],{"class":2966,"line":3293},[2964,5945,3242],{"emptyLinePlaceholder":1196},[2964,5947,5948],{"class":2966,"line":3310},[2964,5949,5787],{"class":3708},[2964,5951,5952,5954,5957,5960,5962,5964,5967,5970,5972,5975,5977],{"class":2966,"line":3333},[2964,5953,5650],{"class":3843},[2964,5955,5956],{"class":3130}," useRouteOriginal ",[2964,5958,5959],{"class":3134},"=",[2964,5961,5613],{"class":3130},[2964,5963,2877],{"class":3134},[2964,5965,5966],{"class":3126},"mocked",[2964,5968,5969],{"class":3130},"(useRoute)",[2964,5971,2877],{"class":3134},[2964,5973,5974],{"class":3126},"getMockImplementation",[2964,5976,5671],{"class":3130},[2964,5978,5979],{"class":3134},"!\n",[2964,5981,5982,5985,5987,5989,5991,5993,5995],{"class":2966,"line":3350},[2964,5983,5984],{"class":3130},"vi",[2964,5986,2877],{"class":3134},[2964,5988,5966],{"class":3126},[2964,5990,5969],{"class":3130},[2964,5992,2877],{"class":3134},[2964,5994,5797],{"class":3126},[2964,5996,4502],{"class":3130},[2964,5998,5999,6002,6004,6006,6008,6010,6013,6015,6018,6020,6023,6026,6028,6031,6033,6035,6038,6040,6042,6044],{"class":2966,"line":3356},[2964,6000,6001],{"class":3134},"  (...",[2964,6003,5414],{"class":5397},[2964,6005,3520],{"class":3134},[2964,6007,3844],{"class":3843},[2964,6009,5394],{"class":3130},[2964,6011,6012],{"class":3134},"{",[2964,6014,5429],{"class":3134},[2964,6016,6017],{"class":3126},"useRouteOriginal",[2964,6019,3131],{"class":3130},[2964,6021,6022],{"class":3134},"...",[2964,6024,6025],{"class":3130},"args)",[2964,6027,3837],{"class":3134},[2964,6029,6030],{"class":3141}," path",[2964,6032,3145],{"class":3134},[2964,6034,3211],{"class":3134},[2964,6036,6037],{"class":2973},"\u002Fmocked",[2964,6039,3159],{"class":3134},[2964,6041,3205],{"class":3134},[2964,6043,3520],{"class":3130},[2964,6045,3162],{"class":3134},[2964,6047,6048],{"class":2966,"line":3362},[2964,6049,3179],{"class":3130},[3614,6051,6053],{"id":6052},"mockcomponent",[2882,6054,6055],{},"mockComponent",[2870,6057,6058,6060],{},[2882,6059,6055],{}," 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.",[2870,6062,6063,6064,6067],{},"For example, to mock ",[2882,6065,6066],{},"MyComponent",", you can:",[2954,6069,6071],{"className":3109,"code":6070,"language":3111,"meta":3112,"style":2960},"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",[2882,6072,6073,6092,6096,6112,6121,6133,6137,6151,6156,6160,6166,6170,6175,6196,6201,6212,6225,6230,6234,6241,6247,6251,6256,6289,6293],{"__ignoreMap":2960},[2964,6074,6075,6077,6079,6082,6084,6086,6088,6090],{"class":2966,"line":2967},[2964,6076,3196],{"class":3119},[2964,6078,3199],{"class":3134},[2964,6080,6081],{"class":3130}," mockComponent",[2964,6083,3205],{"class":3134},[2964,6085,3208],{"class":3119},[2964,6087,3211],{"class":3134},[2964,6089,4404],{"class":2973},[2964,6091,3217],{"class":3134},[2964,6093,6094],{"class":2966,"line":3138},[2964,6095,3242],{"emptyLinePlaceholder":1196},[2964,6097,6098,6100,6102,6104,6106,6108,6110],{"class":2966,"line":3151},[2964,6099,6055],{"class":3126},[2964,6101,3131],{"class":3130},[2964,6103,3159],{"class":3134},[2964,6105,6066],{"class":2973},[2964,6107,3159],{"class":3134},[2964,6109,3837],{"class":3134},[2964,6111,3264],{"class":3134},[2964,6113,6114,6117,6119],{"class":2966,"line":3165},[2964,6115,6116],{"class":3141},"  props",[2964,6118,3145],{"class":3134},[2964,6120,3264],{"class":3134},[2964,6122,6123,6126,6128,6131],{"class":2966,"line":3173},[2964,6124,6125],{"class":3141},"    value",[2964,6127,3145],{"class":3134},[2964,6129,6130],{"class":3130}," String",[2964,6132,3162],{"class":3134},[2964,6134,6135],{"class":2966,"line":3267},[2964,6136,3536],{"class":3134},[2964,6138,6139,6142,6144,6147,6149],{"class":2966,"line":3277},[2964,6140,6141],{"class":3141},"  setup",[2964,6143,5394],{"class":3134},[2964,6145,6146],{"class":5397},"props",[2964,6148,3520],{"class":3134},[2964,6150,3264],{"class":3134},[2964,6152,6153],{"class":2966,"line":3283},[2964,6154,6155],{"class":3708},"    \u002F\u002F ...\n",[2964,6157,6158],{"class":2966,"line":3293},[2964,6159,3536],{"class":3134},[2964,6161,6162,6164],{"class":2966,"line":3310},[2964,6163,3176],{"class":3134},[2964,6165,3179],{"class":3130},[2964,6167,6168],{"class":2966,"line":3333},[2964,6169,3242],{"emptyLinePlaceholder":1196},[2964,6171,6172],{"class":2966,"line":3350},[2964,6173,6174],{"class":3708},"\u002F\u002F relative path or alias also works\n",[2964,6176,6177,6179,6181,6183,6186,6188,6190,6192,6194],{"class":2966,"line":3356},[2964,6178,6055],{"class":3126},[2964,6180,3131],{"class":3130},[2964,6182,3159],{"class":3134},[2964,6184,6185],{"class":2973},"~\u002Fcomponents\u002Fmy-component.vue",[2964,6187,3159],{"class":3134},[2964,6189,3837],{"class":3134},[2964,6191,3840],{"class":3134},[2964,6193,3844],{"class":3843},[2964,6195,3264],{"class":3134},[2964,6197,6198],{"class":2966,"line":3362},[2964,6199,6200],{"class":3708},"  \u002F\u002F or a factory function\n",[2964,6202,6203,6205,6208,6210],{"class":2966,"line":3367},[2964,6204,5289],{"class":3119},[2964,6206,6207],{"class":3126}," defineComponent",[2964,6209,3131],{"class":3141},[2964,6211,3135],{"class":3134},[2964,6213,6214,6217,6219,6221,6223],{"class":2966,"line":3376},[2964,6215,6216],{"class":3141},"    setup ",[2964,6218,3131],{"class":3134},[2964,6220,6146],{"class":5397},[2964,6222,3520],{"class":3134},[2964,6224,3264],{"class":3134},[2964,6226,6227],{"class":2966,"line":3392},[2964,6228,6229],{"class":3708},"      \u002F\u002F ...\n",[2964,6231,6232],{"class":2966,"line":3412},[2964,6233,4221],{"class":3134},[2964,6235,6236,6239],{"class":2966,"line":3427},[2964,6237,6238],{"class":3134},"  }",[2964,6240,3179],{"class":3141},[2964,6242,6243,6245],{"class":2966,"line":3432},[2964,6244,3176],{"class":3134},[2964,6246,3179],{"class":3130},[2964,6248,6249],{"class":2966,"line":3437},[2964,6250,3242],{"emptyLinePlaceholder":1196},[2964,6252,6253],{"class":2966,"line":3449},[2964,6254,6255],{"class":3708},"\u002F\u002F or you can use SFC for redirecting to a mock component\n",[2964,6257,6258,6260,6262,6264,6266,6268,6270,6272,6274,6277,6279,6281,6284,6286],{"class":2966,"line":3458},[2964,6259,6055],{"class":3126},[2964,6261,3131],{"class":3130},[2964,6263,3159],{"class":3134},[2964,6265,6066],{"class":2973},[2964,6267,3159],{"class":3134},[2964,6269,3837],{"class":3134},[2964,6271,3840],{"class":3134},[2964,6273,3844],{"class":3843},[2964,6275,6276],{"class":3134}," import",[2964,6278,3131],{"class":3130},[2964,6280,3159],{"class":3134},[2964,6282,6283],{"class":2973},".\u002FMockComponent.vue",[2964,6285,3159],{"class":3134},[2964,6287,6288],{"class":3130},"))\n",[2964,6290,6291],{"class":2966,"line":3474},[2964,6292,3242],{"emptyLinePlaceholder":1196},[2964,6294,6295],{"class":2966,"line":3494},[2964,6296,5337],{"class":3708},[3560,6298,6299],{},[2870,6300,6301,6304],{},[3595,6302,6303],{},"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.",[2954,6306,6308],{"className":3109,"code":6307,"language":3111,"meta":3112,"style":2960},"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",[2882,6309,6310,6328,6332,6354,6386,6390,6400,6412,6432,6465,6469,6475],{"__ignoreMap":2960},[2964,6311,6312,6314,6316,6318,6320,6322,6324,6326],{"class":2966,"line":2967},[2964,6313,3196],{"class":3119},[2964,6315,3199],{"class":3134},[2964,6317,6081],{"class":3130},[2964,6319,3205],{"class":3134},[2964,6321,3208],{"class":3119},[2964,6323,3211],{"class":3134},[2964,6325,4404],{"class":2973},[2964,6327,3217],{"class":3134},[2964,6329,6330],{"class":2966,"line":3138},[2964,6331,3242],{"emptyLinePlaceholder":1196},[2964,6333,6334,6336,6338,6340,6342,6344,6346,6348,6350,6352],{"class":2966,"line":3151},[2964,6335,6055],{"class":3126},[2964,6337,3131],{"class":3130},[2964,6339,3159],{"class":3134},[2964,6341,6066],{"class":2973},[2964,6343,3159],{"class":3134},[2964,6345,3837],{"class":3134},[2964,6347,4447],{"class":3843},[2964,6349,3840],{"class":3134},[2964,6351,3844],{"class":3843},[2964,6353,3264],{"class":3134},[2964,6355,6356,6358,6360,6363,6365,6368,6370,6372,6374,6376,6378,6380,6382,6384],{"class":2966,"line":3165},[2964,6357,4458],{"class":3843},[2964,6359,3199],{"class":3134},[2964,6361,6362],{"class":3130}," ref",[2964,6364,3837],{"class":3134},[2964,6366,6367],{"class":3130}," h",[2964,6369,3205],{"class":3134},[2964,6371,4464],{"class":3134},[2964,6373,4467],{"class":3119},[2964,6375,6276],{"class":3134},[2964,6377,3131],{"class":3141},[2964,6379,3159],{"class":3134},[2964,6381,4332],{"class":2973},[2964,6383,3159],{"class":3134},[2964,6385,3179],{"class":3141},[2964,6387,6388],{"class":2966,"line":3173},[2964,6389,3242],{"emptyLinePlaceholder":1196},[2964,6391,6392,6394,6396,6398],{"class":2966,"line":3267},[2964,6393,5289],{"class":3119},[2964,6395,6207],{"class":3126},[2964,6397,3131],{"class":3141},[2964,6399,3135],{"class":3134},[2964,6401,6402,6404,6406,6408,6410],{"class":2966,"line":3277},[2964,6403,6216],{"class":3141},[2964,6405,3131],{"class":3134},[2964,6407,6146],{"class":5397},[2964,6409,3520],{"class":3134},[2964,6411,3264],{"class":3134},[2964,6413,6414,6417,6420,6422,6424,6426,6430],{"class":2966,"line":3283},[2964,6415,6416],{"class":3843},"      const",[2964,6418,6419],{"class":3130}," counter",[2964,6421,4464],{"class":3134},[2964,6423,6362],{"class":3126},[2964,6425,3131],{"class":3141},[2964,6427,6429],{"class":6428},"sYRBq","0",[2964,6431,3179],{"class":3141},[2964,6433,6434,6436,6438,6440,6442,6444,6446,6449,6451,6453,6456,6458,6460,6463],{"class":2966,"line":3293},[2964,6435,5708],{"class":3119},[2964,6437,3840],{"class":3134},[2964,6439,3844],{"class":3843},[2964,6441,6367],{"class":3126},[2964,6443,3131],{"class":3141},[2964,6445,3159],{"class":3134},[2964,6447,6448],{"class":2973},"div",[2964,6450,3159],{"class":3134},[2964,6452,3837],{"class":3134},[2964,6454,6455],{"class":3134}," null,",[2964,6457,6419],{"class":3130},[2964,6459,2877],{"class":3134},[2964,6461,6462],{"class":3130},"value",[2964,6464,3179],{"class":3141},[2964,6466,6467],{"class":2966,"line":3310},[2964,6468,4221],{"class":3134},[2964,6470,6471,6473],{"class":2966,"line":3333},[2964,6472,6238],{"class":3134},[2964,6474,3179],{"class":3141},[2964,6476,6477,6479],{"class":2966,"line":3350},[2964,6478,3176],{"class":3134},[2964,6480,3179],{"class":3130},[3614,6482,6484],{"id":6483},"registerendpoint",[2882,6485,6486],{},"registerEndpoint",[2870,6488,6489,6491],{},[2882,6490,6486],{}," 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.",[2870,6493,6494,6495,6498],{},"The first argument is the endpoint name (e.g. ",[2882,6496,6497],{},"\u002Ftest\u002F",").\nThe second argument is a factory function that returns the mocked data.",[2870,6500,6063,6501,6503],{},[2882,6502,6497],{}," endpoint, you can do:",[2954,6505,6507],{"className":3109,"code":6506,"language":3111,"meta":3112,"style":2960},"import { registerEndpoint } from '@nuxt\u002Ftest-utils\u002Fruntime'\n\nregisterEndpoint('\u002Ftest\u002F', () => ({\n  test: 'test-field',\n}))\n",[2882,6508,6509,6528,6532,6554,6569],{"__ignoreMap":2960},[2964,6510,6511,6513,6515,6518,6520,6522,6524,6526],{"class":2966,"line":2967},[2964,6512,3196],{"class":3119},[2964,6514,3199],{"class":3134},[2964,6516,6517],{"class":3130}," registerEndpoint",[2964,6519,3205],{"class":3134},[2964,6521,3208],{"class":3119},[2964,6523,3211],{"class":3134},[2964,6525,4404],{"class":2973},[2964,6527,3217],{"class":3134},[2964,6529,6530],{"class":2966,"line":3138},[2964,6531,3242],{"emptyLinePlaceholder":1196},[2964,6533,6534,6536,6538,6540,6542,6544,6546,6548,6550,6552],{"class":2966,"line":3151},[2964,6535,6486],{"class":3126},[2964,6537,3131],{"class":3130},[2964,6539,3159],{"class":3134},[2964,6541,6497],{"class":2973},[2964,6543,3159],{"class":3134},[2964,6545,3837],{"class":3134},[2964,6547,3840],{"class":3134},[2964,6549,3844],{"class":3843},[2964,6551,5394],{"class":3130},[2964,6553,3135],{"class":3134},[2964,6555,6556,6558,6560,6562,6565,6567],{"class":2966,"line":3165},[2964,6557,3259],{"class":3141},[2964,6559,3145],{"class":3134},[2964,6561,3211],{"class":3134},[2964,6563,6564],{"class":2973},"test-field",[2964,6566,3159],{"class":3134},[2964,6568,3162],{"class":3134},[2964,6570,6571,6573],{"class":2966,"line":3173},[2964,6572,3176],{"class":3134},[2964,6574,6288],{"class":3130},[2870,6576,6577,6578,6581],{},"By default, your request will be made using the ",[2882,6579,6580],{},"GET"," method. You may use another method by setting an object as the second argument instead of a function.",[2954,6583,6585],{"className":3109,"code":6584,"language":3111,"meta":3112,"style":2960},"import { registerEndpoint } from '@nuxt\u002Ftest-utils\u002Fruntime'\n\nregisterEndpoint('\u002Ftest\u002F', {\n  method: 'POST',\n  handler: () => ({ test: 'test-field' }),\n})\n",[2882,6586,6587,6605,6609,6625,6641,6672],{"__ignoreMap":2960},[2964,6588,6589,6591,6593,6595,6597,6599,6601,6603],{"class":2966,"line":2967},[2964,6590,3196],{"class":3119},[2964,6592,3199],{"class":3134},[2964,6594,6517],{"class":3130},[2964,6596,3205],{"class":3134},[2964,6598,3208],{"class":3119},[2964,6600,3211],{"class":3134},[2964,6602,4404],{"class":2973},[2964,6604,3217],{"class":3134},[2964,6606,6607],{"class":2966,"line":3138},[2964,6608,3242],{"emptyLinePlaceholder":1196},[2964,6610,6611,6613,6615,6617,6619,6621,6623],{"class":2966,"line":3151},[2964,6612,6486],{"class":3126},[2964,6614,3131],{"class":3130},[2964,6616,3159],{"class":3134},[2964,6618,6497],{"class":2973},[2964,6620,3159],{"class":3134},[2964,6622,3837],{"class":3134},[2964,6624,3264],{"class":3134},[2964,6626,6627,6630,6632,6634,6637,6639],{"class":2966,"line":3165},[2964,6628,6629],{"class":3141},"  method",[2964,6631,3145],{"class":3134},[2964,6633,3211],{"class":3134},[2964,6635,6636],{"class":2973},"POST",[2964,6638,3159],{"class":3134},[2964,6640,3162],{"class":3134},[2964,6642,6643,6646,6648,6650,6652,6654,6656,6658,6660,6662,6664,6666,6668,6670],{"class":2966,"line":3173},[2964,6644,6645],{"class":3126},"  handler",[2964,6647,3145],{"class":3134},[2964,6649,3840],{"class":3134},[2964,6651,3844],{"class":3843},[2964,6653,5394],{"class":3130},[2964,6655,6012],{"class":3134},[2964,6657,3806],{"class":3141},[2964,6659,3145],{"class":3134},[2964,6661,3211],{"class":3134},[2964,6663,6564],{"class":2973},[2964,6665,3159],{"class":3134},[2964,6667,3205],{"class":3134},[2964,6669,3520],{"class":3130},[2964,6671,3162],{"class":3134},[2964,6673,6674,6676],{"class":2966,"line":3267},[2964,6675,3176],{"class":3134},[2964,6677,3179],{"class":3130},[2870,6679,6680],{},"This object accepts the following properties:",[2909,6682,6683,6689,6695],{},[2912,6684,6685,6688],{},[2882,6686,6687],{},"handler",": the event handler function",[2912,6690,6691,6694],{},[2882,6692,6693],{},"method",": (optional) HTTP method to match (e.g., 'GET', 'POST')",[2912,6696,6697,6700],{},[2882,6698,6699],{},"once",": (optional) if true, the handler will only be used for the first matching request and then automatically removed",[3560,6702,6703],{},[2870,6704,6705,6707,6708,6711,6712,5394,6716,6719],{},[3595,6706,6303],{},": If your requests in a component go to an external API, you can use ",[2882,6709,6710],{},"baseURL"," and then make it empty using ",[2874,6713,6715],{"href":6714},"\u002Fdocs\u002F3.x\u002Fgetting-started\u002Fconfiguration#environment-overrides","Nuxt Environment Override Config",[2882,6717,6718],{},"$test",") so all your requests will go to Nitro server.",[3614,6721,6723],{"id":6722},"conflict-with-end-to-end-testing","Conflict with End-To-End Testing",[2870,6725,6726,2918,6728,6731],{},[2882,6727,4404],{},[2882,6729,6730],{},"@nuxt\u002Ftest-utils\u002Fe2e"," need to run in different testing environments and so can't be used in the same file.",[2870,6733,6734,6735,6737,6738,6741,6742,6745],{},"If you would like to use both the end-to-end and unit testing functionality of ",[2882,6736,2884],{},", you can split your tests into separate files. You then either specify a test environment per-file with the special ",[2882,6739,6740],{},"\u002F\u002F @vitest-environment nuxt"," comment, or name your runtime unit test files with the ",[2882,6743,6744],{},".nuxt.spec.ts"," extension.",[2870,6747,6748],{},[2882,6749,6750],{},"app.nuxt.spec.ts",[2954,6752,6754],{"className":3109,"code":6753,"language":3111,"meta":3112,"style":2960},"import { mockNuxtImport } from '@nuxt\u002Ftest-utils\u002Fruntime'\n\nmockNuxtImport('useState', () => {\n  return () => {\n    return { value: 'mocked storage' }\n  }\n})\n",[2882,6755,6756,6774,6778,6798,6808,6826,6830],{"__ignoreMap":2960},[2964,6757,6758,6760,6762,6764,6766,6768,6770,6772],{"class":2966,"line":2967},[2964,6759,3196],{"class":3119},[2964,6761,3199],{"class":3134},[2964,6763,5250],{"class":3130},[2964,6765,3205],{"class":3134},[2964,6767,3208],{"class":3119},[2964,6769,3211],{"class":3134},[2964,6771,4404],{"class":2973},[2964,6773,3217],{"class":3134},[2964,6775,6776],{"class":2966,"line":3138},[2964,6777,3242],{"emptyLinePlaceholder":1196},[2964,6779,6780,6782,6784,6786,6788,6790,6792,6794,6796],{"class":2966,"line":3151},[2964,6781,5228],{"class":3126},[2964,6783,3131],{"class":3130},[2964,6785,3159],{"class":3134},[2964,6787,619],{"class":2973},[2964,6789,3159],{"class":3134},[2964,6791,3837],{"class":3134},[2964,6793,3840],{"class":3134},[2964,6795,3844],{"class":3843},[2964,6797,3264],{"class":3134},[2964,6799,6800,6802,6804,6806],{"class":2966,"line":3165},[2964,6801,5289],{"class":3119},[2964,6803,3840],{"class":3134},[2964,6805,3844],{"class":3843},[2964,6807,3264],{"class":3134},[2964,6809,6810,6812,6814,6816,6818,6820,6822,6824],{"class":2966,"line":3173},[2964,6811,5300],{"class":3119},[2964,6813,3199],{"class":3134},[2964,6815,5305],{"class":3141},[2964,6817,3145],{"class":3134},[2964,6819,3211],{"class":3134},[2964,6821,5312],{"class":2973},[2964,6823,3159],{"class":3134},[2964,6825,5317],{"class":3134},[2964,6827,6828],{"class":2966,"line":3267},[2964,6829,5322],{"class":3134},[2964,6831,6832,6834],{"class":2966,"line":3277},[2964,6833,3176],{"class":3134},[2964,6835,3179],{"class":3130},[2870,6837,6838],{},[2882,6839,6840],{},"app.e2e.spec.ts",[2954,6842,6844],{"className":3109,"code":6843,"language":3111,"meta":3112,"style":2960},"import { $fetch, setup } from '@nuxt\u002Ftest-utils\u002Fe2e'\n\nawait setup({\n  setupTimeout: 10000,\n})\n\n\u002F\u002F ...\n",[2882,6845,6846,6870,6874,6885,6897,6903,6907],{"__ignoreMap":2960},[2964,6847,6848,6850,6852,6855,6857,6860,6862,6864,6866,6868],{"class":2966,"line":2967},[2964,6849,3196],{"class":3119},[2964,6851,3199],{"class":3134},[2964,6853,6854],{"class":3130}," $fetch",[2964,6856,3837],{"class":3134},[2964,6858,6859],{"class":3130}," setup",[2964,6861,3205],{"class":3134},[2964,6863,3208],{"class":3119},[2964,6865,3211],{"class":3134},[2964,6867,6730],{"class":2973},[2964,6869,3217],{"class":3134},[2964,6871,6872],{"class":2966,"line":3138},[2964,6873,3242],{"emptyLinePlaceholder":1196},[2964,6875,6876,6879,6881,6883],{"class":2966,"line":3151},[2964,6877,6878],{"class":3119},"await",[2964,6880,6859],{"class":3126},[2964,6882,3131],{"class":3130},[2964,6884,3135],{"class":3134},[2964,6886,6887,6890,6892,6895],{"class":2966,"line":3165},[2964,6888,6889],{"class":3141},"  setupTimeout",[2964,6891,3145],{"class":3134},[2964,6893,6894],{"class":6428}," 10000",[2964,6896,3162],{"class":3134},[2964,6898,6899,6901],{"class":2966,"line":3173},[2964,6900,3176],{"class":3134},[2964,6902,3179],{"class":3130},[2964,6904,6905],{"class":2966,"line":3267},[2964,6906,3242],{"emptyLinePlaceholder":1196},[2964,6908,6909],{"class":2966,"line":3277},[2964,6910,6911],{"class":3708},"\u002F\u002F ...\n",[3089,6913,3583,6915],{"id":6914},"using-vuetest-utils",[2882,6916,4267],{},[2870,6918,6919,6920,6922],{},"If you prefer to use ",[2882,6921,4267],{}," 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.",[3094,6924,6925,7015,7122,7217,7271,7457],{},[2912,6926,6927,6928],{},"Install the needed dependencies",[2950,6929,6930,6952,6973,6994],{"sync":2952},[2954,6931,6933],{"className":2956,"code":6932,"filename":2958,"language":2959,"meta":2960,"style":2960},"npm i --save-dev vitest @vue\u002Ftest-utils happy-dom @vitejs\u002Fplugin-vue\n",[2882,6934,6935],{"__ignoreMap":2960},[2964,6936,6937,6939,6941,6943,6945,6947,6949],{"class":2966,"line":2967},[2964,6938,2958],{"class":2970},[2964,6940,2974],{"class":2973},[2964,6942,2977],{"class":2973},[2964,6944,2983],{"class":2973},[2964,6946,2986],{"class":2973},[2964,6948,2989],{"class":2973},[2964,6950,6951],{"class":2973}," @vitejs\u002Fplugin-vue\n",[2954,6953,6955],{"className":2956,"code":6954,"filename":2996,"language":2959,"meta":2960,"style":2960},"yarn add --dev vitest @vue\u002Ftest-utils happy-dom @vitejs\u002Fplugin-vue\n",[2882,6956,6957],{"__ignoreMap":2960},[2964,6958,6959,6961,6963,6965,6967,6969,6971],{"class":2966,"line":2967},[2964,6960,2996],{"class":2970},[2964,6962,3005],{"class":2973},[2964,6964,3008],{"class":2973},[2964,6966,2983],{"class":2973},[2964,6968,2986],{"class":2973},[2964,6970,2989],{"class":2973},[2964,6972,6951],{"class":2973},[2954,6974,6976],{"className":2956,"code":6975,"filename":3022,"language":2959,"meta":2960,"style":2960},"pnpm add -D vitest @vue\u002Ftest-utils happy-dom @vitejs\u002Fplugin-vue\n",[2882,6977,6978],{"__ignoreMap":2960},[2964,6979,6980,6982,6984,6986,6988,6990,6992],{"class":2966,"line":2967},[2964,6981,3022],{"class":2970},[2964,6983,3005],{"class":2973},[2964,6985,3033],{"class":2973},[2964,6987,2983],{"class":2973},[2964,6989,2986],{"class":2973},[2964,6991,2989],{"class":2973},[2964,6993,6951],{"class":2973},[2954,6995,6997],{"className":2956,"code":6996,"filename":3047,"language":2959,"meta":2960,"style":2960},"bun add --dev vitest @vue\u002Ftest-utils happy-dom @vitejs\u002Fplugin-vue\n",[2882,6998,6999],{"__ignoreMap":2960},[2964,7000,7001,7003,7005,7007,7009,7011,7013],{"class":2966,"line":2967},[2964,7002,3047],{"class":2970},[2964,7004,3005],{"class":2973},[2964,7006,3008],{"class":2973},[2964,7008,2983],{"class":2973},[2964,7010,2986],{"class":2973},[2964,7012,2989],{"class":2973},[2964,7014,6951],{"class":2973},[2912,7016,3182,7017,3186,7019],{},[2882,7018,3185],{},[2954,7020,7022],{"className":3109,"code":7021,"language":3111,"meta":2960,"style":2960},"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",[2882,7023,7024,7042,7058,7062,7074,7090,7098,7112,7116],{"__ignoreMap":2960},[2964,7025,7026,7028,7030,7032,7034,7036,7038,7040],{"class":2966,"line":2967},[2964,7027,3196],{"class":3119},[2964,7029,3199],{"class":3134},[2964,7031,3202],{"class":3130},[2964,7033,3205],{"class":3134},[2964,7035,3208],{"class":3119},[2964,7037,3211],{"class":3134},[2964,7039,3214],{"class":2973},[2964,7041,3217],{"class":3134},[2964,7043,7044,7046,7049,7051,7053,7056],{"class":2966,"line":3138},[2964,7045,3196],{"class":3119},[2964,7047,7048],{"class":3130}," vue ",[2964,7050,4591],{"class":3119},[2964,7052,3211],{"class":3134},[2964,7054,7055],{"class":2973},"@vitejs\u002Fplugin-vue",[2964,7057,3217],{"class":3134},[2964,7059,7060],{"class":2966,"line":3151},[2964,7061,3242],{"emptyLinePlaceholder":1196},[2964,7063,7064,7066,7068,7070,7072],{"class":2966,"line":3165},[2964,7065,3120],{"class":3119},[2964,7067,3123],{"class":3119},[2964,7069,3202],{"class":3126},[2964,7071,3131],{"class":3130},[2964,7073,3135],{"class":3134},[2964,7075,7076,7079,7081,7083,7085,7088],{"class":2966,"line":3173},[2964,7077,7078],{"class":3141},"  plugins",[2964,7080,3145],{"class":3134},[2964,7082,3318],{"class":3130},[2964,7084,4332],{"class":3126},[2964,7086,7087],{"class":3130},"()]",[2964,7089,3162],{"class":3134},[2964,7091,7092,7094,7096],{"class":2966,"line":3267},[2964,7093,3259],{"class":3141},[2964,7095,3145],{"class":3134},[2964,7097,3264],{"class":3134},[2964,7099,7100,7102,7104,7106,7108,7110],{"class":2966,"line":3277},[2964,7101,3693],{"class":3141},[2964,7103,3145],{"class":3134},[2964,7105,3211],{"class":3134},[2964,7107,2917],{"class":2973},[2964,7109,3159],{"class":3134},[2964,7111,3162],{"class":3134},[2964,7113,7114],{"class":2966,"line":3283},[2964,7115,3536],{"class":3134},[2964,7117,7118,7120],{"class":2966,"line":3293},[2964,7119,3176],{"class":3134},[2964,7121,3179],{"class":3130},[2912,7123,7124,7125,7127],{},"Add a new command for test in your ",[2882,7126,237],{},[2954,7128,7132],{"className":7129,"code":7130,"language":7131,"meta":2960,"style":2960},"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",[2882,7133,7134,7149,7170,7189,7194,7211],{"__ignoreMap":2960},[2964,7135,7136,7139,7142,7144,7147],{"class":2966,"line":2967},[2964,7137,7138],{"class":3134},"\"",[2964,7140,7141],{"class":2973},"scripts",[2964,7143,7138],{"class":3134},[2964,7145,7146],{"class":3130},": ",[2964,7148,3135],{"class":3134},[2964,7150,7151,7154,7157,7159,7161,7164,7166,7168],{"class":2966,"line":3138},[2964,7152,7153],{"class":3134},"  \"",[2964,7155,7156],{"class":3843},"build",[2964,7158,7138],{"class":3134},[2964,7160,3145],{"class":3134},[2964,7162,7163],{"class":3134}," \"",[2964,7165,761],{"class":2973},[2964,7167,7138],{"class":3134},[2964,7169,3162],{"class":3134},[2964,7171,7172,7174,7177,7179,7181,7183,7185,7187],{"class":2966,"line":3151},[2964,7173,7153],{"class":3134},[2964,7175,7176],{"class":3843},"dev",[2964,7178,7138],{"class":3134},[2964,7180,3145],{"class":3134},[2964,7182,7163],{"class":3134},[2964,7184,773],{"class":2973},[2964,7186,7138],{"class":3134},[2964,7188,3162],{"class":3134},[2964,7190,7191],{"class":2966,"line":3165},[2964,7192,7193],{"class":3130},"  ...\n",[2964,7195,7196,7198,7200,7202,7204,7206,7208],{"class":2966,"line":3173},[2964,7197,7153],{"class":3134},[2964,7199,3825],{"class":3843},[2964,7201,7138],{"class":3134},[2964,7203,3145],{"class":3134},[2964,7205,7163],{"class":3134},[2964,7207,2927],{"class":2973},[2964,7209,7210],{"class":3134},"\"\n",[2964,7212,7213,7215],{"class":2966,"line":3267},[2964,7214,3176],{"class":3134},[2964,7216,3162],{"class":3130},[2912,7218,7219,7220,7223,7224,3186,7227],{},"Create a simple ",[2882,7221,7222],{},"\u003CHelloWorld>"," component ",[2882,7225,7226],{},"components\u002FHelloWorld.vue",[2954,7228,7231],{"className":7229,"code":7230,"language":4332,"meta":2960,"style":2960},"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",[2882,7232,7233,7244,7263],{"__ignoreMap":2960},[2964,7234,7235,7238,7241],{"class":2966,"line":2967},[2964,7236,7237],{"class":3134},"\u003C",[2964,7239,7240],{"class":3141},"template",[2964,7242,7243],{"class":3134},">\n",[2964,7245,7246,7249,7251,7253,7256,7259,7261],{"class":2966,"line":3138},[2964,7247,7248],{"class":3134},"  \u003C",[2964,7250,2870],{"class":3141},[2964,7252,5381],{"class":3134},[2964,7254,7255],{"class":3130},"Hello world",[2964,7257,7258],{"class":3134},"\u003C\u002F",[2964,7260,2870],{"class":3141},[2964,7262,7243],{"class":3134},[2964,7264,7265,7267,7269],{"class":2966,"line":3151},[2964,7266,7258],{"class":3134},[2964,7268,7240],{"class":3141},[2964,7270,7243],{"class":3134},[2912,7272,7273,7274,7277],{},"Create a simple unit test for this newly created component ",[2882,7275,7276],{},"~\u002Fcomponents\u002FHelloWorld.spec.ts",[2954,7278,7280],{"className":3109,"code":7279,"language":3111,"meta":3112,"style":2960},"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",[2882,7281,7282,7309,7328,7332,7348,7352,7374,7396,7414,7445,7451],{"__ignoreMap":2960},[2964,7283,7284,7286,7288,7291,7293,7295,7297,7299,7301,7303,7305,7307],{"class":2966,"line":2967},[2964,7285,3196],{"class":3119},[2964,7287,3199],{"class":3134},[2964,7289,7290],{"class":3130}," describe",[2964,7292,3837],{"class":3134},[2964,7294,4296],{"class":3130},[2964,7296,3837],{"class":3134},[2964,7298,4301],{"class":3130},[2964,7300,3205],{"class":3134},[2964,7302,3208],{"class":3119},[2964,7304,3211],{"class":3134},[2964,7306,2927],{"class":2973},[2964,7308,3217],{"class":3134},[2964,7310,7311,7313,7315,7318,7320,7322,7324,7326],{"class":2966,"line":3138},[2964,7312,3196],{"class":3119},[2964,7314,3199],{"class":3134},[2964,7316,7317],{"class":3130}," mount",[2964,7319,3205],{"class":3134},[2964,7321,3208],{"class":3119},[2964,7323,3211],{"class":3134},[2964,7325,4267],{"class":2973},[2964,7327,3217],{"class":3134},[2964,7329,7330],{"class":2966,"line":3151},[2964,7331,3242],{"emptyLinePlaceholder":1196},[2964,7333,7334,7336,7339,7341,7343,7346],{"class":2966,"line":3165},[2964,7335,3196],{"class":3119},[2964,7337,7338],{"class":3130}," HelloWorld ",[2964,7340,4591],{"class":3119},[2964,7342,3211],{"class":3134},[2964,7344,7345],{"class":2973},".\u002FHelloWorld.vue",[2964,7347,3217],{"class":3134},[2964,7349,7350],{"class":2966,"line":3173},[2964,7351,3242],{"emptyLinePlaceholder":1196},[2964,7353,7354,7357,7359,7361,7364,7366,7368,7370,7372],{"class":2966,"line":3267},[2964,7355,7356],{"class":3126},"describe",[2964,7358,3131],{"class":3130},[2964,7360,3159],{"class":3134},[2964,7362,7363],{"class":2973},"HelloWorld",[2964,7365,3159],{"class":3134},[2964,7367,3837],{"class":3134},[2964,7369,3840],{"class":3134},[2964,7371,3844],{"class":3843},[2964,7373,3264],{"class":3134},[2964,7375,7376,7379,7381,7383,7386,7388,7390,7392,7394],{"class":2966,"line":3277},[2964,7377,7378],{"class":3126},"  it",[2964,7380,3131],{"class":3141},[2964,7382,3159],{"class":3134},[2964,7384,7385],{"class":2973},"component renders Hello world properly",[2964,7387,3159],{"class":3134},[2964,7389,3837],{"class":3134},[2964,7391,3840],{"class":3134},[2964,7393,3844],{"class":3843},[2964,7395,3264],{"class":3134},[2964,7397,7398,7401,7404,7406,7408,7410,7412],{"class":2966,"line":3283},[2964,7399,7400],{"class":3843},"    const",[2964,7402,7403],{"class":3130}," wrapper",[2964,7405,4464],{"class":3134},[2964,7407,7317],{"class":3126},[2964,7409,3131],{"class":3141},[2964,7411,7363],{"class":3130},[2964,7413,3179],{"class":3141},[2964,7415,7416,7419,7421,7424,7426,7428,7430,7432,7435,7437,7439,7441,7443],{"class":2966,"line":3293},[2964,7417,7418],{"class":3126},"    expect",[2964,7420,3131],{"class":3141},[2964,7422,7423],{"class":3130},"wrapper",[2964,7425,2877],{"class":3134},[2964,7427,4491],{"class":3126},[2964,7429,4494],{"class":3141},[2964,7431,2877],{"class":3134},[2964,7433,7434],{"class":3126},"toContain",[2964,7436,3131],{"class":3141},[2964,7438,3159],{"class":3134},[2964,7440,7255],{"class":2973},[2964,7442,3159],{"class":3134},[2964,7444,3179],{"class":3141},[2964,7446,7447,7449],{"class":2966,"line":3310},[2964,7448,6238],{"class":3134},[2964,7450,3179],{"class":3141},[2964,7452,7453,7455],{"class":2966,"line":3333},[2964,7454,3176],{"class":3134},[2964,7456,3179],{"class":3130},[2912,7458,7459,7460],{},"Run vitest command",[2950,7461,7462,7477,7488,7501],{"sync":2952},[2954,7463,7465],{"className":2956,"code":7464,"filename":2958,"language":2959,"meta":2960,"style":2960},"npm run test\n",[2882,7466,7467],{"__ignoreMap":2960},[2964,7468,7469,7471,7474],{"class":2966,"line":2967},[2964,7470,2958],{"class":2970},[2964,7472,7473],{"class":2973}," run",[2964,7475,7476],{"class":2973}," test\n",[2954,7478,7480],{"className":2956,"code":7479,"filename":2996,"language":2959,"meta":2960,"style":2960},"yarn test\n",[2882,7481,7482],{"__ignoreMap":2960},[2964,7483,7484,7486],{"class":2966,"line":2967},[2964,7485,2996],{"class":2970},[2964,7487,7476],{"class":2973},[2954,7489,7491],{"className":2956,"code":7490,"filename":3022,"language":2959,"meta":2960,"style":2960},"pnpm run test\n",[2882,7492,7493],{"__ignoreMap":2960},[2964,7494,7495,7497,7499],{"class":2966,"line":2967},[2964,7496,3022],{"class":2970},[2964,7498,7473],{"class":2973},[2964,7500,7476],{"class":2973},[2954,7502,7504],{"className":2956,"code":7503,"filename":3047,"language":2959,"meta":2960,"style":2960},"bun run test\n",[2882,7505,7506],{"__ignoreMap":2960},[2964,7507,7508,7510,7512],{"class":2966,"line":2967},[2964,7509,3047],{"class":2970},[2964,7511,7473],{"class":2973},[2964,7513,7476],{"class":2973},[2870,7515,7516,7517,7519],{},"Congratulations, you're all set to start unit testing with ",[2882,7518,4267],{}," in Nuxt! Happy testing!",[2899,7521,7523],{"id":7522},"end-to-end-testing","End-To-End Testing",[2870,7525,7526,7527,2928,7532,2928,7537,2918,7542,7547],{},"For end-to-end testing, we support ",[2874,7528,7531],{"href":7529,"rel":7530},"https:\u002F\u002Fgithub.com\u002Fvitest-dev\u002Fvitest",[2890],"Vitest",[2874,7533,7536],{"href":7534,"rel":7535},"https:\u002F\u002Fjestjs.io",[2890],"Jest",[2874,7538,7541],{"href":7539,"rel":7540},"https:\u002F\u002Fcucumber.io\u002F",[2890],"Cucumber",[2874,7543,7546],{"href":7544,"rel":7545},"https:\u002F\u002Fplaywright.dev\u002F",[2890],"Playwright"," as test runners.",[3089,7549,3092],{"id":7550},"setup-1",[2870,7552,7553,7554,7556,7557,7559],{},"In each ",[2882,7555,7356],{}," block where you are taking advantage of the ",[2882,7558,6730],{}," helper methods, you will need to set up the test context before beginning.",[2954,7561,7564],{"className":3109,"code":7562,"filename":7563,"language":3111,"meta":3112,"style":2960},"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",[2882,7565,7566,7588,7610,7614,7637,7647,7652,7658,7662,7682,7686,7692],{"__ignoreMap":2960},[2964,7567,7568,7570,7572,7574,7576,7578,7580,7582,7584,7586],{"class":2966,"line":2967},[2964,7569,3196],{"class":3119},[2964,7571,3199],{"class":3134},[2964,7573,7290],{"class":3130},[2964,7575,3837],{"class":3134},[2964,7577,3806],{"class":3130},[2964,7579,3205],{"class":3134},[2964,7581,3208],{"class":3119},[2964,7583,3211],{"class":3134},[2964,7585,2927],{"class":2973},[2964,7587,3217],{"class":3134},[2964,7589,7590,7592,7594,7596,7598,7600,7602,7604,7606,7608],{"class":2966,"line":3138},[2964,7591,3196],{"class":3119},[2964,7593,3199],{"class":3134},[2964,7595,6854],{"class":3130},[2964,7597,3837],{"class":3134},[2964,7599,6859],{"class":3130},[2964,7601,3205],{"class":3134},[2964,7603,3208],{"class":3119},[2964,7605,3211],{"class":3134},[2964,7607,6730],{"class":2973},[2964,7609,3217],{"class":3134},[2964,7611,7612],{"class":2966,"line":3151},[2964,7613,3242],{"emptyLinePlaceholder":1196},[2964,7615,7616,7618,7620,7622,7625,7627,7629,7631,7633,7635],{"class":2966,"line":3165},[2964,7617,7356],{"class":3126},[2964,7619,3131],{"class":3130},[2964,7621,3159],{"class":3134},[2964,7623,7624],{"class":2973},"My test",[2964,7626,3159],{"class":3134},[2964,7628,3837],{"class":3134},[2964,7630,4447],{"class":3843},[2964,7632,3840],{"class":3134},[2964,7634,3844],{"class":3843},[2964,7636,3264],{"class":3134},[2964,7638,7639,7641,7643,7645],{"class":2966,"line":3173},[2964,7640,4972],{"class":3119},[2964,7642,6859],{"class":3126},[2964,7644,3131],{"class":3141},[2964,7646,3135],{"class":3134},[2964,7648,7649],{"class":2966,"line":3267},[2964,7650,7651],{"class":3708},"    \u002F\u002F test context options\n",[2964,7653,7654,7656],{"class":2966,"line":3277},[2964,7655,6238],{"class":3134},[2964,7657,3179],{"class":3141},[2964,7659,7660],{"class":2966,"line":3283},[2964,7661,3242],{"emptyLinePlaceholder":1196},[2964,7663,7664,7666,7668,7670,7672,7674,7676,7678,7680],{"class":2966,"line":3293},[2964,7665,3259],{"class":3126},[2964,7667,3131],{"class":3141},[2964,7669,3159],{"class":3134},[2964,7671,3832],{"class":2973},[2964,7673,3159],{"class":3134},[2964,7675,3837],{"class":3134},[2964,7677,3840],{"class":3134},[2964,7679,3844],{"class":3843},[2964,7681,3264],{"class":3134},[2964,7683,7684],{"class":2966,"line":3310},[2964,7685,6155],{"class":3708},[2964,7687,7688,7690],{"class":2966,"line":3333},[2964,7689,6238],{"class":3134},[2964,7691,3179],{"class":3141},[2964,7693,7694,7696],{"class":2966,"line":3350},[2964,7695,3176],{"class":3134},[2964,7697,3179],{"class":3130},[2870,7699,7700,7701,7703,7704,2928,7707,2928,7709,2918,7712,7715],{},"Behind the scenes, ",[2882,7702,3091],{}," performs a number of tasks in ",[2882,7705,7706],{},"beforeAll",[2882,7708,5915],{},[2882,7710,7711],{},"afterEach",[2882,7713,7714],{},"afterAll"," to set up the Nuxt test environment correctly.",[2870,7717,7718,7719,7721],{},"Please use the options below for the ",[2882,7720,3091],{}," method.",[3614,7723,7725],{"id":7724},"nuxt-config","Nuxt Config",[2909,7727,7728,7748],{},[2912,7729,7730,7733,7734],{},[2882,7731,7732],{},"rootDir",": Path to a directory with a Nuxt app to be put under test.\n",[2909,7735,7736,7742],{},[2912,7737,7738,7739],{},"Type: ",[2882,7740,7741],{},"string",[2912,7743,7744,7745],{},"Default: ",[2882,7746,7747],{},"'.'",[2912,7749,7750,7753,7754],{},[2882,7751,7752],{},"configFile",": Name of the configuration file.\n",[2909,7755,7756,7760],{},[2912,7757,7738,7758],{},[2882,7759,7741],{},[2912,7761,7744,7762],{},[2882,7763,7764],{},"'nuxt.config'",[3614,7766,7768],{"id":7767},"timings","Timings",[2909,7770,7771,7797],{},[2912,7772,7773,7776,7777,7780,7781],{},[2882,7774,7775],{},"setupTimeout",": The amount of time (in milliseconds) to allow for ",[2882,7778,7779],{},"setupTest"," to complete its work (which could include building or generating files for a Nuxt application, depending on the options that are passed).",[2909,7782,7783,7788],{},[2912,7784,7738,7785],{},[2882,7786,7787],{},"number",[2912,7789,7744,7790,4045,7793,7796],{},[2882,7791,7792],{},"120000",[2882,7794,7795],{},"240000"," on windows",[2912,7798,7799,7802,7803],{},[2882,7800,7801],{},"teardownTimeout",": The amount of time (in milliseconds) to allow tearing down the test environment, such as closing the browser.",[2909,7804,7805,7809],{},[2912,7806,7738,7807],{},[2882,7808,7787],{},[2912,7810,7744,7811],{},[2882,7812,7813],{},"30000",[3614,7815,395],{"id":7816},"features",[2909,7818,7819,7848,7868,7886,7905,7927,7970],{},[2912,7820,7821,7823,7824],{},[2882,7822,7156],{},": Whether to run a separate build step.",[2909,7825,7826,7831],{},[2912,7827,7738,7828],{},[2882,7829,7830],{},"boolean",[2912,7832,7744,7833,5394,7835,7837,7838,4045,7841,7843,7844,7847],{},[2882,7834,4079],{},[2882,7836,4091],{}," if ",[2882,7839,7840],{},"browser",[2882,7842,185],{}," is disabled, or if a ",[2882,7845,7846],{},"host"," is provided)",[2912,7849,7850,7852,7853],{},[2882,7851,185],{},": Whether to launch a server to respond to requests in the test suite.",[2909,7854,7855,7859],{},[2912,7856,7738,7857],{},[2882,7858,7830],{},[2912,7860,7744,7861,5394,7863,7865,7866,7847],{},[2882,7862,4079],{},[2882,7864,4091],{}," if a ",[2882,7867,7846],{},[2912,7869,7870,7873,7874],{},[2882,7871,7872],{},"port",": If provided, set the launched test server port to the value.",[2909,7875,7876,7881],{},[2912,7877,7738,7878],{},[2882,7879,7880],{},"number | undefined",[2912,7882,7744,7883],{},[2882,7884,7885],{},"undefined",[2912,7887,7888,7890,7891,2877,7895],{},[2882,7889,7846],{},": 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 ",[2874,7892,7894],{"href":7893},"\u002Fdocs\u002F3.x\u002Fgetting-started\u002Ftesting#target-host-end-to-end-example","target host end-to-end example below",[2909,7896,7897,7901],{},[2912,7898,7738,7899],{},[2882,7900,7741],{},[2912,7902,7744,7903],{},[2882,7904,7885],{},[2912,7906,7907,7909,7910,7916,7917],{},[2882,7908,7840],{},": Under the hood, Nuxt test utils uses ",[2874,7911,7914],{"href":7912,"rel":7913},"https:\u002F\u002Fplaywright.dev",[2890],[2882,7915,2937],{}," to carry out browser testing. If this option is set, a browser will be launched and can be controlled in the subsequent test suite.",[2909,7918,7919,7923],{},[2912,7920,7738,7921],{},[2882,7922,7830],{},[2912,7924,7744,7925],{},[2882,7926,4091],{},[2912,7928,7929,7932],{},[2882,7930,7931],{},"browserOptions",[2909,7933,7934],{},[2912,7935,7738,7936,7939,7940],{},[2882,7937,7938],{},"object"," with the following properties\n",[2909,7941,7942,7957],{},[2912,7943,7944,7947,7948,2928,7951,4045,7954],{},[2882,7945,7946],{},"type",": The type of browser to launch - either ",[2882,7949,7950],{},"chromium",[2882,7952,7953],{},"firefox",[2882,7955,7956],{},"webkit",[2912,7958,7959,7146,7962,7964,7965,2877],{},[2882,7960,7961],{},"launch",[2882,7963,7938],{}," of options that will be passed to playwright when launching the browser. See ",[2874,7966,7969],{"href":7967,"rel":7968},"https:\u002F\u002Fplaywright.dev\u002Fdocs\u002Fapi\u002Fclass-browsertype#browser-type-launch",[2890],"full API reference",[2912,7971,7972,7975,7976,7980,7981],{},[2882,7973,7974],{},"runner",": Specify the runner for the test suite. Currently, ",[2874,7977,7531],{"href":7978,"rel":7979},"https:\u002F\u002Fvitest.dev",[2890]," is recommended.",[2909,7982,7983,7988],{},[2912,7984,7738,7985],{},[2882,7986,7987],{},"'vitest' | 'jest' | 'cucumber'",[2912,7989,7744,7990],{},[2882,7991,7992],{},"'vitest'",[7994,7995,7997,7998,8000],"h5",{"id":7996},"target-host-end-to-end-example","Target ",[2882,7999,7846],{}," end-to-end example",[2870,8002,8003],{},"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.",[2870,8005,8006],{},"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.",[2870,8008,8009,8010,8012,8013,8015],{},"To utilize a separate target host for end-to-end tests, simply provide the ",[2882,8011,7846],{}," property of the ",[2882,8014,3091],{}," function with the desired URL.",[2954,8017,8019],{"className":3109,"code":8018,"language":3111,"meta":2960,"style":2960},"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",[2882,8020,8021,8044,8070,8074,8097,8107,8123,8129,8133,8156,8180,8224,8265,8271],{"__ignoreMap":2960},[2964,8022,8023,8025,8027,8030,8032,8034,8036,8038,8040,8042],{"class":2966,"line":2967},[2964,8024,3196],{"class":3119},[2964,8026,3199],{"class":3134},[2964,8028,8029],{"class":3130}," createPage",[2964,8031,3837],{"class":3134},[2964,8033,6859],{"class":3130},[2964,8035,3205],{"class":3134},[2964,8037,3208],{"class":3119},[2964,8039,3211],{"class":3134},[2964,8041,6730],{"class":2973},[2964,8043,3217],{"class":3134},[2964,8045,8046,8048,8050,8052,8054,8056,8058,8060,8062,8064,8066,8068],{"class":2966,"line":3138},[2964,8047,3196],{"class":3119},[2964,8049,3199],{"class":3134},[2964,8051,7290],{"class":3130},[2964,8053,3837],{"class":3134},[2964,8055,4296],{"class":3130},[2964,8057,3837],{"class":3134},[2964,8059,4301],{"class":3130},[2964,8061,3205],{"class":3134},[2964,8063,3208],{"class":3119},[2964,8065,3211],{"class":3134},[2964,8067,2927],{"class":2973},[2964,8069,3217],{"class":3134},[2964,8071,8072],{"class":2966,"line":3151},[2964,8073,3242],{"emptyLinePlaceholder":1196},[2964,8075,8076,8078,8080,8082,8085,8087,8089,8091,8093,8095],{"class":2966,"line":3165},[2964,8077,7356],{"class":3126},[2964,8079,3131],{"class":3130},[2964,8081,3159],{"class":3134},[2964,8083,8084],{"class":2973},"login page",[2964,8086,3159],{"class":3134},[2964,8088,3837],{"class":3134},[2964,8090,4447],{"class":3843},[2964,8092,3840],{"class":3134},[2964,8094,3844],{"class":3843},[2964,8096,3264],{"class":3134},[2964,8098,8099,8101,8103,8105],{"class":2966,"line":3173},[2964,8100,4972],{"class":3119},[2964,8102,6859],{"class":3126},[2964,8104,3131],{"class":3141},[2964,8106,3135],{"class":3134},[2964,8108,8109,8112,8114,8116,8119,8121],{"class":2966,"line":3267},[2964,8110,8111],{"class":3141},"    host",[2964,8113,3145],{"class":3134},[2964,8115,3211],{"class":3134},[2964,8117,8118],{"class":2973},"http:\u002F\u002Flocalhost:8787",[2964,8120,3159],{"class":3134},[2964,8122,3162],{"class":3134},[2964,8124,8125,8127],{"class":2966,"line":3277},[2964,8126,6238],{"class":3134},[2964,8128,3179],{"class":3141},[2964,8130,8131],{"class":2966,"line":3283},[2964,8132,3242],{"emptyLinePlaceholder":1196},[2964,8134,8135,8137,8139,8141,8144,8146,8148,8150,8152,8154],{"class":2966,"line":3293},[2964,8136,7378],{"class":3126},[2964,8138,3131],{"class":3141},[2964,8140,3159],{"class":3134},[2964,8142,8143],{"class":2973},"displays the email and password fields",[2964,8145,3159],{"class":3134},[2964,8147,3837],{"class":3134},[2964,8149,4447],{"class":3843},[2964,8151,3840],{"class":3134},[2964,8153,3844],{"class":3843},[2964,8155,3264],{"class":3134},[2964,8157,8158,8160,8163,8165,8167,8169,8171,8173,8176,8178],{"class":2966,"line":3310},[2964,8159,7400],{"class":3843},[2964,8161,8162],{"class":3130}," page",[2964,8164,4464],{"class":3134},[2964,8166,4467],{"class":3119},[2964,8168,8029],{"class":3126},[2964,8170,3131],{"class":3141},[2964,8172,3159],{"class":3134},[2964,8174,8175],{"class":2973},"\u002Flogin",[2964,8177,3159],{"class":3134},[2964,8179,3179],{"class":3141},[2964,8181,8182,8184,8186,8188,8190,8192,8195,8197,8199,8202,8204,8206,8208,8211,8213,8215,8218,8220,8222],{"class":2966,"line":3333},[2964,8183,7418],{"class":3126},[2964,8185,3131],{"class":3141},[2964,8187,6878],{"class":3119},[2964,8189,8162],{"class":3130},[2964,8191,2877],{"class":3134},[2964,8193,8194],{"class":3126},"getByTestId",[2964,8196,3131],{"class":3141},[2964,8198,3159],{"class":3134},[2964,8200,8201],{"class":2973},"email",[2964,8203,3159],{"class":3134},[2964,8205,3520],{"class":3141},[2964,8207,2877],{"class":3134},[2964,8209,8210],{"class":3126},"isVisible",[2964,8212,4494],{"class":3141},[2964,8214,2877],{"class":3134},[2964,8216,8217],{"class":3126},"toBe",[2964,8219,3131],{"class":3141},[2964,8221,4079],{"class":4194},[2964,8223,3179],{"class":3141},[2964,8225,8226,8228,8230,8232,8234,8236,8238,8240,8242,8245,8247,8249,8251,8253,8255,8257,8259,8261,8263],{"class":2966,"line":3350},[2964,8227,7418],{"class":3126},[2964,8229,3131],{"class":3141},[2964,8231,6878],{"class":3119},[2964,8233,8162],{"class":3130},[2964,8235,2877],{"class":3134},[2964,8237,8194],{"class":3126},[2964,8239,3131],{"class":3141},[2964,8241,3159],{"class":3134},[2964,8243,8244],{"class":2973},"password",[2964,8246,3159],{"class":3134},[2964,8248,3520],{"class":3141},[2964,8250,2877],{"class":3134},[2964,8252,8210],{"class":3126},[2964,8254,4494],{"class":3141},[2964,8256,2877],{"class":3134},[2964,8258,8217],{"class":3126},[2964,8260,3131],{"class":3141},[2964,8262,4079],{"class":4194},[2964,8264,3179],{"class":3141},[2964,8266,8267,8269],{"class":2966,"line":3356},[2964,8268,6238],{"class":3134},[2964,8270,3179],{"class":3141},[2964,8272,8273,8275],{"class":2966,"line":3362},[2964,8274,3176],{"class":3134},[2964,8276,3179],{"class":3130},[3089,8278,8280],{"id":8279},"apis","APIs",[3614,8282,8284],{"id":8283},"fetchurl",[2882,8285,8286],{},"$fetch(url)",[2870,8288,8289],{},"Get the HTML of a server-rendered page.",[2954,8291,8293],{"className":3109,"code":8292,"language":3111,"meta":3112,"style":2960},"import { $fetch } from '@nuxt\u002Ftest-utils\u002Fe2e'\n\nconst html = await $fetch('\u002F')\n",[2882,8294,8295,8313,8317],{"__ignoreMap":2960},[2964,8296,8297,8299,8301,8303,8305,8307,8309,8311],{"class":2966,"line":2967},[2964,8298,3196],{"class":3119},[2964,8300,3199],{"class":3134},[2964,8302,6854],{"class":3130},[2964,8304,3205],{"class":3134},[2964,8306,3208],{"class":3119},[2964,8308,3211],{"class":3134},[2964,8310,6730],{"class":2973},[2964,8312,3217],{"class":3134},[2964,8314,8315],{"class":2966,"line":3138},[2964,8316,3242],{"emptyLinePlaceholder":1196},[2964,8318,8319,8321,8324,8326,8328,8330,8332,8334,8336,8338],{"class":2966,"line":3151},[2964,8320,5650],{"class":3843},[2964,8322,8323],{"class":3130}," html ",[2964,8325,5959],{"class":3134},[2964,8327,4467],{"class":3119},[2964,8329,6854],{"class":3126},[2964,8331,3131],{"class":3130},[2964,8333,3159],{"class":3134},[2964,8335,4744],{"class":2973},[2964,8337,3159],{"class":3134},[2964,8339,3179],{"class":3130},[3614,8341,8343],{"id":8342},"fetchurl-1",[2882,8344,8345],{},"fetch(url)",[2870,8347,8348],{},"Get the response of a server-rendered page.",[2954,8350,8352],{"className":3109,"code":8351,"language":3111,"meta":3112,"style":2960},"import { fetch } from '@nuxt\u002Ftest-utils\u002Fe2e'\n\nconst res = await fetch('\u002F')\nconst { body, headers } = res\n",[2882,8353,8354,8373,8377,8400],{"__ignoreMap":2960},[2964,8355,8356,8358,8360,8363,8365,8367,8369,8371],{"class":2966,"line":2967},[2964,8357,3196],{"class":3119},[2964,8359,3199],{"class":3134},[2964,8361,8362],{"class":3130}," fetch",[2964,8364,3205],{"class":3134},[2964,8366,3208],{"class":3119},[2964,8368,3211],{"class":3134},[2964,8370,6730],{"class":2973},[2964,8372,3217],{"class":3134},[2964,8374,8375],{"class":2966,"line":3138},[2964,8376,3242],{"emptyLinePlaceholder":1196},[2964,8378,8379,8381,8384,8386,8388,8390,8392,8394,8396,8398],{"class":2966,"line":3151},[2964,8380,5650],{"class":3843},[2964,8382,8383],{"class":3130}," res ",[2964,8385,5959],{"class":3134},[2964,8387,4467],{"class":3119},[2964,8389,8362],{"class":3126},[2964,8391,3131],{"class":3130},[2964,8393,3159],{"class":3134},[2964,8395,4744],{"class":2973},[2964,8397,3159],{"class":3134},[2964,8399,3179],{"class":3130},[2964,8401,8402,8404,8406,8409,8411,8414,8416,8418],{"class":2966,"line":3165},[2964,8403,5650],{"class":3843},[2964,8405,3199],{"class":3134},[2964,8407,8408],{"class":3130}," body",[2964,8410,3837],{"class":3134},[2964,8412,8413],{"class":3130}," headers ",[2964,8415,3176],{"class":3134},[2964,8417,4464],{"class":3134},[2964,8419,8420],{"class":3130}," res\n",[3614,8422,8424],{"id":8423},"urlpath",[2882,8425,8426],{},"url(path)",[2870,8428,8429],{},"Get the full URL for a given page (including the port the test server is running on.)",[2954,8431,8433],{"className":3109,"code":8432,"language":3111,"meta":3112,"style":2960},"import { url } from '@nuxt\u002Ftest-utils\u002Fe2e'\n\nconst pageUrl = url('\u002Fpage')\n\u002F\u002F 'http:\u002F\u002Flocalhost:6840\u002Fpage'\n",[2882,8434,8435,8454,8458,8480],{"__ignoreMap":2960},[2964,8436,8437,8439,8441,8444,8446,8448,8450,8452],{"class":2966,"line":2967},[2964,8438,3196],{"class":3119},[2964,8440,3199],{"class":3134},[2964,8442,8443],{"class":3130}," url",[2964,8445,3205],{"class":3134},[2964,8447,3208],{"class":3119},[2964,8449,3211],{"class":3134},[2964,8451,6730],{"class":2973},[2964,8453,3217],{"class":3134},[2964,8455,8456],{"class":2966,"line":3138},[2964,8457,3242],{"emptyLinePlaceholder":1196},[2964,8459,8460,8462,8465,8467,8469,8471,8473,8476,8478],{"class":2966,"line":3151},[2964,8461,5650],{"class":3843},[2964,8463,8464],{"class":3130}," pageUrl ",[2964,8466,5959],{"class":3134},[2964,8468,8443],{"class":3126},[2964,8470,3131],{"class":3130},[2964,8472,3159],{"class":3134},[2964,8474,8475],{"class":2973},"\u002Fpage",[2964,8477,3159],{"class":3134},[2964,8479,3179],{"class":3130},[2964,8481,8482],{"class":2966,"line":3165},[2964,8483,8484],{"class":3708},"\u002F\u002F 'http:\u002F\u002Flocalhost:6840\u002Fpage'\n",[3089,8486,8488],{"id":8487},"testing-in-a-browser","Testing in a Browser",[2870,8490,8491,8492,8494],{},"We provide built-in support using Playwright within ",[2882,8493,2884],{},", either programmatically or via the Playwright test runner.",[3614,8496,8498],{"id":8497},"createpageurl",[2882,8499,8500],{},"createPage(url)",[2870,8502,8503,8504,2928,8506,4045,8508,8510,8511,8514,8515,2877],{},"Within ",[2882,8505,2927],{},[2882,8507,2934],{},[2882,8509,2931],{},", you can create a configured Playwright browser instance with ",[2882,8512,8513],{},"createPage",", and (optionally) point it at a path from the running server. You can find out more about the API methods available from ",[2874,8516,8519],{"href":8517,"rel":8518},"https:\u002F\u002Fplaywright.dev\u002Fdocs\u002Fapi\u002Fclass-page",[2890],"in the Playwright documentation",[2954,8521,8523],{"className":3109,"code":8522,"language":3111,"meta":3112,"style":2960},"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",[2882,8524,8525,8543,8547,8570],{"__ignoreMap":2960},[2964,8526,8527,8529,8531,8533,8535,8537,8539,8541],{"class":2966,"line":2967},[2964,8528,3196],{"class":3119},[2964,8530,3199],{"class":3134},[2964,8532,8029],{"class":3130},[2964,8534,3205],{"class":3134},[2964,8536,3208],{"class":3119},[2964,8538,3211],{"class":3134},[2964,8540,6730],{"class":2973},[2964,8542,3217],{"class":3134},[2964,8544,8545],{"class":2966,"line":3138},[2964,8546,3242],{"emptyLinePlaceholder":1196},[2964,8548,8549,8551,8554,8556,8558,8560,8562,8564,8566,8568],{"class":2966,"line":3151},[2964,8550,5650],{"class":3843},[2964,8552,8553],{"class":3130}," page ",[2964,8555,5959],{"class":3134},[2964,8557,4467],{"class":3119},[2964,8559,8029],{"class":3126},[2964,8561,3131],{"class":3130},[2964,8563,3159],{"class":3134},[2964,8565,8475],{"class":2973},[2964,8567,3159],{"class":3134},[2964,8569,3179],{"class":3130},[2964,8571,8572],{"class":2966,"line":3165},[2964,8573,8574],{"class":3708},"\u002F\u002F you can access all the Playwright APIs from the `page` variable\n",[3614,8576,8578],{"id":8577},"testing-with-playwright-test-runner","Testing with Playwright Test Runner",[2870,8580,8581,8582,2877],{},"We also provide first-class support for testing Nuxt within ",[2874,8583,8586],{"href":8584,"rel":8585},"https:\u002F\u002Fplaywright.dev\u002Fdocs\u002Fintro",[2890],"the Playwright test runner",[2950,8588,8589,8608,8625,8642,8659],{"sync":2952},[2954,8590,8592],{"className":2956,"code":8591,"filename":2958,"language":2959,"meta":2960,"style":2960},"npm i --save-dev @playwright\u002Ftest @nuxt\u002Ftest-utils\n",[2882,8593,8594],{"__ignoreMap":2960},[2964,8595,8596,8598,8600,8602,8605],{"class":2966,"line":2967},[2964,8597,2958],{"class":2970},[2964,8599,2974],{"class":2973},[2964,8601,2977],{"class":2973},[2964,8603,8604],{"class":2973}," @playwright\u002Ftest",[2964,8606,8607],{"class":2973}," @nuxt\u002Ftest-utils\n",[2954,8609,8611],{"className":2956,"code":8610,"filename":2996,"language":2959,"meta":2960,"style":2960},"yarn add --dev @playwright\u002Ftest @nuxt\u002Ftest-utils\n",[2882,8612,8613],{"__ignoreMap":2960},[2964,8614,8615,8617,8619,8621,8623],{"class":2966,"line":2967},[2964,8616,2996],{"class":2970},[2964,8618,3005],{"class":2973},[2964,8620,3008],{"class":2973},[2964,8622,8604],{"class":2973},[2964,8624,8607],{"class":2973},[2954,8626,8628],{"className":2956,"code":8627,"filename":3022,"language":2959,"meta":2960,"style":2960},"pnpm add -D @playwright\u002Ftest @nuxt\u002Ftest-utils\n",[2882,8629,8630],{"__ignoreMap":2960},[2964,8631,8632,8634,8636,8638,8640],{"class":2966,"line":2967},[2964,8633,3022],{"class":2970},[2964,8635,3005],{"class":2973},[2964,8637,3033],{"class":2973},[2964,8639,8604],{"class":2973},[2964,8641,8607],{"class":2973},[2954,8643,8645],{"className":2956,"code":8644,"filename":3047,"language":2959,"meta":2960,"style":2960},"bun add --dev @playwright\u002Ftest @nuxt\u002Ftest-utils\n",[2882,8646,8647],{"__ignoreMap":2960},[2964,8648,8649,8651,8653,8655,8657],{"class":2966,"line":2967},[2964,8650,3047],{"class":2970},[2964,8652,3005],{"class":2973},[2964,8654,3008],{"class":2973},[2964,8656,8604],{"class":2973},[2964,8658,8607],{"class":2973},[2954,8660,8663],{"className":2956,"code":8661,"filename":8662,"language":2959,"meta":2960,"style":2960},"deno add --dev npm:@playwright\u002Ftest npm:@nuxt\u002Ftest-utils\n","deno",[2882,8664,8665],{"__ignoreMap":2960},[2964,8666,8667,8669,8671,8673,8676],{"class":2966,"line":2967},[2964,8668,8662],{"class":2970},[2964,8670,3005],{"class":2973},[2964,8672,3008],{"class":2973},[2964,8674,8675],{"class":2973}," npm:@playwright\u002Ftest",[2964,8677,8678],{"class":2973}," npm:@nuxt\u002Ftest-utils\n",[2870,8680,8681,8682,8685],{},"You can provide global Nuxt configuration, with the same configuration details as the ",[2882,8683,8684],{},"setup()"," function mentioned earlier in this section.",[2954,8687,8690],{"className":3109,"code":8688,"filename":8689,"language":3111,"meta":2960,"style":2960},"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",[2882,8691,8692,8710,8733,8755,8759,8778,8787,8796,8837,8841,8845,8850],{"__ignoreMap":2960},[2964,8693,8694,8696,8698,8700,8702,8704,8706,8708],{"class":2966,"line":2967},[2964,8695,3196],{"class":3119},[2964,8697,3199],{"class":3134},[2964,8699,3653],{"class":3130},[2964,8701,3205],{"class":3134},[2964,8703,3208],{"class":3119},[2964,8705,3211],{"class":3134},[2964,8707,3662],{"class":2973},[2964,8709,3217],{"class":3134},[2964,8711,8712,8714,8716,8718,8720,8723,8725,8727,8729,8731],{"class":2966,"line":3138},[2964,8713,3196],{"class":3119},[2964,8715,3199],{"class":3134},[2964,8717,3202],{"class":3130},[2964,8719,3837],{"class":3134},[2964,8721,8722],{"class":3130}," devices",[2964,8724,3205],{"class":3134},[2964,8726,3208],{"class":3119},[2964,8728,3211],{"class":3134},[2964,8730,2947],{"class":2973},[2964,8732,3217],{"class":3134},[2964,8734,8735,8737,8739,8741,8744,8746,8748,8750,8753],{"class":2966,"line":3151},[2964,8736,3196],{"class":3119},[2964,8738,4318],{"class":3119},[2964,8740,3199],{"class":3134},[2964,8742,8743],{"class":3130}," ConfigOptions",[2964,8745,3205],{"class":3134},[2964,8747,3208],{"class":3119},[2964,8749,3211],{"class":3134},[2964,8751,8752],{"class":2973},"@nuxt\u002Ftest-utils\u002Fplaywright",[2964,8754,3217],{"class":3134},[2964,8756,8757],{"class":2966,"line":3165},[2964,8758,3242],{"emptyLinePlaceholder":1196},[2964,8760,8761,8763,8765,8767,8769,8772,8774,8776],{"class":2966,"line":3173},[2964,8762,3120],{"class":3119},[2964,8764,3123],{"class":3119},[2964,8766,3202],{"class":3126},[2964,8768,7237],{"class":3134},[2964,8770,8771],{"class":2970},"ConfigOptions",[2964,8773,5381],{"class":3134},[2964,8775,3131],{"class":3130},[2964,8777,3135],{"class":3134},[2964,8779,8780,8783,8785],{"class":2966,"line":3267},[2964,8781,8782],{"class":3141},"  use",[2964,8784,3145],{"class":3134},[2964,8786,3264],{"class":3134},[2964,8788,8789,8792,8794],{"class":2966,"line":3277},[2964,8790,8791],{"class":3141},"    nuxt",[2964,8793,3145],{"class":3134},[2964,8795,3264],{"class":3134},[2964,8797,8798,8801,8803,8805,8807,8810,8813,8815,8817,8819,8821,8823,8825,8827,8830,8832,8835],{"class":2966,"line":3283},[2964,8799,8800],{"class":3141},"      rootDir",[2964,8802,3145],{"class":3134},[2964,8804,3653],{"class":3126},[2964,8806,3131],{"class":3130},[2964,8808,8809],{"class":3134},"new",[2964,8811,8812],{"class":3126}," URL",[2964,8814,3131],{"class":3130},[2964,8816,3159],{"class":3134},[2964,8818,2877],{"class":2973},[2964,8820,3159],{"class":3134},[2964,8822,3837],{"class":3134},[2964,8824,6276],{"class":3119},[2964,8826,2877],{"class":3134},[2964,8828,8829],{"class":3130},"meta",[2964,8831,2877],{"class":3134},[2964,8833,8834],{"class":3130},"url))",[2964,8836,3162],{"class":3134},[2964,8838,8839],{"class":2966,"line":3293},[2964,8840,4221],{"class":3134},[2964,8842,8843],{"class":2966,"line":3310},[2964,8844,3536],{"class":3134},[2964,8846,8847],{"class":2966,"line":3333},[2964,8848,8849],{"class":3708},"  \u002F\u002F ...\n",[2964,8851,8852,8854],{"class":2966,"line":3350},[2964,8853,3176],{"class":3134},[2964,8855,3179],{"class":3130},[8857,8858],"read-more",{"target":8859,"title":8860,"to":8861},"_blank","See full example config","https:\u002F\u002Fgithub.com\u002Fnuxt\u002Ftest-utils\u002Fblob\u002Fmain\u002Fexamples\u002Fapp-playwright\u002Fplaywright.config.ts",[2870,8863,8864,8865,2918,8868,8870,8871,3145],{},"Your test file should then use ",[2882,8866,8867],{},"expect",[2882,8869,3825],{}," directly from ",[2882,8872,8752],{},[2954,8874,8877],{"className":3109,"code":8875,"filename":8876,"language":3111,"meta":2960,"style":2960},"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",[2882,8878,8879,8901,8905,8938,8972,9015],{"__ignoreMap":2960},[2964,8880,8881,8883,8885,8887,8889,8891,8893,8895,8897,8899],{"class":2966,"line":2967},[2964,8882,3196],{"class":3119},[2964,8884,3199],{"class":3134},[2964,8886,4296],{"class":3130},[2964,8888,3837],{"class":3134},[2964,8890,3806],{"class":3130},[2964,8892,3205],{"class":3134},[2964,8894,3208],{"class":3119},[2964,8896,3211],{"class":3134},[2964,8898,8752],{"class":2973},[2964,8900,3217],{"class":3134},[2964,8902,8903],{"class":2966,"line":3138},[2964,8904,3242],{"emptyLinePlaceholder":1196},[2964,8906,8907,8909,8911,8913,8915,8917,8919,8921,8924,8926,8928,8931,8934,8936],{"class":2966,"line":3151},[2964,8908,3825],{"class":3126},[2964,8910,3131],{"class":3130},[2964,8912,3159],{"class":3134},[2964,8914,3825],{"class":2973},[2964,8916,3159],{"class":3134},[2964,8918,3837],{"class":3134},[2964,8920,4447],{"class":3843},[2964,8922,8923],{"class":3134}," ({",[2964,8925,8162],{"class":5397},[2964,8927,3837],{"class":3134},[2964,8929,8930],{"class":5397}," goto",[2964,8932,8933],{"class":3134}," })",[2964,8935,3844],{"class":3843},[2964,8937,3264],{"class":3134},[2964,8939,8940,8942,8944,8946,8948,8950,8952,8954,8956,8959,8961,8963,8966,8968,8970],{"class":2966,"line":3165},[2964,8941,4972],{"class":3119},[2964,8943,8930],{"class":3119},[2964,8945,3131],{"class":3141},[2964,8947,3159],{"class":3134},[2964,8949,4744],{"class":2973},[2964,8951,3159],{"class":3134},[2964,8953,3837],{"class":3134},[2964,8955,3199],{"class":3134},[2964,8957,8958],{"class":3141}," waitUntil",[2964,8960,3145],{"class":3134},[2964,8962,3211],{"class":3134},[2964,8964,8965],{"class":2973},"hydration",[2964,8967,3159],{"class":3134},[2964,8969,3205],{"class":3134},[2964,8971,3179],{"class":3141},[2964,8973,8974,8976,8978,8980,8983,8985,8988,8990,8992,8995,8997,8999,9001,9004,9006,9008,9011,9013],{"class":2966,"line":3173},[2964,8975,4972],{"class":3119},[2964,8977,4296],{"class":3126},[2964,8979,3131],{"class":3141},[2964,8981,8982],{"class":3130},"page",[2964,8984,2877],{"class":3134},[2964,8986,8987],{"class":3126},"getByRole",[2964,8989,3131],{"class":3141},[2964,8991,3159],{"class":3134},[2964,8993,8994],{"class":2973},"heading",[2964,8996,3159],{"class":3134},[2964,8998,5005],{"class":3141},[2964,9000,2877],{"class":3134},[2964,9002,9003],{"class":3126},"toHaveText",[2964,9005,3131],{"class":3141},[2964,9007,3159],{"class":3134},[2964,9009,9010],{"class":2973},"Welcome to Playwright!",[2964,9012,3159],{"class":3134},[2964,9014,3179],{"class":3141},[2964,9016,9017,9019],{"class":2966,"line":3267},[2964,9018,3176],{"class":3134},[2964,9020,3179],{"class":3130},[2870,9022,9023],{},"You can alternatively configure your Nuxt server directly within your test file:",[2954,9025,9027],{"className":3109,"code":9026,"filename":8876,"language":3111,"meta":2960,"style":2960},"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",[2882,9028,9029,9051,9055,9068,9077,9115,9119,9125,9129,9159,9191,9229],{"__ignoreMap":2960},[2964,9030,9031,9033,9035,9037,9039,9041,9043,9045,9047,9049],{"class":2966,"line":2967},[2964,9032,3196],{"class":3119},[2964,9034,3199],{"class":3134},[2964,9036,4296],{"class":3130},[2964,9038,3837],{"class":3134},[2964,9040,3806],{"class":3130},[2964,9042,3205],{"class":3134},[2964,9044,3208],{"class":3119},[2964,9046,3211],{"class":3134},[2964,9048,8752],{"class":2973},[2964,9050,3217],{"class":3134},[2964,9052,9053],{"class":2966,"line":3138},[2964,9054,3242],{"emptyLinePlaceholder":1196},[2964,9056,9057,9059,9061,9064,9066],{"class":2966,"line":3151},[2964,9058,3825],{"class":3130},[2964,9060,2877],{"class":3134},[2964,9062,9063],{"class":3126},"use",[2964,9065,3131],{"class":3130},[2964,9067,3135],{"class":3134},[2964,9069,9070,9073,9075],{"class":2966,"line":3165},[2964,9071,9072],{"class":3141},"  nuxt",[2964,9074,3145],{"class":3134},[2964,9076,3264],{"class":3134},[2964,9078,9079,9082,9084,9086,9088,9090,9092,9094,9096,9099,9101,9103,9105,9107,9109,9111,9113],{"class":2966,"line":3173},[2964,9080,9081],{"class":3141},"    rootDir",[2964,9083,3145],{"class":3134},[2964,9085,3653],{"class":3126},[2964,9087,3131],{"class":3130},[2964,9089,8809],{"class":3134},[2964,9091,8812],{"class":3126},[2964,9093,3131],{"class":3130},[2964,9095,3159],{"class":3134},[2964,9097,9098],{"class":2973},"..",[2964,9100,3159],{"class":3134},[2964,9102,3837],{"class":3134},[2964,9104,6276],{"class":3119},[2964,9106,2877],{"class":3134},[2964,9108,8829],{"class":3130},[2964,9110,2877],{"class":3134},[2964,9112,8834],{"class":3130},[2964,9114,3162],{"class":3134},[2964,9116,9117],{"class":2966,"line":3267},[2964,9118,3536],{"class":3134},[2964,9120,9121,9123],{"class":2966,"line":3277},[2964,9122,3176],{"class":3134},[2964,9124,3179],{"class":3130},[2964,9126,9127],{"class":2966,"line":3283},[2964,9128,3242],{"emptyLinePlaceholder":1196},[2964,9130,9131,9133,9135,9137,9139,9141,9143,9145,9147,9149,9151,9153,9155,9157],{"class":2966,"line":3293},[2964,9132,3825],{"class":3126},[2964,9134,3131],{"class":3130},[2964,9136,3159],{"class":3134},[2964,9138,3825],{"class":2973},[2964,9140,3159],{"class":3134},[2964,9142,3837],{"class":3134},[2964,9144,4447],{"class":3843},[2964,9146,8923],{"class":3134},[2964,9148,8162],{"class":5397},[2964,9150,3837],{"class":3134},[2964,9152,8930],{"class":5397},[2964,9154,8933],{"class":3134},[2964,9156,3844],{"class":3843},[2964,9158,3264],{"class":3134},[2964,9160,9161,9163,9165,9167,9169,9171,9173,9175,9177,9179,9181,9183,9185,9187,9189],{"class":2966,"line":3310},[2964,9162,4972],{"class":3119},[2964,9164,8930],{"class":3119},[2964,9166,3131],{"class":3141},[2964,9168,3159],{"class":3134},[2964,9170,4744],{"class":2973},[2964,9172,3159],{"class":3134},[2964,9174,3837],{"class":3134},[2964,9176,3199],{"class":3134},[2964,9178,8958],{"class":3141},[2964,9180,3145],{"class":3134},[2964,9182,3211],{"class":3134},[2964,9184,8965],{"class":2973},[2964,9186,3159],{"class":3134},[2964,9188,3205],{"class":3134},[2964,9190,3179],{"class":3141},[2964,9192,9193,9195,9197,9199,9201,9203,9205,9207,9209,9211,9213,9215,9217,9219,9221,9223,9225,9227],{"class":2966,"line":3333},[2964,9194,4972],{"class":3119},[2964,9196,4296],{"class":3126},[2964,9198,3131],{"class":3141},[2964,9200,8982],{"class":3130},[2964,9202,2877],{"class":3134},[2964,9204,8987],{"class":3126},[2964,9206,3131],{"class":3141},[2964,9208,3159],{"class":3134},[2964,9210,8994],{"class":2973},[2964,9212,3159],{"class":3134},[2964,9214,5005],{"class":3141},[2964,9216,2877],{"class":3134},[2964,9218,9003],{"class":3126},[2964,9220,3131],{"class":3141},[2964,9222,3159],{"class":3134},[2964,9224,9010],{"class":2973},[2964,9226,3159],{"class":3134},[2964,9228,3179],{"class":3141},[2964,9230,9231,9233],{"class":2966,"line":3350},[2964,9232,3176],{"class":3134},[2964,9234,3179],{"class":3130},[9236,9237,9238],"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":2960,"searchDepth":3138,"depth":3138,"links":9240},[9241,9242,9251],{"id":2901,"depth":3138,"text":24},{"id":3070,"depth":3138,"text":3071,"children":9243},[9244,9245,9246,9247,9248,9249],{"id":3091,"depth":3151,"text":3092},{"id":3579,"depth":3151,"text":3580},{"id":3870,"depth":3151,"text":3871},{"id":4061,"depth":3151,"text":4062},{"id":4234,"depth":3151,"text":4235},{"id":6914,"depth":3151,"text":9250},"Using @vue\u002Ftest-utils",{"id":7522,"depth":3138,"text":7523,"children":9252},[9253,9254,9255],{"id":7550,"depth":3151,"text":3092},{"id":8279,"depth":3151,"text":8280},{"id":8487,"depth":3151,"text":8488},"How to test your Nuxt application.","md",{},{"icon":102},{"title":99,"description":9256},"wkWqH_jKGaU-_CeSYrkdcCzh2zfCLZ3KQRmdRENSK5I",[9263,9265],{"title":94,"path":95,"stem":96,"description":9264,"icon":97,"children":-1},"Learn how to deploy your Nuxt application to any hosting provider.",{"title":104,"path":105,"stem":106,"description":9266,"icon":107,"children":-1},"Learn how to upgrade to the latest Nuxt version.",1775055374720]