[{"data":1,"prerenderedAt":9402},["ShallowReactive",2],{"$fGCo9l1hMtNdUiA6QzdUX5X3kLqaWcC5t2kdz4LrvCvc":3,"versions":2856,"-docs-4-x-getting-started-testing":2861,"-docs-4-x-getting-started-testing-surround":9397},[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":9391,"extension":9392,"links":6,"meta":9393,"navigation":9394,"path":1177,"seo":9395,"stem":1178,"titleTemplate":6,"__hash__":9396},"docsv4\u002Fdocs\u002F4.x\u002F1.getting-started\u002F17.testing.md",{"type":2864,"value":2865,"toc":9374},"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,3978,3986,3991,3994,4077,4087,4091,4094,4171,4196,4200,4205,4211,4218,4224,4238,4248,4368,4372,4377,4383,4388,4411,4414,4661,4861,4867,4881,4887,4896,4911,4919,4925,4928,5156,5344,5349,5359,5365,5373,5474,5477,5698,5716,5736,5967,5970,6186,6192,6197,6204,6433,6441,6617,6623,6628,6635,6640,6711,6718,6814,6817,6837,6856,6860,6868,6882,6887,6972,6977,7048,7053,7059,7650,7656,7660,7684,7687,7696,7834,7852,7858,7862,7901,7905,7950,7953,8129,8136,8139,8142,8151,8412,8416,8422,8425,8475,8481,8484,8556,8562,8565,8620,8624,8630,8636,8655,8710,8714,8722,8814,8821,8991,8997,9008,9156,9159,9370],[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":1346},"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},"typescript-support-in-tests","TypeScript Support in Tests",[2870,3955,3956,3957,2918,3959,3962,3963,3967,3968,2928,3971,2928,3974,3977],{},"By default, test files in ",[2882,3958,3611],{},[2882,3960,3961],{},"tests\u002Fnuxt\u002F"," directories are included in the ",[2874,3964,3966],{"href":3965},"\u002Fdocs\u002F4.x\u002Fguide\u002Fconcepts\u002Ftypescript#how-nuxt-uses-project-references","Nuxt app TypeScript context",". That means they will recognise Nuxt aliases (like ",[2882,3969,3970],{},"~\u002F",[2882,3972,3973],{},"@\u002F",[2882,3975,3976],{},"#imports",") and TypeScript will be aware of auto-imports that work in your Nuxt app.",[2867,3979,3980],{},[2870,3981,3982,3983,3985],{},"This matches the recommended structure where only tests that need the Nuxt runtime environment are placed in these directories. Unit tests in other directories like ",[2882,3984,3601],{}," can be added manually if needed.",[3987,3988,3990],"h5",{"id":3989},"adding-other-test-directories","Adding other test directories",[2870,3992,3993],{},"If you have tests in other directories that you will be running in the Nuxt Vitest environment, you can include them in the Nuxt app TypeScript context by adding them to your configuration:",[2954,3995,3997],{"className":3109,"code":3996,"filename":233,"language":3111,"meta":2960,"style":2960},"export default defineNuxtConfig({\n  typescript: {\n    tsConfig: {\n      include: [\n        \u002F\u002F this path is relative to the generated .nuxt\u002Ftsconfig.json\n        '..\u002Ftest\u002Fother-nuxt-context\u002F**\u002F*',\n      ],\n    },\n  },\n})\n",[2882,3998,3999,4011,4020,4029,4038,4043,4055,4062,4067,4071],{"__ignoreMap":2960},[2964,4000,4001,4003,4005,4007,4009],{"class":2966,"line":2967},[2964,4002,3120],{"class":3119},[2964,4004,3123],{"class":3119},[2964,4006,3127],{"class":3126},[2964,4008,3131],{"class":3130},[2964,4010,3135],{"class":3134},[2964,4012,4013,4016,4018],{"class":2966,"line":3138},[2964,4014,4015],{"class":3141},"  typescript",[2964,4017,3145],{"class":3134},[2964,4019,3264],{"class":3134},[2964,4021,4022,4025,4027],{"class":2966,"line":3151},[2964,4023,4024],{"class":3141},"    tsConfig",[2964,4026,3145],{"class":3134},[2964,4028,3264],{"class":3134},[2964,4030,4031,4034,4036],{"class":2966,"line":3165},[2964,4032,4033],{"class":3141},"      include",[2964,4035,3145],{"class":3134},[2964,4037,3148],{"class":3130},[2964,4039,4040],{"class":2966,"line":3173},[2964,4041,4042],{"class":3708},"        \u002F\u002F this path is relative to the generated .nuxt\u002Ftsconfig.json\n",[2964,4044,4045,4048,4051,4053],{"class":2966,"line":3267},[2964,4046,4047],{"class":3134},"        '",[2964,4049,4050],{"class":2973},"..\u002Ftest\u002Fother-nuxt-context\u002F**\u002F*",[2964,4052,3159],{"class":3134},[2964,4054,3162],{"class":3134},[2964,4056,4057,4060],{"class":2966,"line":3277},[2964,4058,4059],{"class":3130},"      ]",[2964,4061,3162],{"class":3134},[2964,4063,4064],{"class":2966,"line":3283},[2964,4065,4066],{"class":3134},"    },\n",[2964,4068,4069],{"class":2966,"line":3293},[2964,4070,3536],{"class":3134},[2964,4072,4073,4075],{"class":2966,"line":3310},[2964,4074,3176],{"class":3134},[2964,4076,3179],{"class":3130},[4078,4079,4080],"important",{},[2870,4081,4082,4083,4086],{},"Unit tests should not depend on Nuxt runtime features like auto-imports or composables. Only add TypeScript path alias support if your tests import from your source files (e.g., ",[2882,4084,4085],{},"~\u002Futils\u002Fhelpers","), not for Nuxt-specific features.",[3614,4088,4090],{"id":4089},"running-tests","Running Tests",[2870,4092,4093],{},"With the project setup, you can run different test suites:",[2954,4095,4097],{"className":2956,"code":4096,"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,4098,4099,4104,4112,4116,4121,4133,4137,4142,4153,4157,4162],{"__ignoreMap":2960},[2964,4100,4101],{"class":2966,"line":2967},[2964,4102,4103],{"class":3708},"# Run all tests\n",[2964,4105,4106,4109],{"class":2966,"line":3138},[2964,4107,4108],{"class":2970},"npx",[2964,4110,4111],{"class":2973}," vitest\n",[2964,4113,4114],{"class":2966,"line":3151},[2964,4115,3242],{"emptyLinePlaceholder":1196},[2964,4117,4118],{"class":2966,"line":3165},[2964,4119,4120],{"class":3708},"# Run only unit tests\n",[2964,4122,4123,4125,4127,4130],{"class":2966,"line":3173},[2964,4124,4108],{"class":2970},[2964,4126,2983],{"class":2973},[2964,4128,4129],{"class":2973}," --project",[2964,4131,4132],{"class":2973}," unit\n",[2964,4134,4135],{"class":2966,"line":3267},[2964,4136,3242],{"emptyLinePlaceholder":1196},[2964,4138,4139],{"class":2966,"line":3277},[2964,4140,4141],{"class":3708},"# Run only Nuxt tests\n",[2964,4143,4144,4146,4148,4150],{"class":2966,"line":3283},[2964,4145,4108],{"class":2970},[2964,4147,2983],{"class":2973},[2964,4149,4129],{"class":2973},[2964,4151,4152],{"class":2973}," nuxt\n",[2964,4154,4155],{"class":2966,"line":3293},[2964,4156,3242],{"emptyLinePlaceholder":1196},[2964,4158,4159],{"class":2966,"line":3310},[2964,4160,4161],{"class":3708},"# Run tests in watch mode\n",[2964,4163,4164,4166,4168],{"class":2966,"line":3333},[2964,4165,4108],{"class":2970},[2964,4167,2983],{"class":2973},[2964,4169,4170],{"class":2973}," --watch\n",[3859,4172,4173,4193],{},[2870,4174,4175,4176,4182,4183,4189,4190,4192],{},"When you run your tests within the Nuxt environment, they will be running in a ",[2874,4177,4180],{"href":4178,"rel":4179},"https:\u002F\u002Fgithub.com\u002Fcapricorn86\u002Fhappy-dom",[2890],[2882,4181,2917],{}," or ",[2874,4184,4187],{"href":4185,"rel":4186},"https:\u002F\u002Fgithub.com\u002Fjsdom\u002Fjsdom",[2890],[2882,4188,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,4191,219],{},").",[2870,4194,4195],{},"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,4197,4199],{"id":4198},"built-in-mocks","🎭 Built-In Mocks",[2870,4201,4202,4204],{},[2882,4203,2884],{}," provides some built-in mocks for the DOM environment.",[3614,4206,4208],{"id":4207},"intersectionobserver",[2882,4209,4210],{},"intersectionObserver",[2870,4212,4213,4214,4217],{},"Default ",[2882,4215,4216],{},"true",", creates a dummy class without any functionality for the IntersectionObserver API",[3614,4219,4221],{"id":4220},"indexeddb",[2882,4222,4223],{},"indexedDB",[2870,4225,4213,4226,4229,4230,4237],{},[2882,4227,4228],{},"false",", uses ",[2874,4231,4234],{"href":4232,"rel":4233},"https:\u002F\u002Fgithub.com\u002Fdumbmatter\u002FfakeIndexedDB",[2890],[2882,4235,4236],{},"fake-indexeddb"," to create a functional mock of the IndexedDB API",[2870,4239,4240,4241,4244,4245,4247],{},"These can be configured in the ",[2882,4242,4243],{},"environmentOptions"," section of your ",[2882,4246,3185],{}," file:",[2954,4249,4251],{"className":3109,"code":4250,"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,4252,4253,4271,4275,4287,4295,4304,4313,4322,4335,4346,4350,4354,4358,4362],{"__ignoreMap":2960},[2964,4254,4255,4257,4259,4261,4263,4265,4267,4269],{"class":2966,"line":2967},[2964,4256,3196],{"class":3119},[2964,4258,3199],{"class":3134},[2964,4260,3634],{"class":3130},[2964,4262,3205],{"class":3134},[2964,4264,3208],{"class":3119},[2964,4266,3211],{"class":3134},[2964,4268,3235],{"class":2973},[2964,4270,3217],{"class":3134},[2964,4272,4273],{"class":2966,"line":3138},[2964,4274,3242],{"emptyLinePlaceholder":1196},[2964,4276,4277,4279,4281,4283,4285],{"class":2966,"line":3151},[2964,4278,3120],{"class":3119},[2964,4280,3123],{"class":3119},[2964,4282,3634],{"class":3126},[2964,4284,3131],{"class":3130},[2964,4286,3135],{"class":3134},[2964,4288,4289,4291,4293],{"class":2966,"line":3165},[2964,4290,3259],{"class":3141},[2964,4292,3145],{"class":3134},[2964,4294,3264],{"class":3134},[2964,4296,4297,4300,4302],{"class":2966,"line":3173},[2964,4298,4299],{"class":3141},"    environmentOptions",[2964,4301,3145],{"class":3134},[2964,4303,3264],{"class":3134},[2964,4305,4306,4309,4311],{"class":2966,"line":3267},[2964,4307,4308],{"class":3141},"      nuxt",[2964,4310,3145],{"class":3134},[2964,4312,3264],{"class":3134},[2964,4314,4315,4318,4320],{"class":2966,"line":3277},[2964,4316,4317],{"class":3141},"        mock",[2964,4319,3145],{"class":3134},[2964,4321,3264],{"class":3134},[2964,4323,4324,4327,4329,4333],{"class":2966,"line":3283},[2964,4325,4326],{"class":3141},"          intersectionObserver",[2964,4328,3145],{"class":3134},[2964,4330,4332],{"class":4331},"sbKd-"," true",[2964,4334,3162],{"class":3134},[2964,4336,4337,4340,4342,4344],{"class":2966,"line":3293},[2964,4338,4339],{"class":3141},"          indexedDb",[2964,4341,3145],{"class":3134},[2964,4343,4332],{"class":4331},[2964,4345,3162],{"class":3134},[2964,4347,4348],{"class":2966,"line":3310},[2964,4349,3353],{"class":3134},[2964,4351,4352],{"class":2966,"line":3333},[2964,4353,3359],{"class":3134},[2964,4355,4356],{"class":2966,"line":3350},[2964,4357,4066],{"class":3134},[2964,4359,4360],{"class":2966,"line":3356},[2964,4361,3536],{"class":3134},[2964,4363,4364,4366],{"class":2966,"line":3362},[2964,4365,3176],{"class":3134},[2964,4367,3179],{"class":3130},[3089,4369,4371],{"id":4370},"️-helpers","🛠️ Helpers",[2870,4373,4374,4376],{},[2882,4375,2884],{}," provides a number of helpers to make testing Nuxt apps easier.",[3614,4378,4380],{"id":4379},"mountsuspended",[2882,4381,4382],{},"mountSuspended",[2870,4384,4385,4387],{},[2882,4386,4382],{}," allows you to mount any Vue component within the Nuxt environment, allowing async setup and access to injections from your Nuxt plugins.",[4389,4390,4391],"note",{},[2870,4392,4393,4394,4396,4397,4400,4401,4404,4405,4410],{},"Under the hood, ",[2882,4395,4382],{}," wraps ",[2882,4398,4399],{},"mount"," from ",[2882,4402,4403],{},"@vue\u002Ftest-utils",", so you can check out ",[2874,4406,4409],{"href":4407,"rel":4408},"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,4412,4413],{},"For example:",[2954,4415,4417],{"className":3109,"code":4416,"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,4418,4419,4424,4448,4471,4475,4492,4508,4513,4518,4523,4543,4561,4565,4590,4613,4639,4650,4655],{"__ignoreMap":2960},[2964,4420,4421],{"class":2966,"line":2967},[2964,4422,4423],{"class":3708},"\u002F\u002F @noErrors\n",[2964,4425,4426,4428,4430,4433,4435,4438,4440,4442,4444,4446],{"class":2966,"line":3138},[2964,4427,3196],{"class":3119},[2964,4429,3199],{"class":3134},[2964,4431,4432],{"class":3130}," expect",[2964,4434,3837],{"class":3134},[2964,4436,4437],{"class":3130}," it",[2964,4439,3205],{"class":3134},[2964,4441,3208],{"class":3119},[2964,4443,3211],{"class":3134},[2964,4445,2927],{"class":2973},[2964,4447,3217],{"class":3134},[2964,4449,4450,4452,4455,4457,4460,4462,4464,4466,4469],{"class":2966,"line":3151},[2964,4451,3196],{"class":3119},[2964,4453,4454],{"class":3119}," type",[2964,4456,3199],{"class":3134},[2964,4458,4459],{"class":3130}," Component",[2964,4461,3205],{"class":3134},[2964,4463,3208],{"class":3119},[2964,4465,3211],{"class":3134},[2964,4467,4468],{"class":2973},"vue",[2964,4470,3217],{"class":3134},[2964,4472,4473],{"class":2966,"line":3165},[2964,4474,3242],{"emptyLinePlaceholder":1196},[2964,4476,4477,4480,4483,4485,4488,4490],{"class":2966,"line":3173},[2964,4478,4479],{"class":3843},"declare",[2964,4481,4482],{"class":3843}," module",[2964,4484,3211],{"class":3134},[2964,4486,4487],{"class":2973},"#components",[2964,4489,3159],{"class":3134},[2964,4491,3264],{"class":3134},[2964,4493,4494,4497,4500,4503,4505],{"class":2966,"line":3267},[2964,4495,4496],{"class":3119},"  export",[2964,4498,4499],{"class":3843}," const",[2964,4501,4502],{"class":3130}," SomeComponent",[2964,4504,3145],{"class":3134},[2964,4506,4507],{"class":2970}," Component\n",[2964,4509,4510],{"class":2966,"line":3277},[2964,4511,4512],{"class":3134},"}\n",[2964,4514,4515],{"class":2966,"line":3283},[2964,4516,4517],{"class":3708},"\u002F\u002F ---cut---\n",[2964,4519,4520],{"class":2966,"line":3293},[2964,4521,4522],{"class":3708},"\u002F\u002F tests\u002Fcomponents\u002FSomeComponents.nuxt.spec.ts\n",[2964,4524,4525,4527,4529,4532,4534,4536,4538,4541],{"class":2966,"line":3310},[2964,4526,3196],{"class":3119},[2964,4528,3199],{"class":3134},[2964,4530,4531],{"class":3130}," mountSuspended",[2964,4533,3205],{"class":3134},[2964,4535,3208],{"class":3119},[2964,4537,3211],{"class":3134},[2964,4539,4540],{"class":2973},"@nuxt\u002Ftest-utils\u002Fruntime",[2964,4542,3217],{"class":3134},[2964,4544,4545,4547,4549,4551,4553,4555,4557,4559],{"class":2966,"line":3333},[2964,4546,3196],{"class":3119},[2964,4548,3199],{"class":3134},[2964,4550,4502],{"class":3130},[2964,4552,3205],{"class":3134},[2964,4554,3208],{"class":3119},[2964,4556,3211],{"class":3134},[2964,4558,4487],{"class":2973},[2964,4560,3217],{"class":3134},[2964,4562,4563],{"class":2966,"line":3350},[2964,4564,3242],{"emptyLinePlaceholder":1196},[2964,4566,4567,4570,4572,4574,4577,4579,4581,4584,4586,4588],{"class":2966,"line":3356},[2964,4568,4569],{"class":3126},"it",[2964,4571,3131],{"class":3130},[2964,4573,3159],{"class":3134},[2964,4575,4576],{"class":2973},"can mount some component",[2964,4578,3159],{"class":3134},[2964,4580,3837],{"class":3134},[2964,4582,4583],{"class":3843}," async",[2964,4585,3840],{"class":3134},[2964,4587,3844],{"class":3843},[2964,4589,3264],{"class":3134},[2964,4591,4592,4595,4598,4601,4604,4606,4608,4611],{"class":2966,"line":3362},[2964,4593,4594],{"class":3843},"  const",[2964,4596,4597],{"class":3130}," component",[2964,4599,4600],{"class":3134}," =",[2964,4602,4603],{"class":3119}," await",[2964,4605,4531],{"class":3126},[2964,4607,3131],{"class":3141},[2964,4609,4610],{"class":3130},"SomeComponent",[2964,4612,3179],{"class":3141},[2964,4614,4615,4618,4620,4623,4625,4628,4631,4633,4636],{"class":2966,"line":3367},[2964,4616,4617],{"class":3126},"  expect",[2964,4619,3131],{"class":3141},[2964,4621,4622],{"class":3130},"component",[2964,4624,2877],{"class":3134},[2964,4626,4627],{"class":3126},"text",[2964,4629,4630],{"class":3141},"())",[2964,4632,2877],{"class":3134},[2964,4634,4635],{"class":3126},"toMatchInlineSnapshot",[2964,4637,4638],{"class":3141},"(\n",[2964,4640,4641,4643,4646,4648],{"class":2966,"line":3376},[2964,4642,3154],{"class":3134},[2964,4644,4645],{"class":2973},"\"This is an auto-imported component\"",[2964,4647,3159],{"class":3134},[2964,4649,3162],{"class":3134},[2964,4651,4652],{"class":2966,"line":3392},[2964,4653,4654],{"class":3141},"  )\n",[2964,4656,4657,4659],{"class":2966,"line":3412},[2964,4658,3176],{"class":3134},[2964,4660,3179],{"class":3130},[2954,4662,4664],{"className":3109,"code":4663,"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,4665,4666,4670,4692,4696,4700,4718,4735,4739,4744,4767,4804,4828,4833,4838,4843,4848,4855],{"__ignoreMap":2960},[2964,4667,4668],{"class":2966,"line":2967},[2964,4669,4423],{"class":3708},[2964,4671,4672,4674,4676,4678,4680,4682,4684,4686,4688,4690],{"class":2966,"line":3138},[2964,4673,3196],{"class":3119},[2964,4675,3199],{"class":3134},[2964,4677,4432],{"class":3130},[2964,4679,3837],{"class":3134},[2964,4681,4437],{"class":3130},[2964,4683,3205],{"class":3134},[2964,4685,3208],{"class":3119},[2964,4687,3211],{"class":3134},[2964,4689,2927],{"class":2973},[2964,4691,3217],{"class":3134},[2964,4693,4694],{"class":2966,"line":3151},[2964,4695,4517],{"class":3708},[2964,4697,4698],{"class":2966,"line":3165},[2964,4699,4522],{"class":3708},[2964,4701,4702,4704,4706,4708,4710,4712,4714,4716],{"class":2966,"line":3173},[2964,4703,3196],{"class":3119},[2964,4705,3199],{"class":3134},[2964,4707,4531],{"class":3130},[2964,4709,3205],{"class":3134},[2964,4711,3208],{"class":3119},[2964,4713,3211],{"class":3134},[2964,4715,4540],{"class":2973},[2964,4717,3217],{"class":3134},[2964,4719,4720,4722,4725,4728,4730,4733],{"class":2966,"line":3267},[2964,4721,3196],{"class":3119},[2964,4723,4724],{"class":3130}," App ",[2964,4726,4727],{"class":3119},"from",[2964,4729,3211],{"class":3134},[2964,4731,4732],{"class":2973},"~\u002Fapp.vue",[2964,4734,3217],{"class":3134},[2964,4736,4737],{"class":2966,"line":3277},[2964,4738,3242],{"emptyLinePlaceholder":1196},[2964,4740,4741],{"class":2966,"line":3283},[2964,4742,4743],{"class":3708},"\u002F\u002F tests\u002FApp.nuxt.spec.ts\n",[2964,4745,4746,4748,4750,4752,4755,4757,4759,4761,4763,4765],{"class":2966,"line":3293},[2964,4747,4569],{"class":3126},[2964,4749,3131],{"class":3130},[2964,4751,3159],{"class":3134},[2964,4753,4754],{"class":2973},"can also mount an app",[2964,4756,3159],{"class":3134},[2964,4758,3837],{"class":3134},[2964,4760,4583],{"class":3843},[2964,4762,3840],{"class":3134},[2964,4764,3844],{"class":3843},[2964,4766,3264],{"class":3134},[2964,4768,4769,4771,4773,4775,4777,4779,4781,4784,4786,4788,4791,4793,4795,4798,4800,4802],{"class":2966,"line":3310},[2964,4770,4594],{"class":3843},[2964,4772,4597],{"class":3130},[2964,4774,4600],{"class":3134},[2964,4776,4603],{"class":3119},[2964,4778,4531],{"class":3126},[2964,4780,3131],{"class":3141},[2964,4782,4783],{"class":3130},"App",[2964,4785,3837],{"class":3134},[2964,4787,3199],{"class":3134},[2964,4789,4790],{"class":3141}," route",[2964,4792,3145],{"class":3134},[2964,4794,3211],{"class":3134},[2964,4796,4797],{"class":2973},"\u002Ftest",[2964,4799,3159],{"class":3134},[2964,4801,3205],{"class":3134},[2964,4803,3179],{"class":3141},[2964,4805,4806,4808,4810,4812,4814,4817,4819,4821,4823,4825],{"class":2966,"line":3333},[2964,4807,4617],{"class":3126},[2964,4809,3131],{"class":3141},[2964,4811,4622],{"class":3130},[2964,4813,2877],{"class":3134},[2964,4815,4816],{"class":3126},"html",[2964,4818,4630],{"class":3141},[2964,4820,2877],{"class":3134},[2964,4822,4635],{"class":3126},[2964,4824,3131],{"class":3141},[2964,4826,4827],{"class":3134},"`\n",[2964,4829,4830],{"class":2966,"line":3350},[2964,4831,4832],{"class":2973},"      \"\u003Cdiv>This is an auto-imported component\u003C\u002Fdiv>\n",[2964,4834,4835],{"class":2966,"line":3356},[2964,4836,4837],{"class":2973},"      \u003Cdiv> I am a global component \u003C\u002Fdiv>\n",[2964,4839,4840],{"class":2966,"line":3362},[2964,4841,4842],{"class":2973},"      \u003Cdiv>\u002F\u003C\u002Fdiv>\n",[2964,4844,4845],{"class":2966,"line":3367},[2964,4846,4847],{"class":2973},"      \u003Ca href=\"\u002Ftest\"> Test link \u003C\u002Fa>\"\n",[2964,4849,4850,4853],{"class":2966,"line":3376},[2964,4851,4852],{"class":3134},"    `",[2964,4854,3179],{"class":3141},[2964,4856,4857,4859],{"class":2966,"line":3392},[2964,4858,3176],{"class":3134},[2964,4860,3179],{"class":3130},[2870,4862,4863,4864,4866],{},"The options object accepts ",[2882,4865,4403],{}," mount options and the following properties:",[2909,4868,4869],{},[2912,4870,4871,4874,4875,4877,4878,4192],{},[2882,4872,4873],{},"route",": the initial route, or ",[2882,4876,4228],{}," to skip the initial route change (default ",[2882,4879,4880],{},"\u002F",[3614,4882,4884],{"id":4883},"rendersuspended",[2882,4885,4886],{},"renderSuspended",[2870,4888,4889,4891,4892,4895],{},[2882,4890,4886],{}," allows you to render any Vue component within the Nuxt environment using ",[2882,4893,4894],{},"@testing-library\u002Fvue",", allowing async setup and access to injections from your Nuxt plugins.",[2870,4897,4898,4899,2918,4902,4905,4906,4910],{},"This should be used together with utilities from Testing Library, e.g. ",[2882,4900,4901],{},"screen",[2882,4903,4904],{},"fireEvent",". Install ",[2874,4907,4894],{"href":4908,"rel":4909},"https:\u002F\u002Ftesting-library.com\u002Fdocs\u002Fvue-testing-library\u002Fintro\u002F",[2890]," in your project to use these.",[2870,4912,4913,4914,2877],{},"Additionally, Testing Library also relies on testing globals for cleanup. You should turn these on in your ",[2874,4915,4918],{"href":4916,"rel":4917},"https:\u002F\u002Fvitest.dev\u002Fconfig\u002Fglobals",[2890],"Vitest config",[2870,4920,4921,4922,2877],{},"The passed in component will be rendered inside a ",[2882,4923,4924],{},"\u003Cdiv id=\"test-wrapper\">\u003C\u002Fdiv>",[2870,4926,4927],{},"Examples:",[2954,4929,4931],{"className":3109,"code":4930,"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,4932,4933,4937,4959,4979,4983,4997,5009,5013,5017,5021,5040,5058,5077,5081,5104,5117,5150],{"__ignoreMap":2960},[2964,4934,4935],{"class":2966,"line":2967},[2964,4936,4423],{"class":3708},[2964,4938,4939,4941,4943,4945,4947,4949,4951,4953,4955,4957],{"class":2966,"line":3138},[2964,4940,3196],{"class":3119},[2964,4942,3199],{"class":3134},[2964,4944,4432],{"class":3130},[2964,4946,3837],{"class":3134},[2964,4948,4437],{"class":3130},[2964,4950,3205],{"class":3134},[2964,4952,3208],{"class":3119},[2964,4954,3211],{"class":3134},[2964,4956,2927],{"class":2973},[2964,4958,3217],{"class":3134},[2964,4960,4961,4963,4965,4967,4969,4971,4973,4975,4977],{"class":2966,"line":3151},[2964,4962,3196],{"class":3119},[2964,4964,4454],{"class":3119},[2964,4966,3199],{"class":3134},[2964,4968,4459],{"class":3130},[2964,4970,3205],{"class":3134},[2964,4972,3208],{"class":3119},[2964,4974,3211],{"class":3134},[2964,4976,4468],{"class":2973},[2964,4978,3217],{"class":3134},[2964,4980,4981],{"class":2966,"line":3165},[2964,4982,3242],{"emptyLinePlaceholder":1196},[2964,4984,4985,4987,4989,4991,4993,4995],{"class":2966,"line":3173},[2964,4986,4479],{"class":3843},[2964,4988,4482],{"class":3843},[2964,4990,3211],{"class":3134},[2964,4992,4487],{"class":2973},[2964,4994,3159],{"class":3134},[2964,4996,3264],{"class":3134},[2964,4998,4999,5001,5003,5005,5007],{"class":2966,"line":3267},[2964,5000,4496],{"class":3119},[2964,5002,4499],{"class":3843},[2964,5004,4502],{"class":3130},[2964,5006,3145],{"class":3134},[2964,5008,4507],{"class":2970},[2964,5010,5011],{"class":2966,"line":3277},[2964,5012,4512],{"class":3134},[2964,5014,5015],{"class":2966,"line":3283},[2964,5016,4517],{"class":3708},[2964,5018,5019],{"class":2966,"line":3293},[2964,5020,4522],{"class":3708},[2964,5022,5023,5025,5027,5030,5032,5034,5036,5038],{"class":2966,"line":3310},[2964,5024,3196],{"class":3119},[2964,5026,3199],{"class":3134},[2964,5028,5029],{"class":3130}," renderSuspended",[2964,5031,3205],{"class":3134},[2964,5033,3208],{"class":3119},[2964,5035,3211],{"class":3134},[2964,5037,4540],{"class":2973},[2964,5039,3217],{"class":3134},[2964,5041,5042,5044,5046,5048,5050,5052,5054,5056],{"class":2966,"line":3333},[2964,5043,3196],{"class":3119},[2964,5045,3199],{"class":3134},[2964,5047,4502],{"class":3130},[2964,5049,3205],{"class":3134},[2964,5051,3208],{"class":3119},[2964,5053,3211],{"class":3134},[2964,5055,4487],{"class":2973},[2964,5057,3217],{"class":3134},[2964,5059,5060,5062,5064,5067,5069,5071,5073,5075],{"class":2966,"line":3350},[2964,5061,3196],{"class":3119},[2964,5063,3199],{"class":3134},[2964,5065,5066],{"class":3130}," screen",[2964,5068,3205],{"class":3134},[2964,5070,3208],{"class":3119},[2964,5072,3211],{"class":3134},[2964,5074,4894],{"class":2973},[2964,5076,3217],{"class":3134},[2964,5078,5079],{"class":2966,"line":3356},[2964,5080,3242],{"emptyLinePlaceholder":1196},[2964,5082,5083,5085,5087,5089,5092,5094,5096,5098,5100,5102],{"class":2966,"line":3362},[2964,5084,4569],{"class":3126},[2964,5086,3131],{"class":3130},[2964,5088,3159],{"class":3134},[2964,5090,5091],{"class":2973},"can render some component",[2964,5093,3159],{"class":3134},[2964,5095,3837],{"class":3134},[2964,5097,4583],{"class":3843},[2964,5099,3840],{"class":3134},[2964,5101,3844],{"class":3843},[2964,5103,3264],{"class":3134},[2964,5105,5106,5109,5111,5113,5115],{"class":2966,"line":3367},[2964,5107,5108],{"class":3119},"  await",[2964,5110,5029],{"class":3126},[2964,5112,3131],{"class":3141},[2964,5114,4610],{"class":3130},[2964,5116,3179],{"class":3141},[2964,5118,5119,5121,5123,5125,5127,5130,5132,5134,5137,5139,5142,5144,5147],{"class":2966,"line":3376},[2964,5120,4617],{"class":3126},[2964,5122,3131],{"class":3141},[2964,5124,4901],{"class":3130},[2964,5126,2877],{"class":3134},[2964,5128,5129],{"class":3126},"getByText",[2964,5131,3131],{"class":3141},[2964,5133,3159],{"class":3134},[2964,5135,5136],{"class":2973},"This is an auto-imported component",[2964,5138,3159],{"class":3134},[2964,5140,5141],{"class":3141},"))",[2964,5143,2877],{"class":3134},[2964,5145,5146],{"class":3126},"toBeDefined",[2964,5148,5149],{"class":3141},"()\n",[2964,5151,5152,5154],{"class":2966,"line":3392},[2964,5153,3176],{"class":3134},[2964,5155,3179],{"class":3130},[2954,5157,5159],{"className":3109,"code":5158,"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,5160,5161,5165,5187,5191,5195,5213,5227,5231,5254,5289,5307,5312,5317,5321,5326,5331,5338],{"__ignoreMap":2960},[2964,5162,5163],{"class":2966,"line":2967},[2964,5164,4423],{"class":3708},[2964,5166,5167,5169,5171,5173,5175,5177,5179,5181,5183,5185],{"class":2966,"line":3138},[2964,5168,3196],{"class":3119},[2964,5170,3199],{"class":3134},[2964,5172,4432],{"class":3130},[2964,5174,3837],{"class":3134},[2964,5176,4437],{"class":3130},[2964,5178,3205],{"class":3134},[2964,5180,3208],{"class":3119},[2964,5182,3211],{"class":3134},[2964,5184,2927],{"class":2973},[2964,5186,3217],{"class":3134},[2964,5188,5189],{"class":2966,"line":3151},[2964,5190,4517],{"class":3708},[2964,5192,5193],{"class":2966,"line":3165},[2964,5194,4743],{"class":3708},[2964,5196,5197,5199,5201,5203,5205,5207,5209,5211],{"class":2966,"line":3173},[2964,5198,3196],{"class":3119},[2964,5200,3199],{"class":3134},[2964,5202,5029],{"class":3130},[2964,5204,3205],{"class":3134},[2964,5206,3208],{"class":3119},[2964,5208,3211],{"class":3134},[2964,5210,4540],{"class":2973},[2964,5212,3217],{"class":3134},[2964,5214,5215,5217,5219,5221,5223,5225],{"class":2966,"line":3267},[2964,5216,3196],{"class":3119},[2964,5218,4724],{"class":3130},[2964,5220,4727],{"class":3119},[2964,5222,3211],{"class":3134},[2964,5224,4732],{"class":2973},[2964,5226,3217],{"class":3134},[2964,5228,5229],{"class":2966,"line":3277},[2964,5230,3242],{"emptyLinePlaceholder":1196},[2964,5232,5233,5235,5237,5239,5242,5244,5246,5248,5250,5252],{"class":2966,"line":3283},[2964,5234,4569],{"class":3126},[2964,5236,3131],{"class":3130},[2964,5238,3159],{"class":3134},[2964,5240,5241],{"class":2973},"can also render an app",[2964,5243,3159],{"class":3134},[2964,5245,3837],{"class":3134},[2964,5247,4583],{"class":3843},[2964,5249,3840],{"class":3134},[2964,5251,3844],{"class":3843},[2964,5253,3264],{"class":3134},[2964,5255,5256,5258,5261,5263,5265,5267,5269,5271,5273,5275,5277,5279,5281,5283,5285,5287],{"class":2966,"line":3293},[2964,5257,4594],{"class":3843},[2964,5259,5260],{"class":3130}," html",[2964,5262,4600],{"class":3134},[2964,5264,4603],{"class":3119},[2964,5266,5029],{"class":3126},[2964,5268,3131],{"class":3141},[2964,5270,4783],{"class":3130},[2964,5272,3837],{"class":3134},[2964,5274,3199],{"class":3134},[2964,5276,4790],{"class":3141},[2964,5278,3145],{"class":3134},[2964,5280,3211],{"class":3134},[2964,5282,4797],{"class":2973},[2964,5284,3159],{"class":3134},[2964,5286,3205],{"class":3134},[2964,5288,3179],{"class":3141},[2964,5290,5291,5293,5295,5297,5299,5301,5303,5305],{"class":2966,"line":3310},[2964,5292,4617],{"class":3126},[2964,5294,3131],{"class":3141},[2964,5296,4816],{"class":3130},[2964,5298,3520],{"class":3141},[2964,5300,2877],{"class":3134},[2964,5302,4635],{"class":3126},[2964,5304,3131],{"class":3141},[2964,5306,4827],{"class":3134},[2964,5308,5309],{"class":2966,"line":3333},[2964,5310,5311],{"class":2973},"    \"\u003Cdiv id=\"test-wrapper\">\n",[2964,5313,5314],{"class":2966,"line":3350},[2964,5315,5316],{"class":2973},"      \u003Cdiv>This is an auto-imported component\u003C\u002Fdiv>\n",[2964,5318,5319],{"class":2966,"line":3356},[2964,5320,4837],{"class":2973},[2964,5322,5323],{"class":2966,"line":3362},[2964,5324,5325],{"class":2973},"      \u003Cdiv>Index page\u003C\u002Fdiv>\u003Ca href=\"\u002Ftest\"> Test link \u003C\u002Fa>\n",[2964,5327,5328],{"class":2966,"line":3367},[2964,5329,5330],{"class":2973},"    \u003C\u002Fdiv>\"\n",[2964,5332,5333,5336],{"class":2966,"line":3376},[2964,5334,5335],{"class":3134},"  `",[2964,5337,3179],{"class":3141},[2964,5339,5340,5342],{"class":2966,"line":3392},[2964,5341,3176],{"class":3134},[2964,5343,3179],{"class":3130},[2870,5345,4863,5346,5348],{},[2882,5347,4894],{}," render options and the following properties:",[2909,5350,5351],{},[2912,5352,5353,4874,5355,4877,5357,4192],{},[2882,5354,4873],{},[2882,5356,4228],{},[2882,5358,4880],{},[3614,5360,5362],{"id":5361},"mocknuxtimport",[2882,5363,5364],{},"mockNuxtImport",[2870,5366,5367,5369,5370,5372],{},[2882,5368,5364],{}," allows you to mock Nuxt's auto import functionality. For example, to mock ",[2882,5371,619],{},", you can do so like this:",[2954,5374,5376],{"className":3109,"code":5375,"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,5377,5378,5397,5401,5421,5432,5454,5459,5465,5469],{"__ignoreMap":2960},[2964,5379,5380,5382,5384,5387,5389,5391,5393,5395],{"class":2966,"line":2967},[2964,5381,3196],{"class":3119},[2964,5383,3199],{"class":3134},[2964,5385,5386],{"class":3130}," mockNuxtImport",[2964,5388,3205],{"class":3134},[2964,5390,3208],{"class":3119},[2964,5392,3211],{"class":3134},[2964,5394,4540],{"class":2973},[2964,5396,3217],{"class":3134},[2964,5398,5399],{"class":2966,"line":3138},[2964,5400,3242],{"emptyLinePlaceholder":1196},[2964,5402,5403,5405,5407,5409,5411,5413,5415,5417,5419],{"class":2966,"line":3151},[2964,5404,5364],{"class":3126},[2964,5406,3131],{"class":3130},[2964,5408,3159],{"class":3134},[2964,5410,619],{"class":2973},[2964,5412,3159],{"class":3134},[2964,5414,3837],{"class":3134},[2964,5416,3840],{"class":3134},[2964,5418,3844],{"class":3843},[2964,5420,3264],{"class":3134},[2964,5422,5423,5426,5428,5430],{"class":2966,"line":3165},[2964,5424,5425],{"class":3119},"  return",[2964,5427,3840],{"class":3134},[2964,5429,3844],{"class":3843},[2964,5431,3264],{"class":3134},[2964,5433,5434,5437,5439,5442,5444,5446,5449,5451],{"class":2966,"line":3173},[2964,5435,5436],{"class":3119},"    return",[2964,5438,3199],{"class":3134},[2964,5440,5441],{"class":3141}," value",[2964,5443,3145],{"class":3134},[2964,5445,3211],{"class":3134},[2964,5447,5448],{"class":2973},"mocked storage",[2964,5450,3159],{"class":3134},[2964,5452,5453],{"class":3134}," }\n",[2964,5455,5456],{"class":2966,"line":3267},[2964,5457,5458],{"class":3134},"  }\n",[2964,5460,5461,5463],{"class":2966,"line":3277},[2964,5462,3176],{"class":3134},[2964,5464,3179],{"class":3130},[2964,5466,5467],{"class":2966,"line":3283},[2964,5468,3242],{"emptyLinePlaceholder":1196},[2964,5470,5471],{"class":2966,"line":3293},[2964,5472,5473],{"class":3708},"\u002F\u002F your tests here\n",[2870,5475,5476],{},"You can explicitly type the mock for type safety, and use the original implementation passed to the factory function when mocking complex functionality.",[2954,5478,5481],{"className":3109,"code":5479,"filename":5480,"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,5482,5483,5501,5505,5541,5557,5594,5598,5604,5608,5613,5632,5646,5680,5684,5690,5694],{"__ignoreMap":2960},[2964,5484,5485,5487,5489,5491,5493,5495,5497,5499],{"class":2966,"line":2967},[2964,5486,3196],{"class":3119},[2964,5488,3199],{"class":3134},[2964,5490,5386],{"class":3130},[2964,5492,3205],{"class":3134},[2964,5494,3208],{"class":3119},[2964,5496,3211],{"class":3134},[2964,5498,4540],{"class":2973},[2964,5500,3217],{"class":3134},[2964,5502,5503],{"class":2966,"line":3138},[2964,5504,3242],{"emptyLinePlaceholder":1196},[2964,5506,5507,5509,5512,5515,5518,5520,5522,5524,5526,5528,5531,5535,5537,5539],{"class":2966,"line":3151},[2964,5508,5364],{"class":3126},[2964,5510,5511],{"class":3134},"\u003Ctypeof",[2964,5513,5514],{"class":3130}," useState",[2964,5516,5517],{"class":3134},">",[2964,5519,3131],{"class":3130},[2964,5521,3159],{"class":3134},[2964,5523,619],{"class":2973},[2964,5525,3159],{"class":3134},[2964,5527,3837],{"class":3134},[2964,5529,5530],{"class":3134}," (",[2964,5532,5534],{"class":5533},"s1nJG","original",[2964,5536,3520],{"class":3134},[2964,5538,3844],{"class":3843},[2964,5540,3264],{"class":3134},[2964,5542,5543,5545,5548,5551,5553,5555],{"class":2966,"line":3165},[2964,5544,5425],{"class":3119},[2964,5546,5547],{"class":3134}," (...",[2964,5549,5550],{"class":5533},"args",[2964,5552,3520],{"class":3134},[2964,5554,3844],{"class":3843},[2964,5556,3264],{"class":3134},[2964,5558,5559,5561,5563,5566,5568,5570,5572,5575,5577,5579,5581,5583,5585,5587,5590,5592],{"class":2966,"line":3173},[2964,5560,5436],{"class":3119},[2964,5562,3199],{"class":3134},[2964,5564,5565],{"class":3134}," ...",[2964,5567,5534],{"class":3126},[2964,5569,3131],{"class":3141},[2964,5571,3159],{"class":3134},[2964,5573,5574],{"class":2973},"some-key",[2964,5576,3159],{"class":3134},[2964,5578,3520],{"class":3141},[2964,5580,3837],{"class":3134},[2964,5582,5441],{"class":3141},[2964,5584,3145],{"class":3134},[2964,5586,3211],{"class":3134},[2964,5588,5589],{"class":2973},"mocked state",[2964,5591,3159],{"class":3134},[2964,5593,5453],{"class":3134},[2964,5595,5596],{"class":2966,"line":3267},[2964,5597,5458],{"class":3134},[2964,5599,5600,5602],{"class":2966,"line":3277},[2964,5601,3176],{"class":3134},[2964,5603,3179],{"class":3130},[2964,5605,5606],{"class":2966,"line":3283},[2964,5607,3242],{"emptyLinePlaceholder":1196},[2964,5609,5610],{"class":2966,"line":3293},[2964,5611,5612],{"class":3708},"\u002F\u002F or specify the target to mock\n",[2964,5614,5615,5617,5620,5622,5624,5626,5628,5630],{"class":2966,"line":3310},[2964,5616,5364],{"class":3126},[2964,5618,5619],{"class":3130},"(useState",[2964,5621,3837],{"class":3134},[2964,5623,5530],{"class":3134},[2964,5625,5534],{"class":5533},[2964,5627,3520],{"class":3134},[2964,5629,3844],{"class":3843},[2964,5631,3264],{"class":3134},[2964,5633,5634,5636,5638,5640,5642,5644],{"class":2966,"line":3333},[2964,5635,5425],{"class":3119},[2964,5637,5547],{"class":3134},[2964,5639,5550],{"class":5533},[2964,5641,3520],{"class":3134},[2964,5643,3844],{"class":3843},[2964,5645,3264],{"class":3134},[2964,5647,5648,5650,5652,5654,5656,5658,5660,5662,5664,5666,5668,5670,5672,5674,5676,5678],{"class":2966,"line":3350},[2964,5649,5436],{"class":3119},[2964,5651,3199],{"class":3134},[2964,5653,5565],{"class":3134},[2964,5655,5534],{"class":3126},[2964,5657,3131],{"class":3141},[2964,5659,3159],{"class":3134},[2964,5661,5574],{"class":2973},[2964,5663,3159],{"class":3134},[2964,5665,3520],{"class":3141},[2964,5667,3837],{"class":3134},[2964,5669,5441],{"class":3141},[2964,5671,3145],{"class":3134},[2964,5673,3211],{"class":3134},[2964,5675,5589],{"class":2973},[2964,5677,3159],{"class":3134},[2964,5679,5453],{"class":3134},[2964,5681,5682],{"class":2966,"line":3356},[2964,5683,5458],{"class":3134},[2964,5685,5686,5688],{"class":2966,"line":3362},[2964,5687,3176],{"class":3134},[2964,5689,3179],{"class":3130},[2964,5691,5692],{"class":2966,"line":3367},[2964,5693,3242],{"emptyLinePlaceholder":1196},[2964,5695,5696],{"class":2966,"line":3376},[2964,5697,5473],{"class":3708},[4389,5699,5700],{},[2870,5701,5702,5704,5705,2918,5708,5710,5711,2877],{},[2882,5703,5364],{}," can only be used once per mocked import per test file. It is actually a macro that gets transformed to ",[2882,5706,5707],{},"vi.mock",[2882,5709,5707],{}," is hoisted, as described ",[2874,5712,5715],{"href":5713,"rel":5714},"https:\u002F\u002Fvitest.dev\u002Fapi\u002Fvi#vi-mock",[2890],"in the Vitest docs",[2870,5717,5718,5719,5726,5727,5729,5730,5735],{},"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,5720,5723],{"href":5721,"rel":5722},"https:\u002F\u002Fvitest.dev\u002Fapi\u002Fvi#vi-hoisted",[2890],[2882,5724,5725],{},"vi.hoisted",", and then use those mocks in ",[2882,5728,5364],{},". You then have access to the mocked imports, and can change the implementation between tests. Be careful to ",[2874,5731,5734],{"href":5732,"rel":5733},"https:\u002F\u002Fvitest.dev\u002Fapi\u002Fmock#mockrestore",[2890],"restore mocks"," before or after each test to undo mock state changes between runs.",[2954,5737,5739],{"className":3109,"code":5738,"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,5740,5741,5760,5778,5782,5812,5818,5840,5859,5868,5872,5878,5882,5902,5909,5915,5919,5924,5942,5961],{"__ignoreMap":2960},[2964,5742,5743,5745,5747,5750,5752,5754,5756,5758],{"class":2966,"line":2967},[2964,5744,3196],{"class":3119},[2964,5746,3199],{"class":3134},[2964,5748,5749],{"class":3130}," vi",[2964,5751,3205],{"class":3134},[2964,5753,3208],{"class":3119},[2964,5755,3211],{"class":3134},[2964,5757,2927],{"class":2973},[2964,5759,3217],{"class":3134},[2964,5761,5762,5764,5766,5768,5770,5772,5774,5776],{"class":2966,"line":3138},[2964,5763,3196],{"class":3119},[2964,5765,3199],{"class":3134},[2964,5767,5386],{"class":3130},[2964,5769,3205],{"class":3134},[2964,5771,3208],{"class":3119},[2964,5773,3211],{"class":3134},[2964,5775,4540],{"class":2973},[2964,5777,3217],{"class":3134},[2964,5779,5780],{"class":2966,"line":3151},[2964,5781,3242],{"emptyLinePlaceholder":1196},[2964,5783,5784,5787,5789,5792,5794,5796,5798,5800,5803,5805,5808,5810],{"class":2966,"line":3165},[2964,5785,5786],{"class":3843},"const",[2964,5788,3199],{"class":3134},[2964,5790,5791],{"class":3130}," useStateMock ",[2964,5793,3176],{"class":3134},[2964,5795,4600],{"class":3134},[2964,5797,5749],{"class":3130},[2964,5799,2877],{"class":3134},[2964,5801,5802],{"class":3126},"hoisted",[2964,5804,3131],{"class":3130},[2964,5806,5807],{"class":3134},"()",[2964,5809,3844],{"class":3843},[2964,5811,3264],{"class":3134},[2964,5813,5814,5816],{"class":2966,"line":3173},[2964,5815,5425],{"class":3119},[2964,5817,3264],{"class":3134},[2964,5819,5820,5823,5825,5827,5829,5832,5834,5836,5838],{"class":2966,"line":3267},[2964,5821,5822],{"class":3141},"    useStateMock",[2964,5824,3145],{"class":3134},[2964,5826,5749],{"class":3130},[2964,5828,2877],{"class":3134},[2964,5830,5831],{"class":3126},"fn",[2964,5833,3131],{"class":3141},[2964,5835,5807],{"class":3134},[2964,5837,3844],{"class":3843},[2964,5839,3264],{"class":3134},[2964,5841,5842,5845,5847,5849,5851,5853,5855,5857],{"class":2966,"line":3277},[2964,5843,5844],{"class":3119},"      return",[2964,5846,3199],{"class":3134},[2964,5848,5441],{"class":3141},[2964,5850,3145],{"class":3134},[2964,5852,3211],{"class":3134},[2964,5854,5448],{"class":2973},[2964,5856,3159],{"class":3134},[2964,5858,5453],{"class":3134},[2964,5860,5861,5864,5866],{"class":2966,"line":3283},[2964,5862,5863],{"class":3134},"    }",[2964,5865,3520],{"class":3141},[2964,5867,3162],{"class":3134},[2964,5869,5870],{"class":2966,"line":3293},[2964,5871,5458],{"class":3134},[2964,5873,5874,5876],{"class":2966,"line":3310},[2964,5875,3176],{"class":3134},[2964,5877,3179],{"class":3130},[2964,5879,5880],{"class":2966,"line":3333},[2964,5881,3242],{"emptyLinePlaceholder":1196},[2964,5883,5884,5886,5888,5890,5892,5894,5896,5898,5900],{"class":2966,"line":3350},[2964,5885,5364],{"class":3126},[2964,5887,3131],{"class":3130},[2964,5889,3159],{"class":3134},[2964,5891,619],{"class":2973},[2964,5893,3159],{"class":3134},[2964,5895,3837],{"class":3134},[2964,5897,3840],{"class":3134},[2964,5899,3844],{"class":3843},[2964,5901,3264],{"class":3134},[2964,5903,5904,5906],{"class":2966,"line":3356},[2964,5905,5425],{"class":3119},[2964,5907,5908],{"class":3130}," useStateMock\n",[2964,5910,5911,5913],{"class":2966,"line":3362},[2964,5912,3176],{"class":3134},[2964,5914,3179],{"class":3130},[2964,5916,5917],{"class":2966,"line":3367},[2964,5918,3242],{"emptyLinePlaceholder":1196},[2964,5920,5921],{"class":2966,"line":3376},[2964,5922,5923],{"class":3708},"\u002F\u002F Then, inside a test\n",[2964,5925,5926,5929,5931,5934,5936,5938,5940],{"class":2966,"line":3392},[2964,5927,5928],{"class":3130},"useStateMock",[2964,5930,2877],{"class":3134},[2964,5932,5933],{"class":3126},"mockImplementation",[2964,5935,3131],{"class":3130},[2964,5937,5807],{"class":3134},[2964,5939,3844],{"class":3843},[2964,5941,3264],{"class":3134},[2964,5943,5944,5946,5948,5950,5952,5954,5957,5959],{"class":2966,"line":3412},[2964,5945,5425],{"class":3119},[2964,5947,3199],{"class":3134},[2964,5949,5441],{"class":3141},[2964,5951,3145],{"class":3134},[2964,5953,3211],{"class":3134},[2964,5955,5956],{"class":2973},"something else",[2964,5958,3159],{"class":3134},[2964,5960,5453],{"class":3134},[2964,5962,5963,5965],{"class":2966,"line":3427},[2964,5964,3176],{"class":3134},[2964,5966,3179],{"class":3130},[2870,5968,5969],{},"If you need to mock behavior only inside a test, you can also use the following approach.",[2954,5971,5973],{"className":3109,"code":5972,"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,5974,5975,5998,6016,6020,6043,6047,6060,6072,6078,6082,6086,6116,6133,6182],{"__ignoreMap":2960},[2964,5976,5977,5979,5981,5984,5986,5988,5990,5992,5994,5996],{"class":2966,"line":2967},[2964,5978,3196],{"class":3119},[2964,5980,3199],{"class":3134},[2964,5982,5983],{"class":3130}," beforeEach",[2964,5985,3837],{"class":3134},[2964,5987,5749],{"class":3130},[2964,5989,3205],{"class":3134},[2964,5991,3208],{"class":3119},[2964,5993,3211],{"class":3134},[2964,5995,2927],{"class":2973},[2964,5997,3217],{"class":3134},[2964,5999,6000,6002,6004,6006,6008,6010,6012,6014],{"class":2966,"line":3138},[2964,6001,3196],{"class":3119},[2964,6003,3199],{"class":3134},[2964,6005,5386],{"class":3130},[2964,6007,3205],{"class":3134},[2964,6009,3208],{"class":3119},[2964,6011,3211],{"class":3134},[2964,6013,4540],{"class":2973},[2964,6015,3217],{"class":3134},[2964,6017,6018],{"class":2966,"line":3151},[2964,6019,3242],{"emptyLinePlaceholder":1196},[2964,6021,6022,6024,6027,6029,6032,6034,6036,6038,6040],{"class":2966,"line":3165},[2964,6023,5364],{"class":3126},[2964,6025,6026],{"class":3130},"(useRoute",[2964,6028,3837],{"class":3134},[2964,6030,6031],{"class":5533}," original",[2964,6033,3844],{"class":3843},[2964,6035,5749],{"class":3130},[2964,6037,2877],{"class":3134},[2964,6039,5831],{"class":3126},[2964,6041,6042],{"class":3130},"(original))\n",[2964,6044,6045],{"class":2966,"line":3173},[2964,6046,3242],{"emptyLinePlaceholder":1196},[2964,6048,6049,6052,6054,6056,6058],{"class":2966,"line":3267},[2964,6050,6051],{"class":3126},"beforeEach",[2964,6053,3131],{"class":3130},[2964,6055,5807],{"class":3134},[2964,6057,3844],{"class":3843},[2964,6059,3264],{"class":3134},[2964,6061,6062,6065,6067,6070],{"class":2966,"line":3277},[2964,6063,6064],{"class":3130},"  vi",[2964,6066,2877],{"class":3134},[2964,6068,6069],{"class":3126},"resetAllMocks",[2964,6071,5149],{"class":3141},[2964,6073,6074,6076],{"class":2966,"line":3283},[2964,6075,3176],{"class":3134},[2964,6077,3179],{"class":3130},[2964,6079,6080],{"class":2966,"line":3293},[2964,6081,3242],{"emptyLinePlaceholder":1196},[2964,6083,6084],{"class":2966,"line":3310},[2964,6085,5923],{"class":3708},[2964,6087,6088,6090,6093,6096,6098,6100,6103,6106,6108,6111,6113],{"class":2966,"line":3333},[2964,6089,5786],{"class":3843},[2964,6091,6092],{"class":3130}," useRouteOriginal ",[2964,6094,6095],{"class":3134},"=",[2964,6097,5749],{"class":3130},[2964,6099,2877],{"class":3134},[2964,6101,6102],{"class":3126},"mocked",[2964,6104,6105],{"class":3130},"(useRoute)",[2964,6107,2877],{"class":3134},[2964,6109,6110],{"class":3126},"getMockImplementation",[2964,6112,5807],{"class":3130},[2964,6114,6115],{"class":3134},"!\n",[2964,6117,6118,6121,6123,6125,6127,6129,6131],{"class":2966,"line":3350},[2964,6119,6120],{"class":3130},"vi",[2964,6122,2877],{"class":3134},[2964,6124,6102],{"class":3126},[2964,6126,6105],{"class":3130},[2964,6128,2877],{"class":3134},[2964,6130,5933],{"class":3126},[2964,6132,4638],{"class":3130},[2964,6134,6135,6138,6140,6142,6144,6146,6149,6151,6154,6156,6159,6162,6164,6167,6169,6171,6174,6176,6178,6180],{"class":2966,"line":3356},[2964,6136,6137],{"class":3134},"  (...",[2964,6139,5550],{"class":5533},[2964,6141,3520],{"class":3134},[2964,6143,3844],{"class":3843},[2964,6145,5530],{"class":3130},[2964,6147,6148],{"class":3134},"{",[2964,6150,5565],{"class":3134},[2964,6152,6153],{"class":3126},"useRouteOriginal",[2964,6155,3131],{"class":3130},[2964,6157,6158],{"class":3134},"...",[2964,6160,6161],{"class":3130},"args)",[2964,6163,3837],{"class":3134},[2964,6165,6166],{"class":3141}," path",[2964,6168,3145],{"class":3134},[2964,6170,3211],{"class":3134},[2964,6172,6173],{"class":2973},"\u002Fmocked",[2964,6175,3159],{"class":3134},[2964,6177,3205],{"class":3134},[2964,6179,3520],{"class":3130},[2964,6181,3162],{"class":3134},[2964,6183,6184],{"class":2966,"line":3362},[2964,6185,3179],{"class":3130},[3614,6187,6189],{"id":6188},"mockcomponent",[2882,6190,6191],{},"mockComponent",[2870,6193,6194,6196],{},[2882,6195,6191],{}," 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,6198,6199,6200,6203],{},"For example, to mock ",[2882,6201,6202],{},"MyComponent",", you can:",[2954,6205,6207],{"className":3109,"code":6206,"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,6208,6209,6228,6232,6248,6257,6269,6273,6287,6292,6296,6302,6306,6311,6332,6337,6348,6361,6366,6370,6377,6383,6387,6392,6425,6429],{"__ignoreMap":2960},[2964,6210,6211,6213,6215,6218,6220,6222,6224,6226],{"class":2966,"line":2967},[2964,6212,3196],{"class":3119},[2964,6214,3199],{"class":3134},[2964,6216,6217],{"class":3130}," mockComponent",[2964,6219,3205],{"class":3134},[2964,6221,3208],{"class":3119},[2964,6223,3211],{"class":3134},[2964,6225,4540],{"class":2973},[2964,6227,3217],{"class":3134},[2964,6229,6230],{"class":2966,"line":3138},[2964,6231,3242],{"emptyLinePlaceholder":1196},[2964,6233,6234,6236,6238,6240,6242,6244,6246],{"class":2966,"line":3151},[2964,6235,6191],{"class":3126},[2964,6237,3131],{"class":3130},[2964,6239,3159],{"class":3134},[2964,6241,6202],{"class":2973},[2964,6243,3159],{"class":3134},[2964,6245,3837],{"class":3134},[2964,6247,3264],{"class":3134},[2964,6249,6250,6253,6255],{"class":2966,"line":3165},[2964,6251,6252],{"class":3141},"  props",[2964,6254,3145],{"class":3134},[2964,6256,3264],{"class":3134},[2964,6258,6259,6262,6264,6267],{"class":2966,"line":3173},[2964,6260,6261],{"class":3141},"    value",[2964,6263,3145],{"class":3134},[2964,6265,6266],{"class":3130}," String",[2964,6268,3162],{"class":3134},[2964,6270,6271],{"class":2966,"line":3267},[2964,6272,3536],{"class":3134},[2964,6274,6275,6278,6280,6283,6285],{"class":2966,"line":3277},[2964,6276,6277],{"class":3141},"  setup",[2964,6279,5530],{"class":3134},[2964,6281,6282],{"class":5533},"props",[2964,6284,3520],{"class":3134},[2964,6286,3264],{"class":3134},[2964,6288,6289],{"class":2966,"line":3283},[2964,6290,6291],{"class":3708},"    \u002F\u002F ...\n",[2964,6293,6294],{"class":2966,"line":3293},[2964,6295,3536],{"class":3134},[2964,6297,6298,6300],{"class":2966,"line":3310},[2964,6299,3176],{"class":3134},[2964,6301,3179],{"class":3130},[2964,6303,6304],{"class":2966,"line":3333},[2964,6305,3242],{"emptyLinePlaceholder":1196},[2964,6307,6308],{"class":2966,"line":3350},[2964,6309,6310],{"class":3708},"\u002F\u002F relative path or alias also works\n",[2964,6312,6313,6315,6317,6319,6322,6324,6326,6328,6330],{"class":2966,"line":3356},[2964,6314,6191],{"class":3126},[2964,6316,3131],{"class":3130},[2964,6318,3159],{"class":3134},[2964,6320,6321],{"class":2973},"~\u002Fcomponents\u002Fmy-component.vue",[2964,6323,3159],{"class":3134},[2964,6325,3837],{"class":3134},[2964,6327,3840],{"class":3134},[2964,6329,3844],{"class":3843},[2964,6331,3264],{"class":3134},[2964,6333,6334],{"class":2966,"line":3362},[2964,6335,6336],{"class":3708},"  \u002F\u002F or a factory function\n",[2964,6338,6339,6341,6344,6346],{"class":2966,"line":3367},[2964,6340,5425],{"class":3119},[2964,6342,6343],{"class":3126}," defineComponent",[2964,6345,3131],{"class":3141},[2964,6347,3135],{"class":3134},[2964,6349,6350,6353,6355,6357,6359],{"class":2966,"line":3376},[2964,6351,6352],{"class":3141},"    setup ",[2964,6354,3131],{"class":3134},[2964,6356,6282],{"class":5533},[2964,6358,3520],{"class":3134},[2964,6360,3264],{"class":3134},[2964,6362,6363],{"class":2966,"line":3392},[2964,6364,6365],{"class":3708},"      \u002F\u002F ...\n",[2964,6367,6368],{"class":2966,"line":3412},[2964,6369,4066],{"class":3134},[2964,6371,6372,6375],{"class":2966,"line":3427},[2964,6373,6374],{"class":3134},"  }",[2964,6376,3179],{"class":3141},[2964,6378,6379,6381],{"class":2966,"line":3432},[2964,6380,3176],{"class":3134},[2964,6382,3179],{"class":3130},[2964,6384,6385],{"class":2966,"line":3437},[2964,6386,3242],{"emptyLinePlaceholder":1196},[2964,6388,6389],{"class":2966,"line":3449},[2964,6390,6391],{"class":3708},"\u002F\u002F or you can use SFC for redirecting to a mock component\n",[2964,6393,6394,6396,6398,6400,6402,6404,6406,6408,6410,6413,6415,6417,6420,6422],{"class":2966,"line":3458},[2964,6395,6191],{"class":3126},[2964,6397,3131],{"class":3130},[2964,6399,3159],{"class":3134},[2964,6401,6202],{"class":2973},[2964,6403,3159],{"class":3134},[2964,6405,3837],{"class":3134},[2964,6407,3840],{"class":3134},[2964,6409,3844],{"class":3843},[2964,6411,6412],{"class":3134}," import",[2964,6414,3131],{"class":3130},[2964,6416,3159],{"class":3134},[2964,6418,6419],{"class":2973},".\u002FMockComponent.vue",[2964,6421,3159],{"class":3134},[2964,6423,6424],{"class":3130},"))\n",[2964,6426,6427],{"class":2966,"line":3474},[2964,6428,3242],{"emptyLinePlaceholder":1196},[2964,6430,6431],{"class":2966,"line":3494},[2964,6432,5473],{"class":3708},[3560,6434,6435],{},[2870,6436,6437,6440],{},[3595,6438,6439],{},"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,6442,6444],{"className":3109,"code":6443,"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,6445,6446,6464,6468,6490,6522,6526,6536,6548,6568,6601,6605,6611],{"__ignoreMap":2960},[2964,6447,6448,6450,6452,6454,6456,6458,6460,6462],{"class":2966,"line":2967},[2964,6449,3196],{"class":3119},[2964,6451,3199],{"class":3134},[2964,6453,6217],{"class":3130},[2964,6455,3205],{"class":3134},[2964,6457,3208],{"class":3119},[2964,6459,3211],{"class":3134},[2964,6461,4540],{"class":2973},[2964,6463,3217],{"class":3134},[2964,6465,6466],{"class":2966,"line":3138},[2964,6467,3242],{"emptyLinePlaceholder":1196},[2964,6469,6470,6472,6474,6476,6478,6480,6482,6484,6486,6488],{"class":2966,"line":3151},[2964,6471,6191],{"class":3126},[2964,6473,3131],{"class":3130},[2964,6475,3159],{"class":3134},[2964,6477,6202],{"class":2973},[2964,6479,3159],{"class":3134},[2964,6481,3837],{"class":3134},[2964,6483,4583],{"class":3843},[2964,6485,3840],{"class":3134},[2964,6487,3844],{"class":3843},[2964,6489,3264],{"class":3134},[2964,6491,6492,6494,6496,6499,6501,6504,6506,6508,6510,6512,6514,6516,6518,6520],{"class":2966,"line":3165},[2964,6493,4594],{"class":3843},[2964,6495,3199],{"class":3134},[2964,6497,6498],{"class":3130}," ref",[2964,6500,3837],{"class":3134},[2964,6502,6503],{"class":3130}," h",[2964,6505,3205],{"class":3134},[2964,6507,4600],{"class":3134},[2964,6509,4603],{"class":3119},[2964,6511,6412],{"class":3134},[2964,6513,3131],{"class":3141},[2964,6515,3159],{"class":3134},[2964,6517,4468],{"class":2973},[2964,6519,3159],{"class":3134},[2964,6521,3179],{"class":3141},[2964,6523,6524],{"class":2966,"line":3173},[2964,6525,3242],{"emptyLinePlaceholder":1196},[2964,6527,6528,6530,6532,6534],{"class":2966,"line":3267},[2964,6529,5425],{"class":3119},[2964,6531,6343],{"class":3126},[2964,6533,3131],{"class":3141},[2964,6535,3135],{"class":3134},[2964,6537,6538,6540,6542,6544,6546],{"class":2966,"line":3277},[2964,6539,6352],{"class":3141},[2964,6541,3131],{"class":3134},[2964,6543,6282],{"class":5533},[2964,6545,3520],{"class":3134},[2964,6547,3264],{"class":3134},[2964,6549,6550,6553,6556,6558,6560,6562,6566],{"class":2966,"line":3283},[2964,6551,6552],{"class":3843},"      const",[2964,6554,6555],{"class":3130}," counter",[2964,6557,4600],{"class":3134},[2964,6559,6498],{"class":3126},[2964,6561,3131],{"class":3141},[2964,6563,6565],{"class":6564},"sYRBq","0",[2964,6567,3179],{"class":3141},[2964,6569,6570,6572,6574,6576,6578,6580,6582,6585,6587,6589,6592,6594,6596,6599],{"class":2966,"line":3293},[2964,6571,5844],{"class":3119},[2964,6573,3840],{"class":3134},[2964,6575,3844],{"class":3843},[2964,6577,6503],{"class":3126},[2964,6579,3131],{"class":3141},[2964,6581,3159],{"class":3134},[2964,6583,6584],{"class":2973},"div",[2964,6586,3159],{"class":3134},[2964,6588,3837],{"class":3134},[2964,6590,6591],{"class":3134}," null,",[2964,6593,6555],{"class":3130},[2964,6595,2877],{"class":3134},[2964,6597,6598],{"class":3130},"value",[2964,6600,3179],{"class":3141},[2964,6602,6603],{"class":2966,"line":3310},[2964,6604,4066],{"class":3134},[2964,6606,6607,6609],{"class":2966,"line":3333},[2964,6608,6374],{"class":3134},[2964,6610,3179],{"class":3141},[2964,6612,6613,6615],{"class":2966,"line":3350},[2964,6614,3176],{"class":3134},[2964,6616,3179],{"class":3130},[3614,6618,6620],{"id":6619},"registerendpoint",[2882,6621,6622],{},"registerEndpoint",[2870,6624,6625,6627],{},[2882,6626,6622],{}," 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,6629,6630,6631,6634],{},"The first argument is the endpoint name (e.g. ",[2882,6632,6633],{},"\u002Ftest\u002F",").\nThe second argument is a factory function that returns the mocked data.",[2870,6636,6199,6637,6639],{},[2882,6638,6633],{}," endpoint, you can do:",[2954,6641,6643],{"className":3109,"code":6642,"language":3111,"meta":3112,"style":2960},"import { registerEndpoint } from '@nuxt\u002Ftest-utils\u002Fruntime'\n\nregisterEndpoint('\u002Ftest\u002F', () => ({\n  test: 'test-field',\n}))\n",[2882,6644,6645,6664,6668,6690,6705],{"__ignoreMap":2960},[2964,6646,6647,6649,6651,6654,6656,6658,6660,6662],{"class":2966,"line":2967},[2964,6648,3196],{"class":3119},[2964,6650,3199],{"class":3134},[2964,6652,6653],{"class":3130}," registerEndpoint",[2964,6655,3205],{"class":3134},[2964,6657,3208],{"class":3119},[2964,6659,3211],{"class":3134},[2964,6661,4540],{"class":2973},[2964,6663,3217],{"class":3134},[2964,6665,6666],{"class":2966,"line":3138},[2964,6667,3242],{"emptyLinePlaceholder":1196},[2964,6669,6670,6672,6674,6676,6678,6680,6682,6684,6686,6688],{"class":2966,"line":3151},[2964,6671,6622],{"class":3126},[2964,6673,3131],{"class":3130},[2964,6675,3159],{"class":3134},[2964,6677,6633],{"class":2973},[2964,6679,3159],{"class":3134},[2964,6681,3837],{"class":3134},[2964,6683,3840],{"class":3134},[2964,6685,3844],{"class":3843},[2964,6687,5530],{"class":3130},[2964,6689,3135],{"class":3134},[2964,6691,6692,6694,6696,6698,6701,6703],{"class":2966,"line":3165},[2964,6693,3259],{"class":3141},[2964,6695,3145],{"class":3134},[2964,6697,3211],{"class":3134},[2964,6699,6700],{"class":2973},"test-field",[2964,6702,3159],{"class":3134},[2964,6704,3162],{"class":3134},[2964,6706,6707,6709],{"class":2966,"line":3173},[2964,6708,3176],{"class":3134},[2964,6710,6424],{"class":3130},[2870,6712,6713,6714,6717],{},"By default, your request will be made using the ",[2882,6715,6716],{},"GET"," method. You may use another method by setting an object as the second argument instead of a function.",[2954,6719,6721],{"className":3109,"code":6720,"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,6722,6723,6741,6745,6761,6777,6808],{"__ignoreMap":2960},[2964,6724,6725,6727,6729,6731,6733,6735,6737,6739],{"class":2966,"line":2967},[2964,6726,3196],{"class":3119},[2964,6728,3199],{"class":3134},[2964,6730,6653],{"class":3130},[2964,6732,3205],{"class":3134},[2964,6734,3208],{"class":3119},[2964,6736,3211],{"class":3134},[2964,6738,4540],{"class":2973},[2964,6740,3217],{"class":3134},[2964,6742,6743],{"class":2966,"line":3138},[2964,6744,3242],{"emptyLinePlaceholder":1196},[2964,6746,6747,6749,6751,6753,6755,6757,6759],{"class":2966,"line":3151},[2964,6748,6622],{"class":3126},[2964,6750,3131],{"class":3130},[2964,6752,3159],{"class":3134},[2964,6754,6633],{"class":2973},[2964,6756,3159],{"class":3134},[2964,6758,3837],{"class":3134},[2964,6760,3264],{"class":3134},[2964,6762,6763,6766,6768,6770,6773,6775],{"class":2966,"line":3165},[2964,6764,6765],{"class":3141},"  method",[2964,6767,3145],{"class":3134},[2964,6769,3211],{"class":3134},[2964,6771,6772],{"class":2973},"POST",[2964,6774,3159],{"class":3134},[2964,6776,3162],{"class":3134},[2964,6778,6779,6782,6784,6786,6788,6790,6792,6794,6796,6798,6800,6802,6804,6806],{"class":2966,"line":3173},[2964,6780,6781],{"class":3126},"  handler",[2964,6783,3145],{"class":3134},[2964,6785,3840],{"class":3134},[2964,6787,3844],{"class":3843},[2964,6789,5530],{"class":3130},[2964,6791,6148],{"class":3134},[2964,6793,3806],{"class":3141},[2964,6795,3145],{"class":3134},[2964,6797,3211],{"class":3134},[2964,6799,6700],{"class":2973},[2964,6801,3159],{"class":3134},[2964,6803,3205],{"class":3134},[2964,6805,3520],{"class":3130},[2964,6807,3162],{"class":3134},[2964,6809,6810,6812],{"class":2966,"line":3267},[2964,6811,3176],{"class":3134},[2964,6813,3179],{"class":3130},[2870,6815,6816],{},"This object accepts the following properties:",[2909,6818,6819,6825,6831],{},[2912,6820,6821,6824],{},[2882,6822,6823],{},"handler",": the event handler function",[2912,6826,6827,6830],{},[2882,6828,6829],{},"method",": (optional) HTTP method to match (e.g., 'GET', 'POST')",[2912,6832,6833,6836],{},[2882,6834,6835],{},"once",": (optional) if true, the handler will only be used for the first matching request and then automatically removed",[3560,6838,6839],{},[2870,6840,6841,6843,6844,6847,6848,5530,6852,6855],{},[3595,6842,6439],{},": If your requests in a component go to an external API, you can use ",[2882,6845,6846],{},"baseURL"," and then make it empty using ",[2874,6849,6851],{"href":6850},"\u002Fdocs\u002F4.x\u002Fgetting-started\u002Fconfiguration#environment-overrides","Nuxt Environment Override Config",[2882,6853,6854],{},"$test",") so all your requests will go to Nitro server.",[3614,6857,6859],{"id":6858},"conflict-with-end-to-end-testing","Conflict with End-To-End Testing",[2870,6861,6862,2918,6864,6867],{},[2882,6863,4540],{},[2882,6865,6866],{},"@nuxt\u002Ftest-utils\u002Fe2e"," need to run in different testing environments and so can't be used in the same file.",[2870,6869,6870,6871,6873,6874,6877,6878,6881],{},"If you would like to use both the end-to-end and unit testing functionality of ",[2882,6872,2884],{},", you can split your tests into separate files. You then either specify a test environment per-file with the special ",[2882,6875,6876],{},"\u002F\u002F @vitest-environment nuxt"," comment, or name your runtime unit test files with the ",[2882,6879,6880],{},".nuxt.spec.ts"," extension.",[2870,6883,6884],{},[2882,6885,6886],{},"app.nuxt.spec.ts",[2954,6888,6890],{"className":3109,"code":6889,"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,6891,6892,6910,6914,6934,6944,6962,6966],{"__ignoreMap":2960},[2964,6893,6894,6896,6898,6900,6902,6904,6906,6908],{"class":2966,"line":2967},[2964,6895,3196],{"class":3119},[2964,6897,3199],{"class":3134},[2964,6899,5386],{"class":3130},[2964,6901,3205],{"class":3134},[2964,6903,3208],{"class":3119},[2964,6905,3211],{"class":3134},[2964,6907,4540],{"class":2973},[2964,6909,3217],{"class":3134},[2964,6911,6912],{"class":2966,"line":3138},[2964,6913,3242],{"emptyLinePlaceholder":1196},[2964,6915,6916,6918,6920,6922,6924,6926,6928,6930,6932],{"class":2966,"line":3151},[2964,6917,5364],{"class":3126},[2964,6919,3131],{"class":3130},[2964,6921,3159],{"class":3134},[2964,6923,619],{"class":2973},[2964,6925,3159],{"class":3134},[2964,6927,3837],{"class":3134},[2964,6929,3840],{"class":3134},[2964,6931,3844],{"class":3843},[2964,6933,3264],{"class":3134},[2964,6935,6936,6938,6940,6942],{"class":2966,"line":3165},[2964,6937,5425],{"class":3119},[2964,6939,3840],{"class":3134},[2964,6941,3844],{"class":3843},[2964,6943,3264],{"class":3134},[2964,6945,6946,6948,6950,6952,6954,6956,6958,6960],{"class":2966,"line":3173},[2964,6947,5436],{"class":3119},[2964,6949,3199],{"class":3134},[2964,6951,5441],{"class":3141},[2964,6953,3145],{"class":3134},[2964,6955,3211],{"class":3134},[2964,6957,5448],{"class":2973},[2964,6959,3159],{"class":3134},[2964,6961,5453],{"class":3134},[2964,6963,6964],{"class":2966,"line":3267},[2964,6965,5458],{"class":3134},[2964,6967,6968,6970],{"class":2966,"line":3277},[2964,6969,3176],{"class":3134},[2964,6971,3179],{"class":3130},[2870,6973,6974],{},[2882,6975,6976],{},"app.e2e.spec.ts",[2954,6978,6980],{"className":3109,"code":6979,"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,6981,6982,7006,7010,7021,7033,7039,7043],{"__ignoreMap":2960},[2964,6983,6984,6986,6988,6991,6993,6996,6998,7000,7002,7004],{"class":2966,"line":2967},[2964,6985,3196],{"class":3119},[2964,6987,3199],{"class":3134},[2964,6989,6990],{"class":3130}," $fetch",[2964,6992,3837],{"class":3134},[2964,6994,6995],{"class":3130}," setup",[2964,6997,3205],{"class":3134},[2964,6999,3208],{"class":3119},[2964,7001,3211],{"class":3134},[2964,7003,6866],{"class":2973},[2964,7005,3217],{"class":3134},[2964,7007,7008],{"class":2966,"line":3138},[2964,7009,3242],{"emptyLinePlaceholder":1196},[2964,7011,7012,7015,7017,7019],{"class":2966,"line":3151},[2964,7013,7014],{"class":3119},"await",[2964,7016,6995],{"class":3126},[2964,7018,3131],{"class":3130},[2964,7020,3135],{"class":3134},[2964,7022,7023,7026,7028,7031],{"class":2966,"line":3165},[2964,7024,7025],{"class":3141},"  setupTimeout",[2964,7027,3145],{"class":3134},[2964,7029,7030],{"class":6564}," 10000",[2964,7032,3162],{"class":3134},[2964,7034,7035,7037],{"class":2966,"line":3173},[2964,7036,3176],{"class":3134},[2964,7038,3179],{"class":3130},[2964,7040,7041],{"class":2966,"line":3267},[2964,7042,3242],{"emptyLinePlaceholder":1196},[2964,7044,7045],{"class":2966,"line":3277},[2964,7046,7047],{"class":3708},"\u002F\u002F ...\n",[3089,7049,3583,7051],{"id":7050},"using-vuetest-utils",[2882,7052,4403],{},[2870,7054,7055,7056,7058],{},"If you prefer to use ",[2882,7057,4403],{}," 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,7060,7061,7151,7258,7353,7407,7593],{},[2912,7062,7063,7064],{},"Install the needed dependencies",[2950,7065,7066,7088,7109,7130],{"sync":2952},[2954,7067,7069],{"className":2956,"code":7068,"filename":2958,"language":2959,"meta":2960,"style":2960},"npm i --save-dev vitest @vue\u002Ftest-utils happy-dom @vitejs\u002Fplugin-vue\n",[2882,7070,7071],{"__ignoreMap":2960},[2964,7072,7073,7075,7077,7079,7081,7083,7085],{"class":2966,"line":2967},[2964,7074,2958],{"class":2970},[2964,7076,2974],{"class":2973},[2964,7078,2977],{"class":2973},[2964,7080,2983],{"class":2973},[2964,7082,2986],{"class":2973},[2964,7084,2989],{"class":2973},[2964,7086,7087],{"class":2973}," @vitejs\u002Fplugin-vue\n",[2954,7089,7091],{"className":2956,"code":7090,"filename":2996,"language":2959,"meta":2960,"style":2960},"yarn add --dev vitest @vue\u002Ftest-utils happy-dom @vitejs\u002Fplugin-vue\n",[2882,7092,7093],{"__ignoreMap":2960},[2964,7094,7095,7097,7099,7101,7103,7105,7107],{"class":2966,"line":2967},[2964,7096,2996],{"class":2970},[2964,7098,3005],{"class":2973},[2964,7100,3008],{"class":2973},[2964,7102,2983],{"class":2973},[2964,7104,2986],{"class":2973},[2964,7106,2989],{"class":2973},[2964,7108,7087],{"class":2973},[2954,7110,7112],{"className":2956,"code":7111,"filename":3022,"language":2959,"meta":2960,"style":2960},"pnpm add -D vitest @vue\u002Ftest-utils happy-dom @vitejs\u002Fplugin-vue\n",[2882,7113,7114],{"__ignoreMap":2960},[2964,7115,7116,7118,7120,7122,7124,7126,7128],{"class":2966,"line":2967},[2964,7117,3022],{"class":2970},[2964,7119,3005],{"class":2973},[2964,7121,3033],{"class":2973},[2964,7123,2983],{"class":2973},[2964,7125,2986],{"class":2973},[2964,7127,2989],{"class":2973},[2964,7129,7087],{"class":2973},[2954,7131,7133],{"className":2956,"code":7132,"filename":3047,"language":2959,"meta":2960,"style":2960},"bun add --dev vitest @vue\u002Ftest-utils happy-dom @vitejs\u002Fplugin-vue\n",[2882,7134,7135],{"__ignoreMap":2960},[2964,7136,7137,7139,7141,7143,7145,7147,7149],{"class":2966,"line":2967},[2964,7138,3047],{"class":2970},[2964,7140,3005],{"class":2973},[2964,7142,3008],{"class":2973},[2964,7144,2983],{"class":2973},[2964,7146,2986],{"class":2973},[2964,7148,2989],{"class":2973},[2964,7150,7087],{"class":2973},[2912,7152,3182,7153,3186,7155],{},[2882,7154,3185],{},[2954,7156,7158],{"className":3109,"code":7157,"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,7159,7160,7178,7194,7198,7210,7226,7234,7248,7252],{"__ignoreMap":2960},[2964,7161,7162,7164,7166,7168,7170,7172,7174,7176],{"class":2966,"line":2967},[2964,7163,3196],{"class":3119},[2964,7165,3199],{"class":3134},[2964,7167,3202],{"class":3130},[2964,7169,3205],{"class":3134},[2964,7171,3208],{"class":3119},[2964,7173,3211],{"class":3134},[2964,7175,3214],{"class":2973},[2964,7177,3217],{"class":3134},[2964,7179,7180,7182,7185,7187,7189,7192],{"class":2966,"line":3138},[2964,7181,3196],{"class":3119},[2964,7183,7184],{"class":3130}," vue ",[2964,7186,4727],{"class":3119},[2964,7188,3211],{"class":3134},[2964,7190,7191],{"class":2973},"@vitejs\u002Fplugin-vue",[2964,7193,3217],{"class":3134},[2964,7195,7196],{"class":2966,"line":3151},[2964,7197,3242],{"emptyLinePlaceholder":1196},[2964,7199,7200,7202,7204,7206,7208],{"class":2966,"line":3165},[2964,7201,3120],{"class":3119},[2964,7203,3123],{"class":3119},[2964,7205,3202],{"class":3126},[2964,7207,3131],{"class":3130},[2964,7209,3135],{"class":3134},[2964,7211,7212,7215,7217,7219,7221,7224],{"class":2966,"line":3173},[2964,7213,7214],{"class":3141},"  plugins",[2964,7216,3145],{"class":3134},[2964,7218,3318],{"class":3130},[2964,7220,4468],{"class":3126},[2964,7222,7223],{"class":3130},"()]",[2964,7225,3162],{"class":3134},[2964,7227,7228,7230,7232],{"class":2966,"line":3267},[2964,7229,3259],{"class":3141},[2964,7231,3145],{"class":3134},[2964,7233,3264],{"class":3134},[2964,7235,7236,7238,7240,7242,7244,7246],{"class":2966,"line":3277},[2964,7237,3693],{"class":3141},[2964,7239,3145],{"class":3134},[2964,7241,3211],{"class":3134},[2964,7243,2917],{"class":2973},[2964,7245,3159],{"class":3134},[2964,7247,3162],{"class":3134},[2964,7249,7250],{"class":2966,"line":3283},[2964,7251,3536],{"class":3134},[2964,7253,7254,7256],{"class":2966,"line":3293},[2964,7255,3176],{"class":3134},[2964,7257,3179],{"class":3130},[2912,7259,7260,7261,7263],{},"Add a new command for test in your ",[2882,7262,237],{},[2954,7264,7268],{"className":7265,"code":7266,"language":7267,"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,7269,7270,7285,7306,7325,7330,7347],{"__ignoreMap":2960},[2964,7271,7272,7275,7278,7280,7283],{"class":2966,"line":2967},[2964,7273,7274],{"class":3134},"\"",[2964,7276,7277],{"class":2973},"scripts",[2964,7279,7274],{"class":3134},[2964,7281,7282],{"class":3130},": ",[2964,7284,3135],{"class":3134},[2964,7286,7287,7290,7293,7295,7297,7300,7302,7304],{"class":2966,"line":3138},[2964,7288,7289],{"class":3134},"  \"",[2964,7291,7292],{"class":3843},"build",[2964,7294,7274],{"class":3134},[2964,7296,3145],{"class":3134},[2964,7298,7299],{"class":3134}," \"",[2964,7301,761],{"class":2973},[2964,7303,7274],{"class":3134},[2964,7305,3162],{"class":3134},[2964,7307,7308,7310,7313,7315,7317,7319,7321,7323],{"class":2966,"line":3151},[2964,7309,7289],{"class":3134},[2964,7311,7312],{"class":3843},"dev",[2964,7314,7274],{"class":3134},[2964,7316,3145],{"class":3134},[2964,7318,7299],{"class":3134},[2964,7320,773],{"class":2973},[2964,7322,7274],{"class":3134},[2964,7324,3162],{"class":3134},[2964,7326,7327],{"class":2966,"line":3165},[2964,7328,7329],{"class":3130},"  ...\n",[2964,7331,7332,7334,7336,7338,7340,7342,7344],{"class":2966,"line":3173},[2964,7333,7289],{"class":3134},[2964,7335,3825],{"class":3843},[2964,7337,7274],{"class":3134},[2964,7339,3145],{"class":3134},[2964,7341,7299],{"class":3134},[2964,7343,2927],{"class":2973},[2964,7345,7346],{"class":3134},"\"\n",[2964,7348,7349,7351],{"class":2966,"line":3267},[2964,7350,3176],{"class":3134},[2964,7352,3162],{"class":3130},[2912,7354,7355,7356,7359,7360,3186,7363],{},"Create a simple ",[2882,7357,7358],{},"\u003CHelloWorld>"," component ",[2882,7361,7362],{},"app\u002Fcomponents\u002FHelloWorld.vue",[2954,7364,7367],{"className":7365,"code":7366,"language":4468,"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,7368,7369,7380,7399],{"__ignoreMap":2960},[2964,7370,7371,7374,7377],{"class":2966,"line":2967},[2964,7372,7373],{"class":3134},"\u003C",[2964,7375,7376],{"class":3141},"template",[2964,7378,7379],{"class":3134},">\n",[2964,7381,7382,7385,7387,7389,7392,7395,7397],{"class":2966,"line":3138},[2964,7383,7384],{"class":3134},"  \u003C",[2964,7386,2870],{"class":3141},[2964,7388,5517],{"class":3134},[2964,7390,7391],{"class":3130},"Hello world",[2964,7393,7394],{"class":3134},"\u003C\u002F",[2964,7396,2870],{"class":3141},[2964,7398,7379],{"class":3134},[2964,7400,7401,7403,7405],{"class":2966,"line":3151},[2964,7402,7394],{"class":3134},[2964,7404,7376],{"class":3141},[2964,7406,7379],{"class":3134},[2912,7408,7409,7410,7413],{},"Create a simple unit test for this newly created component ",[2882,7411,7412],{},"~\u002Fcomponents\u002FHelloWorld.spec.ts",[2954,7414,7416],{"className":3109,"code":7415,"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,7417,7418,7445,7464,7468,7484,7488,7510,7532,7550,7581,7587],{"__ignoreMap":2960},[2964,7419,7420,7422,7424,7427,7429,7431,7433,7435,7437,7439,7441,7443],{"class":2966,"line":2967},[2964,7421,3196],{"class":3119},[2964,7423,3199],{"class":3134},[2964,7425,7426],{"class":3130}," describe",[2964,7428,3837],{"class":3134},[2964,7430,4432],{"class":3130},[2964,7432,3837],{"class":3134},[2964,7434,4437],{"class":3130},[2964,7436,3205],{"class":3134},[2964,7438,3208],{"class":3119},[2964,7440,3211],{"class":3134},[2964,7442,2927],{"class":2973},[2964,7444,3217],{"class":3134},[2964,7446,7447,7449,7451,7454,7456,7458,7460,7462],{"class":2966,"line":3138},[2964,7448,3196],{"class":3119},[2964,7450,3199],{"class":3134},[2964,7452,7453],{"class":3130}," mount",[2964,7455,3205],{"class":3134},[2964,7457,3208],{"class":3119},[2964,7459,3211],{"class":3134},[2964,7461,4403],{"class":2973},[2964,7463,3217],{"class":3134},[2964,7465,7466],{"class":2966,"line":3151},[2964,7467,3242],{"emptyLinePlaceholder":1196},[2964,7469,7470,7472,7475,7477,7479,7482],{"class":2966,"line":3165},[2964,7471,3196],{"class":3119},[2964,7473,7474],{"class":3130}," HelloWorld ",[2964,7476,4727],{"class":3119},[2964,7478,3211],{"class":3134},[2964,7480,7481],{"class":2973},".\u002FHelloWorld.vue",[2964,7483,3217],{"class":3134},[2964,7485,7486],{"class":2966,"line":3173},[2964,7487,3242],{"emptyLinePlaceholder":1196},[2964,7489,7490,7493,7495,7497,7500,7502,7504,7506,7508],{"class":2966,"line":3267},[2964,7491,7492],{"class":3126},"describe",[2964,7494,3131],{"class":3130},[2964,7496,3159],{"class":3134},[2964,7498,7499],{"class":2973},"HelloWorld",[2964,7501,3159],{"class":3134},[2964,7503,3837],{"class":3134},[2964,7505,3840],{"class":3134},[2964,7507,3844],{"class":3843},[2964,7509,3264],{"class":3134},[2964,7511,7512,7515,7517,7519,7522,7524,7526,7528,7530],{"class":2966,"line":3277},[2964,7513,7514],{"class":3126},"  it",[2964,7516,3131],{"class":3141},[2964,7518,3159],{"class":3134},[2964,7520,7521],{"class":2973},"component renders Hello world properly",[2964,7523,3159],{"class":3134},[2964,7525,3837],{"class":3134},[2964,7527,3840],{"class":3134},[2964,7529,3844],{"class":3843},[2964,7531,3264],{"class":3134},[2964,7533,7534,7537,7540,7542,7544,7546,7548],{"class":2966,"line":3283},[2964,7535,7536],{"class":3843},"    const",[2964,7538,7539],{"class":3130}," wrapper",[2964,7541,4600],{"class":3134},[2964,7543,7453],{"class":3126},[2964,7545,3131],{"class":3141},[2964,7547,7499],{"class":3130},[2964,7549,3179],{"class":3141},[2964,7551,7552,7555,7557,7560,7562,7564,7566,7568,7571,7573,7575,7577,7579],{"class":2966,"line":3293},[2964,7553,7554],{"class":3126},"    expect",[2964,7556,3131],{"class":3141},[2964,7558,7559],{"class":3130},"wrapper",[2964,7561,2877],{"class":3134},[2964,7563,4627],{"class":3126},[2964,7565,4630],{"class":3141},[2964,7567,2877],{"class":3134},[2964,7569,7570],{"class":3126},"toContain",[2964,7572,3131],{"class":3141},[2964,7574,3159],{"class":3134},[2964,7576,7391],{"class":2973},[2964,7578,3159],{"class":3134},[2964,7580,3179],{"class":3141},[2964,7582,7583,7585],{"class":2966,"line":3310},[2964,7584,6374],{"class":3134},[2964,7586,3179],{"class":3141},[2964,7588,7589,7591],{"class":2966,"line":3333},[2964,7590,3176],{"class":3134},[2964,7592,3179],{"class":3130},[2912,7594,7595,7596],{},"Run vitest command",[2950,7597,7598,7613,7624,7637],{"sync":2952},[2954,7599,7601],{"className":2956,"code":7600,"filename":2958,"language":2959,"meta":2960,"style":2960},"npm run test\n",[2882,7602,7603],{"__ignoreMap":2960},[2964,7604,7605,7607,7610],{"class":2966,"line":2967},[2964,7606,2958],{"class":2970},[2964,7608,7609],{"class":2973}," run",[2964,7611,7612],{"class":2973}," test\n",[2954,7614,7616],{"className":2956,"code":7615,"filename":2996,"language":2959,"meta":2960,"style":2960},"yarn test\n",[2882,7617,7618],{"__ignoreMap":2960},[2964,7619,7620,7622],{"class":2966,"line":2967},[2964,7621,2996],{"class":2970},[2964,7623,7612],{"class":2973},[2954,7625,7627],{"className":2956,"code":7626,"filename":3022,"language":2959,"meta":2960,"style":2960},"pnpm run test\n",[2882,7628,7629],{"__ignoreMap":2960},[2964,7630,7631,7633,7635],{"class":2966,"line":2967},[2964,7632,3022],{"class":2970},[2964,7634,7609],{"class":2973},[2964,7636,7612],{"class":2973},[2954,7638,7640],{"className":2956,"code":7639,"filename":3047,"language":2959,"meta":2960,"style":2960},"bun run test\n",[2882,7641,7642],{"__ignoreMap":2960},[2964,7643,7644,7646,7648],{"class":2966,"line":2967},[2964,7645,3047],{"class":2970},[2964,7647,7609],{"class":2973},[2964,7649,7612],{"class":2973},[2870,7651,7652,7653,7655],{},"Congratulations, you're all set to start unit testing with ",[2882,7654,4403],{}," in Nuxt! Happy testing!",[2899,7657,7659],{"id":7658},"end-to-end-testing","End-To-End Testing",[2870,7661,7662,7663,2928,7668,2928,7673,2918,7678,7683],{},"For end-to-end testing, we support ",[2874,7664,7667],{"href":7665,"rel":7666},"https:\u002F\u002Fgithub.com\u002Fvitest-dev\u002Fvitest",[2890],"Vitest",[2874,7669,7672],{"href":7670,"rel":7671},"https:\u002F\u002Fjestjs.io",[2890],"Jest",[2874,7674,7677],{"href":7675,"rel":7676},"https:\u002F\u002Fcucumber.io\u002F",[2890],"Cucumber",[2874,7679,7682],{"href":7680,"rel":7681},"https:\u002F\u002Fplaywright.dev\u002F",[2890],"Playwright"," as test runners.",[3089,7685,3092],{"id":7686},"setup-1",[2870,7688,7689,7690,7692,7693,7695],{},"In each ",[2882,7691,7492],{}," block where you are taking advantage of the ",[2882,7694,6866],{}," helper methods, you will need to set up the test context before beginning.",[2954,7697,7700],{"className":3109,"code":7698,"filename":7699,"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,7701,7702,7724,7746,7750,7773,7783,7788,7794,7798,7818,7822,7828],{"__ignoreMap":2960},[2964,7703,7704,7706,7708,7710,7712,7714,7716,7718,7720,7722],{"class":2966,"line":2967},[2964,7705,3196],{"class":3119},[2964,7707,3199],{"class":3134},[2964,7709,7426],{"class":3130},[2964,7711,3837],{"class":3134},[2964,7713,3806],{"class":3130},[2964,7715,3205],{"class":3134},[2964,7717,3208],{"class":3119},[2964,7719,3211],{"class":3134},[2964,7721,2927],{"class":2973},[2964,7723,3217],{"class":3134},[2964,7725,7726,7728,7730,7732,7734,7736,7738,7740,7742,7744],{"class":2966,"line":3138},[2964,7727,3196],{"class":3119},[2964,7729,3199],{"class":3134},[2964,7731,6990],{"class":3130},[2964,7733,3837],{"class":3134},[2964,7735,6995],{"class":3130},[2964,7737,3205],{"class":3134},[2964,7739,3208],{"class":3119},[2964,7741,3211],{"class":3134},[2964,7743,6866],{"class":2973},[2964,7745,3217],{"class":3134},[2964,7747,7748],{"class":2966,"line":3151},[2964,7749,3242],{"emptyLinePlaceholder":1196},[2964,7751,7752,7754,7756,7758,7761,7763,7765,7767,7769,7771],{"class":2966,"line":3165},[2964,7753,7492],{"class":3126},[2964,7755,3131],{"class":3130},[2964,7757,3159],{"class":3134},[2964,7759,7760],{"class":2973},"My test",[2964,7762,3159],{"class":3134},[2964,7764,3837],{"class":3134},[2964,7766,4583],{"class":3843},[2964,7768,3840],{"class":3134},[2964,7770,3844],{"class":3843},[2964,7772,3264],{"class":3134},[2964,7774,7775,7777,7779,7781],{"class":2966,"line":3173},[2964,7776,5108],{"class":3119},[2964,7778,6995],{"class":3126},[2964,7780,3131],{"class":3141},[2964,7782,3135],{"class":3134},[2964,7784,7785],{"class":2966,"line":3267},[2964,7786,7787],{"class":3708},"    \u002F\u002F test context options\n",[2964,7789,7790,7792],{"class":2966,"line":3277},[2964,7791,6374],{"class":3134},[2964,7793,3179],{"class":3141},[2964,7795,7796],{"class":2966,"line":3283},[2964,7797,3242],{"emptyLinePlaceholder":1196},[2964,7799,7800,7802,7804,7806,7808,7810,7812,7814,7816],{"class":2966,"line":3293},[2964,7801,3259],{"class":3126},[2964,7803,3131],{"class":3141},[2964,7805,3159],{"class":3134},[2964,7807,3832],{"class":2973},[2964,7809,3159],{"class":3134},[2964,7811,3837],{"class":3134},[2964,7813,3840],{"class":3134},[2964,7815,3844],{"class":3843},[2964,7817,3264],{"class":3134},[2964,7819,7820],{"class":2966,"line":3310},[2964,7821,6291],{"class":3708},[2964,7823,7824,7826],{"class":2966,"line":3333},[2964,7825,6374],{"class":3134},[2964,7827,3179],{"class":3141},[2964,7829,7830,7832],{"class":2966,"line":3350},[2964,7831,3176],{"class":3134},[2964,7833,3179],{"class":3130},[2870,7835,7836,7837,7839,7840,2928,7843,2928,7845,2918,7848,7851],{},"Behind the scenes, ",[2882,7838,3091],{}," performs a number of tasks in ",[2882,7841,7842],{},"beforeAll",[2882,7844,6051],{},[2882,7846,7847],{},"afterEach",[2882,7849,7850],{},"afterAll"," to set up the Nuxt test environment correctly.",[2870,7853,7854,7855,7857],{},"Please use the options below for the ",[2882,7856,3091],{}," method.",[3614,7859,7861],{"id":7860},"nuxt-config","Nuxt Config",[2909,7863,7864,7884],{},[2912,7865,7866,7869,7870],{},[2882,7867,7868],{},"rootDir",": Path to a directory with a Nuxt app to be put under test.\n",[2909,7871,7872,7878],{},[2912,7873,7874,7875],{},"Type: ",[2882,7876,7877],{},"string",[2912,7879,7880,7881],{},"Default: ",[2882,7882,7883],{},"'.'",[2912,7885,7886,7889,7890],{},[2882,7887,7888],{},"configFile",": Name of the configuration file.\n",[2909,7891,7892,7896],{},[2912,7893,7874,7894],{},[2882,7895,7877],{},[2912,7897,7880,7898],{},[2882,7899,7900],{},"'nuxt.config'",[3614,7902,7904],{"id":7903},"timings","Timings",[2909,7906,7907,7933],{},[2912,7908,7909,7912,7913,7916,7917],{},[2882,7910,7911],{},"setupTimeout",": The amount of time (in milliseconds) to allow for ",[2882,7914,7915],{},"setupTest"," to complete its work (which could include building or generating files for a Nuxt application, depending on the options that are passed).",[2909,7918,7919,7924],{},[2912,7920,7874,7921],{},[2882,7922,7923],{},"number",[2912,7925,7880,7926,4182,7929,7932],{},[2882,7927,7928],{},"120000",[2882,7930,7931],{},"240000"," on windows",[2912,7934,7935,7938,7939],{},[2882,7936,7937],{},"teardownTimeout",": The amount of time (in milliseconds) to allow tearing down the test environment, such as closing the browser.",[2909,7940,7941,7945],{},[2912,7942,7874,7943],{},[2882,7944,7923],{},[2912,7946,7880,7947],{},[2882,7948,7949],{},"30000",[3614,7951,395],{"id":7952},"features",[2909,7954,7955,7984,8004,8022,8041,8063,8106],{},[2912,7956,7957,7959,7960],{},[2882,7958,7292],{},": Whether to run a separate build step.",[2909,7961,7962,7967],{},[2912,7963,7874,7964],{},[2882,7965,7966],{},"boolean",[2912,7968,7880,7969,5530,7971,7973,7974,4182,7977,7979,7980,7983],{},[2882,7970,4216],{},[2882,7972,4228],{}," if ",[2882,7975,7976],{},"browser",[2882,7978,185],{}," is disabled, or if a ",[2882,7981,7982],{},"host"," is provided)",[2912,7985,7986,7988,7989],{},[2882,7987,185],{},": Whether to launch a server to respond to requests in the test suite.",[2909,7990,7991,7995],{},[2912,7992,7874,7993],{},[2882,7994,7966],{},[2912,7996,7880,7997,5530,7999,8001,8002,7983],{},[2882,7998,4216],{},[2882,8000,4228],{}," if a ",[2882,8003,7982],{},[2912,8005,8006,8009,8010],{},[2882,8007,8008],{},"port",": If provided, set the launched test server port to the value.",[2909,8011,8012,8017],{},[2912,8013,7874,8014],{},[2882,8015,8016],{},"number | undefined",[2912,8018,7880,8019],{},[2882,8020,8021],{},"undefined",[2912,8023,8024,8026,8027,2877,8031],{},[2882,8025,7982],{},": 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,8028,8030],{"href":8029},"\u002Fdocs\u002F4.x\u002Fgetting-started\u002Ftesting#target-host-end-to-end-example","target host end-to-end example below",[2909,8032,8033,8037],{},[2912,8034,7874,8035],{},[2882,8036,7877],{},[2912,8038,7880,8039],{},[2882,8040,8021],{},[2912,8042,8043,8045,8046,8052,8053],{},[2882,8044,7976],{},": Under the hood, Nuxt test utils uses ",[2874,8047,8050],{"href":8048,"rel":8049},"https:\u002F\u002Fplaywright.dev",[2890],[2882,8051,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,8054,8055,8059],{},[2912,8056,7874,8057],{},[2882,8058,7966],{},[2912,8060,7880,8061],{},[2882,8062,4228],{},[2912,8064,8065,8068],{},[2882,8066,8067],{},"browserOptions",[2909,8069,8070],{},[2912,8071,7874,8072,8075,8076],{},[2882,8073,8074],{},"object"," with the following properties\n",[2909,8077,8078,8093],{},[2912,8079,8080,8083,8084,2928,8087,4182,8090],{},[2882,8081,8082],{},"type",": The type of browser to launch - either ",[2882,8085,8086],{},"chromium",[2882,8088,8089],{},"firefox",[2882,8091,8092],{},"webkit",[2912,8094,8095,7282,8098,8100,8101,2877],{},[2882,8096,8097],{},"launch",[2882,8099,8074],{}," of options that will be passed to playwright when launching the browser. See ",[2874,8102,8105],{"href":8103,"rel":8104},"https:\u002F\u002Fplaywright.dev\u002Fdocs\u002Fapi\u002Fclass-browsertype#browser-type-launch",[2890],"full API reference",[2912,8107,8108,8111,8112,8116,8117],{},[2882,8109,8110],{},"runner",": Specify the runner for the test suite. Currently, ",[2874,8113,7667],{"href":8114,"rel":8115},"https:\u002F\u002Fvitest.dev",[2890]," is recommended.",[2909,8118,8119,8124],{},[2912,8120,7874,8121],{},[2882,8122,8123],{},"'vitest' | 'jest' | 'cucumber'",[2912,8125,7880,8126],{},[2882,8127,8128],{},"'vitest'",[3987,8130,8132,8133,8135],{"id":8131},"target-host-end-to-end-example","Target ",[2882,8134,7982],{}," end-to-end example",[2870,8137,8138],{},"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,8140,8141],{},"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,8143,8144,8145,8147,8148,8150],{},"To utilize a separate target host for end-to-end tests, simply provide the ",[2882,8146,7982],{}," property of the ",[2882,8149,3091],{}," function with the desired URL.",[2954,8152,8154],{"className":3109,"code":8153,"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,8155,8156,8179,8205,8209,8232,8242,8258,8264,8268,8291,8315,8359,8400,8406],{"__ignoreMap":2960},[2964,8157,8158,8160,8162,8165,8167,8169,8171,8173,8175,8177],{"class":2966,"line":2967},[2964,8159,3196],{"class":3119},[2964,8161,3199],{"class":3134},[2964,8163,8164],{"class":3130}," createPage",[2964,8166,3837],{"class":3134},[2964,8168,6995],{"class":3130},[2964,8170,3205],{"class":3134},[2964,8172,3208],{"class":3119},[2964,8174,3211],{"class":3134},[2964,8176,6866],{"class":2973},[2964,8178,3217],{"class":3134},[2964,8180,8181,8183,8185,8187,8189,8191,8193,8195,8197,8199,8201,8203],{"class":2966,"line":3138},[2964,8182,3196],{"class":3119},[2964,8184,3199],{"class":3134},[2964,8186,7426],{"class":3130},[2964,8188,3837],{"class":3134},[2964,8190,4432],{"class":3130},[2964,8192,3837],{"class":3134},[2964,8194,4437],{"class":3130},[2964,8196,3205],{"class":3134},[2964,8198,3208],{"class":3119},[2964,8200,3211],{"class":3134},[2964,8202,2927],{"class":2973},[2964,8204,3217],{"class":3134},[2964,8206,8207],{"class":2966,"line":3151},[2964,8208,3242],{"emptyLinePlaceholder":1196},[2964,8210,8211,8213,8215,8217,8220,8222,8224,8226,8228,8230],{"class":2966,"line":3165},[2964,8212,7492],{"class":3126},[2964,8214,3131],{"class":3130},[2964,8216,3159],{"class":3134},[2964,8218,8219],{"class":2973},"login page",[2964,8221,3159],{"class":3134},[2964,8223,3837],{"class":3134},[2964,8225,4583],{"class":3843},[2964,8227,3840],{"class":3134},[2964,8229,3844],{"class":3843},[2964,8231,3264],{"class":3134},[2964,8233,8234,8236,8238,8240],{"class":2966,"line":3173},[2964,8235,5108],{"class":3119},[2964,8237,6995],{"class":3126},[2964,8239,3131],{"class":3141},[2964,8241,3135],{"class":3134},[2964,8243,8244,8247,8249,8251,8254,8256],{"class":2966,"line":3267},[2964,8245,8246],{"class":3141},"    host",[2964,8248,3145],{"class":3134},[2964,8250,3211],{"class":3134},[2964,8252,8253],{"class":2973},"http:\u002F\u002Flocalhost:8787",[2964,8255,3159],{"class":3134},[2964,8257,3162],{"class":3134},[2964,8259,8260,8262],{"class":2966,"line":3277},[2964,8261,6374],{"class":3134},[2964,8263,3179],{"class":3141},[2964,8265,8266],{"class":2966,"line":3283},[2964,8267,3242],{"emptyLinePlaceholder":1196},[2964,8269,8270,8272,8274,8276,8279,8281,8283,8285,8287,8289],{"class":2966,"line":3293},[2964,8271,7514],{"class":3126},[2964,8273,3131],{"class":3141},[2964,8275,3159],{"class":3134},[2964,8277,8278],{"class":2973},"displays the email and password fields",[2964,8280,3159],{"class":3134},[2964,8282,3837],{"class":3134},[2964,8284,4583],{"class":3843},[2964,8286,3840],{"class":3134},[2964,8288,3844],{"class":3843},[2964,8290,3264],{"class":3134},[2964,8292,8293,8295,8298,8300,8302,8304,8306,8308,8311,8313],{"class":2966,"line":3310},[2964,8294,7536],{"class":3843},[2964,8296,8297],{"class":3130}," page",[2964,8299,4600],{"class":3134},[2964,8301,4603],{"class":3119},[2964,8303,8164],{"class":3126},[2964,8305,3131],{"class":3141},[2964,8307,3159],{"class":3134},[2964,8309,8310],{"class":2973},"\u002Flogin",[2964,8312,3159],{"class":3134},[2964,8314,3179],{"class":3141},[2964,8316,8317,8319,8321,8323,8325,8327,8330,8332,8334,8337,8339,8341,8343,8346,8348,8350,8353,8355,8357],{"class":2966,"line":3333},[2964,8318,7554],{"class":3126},[2964,8320,3131],{"class":3141},[2964,8322,7014],{"class":3119},[2964,8324,8297],{"class":3130},[2964,8326,2877],{"class":3134},[2964,8328,8329],{"class":3126},"getByTestId",[2964,8331,3131],{"class":3141},[2964,8333,3159],{"class":3134},[2964,8335,8336],{"class":2973},"email",[2964,8338,3159],{"class":3134},[2964,8340,3520],{"class":3141},[2964,8342,2877],{"class":3134},[2964,8344,8345],{"class":3126},"isVisible",[2964,8347,4630],{"class":3141},[2964,8349,2877],{"class":3134},[2964,8351,8352],{"class":3126},"toBe",[2964,8354,3131],{"class":3141},[2964,8356,4216],{"class":4331},[2964,8358,3179],{"class":3141},[2964,8360,8361,8363,8365,8367,8369,8371,8373,8375,8377,8380,8382,8384,8386,8388,8390,8392,8394,8396,8398],{"class":2966,"line":3350},[2964,8362,7554],{"class":3126},[2964,8364,3131],{"class":3141},[2964,8366,7014],{"class":3119},[2964,8368,8297],{"class":3130},[2964,8370,2877],{"class":3134},[2964,8372,8329],{"class":3126},[2964,8374,3131],{"class":3141},[2964,8376,3159],{"class":3134},[2964,8378,8379],{"class":2973},"password",[2964,8381,3159],{"class":3134},[2964,8383,3520],{"class":3141},[2964,8385,2877],{"class":3134},[2964,8387,8345],{"class":3126},[2964,8389,4630],{"class":3141},[2964,8391,2877],{"class":3134},[2964,8393,8352],{"class":3126},[2964,8395,3131],{"class":3141},[2964,8397,4216],{"class":4331},[2964,8399,3179],{"class":3141},[2964,8401,8402,8404],{"class":2966,"line":3356},[2964,8403,6374],{"class":3134},[2964,8405,3179],{"class":3141},[2964,8407,8408,8410],{"class":2966,"line":3362},[2964,8409,3176],{"class":3134},[2964,8411,3179],{"class":3130},[3089,8413,8415],{"id":8414},"apis","APIs",[3614,8417,8419],{"id":8418},"fetchurl",[2882,8420,8421],{},"$fetch(url)",[2870,8423,8424],{},"Get the HTML of a server-rendered page.",[2954,8426,8428],{"className":3109,"code":8427,"language":3111,"meta":3112,"style":2960},"import { $fetch } from '@nuxt\u002Ftest-utils\u002Fe2e'\n\nconst html = await $fetch('\u002F')\n",[2882,8429,8430,8448,8452],{"__ignoreMap":2960},[2964,8431,8432,8434,8436,8438,8440,8442,8444,8446],{"class":2966,"line":2967},[2964,8433,3196],{"class":3119},[2964,8435,3199],{"class":3134},[2964,8437,6990],{"class":3130},[2964,8439,3205],{"class":3134},[2964,8441,3208],{"class":3119},[2964,8443,3211],{"class":3134},[2964,8445,6866],{"class":2973},[2964,8447,3217],{"class":3134},[2964,8449,8450],{"class":2966,"line":3138},[2964,8451,3242],{"emptyLinePlaceholder":1196},[2964,8453,8454,8456,8459,8461,8463,8465,8467,8469,8471,8473],{"class":2966,"line":3151},[2964,8455,5786],{"class":3843},[2964,8457,8458],{"class":3130}," html ",[2964,8460,6095],{"class":3134},[2964,8462,4603],{"class":3119},[2964,8464,6990],{"class":3126},[2964,8466,3131],{"class":3130},[2964,8468,3159],{"class":3134},[2964,8470,4880],{"class":2973},[2964,8472,3159],{"class":3134},[2964,8474,3179],{"class":3130},[3614,8476,8478],{"id":8477},"fetchurl-1",[2882,8479,8480],{},"fetch(url)",[2870,8482,8483],{},"Get the response of a server-rendered page.",[2954,8485,8487],{"className":3109,"code":8486,"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,8488,8489,8508,8512,8535],{"__ignoreMap":2960},[2964,8490,8491,8493,8495,8498,8500,8502,8504,8506],{"class":2966,"line":2967},[2964,8492,3196],{"class":3119},[2964,8494,3199],{"class":3134},[2964,8496,8497],{"class":3130}," fetch",[2964,8499,3205],{"class":3134},[2964,8501,3208],{"class":3119},[2964,8503,3211],{"class":3134},[2964,8505,6866],{"class":2973},[2964,8507,3217],{"class":3134},[2964,8509,8510],{"class":2966,"line":3138},[2964,8511,3242],{"emptyLinePlaceholder":1196},[2964,8513,8514,8516,8519,8521,8523,8525,8527,8529,8531,8533],{"class":2966,"line":3151},[2964,8515,5786],{"class":3843},[2964,8517,8518],{"class":3130}," res ",[2964,8520,6095],{"class":3134},[2964,8522,4603],{"class":3119},[2964,8524,8497],{"class":3126},[2964,8526,3131],{"class":3130},[2964,8528,3159],{"class":3134},[2964,8530,4880],{"class":2973},[2964,8532,3159],{"class":3134},[2964,8534,3179],{"class":3130},[2964,8536,8537,8539,8541,8544,8546,8549,8551,8553],{"class":2966,"line":3165},[2964,8538,5786],{"class":3843},[2964,8540,3199],{"class":3134},[2964,8542,8543],{"class":3130}," body",[2964,8545,3837],{"class":3134},[2964,8547,8548],{"class":3130}," headers ",[2964,8550,3176],{"class":3134},[2964,8552,4600],{"class":3134},[2964,8554,8555],{"class":3130}," res\n",[3614,8557,8559],{"id":8558},"urlpath",[2882,8560,8561],{},"url(path)",[2870,8563,8564],{},"Get the full URL for a given page (including the port the test server is running on.)",[2954,8566,8568],{"className":3109,"code":8567,"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,8569,8570,8589,8593,8615],{"__ignoreMap":2960},[2964,8571,8572,8574,8576,8579,8581,8583,8585,8587],{"class":2966,"line":2967},[2964,8573,3196],{"class":3119},[2964,8575,3199],{"class":3134},[2964,8577,8578],{"class":3130}," url",[2964,8580,3205],{"class":3134},[2964,8582,3208],{"class":3119},[2964,8584,3211],{"class":3134},[2964,8586,6866],{"class":2973},[2964,8588,3217],{"class":3134},[2964,8590,8591],{"class":2966,"line":3138},[2964,8592,3242],{"emptyLinePlaceholder":1196},[2964,8594,8595,8597,8600,8602,8604,8606,8608,8611,8613],{"class":2966,"line":3151},[2964,8596,5786],{"class":3843},[2964,8598,8599],{"class":3130}," pageUrl ",[2964,8601,6095],{"class":3134},[2964,8603,8578],{"class":3126},[2964,8605,3131],{"class":3130},[2964,8607,3159],{"class":3134},[2964,8609,8610],{"class":2973},"\u002Fpage",[2964,8612,3159],{"class":3134},[2964,8614,3179],{"class":3130},[2964,8616,8617],{"class":2966,"line":3165},[2964,8618,8619],{"class":3708},"\u002F\u002F 'http:\u002F\u002Flocalhost:6840\u002Fpage'\n",[3089,8621,8623],{"id":8622},"testing-in-a-browser","Testing in a Browser",[2870,8625,8626,8627,8629],{},"We provide built-in support using Playwright within ",[2882,8628,2884],{},", either programmatically or via the Playwright test runner.",[3614,8631,8633],{"id":8632},"createpageurl",[2882,8634,8635],{},"createPage(url)",[2870,8637,8638,8639,2928,8641,4182,8643,8645,8646,8649,8650,2877],{},"Within ",[2882,8640,2927],{},[2882,8642,2934],{},[2882,8644,2931],{},", you can create a configured Playwright browser instance with ",[2882,8647,8648],{},"createPage",", and (optionally) point it at a path from the running server. You can find out more about the API methods available from ",[2874,8651,8654],{"href":8652,"rel":8653},"https:\u002F\u002Fplaywright.dev\u002Fdocs\u002Fapi\u002Fclass-page",[2890],"in the Playwright documentation",[2954,8656,8658],{"className":3109,"code":8657,"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,8659,8660,8678,8682,8705],{"__ignoreMap":2960},[2964,8661,8662,8664,8666,8668,8670,8672,8674,8676],{"class":2966,"line":2967},[2964,8663,3196],{"class":3119},[2964,8665,3199],{"class":3134},[2964,8667,8164],{"class":3130},[2964,8669,3205],{"class":3134},[2964,8671,3208],{"class":3119},[2964,8673,3211],{"class":3134},[2964,8675,6866],{"class":2973},[2964,8677,3217],{"class":3134},[2964,8679,8680],{"class":2966,"line":3138},[2964,8681,3242],{"emptyLinePlaceholder":1196},[2964,8683,8684,8686,8689,8691,8693,8695,8697,8699,8701,8703],{"class":2966,"line":3151},[2964,8685,5786],{"class":3843},[2964,8687,8688],{"class":3130}," page ",[2964,8690,6095],{"class":3134},[2964,8692,4603],{"class":3119},[2964,8694,8164],{"class":3126},[2964,8696,3131],{"class":3130},[2964,8698,3159],{"class":3134},[2964,8700,8610],{"class":2973},[2964,8702,3159],{"class":3134},[2964,8704,3179],{"class":3130},[2964,8706,8707],{"class":2966,"line":3165},[2964,8708,8709],{"class":3708},"\u002F\u002F you can access all the Playwright APIs from the `page` variable\n",[3614,8711,8713],{"id":8712},"testing-with-playwright-test-runner","Testing with Playwright Test Runner",[2870,8715,8716,8717,2877],{},"We also provide first-class support for testing Nuxt within ",[2874,8718,8721],{"href":8719,"rel":8720},"https:\u002F\u002Fplaywright.dev\u002Fdocs\u002Fintro",[2890],"the Playwright test runner",[2950,8723,8724,8743,8760,8777,8794],{"sync":2952},[2954,8725,8727],{"className":2956,"code":8726,"filename":2958,"language":2959,"meta":2960,"style":2960},"npm i --save-dev @playwright\u002Ftest @nuxt\u002Ftest-utils\n",[2882,8728,8729],{"__ignoreMap":2960},[2964,8730,8731,8733,8735,8737,8740],{"class":2966,"line":2967},[2964,8732,2958],{"class":2970},[2964,8734,2974],{"class":2973},[2964,8736,2977],{"class":2973},[2964,8738,8739],{"class":2973}," @playwright\u002Ftest",[2964,8741,8742],{"class":2973}," @nuxt\u002Ftest-utils\n",[2954,8744,8746],{"className":2956,"code":8745,"filename":2996,"language":2959,"meta":2960,"style":2960},"yarn add --dev @playwright\u002Ftest @nuxt\u002Ftest-utils\n",[2882,8747,8748],{"__ignoreMap":2960},[2964,8749,8750,8752,8754,8756,8758],{"class":2966,"line":2967},[2964,8751,2996],{"class":2970},[2964,8753,3005],{"class":2973},[2964,8755,3008],{"class":2973},[2964,8757,8739],{"class":2973},[2964,8759,8742],{"class":2973},[2954,8761,8763],{"className":2956,"code":8762,"filename":3022,"language":2959,"meta":2960,"style":2960},"pnpm add -D @playwright\u002Ftest @nuxt\u002Ftest-utils\n",[2882,8764,8765],{"__ignoreMap":2960},[2964,8766,8767,8769,8771,8773,8775],{"class":2966,"line":2967},[2964,8768,3022],{"class":2970},[2964,8770,3005],{"class":2973},[2964,8772,3033],{"class":2973},[2964,8774,8739],{"class":2973},[2964,8776,8742],{"class":2973},[2954,8778,8780],{"className":2956,"code":8779,"filename":3047,"language":2959,"meta":2960,"style":2960},"bun add --dev @playwright\u002Ftest @nuxt\u002Ftest-utils\n",[2882,8781,8782],{"__ignoreMap":2960},[2964,8783,8784,8786,8788,8790,8792],{"class":2966,"line":2967},[2964,8785,3047],{"class":2970},[2964,8787,3005],{"class":2973},[2964,8789,3008],{"class":2973},[2964,8791,8739],{"class":2973},[2964,8793,8742],{"class":2973},[2954,8795,8798],{"className":2956,"code":8796,"filename":8797,"language":2959,"meta":2960,"style":2960},"deno add --dev npm:@playwright\u002Ftest npm:@nuxt\u002Ftest-utils\n","deno",[2882,8799,8800],{"__ignoreMap":2960},[2964,8801,8802,8804,8806,8808,8811],{"class":2966,"line":2967},[2964,8803,8797],{"class":2970},[2964,8805,3005],{"class":2973},[2964,8807,3008],{"class":2973},[2964,8809,8810],{"class":2973}," npm:@playwright\u002Ftest",[2964,8812,8813],{"class":2973}," npm:@nuxt\u002Ftest-utils\n",[2870,8815,8816,8817,8820],{},"You can provide global Nuxt configuration, with the same configuration details as the ",[2882,8818,8819],{},"setup()"," function mentioned earlier in this section.",[2954,8822,8825],{"className":3109,"code":8823,"filename":8824,"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,8826,8827,8845,8868,8890,8894,8913,8922,8931,8972,8976,8980,8985],{"__ignoreMap":2960},[2964,8828,8829,8831,8833,8835,8837,8839,8841,8843],{"class":2966,"line":2967},[2964,8830,3196],{"class":3119},[2964,8832,3199],{"class":3134},[2964,8834,3653],{"class":3130},[2964,8836,3205],{"class":3134},[2964,8838,3208],{"class":3119},[2964,8840,3211],{"class":3134},[2964,8842,3662],{"class":2973},[2964,8844,3217],{"class":3134},[2964,8846,8847,8849,8851,8853,8855,8858,8860,8862,8864,8866],{"class":2966,"line":3138},[2964,8848,3196],{"class":3119},[2964,8850,3199],{"class":3134},[2964,8852,3202],{"class":3130},[2964,8854,3837],{"class":3134},[2964,8856,8857],{"class":3130}," devices",[2964,8859,3205],{"class":3134},[2964,8861,3208],{"class":3119},[2964,8863,3211],{"class":3134},[2964,8865,2947],{"class":2973},[2964,8867,3217],{"class":3134},[2964,8869,8870,8872,8874,8876,8879,8881,8883,8885,8888],{"class":2966,"line":3151},[2964,8871,3196],{"class":3119},[2964,8873,4454],{"class":3119},[2964,8875,3199],{"class":3134},[2964,8877,8878],{"class":3130}," ConfigOptions",[2964,8880,3205],{"class":3134},[2964,8882,3208],{"class":3119},[2964,8884,3211],{"class":3134},[2964,8886,8887],{"class":2973},"@nuxt\u002Ftest-utils\u002Fplaywright",[2964,8889,3217],{"class":3134},[2964,8891,8892],{"class":2966,"line":3165},[2964,8893,3242],{"emptyLinePlaceholder":1196},[2964,8895,8896,8898,8900,8902,8904,8907,8909,8911],{"class":2966,"line":3173},[2964,8897,3120],{"class":3119},[2964,8899,3123],{"class":3119},[2964,8901,3202],{"class":3126},[2964,8903,7373],{"class":3134},[2964,8905,8906],{"class":2970},"ConfigOptions",[2964,8908,5517],{"class":3134},[2964,8910,3131],{"class":3130},[2964,8912,3135],{"class":3134},[2964,8914,8915,8918,8920],{"class":2966,"line":3267},[2964,8916,8917],{"class":3141},"  use",[2964,8919,3145],{"class":3134},[2964,8921,3264],{"class":3134},[2964,8923,8924,8927,8929],{"class":2966,"line":3277},[2964,8925,8926],{"class":3141},"    nuxt",[2964,8928,3145],{"class":3134},[2964,8930,3264],{"class":3134},[2964,8932,8933,8936,8938,8940,8942,8945,8948,8950,8952,8954,8956,8958,8960,8962,8965,8967,8970],{"class":2966,"line":3283},[2964,8934,8935],{"class":3141},"      rootDir",[2964,8937,3145],{"class":3134},[2964,8939,3653],{"class":3126},[2964,8941,3131],{"class":3130},[2964,8943,8944],{"class":3134},"new",[2964,8946,8947],{"class":3126}," URL",[2964,8949,3131],{"class":3130},[2964,8951,3159],{"class":3134},[2964,8953,2877],{"class":2973},[2964,8955,3159],{"class":3134},[2964,8957,3837],{"class":3134},[2964,8959,6412],{"class":3119},[2964,8961,2877],{"class":3134},[2964,8963,8964],{"class":3130},"meta",[2964,8966,2877],{"class":3134},[2964,8968,8969],{"class":3130},"url))",[2964,8971,3162],{"class":3134},[2964,8973,8974],{"class":2966,"line":3293},[2964,8975,4066],{"class":3134},[2964,8977,8978],{"class":2966,"line":3310},[2964,8979,3536],{"class":3134},[2964,8981,8982],{"class":2966,"line":3333},[2964,8983,8984],{"class":3708},"  \u002F\u002F ...\n",[2964,8986,8987,8989],{"class":2966,"line":3350},[2964,8988,3176],{"class":3134},[2964,8990,3179],{"class":3130},[8992,8993],"read-more",{"target":8994,"title":8995,"to":8996},"_blank","See full example config","https:\u002F\u002Fgithub.com\u002Fnuxt\u002Ftest-utils\u002Fblob\u002Fmain\u002Fexamples\u002Fapp-playwright\u002Fplaywright.config.ts",[2870,8998,8999,9000,2918,9003,9005,9006,3145],{},"Your test file should then use ",[2882,9001,9002],{},"expect",[2882,9004,3825],{}," directly from ",[2882,9007,8887],{},[2954,9009,9012],{"className":3109,"code":9010,"filename":9011,"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,9013,9014,9036,9040,9073,9107,9150],{"__ignoreMap":2960},[2964,9015,9016,9018,9020,9022,9024,9026,9028,9030,9032,9034],{"class":2966,"line":2967},[2964,9017,3196],{"class":3119},[2964,9019,3199],{"class":3134},[2964,9021,4432],{"class":3130},[2964,9023,3837],{"class":3134},[2964,9025,3806],{"class":3130},[2964,9027,3205],{"class":3134},[2964,9029,3208],{"class":3119},[2964,9031,3211],{"class":3134},[2964,9033,8887],{"class":2973},[2964,9035,3217],{"class":3134},[2964,9037,9038],{"class":2966,"line":3138},[2964,9039,3242],{"emptyLinePlaceholder":1196},[2964,9041,9042,9044,9046,9048,9050,9052,9054,9056,9059,9061,9063,9066,9069,9071],{"class":2966,"line":3151},[2964,9043,3825],{"class":3126},[2964,9045,3131],{"class":3130},[2964,9047,3159],{"class":3134},[2964,9049,3825],{"class":2973},[2964,9051,3159],{"class":3134},[2964,9053,3837],{"class":3134},[2964,9055,4583],{"class":3843},[2964,9057,9058],{"class":3134}," ({",[2964,9060,8297],{"class":5533},[2964,9062,3837],{"class":3134},[2964,9064,9065],{"class":5533}," goto",[2964,9067,9068],{"class":3134}," })",[2964,9070,3844],{"class":3843},[2964,9072,3264],{"class":3134},[2964,9074,9075,9077,9079,9081,9083,9085,9087,9089,9091,9094,9096,9098,9101,9103,9105],{"class":2966,"line":3165},[2964,9076,5108],{"class":3119},[2964,9078,9065],{"class":3119},[2964,9080,3131],{"class":3141},[2964,9082,3159],{"class":3134},[2964,9084,4880],{"class":2973},[2964,9086,3159],{"class":3134},[2964,9088,3837],{"class":3134},[2964,9090,3199],{"class":3134},[2964,9092,9093],{"class":3141}," waitUntil",[2964,9095,3145],{"class":3134},[2964,9097,3211],{"class":3134},[2964,9099,9100],{"class":2973},"hydration",[2964,9102,3159],{"class":3134},[2964,9104,3205],{"class":3134},[2964,9106,3179],{"class":3141},[2964,9108,9109,9111,9113,9115,9118,9120,9123,9125,9127,9130,9132,9134,9136,9139,9141,9143,9146,9148],{"class":2966,"line":3173},[2964,9110,5108],{"class":3119},[2964,9112,4432],{"class":3126},[2964,9114,3131],{"class":3141},[2964,9116,9117],{"class":3130},"page",[2964,9119,2877],{"class":3134},[2964,9121,9122],{"class":3126},"getByRole",[2964,9124,3131],{"class":3141},[2964,9126,3159],{"class":3134},[2964,9128,9129],{"class":2973},"heading",[2964,9131,3159],{"class":3134},[2964,9133,5141],{"class":3141},[2964,9135,2877],{"class":3134},[2964,9137,9138],{"class":3126},"toHaveText",[2964,9140,3131],{"class":3141},[2964,9142,3159],{"class":3134},[2964,9144,9145],{"class":2973},"Welcome to Playwright!",[2964,9147,3159],{"class":3134},[2964,9149,3179],{"class":3141},[2964,9151,9152,9154],{"class":2966,"line":3267},[2964,9153,3176],{"class":3134},[2964,9155,3179],{"class":3130},[2870,9157,9158],{},"You can alternatively configure your Nuxt server directly within your test file:",[2954,9160,9162],{"className":3109,"code":9161,"filename":9011,"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,9163,9164,9186,9190,9203,9212,9250,9254,9260,9264,9294,9326,9364],{"__ignoreMap":2960},[2964,9165,9166,9168,9170,9172,9174,9176,9178,9180,9182,9184],{"class":2966,"line":2967},[2964,9167,3196],{"class":3119},[2964,9169,3199],{"class":3134},[2964,9171,4432],{"class":3130},[2964,9173,3837],{"class":3134},[2964,9175,3806],{"class":3130},[2964,9177,3205],{"class":3134},[2964,9179,3208],{"class":3119},[2964,9181,3211],{"class":3134},[2964,9183,8887],{"class":2973},[2964,9185,3217],{"class":3134},[2964,9187,9188],{"class":2966,"line":3138},[2964,9189,3242],{"emptyLinePlaceholder":1196},[2964,9191,9192,9194,9196,9199,9201],{"class":2966,"line":3151},[2964,9193,3825],{"class":3130},[2964,9195,2877],{"class":3134},[2964,9197,9198],{"class":3126},"use",[2964,9200,3131],{"class":3130},[2964,9202,3135],{"class":3134},[2964,9204,9205,9208,9210],{"class":2966,"line":3165},[2964,9206,9207],{"class":3141},"  nuxt",[2964,9209,3145],{"class":3134},[2964,9211,3264],{"class":3134},[2964,9213,9214,9217,9219,9221,9223,9225,9227,9229,9231,9234,9236,9238,9240,9242,9244,9246,9248],{"class":2966,"line":3173},[2964,9215,9216],{"class":3141},"    rootDir",[2964,9218,3145],{"class":3134},[2964,9220,3653],{"class":3126},[2964,9222,3131],{"class":3130},[2964,9224,8944],{"class":3134},[2964,9226,8947],{"class":3126},[2964,9228,3131],{"class":3130},[2964,9230,3159],{"class":3134},[2964,9232,9233],{"class":2973},"..",[2964,9235,3159],{"class":3134},[2964,9237,3837],{"class":3134},[2964,9239,6412],{"class":3119},[2964,9241,2877],{"class":3134},[2964,9243,8964],{"class":3130},[2964,9245,2877],{"class":3134},[2964,9247,8969],{"class":3130},[2964,9249,3162],{"class":3134},[2964,9251,9252],{"class":2966,"line":3267},[2964,9253,3536],{"class":3134},[2964,9255,9256,9258],{"class":2966,"line":3277},[2964,9257,3176],{"class":3134},[2964,9259,3179],{"class":3130},[2964,9261,9262],{"class":2966,"line":3283},[2964,9263,3242],{"emptyLinePlaceholder":1196},[2964,9265,9266,9268,9270,9272,9274,9276,9278,9280,9282,9284,9286,9288,9290,9292],{"class":2966,"line":3293},[2964,9267,3825],{"class":3126},[2964,9269,3131],{"class":3130},[2964,9271,3159],{"class":3134},[2964,9273,3825],{"class":2973},[2964,9275,3159],{"class":3134},[2964,9277,3837],{"class":3134},[2964,9279,4583],{"class":3843},[2964,9281,9058],{"class":3134},[2964,9283,8297],{"class":5533},[2964,9285,3837],{"class":3134},[2964,9287,9065],{"class":5533},[2964,9289,9068],{"class":3134},[2964,9291,3844],{"class":3843},[2964,9293,3264],{"class":3134},[2964,9295,9296,9298,9300,9302,9304,9306,9308,9310,9312,9314,9316,9318,9320,9322,9324],{"class":2966,"line":3310},[2964,9297,5108],{"class":3119},[2964,9299,9065],{"class":3119},[2964,9301,3131],{"class":3141},[2964,9303,3159],{"class":3134},[2964,9305,4880],{"class":2973},[2964,9307,3159],{"class":3134},[2964,9309,3837],{"class":3134},[2964,9311,3199],{"class":3134},[2964,9313,9093],{"class":3141},[2964,9315,3145],{"class":3134},[2964,9317,3211],{"class":3134},[2964,9319,9100],{"class":2973},[2964,9321,3159],{"class":3134},[2964,9323,3205],{"class":3134},[2964,9325,3179],{"class":3141},[2964,9327,9328,9330,9332,9334,9336,9338,9340,9342,9344,9346,9348,9350,9352,9354,9356,9358,9360,9362],{"class":2966,"line":3333},[2964,9329,5108],{"class":3119},[2964,9331,4432],{"class":3126},[2964,9333,3131],{"class":3141},[2964,9335,9117],{"class":3130},[2964,9337,2877],{"class":3134},[2964,9339,9122],{"class":3126},[2964,9341,3131],{"class":3141},[2964,9343,3159],{"class":3134},[2964,9345,9129],{"class":2973},[2964,9347,3159],{"class":3134},[2964,9349,5141],{"class":3141},[2964,9351,2877],{"class":3134},[2964,9353,9138],{"class":3126},[2964,9355,3131],{"class":3141},[2964,9357,3159],{"class":3134},[2964,9359,9145],{"class":2973},[2964,9361,3159],{"class":3134},[2964,9363,3179],{"class":3141},[2964,9365,9366,9368],{"class":2966,"line":3350},[2964,9367,3176],{"class":3134},[2964,9369,3179],{"class":3130},[9371,9372,9373],"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":9375},[9376,9377,9386],{"id":2901,"depth":3138,"text":24},{"id":3070,"depth":3138,"text":3071,"children":9378},[9379,9380,9381,9382,9383,9384],{"id":3091,"depth":3151,"text":3092},{"id":3579,"depth":3151,"text":3580},{"id":3870,"depth":3151,"text":3871},{"id":4198,"depth":3151,"text":4199},{"id":4370,"depth":3151,"text":4371},{"id":7050,"depth":3151,"text":9385},"Using @vue\u002Ftest-utils",{"id":7658,"depth":3138,"text":7659,"children":9387},[9388,9389,9390],{"id":7686,"depth":3151,"text":3092},{"id":8414,"depth":3151,"text":8415},{"id":8622,"depth":3151,"text":8623},"How to test your Nuxt application.","md",{},{"icon":102},{"title":99,"description":9391},"vOJxf1CU5_1VNPXEz1pAwh2IVkkdI1avM91j4nfqSLs",[9398,9400],{"title":94,"path":1174,"stem":1175,"description":9399,"icon":97,"children":-1},"Learn how to deploy your Nuxt application to any hosting provider.",{"title":104,"path":1180,"stem":1181,"description":9401,"icon":107,"children":-1},"Learn how to upgrade to the latest Nuxt version.",1775055365375]