[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$f30r277ag21rfj":3,"module-shopify":2411,"versions":8472},[4,1159,1643,2205],{"title":5,"icon":6,"path":7,"stem":8,"children":9,"page":106},"Docs","i-lucide-book-marked","\u002Fdocs\u002F5.x","1.getting-started\u002F01.introduction",[10,107,258,493,1017,1054,1105],{"title":11,"titleTemplate":12,"icon":13,"path":14,"stem":8,"children":15,"page":106},"Get Started","%s · Get Started with Nuxt","i-lucide-rocket","\u002Fdocs\u002F5.x\u002Fgetting-started",[16,21,26,31,36,41,46,51,56,61,66,71,76,81,86,91,96,101],{"title":17,"description":18,"path":19,"stem":8,"icon":20},"Introduction","Nuxt's goal is to make web development intuitive and performant with a great Developer Experience in mind.","\u002Fdocs\u002F5.x\u002Fgetting-started\u002Fintroduction","i-lucide-info",{"title":22,"description":23,"path":24,"stem":25},"Installation","Get started with Nuxt quickly with our online starters or start locally with your terminal.","\u002Fdocs\u002F5.x\u002Fgetting-started\u002Finstallation","1.getting-started\u002F02.installation",{"title":27,"description":28,"path":29,"stem":30},"Configuration","Nuxt is configured with sensible defaults to make you productive.","\u002Fdocs\u002F5.x\u002Fgetting-started\u002Fconfiguration","1.getting-started\u002F03.configuration",{"title":32,"description":33,"path":34,"stem":35},"Views","Nuxt provides several component layers to implement the user interface of your application.","\u002Fdocs\u002F5.x\u002Fgetting-started\u002Fviews","1.getting-started\u002F04.views",{"title":37,"description":38,"path":39,"stem":40},"Assets","Nuxt offers two options for your assets.","\u002Fdocs\u002F5.x\u002Fgetting-started\u002Fassets","1.getting-started\u002F05.assets",{"title":42,"description":43,"path":44,"stem":45},"Styling","Learn how to style your Nuxt application.","\u002Fdocs\u002F5.x\u002Fgetting-started\u002Fstyling","1.getting-started\u002F06.styling",{"title":47,"description":48,"path":49,"stem":50},"Routing","Nuxt file-system routing creates a route for every file in the pages\u002F directory.","\u002Fdocs\u002F5.x\u002Fgetting-started\u002Frouting","1.getting-started\u002F07.routing",{"title":52,"description":53,"path":54,"stem":55},"SEO and Meta","Improve your Nuxt app's SEO with powerful head config, composables and components.","\u002Fdocs\u002F5.x\u002Fgetting-started\u002Fseo-meta","1.getting-started\u002F08.seo-meta",{"title":57,"description":58,"path":59,"stem":60},"Transitions","Apply transitions between pages and layouts with Vue or native browser View Transitions.","\u002Fdocs\u002F5.x\u002Fgetting-started\u002Ftransitions","1.getting-started\u002F09.transitions",{"title":62,"description":63,"path":64,"stem":65},"Data Fetching","Nuxt provides composables to handle data fetching within your application.","\u002Fdocs\u002F5.x\u002Fgetting-started\u002Fdata-fetching","1.getting-started\u002F10.data-fetching",{"title":67,"description":68,"path":69,"stem":70},"State Management","Nuxt provides powerful state management libraries and the useState composable to create a reactive and SSR-friendly shared state.","\u002Fdocs\u002F5.x\u002Fgetting-started\u002Fstate-management","1.getting-started\u002F11.state-management",{"title":72,"description":73,"path":74,"stem":75},"Error Handling","Learn how to catch and handle errors in Nuxt.","\u002Fdocs\u002F5.x\u002Fgetting-started\u002Ferror-handling","1.getting-started\u002F12.error-handling",{"title":77,"description":78,"path":79,"stem":80},"Server","Build full-stack applications with Nuxt's server framework. You can fetch data from your database or another server, create APIs, or even generate static server-side content like a sitemap or a RSS feed - all from a single codebase.","\u002Fdocs\u002F5.x\u002Fgetting-started\u002Fserver","1.getting-started\u002F13.server",{"title":82,"description":83,"path":84,"stem":85},"Layers","Nuxt provides a powerful system that allows you to extend the default files, configs, and much more.","\u002Fdocs\u002F5.x\u002Fgetting-started\u002Flayers","1.getting-started\u002F14.layers",{"title":87,"description":88,"path":89,"stem":90},"Prerendering","Nuxt allows pages to be statically rendered at build time to improve certain performance or SEO metrics","\u002Fdocs\u002F5.x\u002Fgetting-started\u002Fprerendering","1.getting-started\u002F15.prerendering",{"title":92,"description":93,"path":94,"stem":95},"Deployment","Learn how to deploy your Nuxt application to any hosting provider.","\u002Fdocs\u002F5.x\u002Fgetting-started\u002Fdeployment","1.getting-started\u002F16.deployment",{"title":97,"description":98,"path":99,"stem":100},"Testing","How to test your Nuxt application.","\u002Fdocs\u002F5.x\u002Fgetting-started\u002Ftesting","1.getting-started\u002F17.testing",{"title":102,"description":103,"path":104,"stem":105},"Upgrade Guide","Learn how to upgrade to the latest Nuxt version.","\u002Fdocs\u002F5.x\u002Fgetting-started\u002Fupgrade","1.getting-started\u002F18.upgrade",false,{"title":108,"titleTemplate":109,"icon":110,"path":111,"stem":112,"children":113,"page":106},"Directory Structure","%s · Nuxt Directory Structure","i-vscode-icons-default-folder","\u002Fdocs\u002F5.x\u002Fdirectory-structure","2.directory-structure\u002F0.nuxt",[114,118,123,183,188,193,198,203,208,213,218,223,228,233,238,243,248,253],{"title":115,"description":116,"path":117,"stem":112},".nuxt","Nuxt uses the .nuxt\u002F directory in development to generate your Vue application.","\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fnuxt",{"title":119,"description":120,"path":121,"stem":122},".output","Nuxt creates the .output\u002F directory when building your application for production.","\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Foutput","2.directory-structure\u002F0.output",{"title":124,"titleTemplate":109,"icon":125,"path":126,"stem":127,"children":128,"page":106},"app","i-vscode-icons-folder-type-app","\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fapp","2.directory-structure\u002F1.app\u002F1.assets",[129,133,138,143,148,153,158,163,168,173,178],{"title":130,"description":131,"path":132,"stem":127},"assets","The assets\u002F directory is used to add all the website's assets that the build tool will process.","\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fapp\u002Fassets",{"title":134,"description":135,"path":136,"stem":137},"components","The components\u002F directory is where you put all your Vue components.","\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fapp\u002Fcomponents","2.directory-structure\u002F1.app\u002F1.components",{"title":139,"description":140,"path":141,"stem":142},"composables","Use the composables\u002F directory to auto-import your Vue composables into your application.","\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fapp\u002Fcomposables","2.directory-structure\u002F1.app\u002F1.composables",{"title":144,"description":145,"path":146,"stem":147},"layouts","Nuxt provides a layouts framework to extract common UI patterns into reusable layouts.","\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fapp\u002Flayouts","2.directory-structure\u002F1.app\u002F1.layouts",{"title":149,"description":150,"path":151,"stem":152},"middleware","Nuxt provides middleware to run code before navigating to a particular route.","\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fapp\u002Fmiddleware","2.directory-structure\u002F1.app\u002F1.middleware",{"title":154,"description":155,"path":156,"stem":157},"pages","Nuxt provides file-based routing to create routes within your web application.","\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fapp\u002Fpages","2.directory-structure\u002F1.app\u002F1.pages",{"title":159,"description":160,"path":161,"stem":162},"plugins","Nuxt has a plugins system to use Vue plugins and more at the creation of your Vue application.","\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fapp\u002Fplugins","2.directory-structure\u002F1.app\u002F1.plugins",{"title":164,"description":165,"path":166,"stem":167},"utils","Use the utils\u002F directory to auto-import your utility functions throughout your application.","\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fapp\u002Futils","2.directory-structure\u002F1.app\u002F1.utils",{"title":169,"description":170,"path":171,"stem":172},"app.vue","The app.vue file is the main component of your Nuxt application.","\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fapp\u002Fapp","2.directory-structure\u002F1.app\u002F3.app",{"title":174,"description":175,"path":176,"stem":177},"app.config.ts","Expose reactive configuration within your application with the App Config file.","\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fapp\u002Fapp-config","2.directory-structure\u002F1.app\u002F3.app-config",{"title":179,"description":180,"path":181,"stem":182},"error.vue","The error.vue file is the error page in your Nuxt application.","\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fapp\u002Ferror","2.directory-structure\u002F1.app\u002F3.error",{"title":184,"description":185,"path":186,"stem":187},"content","Use the content\u002F directory to create a file-based CMS for your application.","\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fcontent","2.directory-structure\u002F1.content",{"title":189,"description":190,"path":191,"stem":192},"layers","Use the layers\u002F directory to organize and auto-register local layers within your application.","\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Flayers","2.directory-structure\u002F1.layers",{"title":194,"description":195,"path":196,"stem":197},"modules","Use the modules\u002F directory to automatically register local modules within your application.","\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fmodules","2.directory-structure\u002F1.modules",{"title":199,"description":200,"path":201,"stem":202},"node_modules","The package manager stores the dependencies of your project in the node_modules\u002F directory.","\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fnode_modules","2.directory-structure\u002F1.node_modules",{"title":204,"description":205,"path":206,"stem":207},"public","The public\u002F directory is used to serve your website's static assets.","\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fpublic","2.directory-structure\u002F1.public",{"title":209,"description":210,"path":211,"stem":212},"server","The server\u002F directory is used to register API and server handlers to your application.","\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fserver","2.directory-structure\u002F1.server",{"title":214,"description":215,"path":216,"stem":217},"shared","Use the shared\u002F directory to share functionality between the Vue app and the Nitro server.","\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fshared","2.directory-structure\u002F1.shared",{"title":219,"description":220,"path":221,"stem":222},"test","Use the test\u002F directory to organize unit, Nuxt, and end-to-end tests for your application.","\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Ftest","2.directory-structure\u002F1.test",{"title":224,"description":225,"path":226,"stem":227},".env","A .env file specifies your build\u002Fdev-time environment variables.","\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fenv","2.directory-structure\u002F2.env",{"title":229,"description":230,"path":231,"stem":232},".gitignore","A .gitignore file specifies intentionally untracked files that git should ignore.","\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fgitignore","2.directory-structure\u002F2.gitignore",{"title":234,"description":235,"path":236,"stem":237},".nuxtignore","The .nuxtignore file lets Nuxt ignore files in your project’s root directory during the build phase.","\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fnuxtignore","2.directory-structure\u002F2.nuxtignore",{"title":239,"description":240,"path":241,"stem":242},".nuxtrc","The .nuxtrc file allows you to define nuxt configurations in a flat syntax.","\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fnuxtrc","2.directory-structure\u002F2.nuxtrc",{"title":244,"description":245,"path":246,"stem":247},"nuxt.config.ts","Nuxt can be easily configured with a single nuxt.config file.","\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fnuxt-config","2.directory-structure\u002F3.nuxt-config",{"title":249,"description":250,"path":251,"stem":252},"package.json","The package.json file contains all the dependencies and scripts for your application.","\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Fpackage","2.directory-structure\u002F3.package",{"title":254,"description":255,"path":256,"stem":257},"tsconfig.json","Learn how Nuxt manages TypeScript configuration across different parts of your project.","\u002Fdocs\u002F5.x\u002Fdirectory-structure\u002Ftsconfig","2.directory-structure\u002F3.tsconfig",{"title":259,"icon":260,"path":261,"stem":262,"children":263,"page":106},"Guide","i-lucide-book-open","\u002Fdocs\u002F5.x\u002Fguide","3.guide\u002F1.concepts\u002F1.rendering",[264,309,340,356,402,433],{"title":265,"titleTemplate":266,"icon":267,"path":268,"stem":262,"children":269,"page":106},"Key Concepts","%s · Nuxt Concepts","i-lucide-medal","\u002Fdocs\u002F5.x\u002Fguide\u002Fconcepts",[270,274,279,284,289,294,299,304],{"title":271,"description":272,"path":273,"stem":262},"Rendering Modes","Learn about the different rendering modes available in Nuxt.","\u002Fdocs\u002F5.x\u002Fguide\u002Fconcepts\u002Frendering",{"title":275,"description":276,"path":277,"stem":278},"Nuxt Lifecycle","Understanding the lifecycle of Nuxt applications can help you gain deeper insights into how the framework operates, especially for both server-side and client-side rendering.","\u002Fdocs\u002F5.x\u002Fguide\u002Fconcepts\u002Fnuxt-lifecycle","3.guide\u002F1.concepts\u002F2.nuxt-lifecycle",{"title":280,"description":281,"path":282,"stem":283},"Auto-imports","Nuxt auto-imports components, composables, helper functions and Vue APIs.","\u002Fdocs\u002F5.x\u002Fguide\u002Fconcepts\u002Fauto-imports","3.guide\u002F1.concepts\u002F3.auto-imports",{"title":285,"description":286,"path":287,"stem":288},"Server Engine","Nuxt is powered by a new server engine: Nitro.","\u002Fdocs\u002F5.x\u002Fguide\u002Fconcepts\u002Fserver-engine","3.guide\u002F1.concepts\u002F4.server-engine",{"title":290,"description":291,"path":292,"stem":293},"Modules","Nuxt provides a module system to extend the framework core and simplify integrations.","\u002Fdocs\u002F5.x\u002Fguide\u002Fconcepts\u002Fmodules","3.guide\u002F1.concepts\u002F5.modules",{"title":295,"description":296,"path":297,"stem":298},"Server Components","Render individual components on the server only, keeping their JavaScript out of your client bundle.","\u002Fdocs\u002F5.x\u002Fguide\u002Fconcepts\u002Fserver-components","3.guide\u002F1.concepts\u002F6.server-components",{"title":300,"description":301,"path":302,"stem":303},"TypeScript","Nuxt is fully typed and provides helpful shortcuts to ensure you have access to accurate type information when you are coding.","\u002Fdocs\u002F5.x\u002Fguide\u002Fconcepts\u002Ftypescript","3.guide\u002F1.concepts\u002F8.typescript",{"title":305,"description":306,"path":307,"stem":308},"Code Style","Nuxt supports ESLint out of the box","\u002Fdocs\u002F5.x\u002Fguide\u002Fconcepts\u002Fcode-style","3.guide\u002F1.concepts\u002F9.code-style",{"title":310,"titleTemplate":311,"icon":312,"path":313,"stem":314,"children":315,"page":106},"Best Practices","%s · Best Practices","i-lucide-square-check","\u002Fdocs\u002F5.x\u002Fguide\u002Fbest-practices","3.guide\u002F2.best-practices\u002Faccessibility",[316,320,325,330,335],{"title":317,"description":318,"path":319,"stem":314},"Nuxt accessibility","Best practices for accessibility in Nuxt apps.","\u002Fdocs\u002F5.x\u002Fguide\u002Fbest-practices\u002Faccessibility",{"title":321,"description":322,"path":323,"stem":324},"Dev Containers","Set up or open a Nuxt project in a dev container for a consistent development environment.","\u002Fdocs\u002F5.x\u002Fguide\u002Fbest-practices\u002Fdevcontainers","3.guide\u002F2.best-practices\u002Fdevcontainers",{"title":326,"description":327,"path":328,"stem":329},"Nuxt and Hydration","Why fixing hydration issues is important","\u002Fdocs\u002F5.x\u002Fguide\u002Fbest-practices\u002Fhydration","3.guide\u002F2.best-practices\u002Fhydration",{"title":331,"description":332,"path":333,"stem":334},"Nuxt performance","Best practices for improving performance of Nuxt apps.","\u002Fdocs\u002F5.x\u002Fguide\u002Fbest-practices\u002Fperformance","3.guide\u002F2.best-practices\u002Fperformance",{"title":336,"description":337,"path":338,"stem":339},"Nuxt Plugins","Best practices when using Nuxt plugins.","\u002Fdocs\u002F5.x\u002Fguide\u002Fbest-practices\u002Fplugins","3.guide\u002F2.best-practices\u002Fplugins",{"title":341,"titleTemplate":342,"icon":343,"path":344,"stem":345,"children":346,"page":106},"Working with AI","Working with AI: %s","i-lucide-bot","\u002Fdocs\u002F5.x\u002Fguide\u002Fai","3.guide\u002F3.ai\u002F1.mcp",[347,351],{"title":348,"description":349,"path":350,"stem":345},"Nuxt MCP Server","Use Nuxt documentation in your AI assistants with Model Context Protocol support.","\u002Fdocs\u002F5.x\u002Fguide\u002Fai\u002Fmcp",{"title":352,"description":353,"path":354,"stem":355},"Nuxt LLMs.txt","How to get AI tools like Cursor, Windsurf, GitHub Copilot, ChatGPT, and Claude to understand Nuxt concepts, APIs, and best practices.","\u002Fdocs\u002F5.x\u002Fguide\u002Fai\u002Fllms-txt","3.guide\u002F3.ai\u002F2.llms-txt",{"title":357,"titleTemplate":358,"icon":359,"path":360,"stem":361,"children":362,"page":106},"Module Author Guide","%s · Nuxt Modules Author Guide","i-lucide-box","\u002Fdocs\u002F5.x\u002Fguide\u002Fmodules","3.guide\u002F4.modules\u002F1.getting-started",[363,367,372,377,382,387,392,397],{"title":364,"description":365,"path":366,"stem":361},"Create Your First Module","Learn how to create your first Nuxt module using the official starter template.","\u002Fdocs\u002F5.x\u002Fguide\u002Fmodules\u002Fgetting-started",{"title":368,"description":369,"path":370,"stem":371},"Understand Module Structure","Learn how Nuxt modules are structured and how to define them.","\u002Fdocs\u002F5.x\u002Fguide\u002Fmodules\u002Fmodule-anatomy","3.guide\u002F4.modules\u002F2.module-anatomy",{"title":373,"description":374,"path":375,"stem":376},"Add Plugins, Components & More","Learn how to inject plugins, components, composables and server routes from your module.","\u002Fdocs\u002F5.x\u002Fguide\u002Fmodules\u002Frecipes-basics","3.guide\u002F4.modules\u002F3.recipes-basics",{"title":378,"description":379,"path":380,"stem":381},"Module Dependencies","Declare dependencies on other modules with version constraints and configuration merging.","\u002Fdocs\u002F5.x\u002Fguide\u002Fmodules\u002Fmodule-dependencies","3.guide\u002F4.modules\u002F4.module-dependencies",{"title":383,"description":384,"path":385,"stem":386},"Use Hooks & Extend Types","Master lifecycle hooks, virtual files and TypeScript declarations in your modules.","\u002Fdocs\u002F5.x\u002Fguide\u002Fmodules\u002Frecipes-advanced","3.guide\u002F4.modules\u002F5.recipes-advanced",{"title":388,"description":389,"path":390,"stem":391},"Test Your Module","Learn how to test your Nuxt module with unit, integration and E2E tests.","\u002Fdocs\u002F5.x\u002Fguide\u002Fmodules\u002Ftesting","3.guide\u002F4.modules\u002F6.testing",{"title":393,"description":394,"path":395,"stem":396},"Follow Best Practices","Build performant and maintainable Nuxt modules with these guidelines.","\u002Fdocs\u002F5.x\u002Fguide\u002Fmodules\u002Fbest-practices","3.guide\u002F4.modules\u002F7.best-practices",{"title":398,"description":399,"path":400,"stem":401},"Publish & Share Your Module","Join the Nuxt module ecosystem and publish your module to npm.","\u002Fdocs\u002F5.x\u002Fguide\u002Fmodules\u002Fecosystem","3.guide\u002F4.modules\u002F8.ecosystem",{"title":403,"titleTemplate":404,"icon":405,"path":406,"stem":407,"children":408,"page":106},"Recipes","%s · Recipes","i-lucide-cooking-pot","\u002Fdocs\u002F5.x\u002Fguide\u002Frecipes","3.guide\u002F5.recipes\u002F1.custom-routing",[409,413,418,423,428],{"title":410,"description":411,"path":412,"stem":407},"Custom Routing","In Nuxt, your routing is defined by the structure of your files inside the pages directory. However, since it uses vue-router under the hood, Nuxt offers you several ways to add custom routes in your project.","\u002Fdocs\u002F5.x\u002Fguide\u002Frecipes\u002Fcustom-routing",{"title":414,"description":415,"path":416,"stem":417},"Using Vite Plugins in Nuxt","Learn how to integrate Vite plugins into your Nuxt project.","\u002Fdocs\u002F5.x\u002Fguide\u002Frecipes\u002Fvite-plugin","3.guide\u002F5.recipes\u002F2.vite-plugin",{"title":419,"description":420,"path":421,"stem":422},"Custom useFetch in Nuxt","How to create a custom fetcher for calling your external API in Nuxt.","\u002Fdocs\u002F5.x\u002Fguide\u002Frecipes\u002Fcustom-usefetch","3.guide\u002F5.recipes\u002F3.custom-usefetch",{"title":424,"description":425,"path":426,"stem":427},"Sessions and Authentication","Authentication is an extremely common requirement in web apps. This recipe will show you how to implement basic user registration and authentication in your Nuxt app.","\u002Fdocs\u002F5.x\u002Fguide\u002Frecipes\u002Fsessions-and-authentication","3.guide\u002F5.recipes\u002F4.sessions-and-authentication",{"title":429,"description":430,"path":431,"stem":432},"Mostly-Static Sites","Ship near-zero JavaScript for content and marketing sites while keeping islands of interactivity.","\u002Fdocs\u002F5.x\u002Fguide\u002Frecipes\u002Fmostly-static-sites","3.guide\u002F5.recipes\u002F5.mostly-static-sites",{"title":434,"titleTemplate":435,"icon":436,"path":437,"stem":438,"children":439,"page":106},"Going Further","%s · Nuxt Advanced","i-lucide-star","\u002Fdocs\u002F5.x\u002Fguide\u002Fgoing-further","3.guide\u002F6.going-further\u002F1.events",[440,444,449,454,459,464,469,473,478,483,488],{"title":441,"description":442,"path":443,"stem":438},"Creating Custom Events","Nuxt provides a powerful event system powered by hookable.","\u002Fdocs\u002F5.x\u002Fguide\u002Fgoing-further\u002Fevents",{"title":445,"description":446,"path":447,"stem":448},"Experimental Features","Enable Nuxt experimental features to unlock new possibilities.","\u002Fdocs\u002F5.x\u002Fguide\u002Fgoing-further\u002Fexperimental-features","3.guide\u002F6.going-further\u002F1.experimental-features",{"title":450,"description":451,"path":452,"stem":453},"Features","Enable or disable optional Nuxt features to unlock new possibilities.","\u002Fdocs\u002F5.x\u002Fguide\u002Fgoing-further\u002Ffeatures","3.guide\u002F6.going-further\u002F1.features",{"title":455,"description":456,"path":457,"stem":458},"Lifecycle Hooks","Nuxt provides a powerful hooking system to expand almost every aspect using hooks.","\u002Fdocs\u002F5.x\u002Fguide\u002Fgoing-further\u002Fhooks","3.guide\u002F6.going-further\u002F2.hooks",{"title":460,"description":461,"path":462,"stem":463},"Nuxt Kit","@nuxt\u002Fkit provides features for module authors.","\u002Fdocs\u002F5.x\u002Fguide\u002Fgoing-further\u002Fkit","3.guide\u002F6.going-further\u002F4.kit",{"title":465,"description":466,"path":467,"stem":468},"NuxtApp","In Nuxt, you can access runtime app context within composables, components and plugins.","\u002Fdocs\u002F5.x\u002Fguide\u002Fgoing-further\u002Fnuxt-app","3.guide\u002F6.going-further\u002F6.nuxt-app",{"title":470,"description":83,"path":471,"stem":472},"Authoring Nuxt Layers","\u002Fdocs\u002F5.x\u002Fguide\u002Fgoing-further\u002Flayers","3.guide\u002F6.going-further\u002F7.layers",{"title":474,"description":475,"path":476,"stem":477},"Creating a Builder","Learn how Nuxt builders work and how to author your own.","\u002Fdocs\u002F5.x\u002Fguide\u002Fgoing-further\u002Fbuilders","3.guide\u002F6.going-further\u002F8.builders",{"title":479,"description":480,"path":481,"stem":482},"Debugging","In Nuxt, you can get started with debugging your application directly in the browser as well as in your IDE.","\u002Fdocs\u002F5.x\u002Fguide\u002Fgoing-further\u002Fdebugging","3.guide\u002F6.going-further\u002F9.debugging",{"title":484,"description":485,"path":486,"stem":487},"Runtime Config","Nuxt provides a runtime config API to expose configuration and secrets within your application.","\u002Fdocs\u002F5.x\u002Fguide\u002Fgoing-further\u002Fruntime-config","3.guide\u002F6.going-further\u002F10.runtime-config",{"title":489,"description":490,"path":491,"stem":492},"Nightly Release Channel","The nightly release channel allows using Nuxt built directly from the latest commits to the repository.","\u002Fdocs\u002F5.x\u002Fguide\u002Fgoing-further\u002Fnightly-release-channel","3.guide\u002F6.going-further\u002F11.nightly-release-channel",{"title":494,"titleTemplate":495,"icon":496,"path":497,"stem":498,"children":499,"page":106},"API","%s · Nuxt API","i-lucide-code-xml","\u002Fdocs\u002F5.x\u002Fapi","4.api\u002F1.components\u002F1.client-only",[500,584,755,905,999,1012],{"title":501,"titleTemplate":502,"icon":359,"path":503,"stem":498,"children":504,"page":106},"Components","%s · Nuxt Components","\u002Fdocs\u002F5.x\u002Fapi\u002Fcomponents",[505,509,514,519,524,529,534,539,544,549,554,559,564,569,574,579],{"title":506,"description":507,"path":508,"stem":498},"\u003CClientOnly>","Render components only in client-side with the \u003CClientOnly> component.","\u002Fdocs\u002F5.x\u002Fapi\u002Fcomponents\u002Fclient-only",{"title":510,"description":511,"path":512,"stem":513},"\u003CDevOnly>","Render components only during development with the \u003CDevOnly> component.","\u002Fdocs\u002F5.x\u002Fapi\u002Fcomponents\u002Fdev-only","4.api\u002F1.components\u002F1.dev-only",{"title":515,"description":516,"path":517,"stem":518},"\u003CNuxtClientFallback>","Nuxt provides the \u003CNuxtClientFallback> component to render its content on the client if any of its children trigger an error in SSR","\u002Fdocs\u002F5.x\u002Fapi\u002Fcomponents\u002Fnuxt-client-fallback","4.api\u002F1.components\u002F1.nuxt-client-fallback",{"title":520,"description":521,"path":522,"stem":523},"\u003CNuxtPage>","The \u003CNuxtPage> component is required to display pages located in the pages\u002F directory.","\u002Fdocs\u002F5.x\u002Fapi\u002Fcomponents\u002Fnuxt-page","4.api\u002F1.components\u002F2.nuxt-page",{"title":525,"description":526,"path":527,"stem":528},"\u003CNuxtLayout>","Nuxt provides the \u003CNuxtLayout> component to show layouts on pages and error pages.","\u002Fdocs\u002F5.x\u002Fapi\u002Fcomponents\u002Fnuxt-layout","4.api\u002F1.components\u002F3.nuxt-layout",{"title":530,"description":531,"path":532,"stem":533},"\u003CNuxtLink>","Nuxt provides \u003CNuxtLink> component to handle any kind of links within your application.","\u002Fdocs\u002F5.x\u002Fapi\u002Fcomponents\u002Fnuxt-link","4.api\u002F1.components\u002F4.nuxt-link",{"title":535,"description":536,"path":537,"stem":538},"\u003CNuxtLoadingIndicator>","Display a progress bar between page navigations.","\u002Fdocs\u002F5.x\u002Fapi\u002Fcomponents\u002Fnuxt-loading-indicator","4.api\u002F1.components\u002F5.nuxt-loading-indicator",{"title":540,"description":541,"path":542,"stem":543},"\u003CNuxtErrorBoundary>","The \u003CNuxtErrorBoundary> component handles client-side errors happening in its default slot.","\u002Fdocs\u002F5.x\u002Fapi\u002Fcomponents\u002Fnuxt-error-boundary","4.api\u002F1.components\u002F6.nuxt-error-boundary",{"title":545,"description":546,"path":547,"stem":548},"\u003CNuxtWelcome>","The \u003CNuxtWelcome> component greets users in new projects made from the starter template.","\u002Fdocs\u002F5.x\u002Fapi\u002Fcomponents\u002Fnuxt-welcome","4.api\u002F1.components\u002F7.nuxt-welcome",{"title":550,"description":551,"path":552,"stem":553},"\u003CNuxtIsland>","Nuxt provides the \u003CNuxtIsland> component to render a non-interactive component without any client JS.","\u002Fdocs\u002F5.x\u002Fapi\u002Fcomponents\u002Fnuxt-island","4.api\u002F1.components\u002F8.nuxt-island",{"title":555,"description":556,"path":557,"stem":558},"\u003CNuxtImg>","Nuxt provides a \u003CNuxtImg> component to handle automatic image optimization.","\u002Fdocs\u002F5.x\u002Fapi\u002Fcomponents\u002Fnuxt-img","4.api\u002F1.components\u002F9.nuxt-img",{"title":560,"description":561,"path":562,"stem":563},"\u003CNuxtPicture>","Nuxt provides a \u003CNuxtPicture> component to handle automatic image optimization.","\u002Fdocs\u002F5.x\u002Fapi\u002Fcomponents\u002Fnuxt-picture","4.api\u002F1.components\u002F10.nuxt-picture",{"title":565,"description":566,"path":567,"stem":568},"\u003CTeleport>","The \u003CTeleport> component teleports a component to a different location in the DOM.","\u002Fdocs\u002F5.x\u002Fapi\u002Fcomponents\u002Fteleports","4.api\u002F1.components\u002F11.teleports",{"title":570,"description":571,"path":572,"stem":573},"\u003CNuxtRouteAnnouncer>","The \u003CNuxtRouteAnnouncer> component adds a hidden element with the page title to announce route changes to assistive technologies.","\u002Fdocs\u002F5.x\u002Fapi\u002Fcomponents\u002Fnuxt-route-announcer","4.api\u002F1.components\u002F12.nuxt-route-announcer",{"title":575,"description":576,"path":577,"stem":578},"\u003CNuxtTime>","The \u003CNuxtTime> component displays time in a locale-friendly format with server-client consistency.","\u002Fdocs\u002F5.x\u002Fapi\u002Fcomponents\u002Fnuxt-time","4.api\u002F1.components\u002F13.nuxt-time",{"title":580,"description":581,"path":582,"stem":583},"\u003CNuxtAnnouncer>","The \u003CNuxtAnnouncer> component adds a hidden element to announce dynamic content changes to assistive technologies.","\u002Fdocs\u002F5.x\u002Fapi\u002Fcomponents\u002Fnuxt-announcer","4.api\u002F1.components\u002F14.nuxt-announcer",{"title":585,"titleTemplate":586,"icon":587,"path":588,"stem":589,"children":590,"page":106},"Composables","%s · Nuxt Composables","i-lucide-arrow-left-right","\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables","4.api\u002F2.composables\u002Fcreate-use-async-data",[591,595,600,605,610,615,620,625,630,635,640,645,650,655,660,665,670,675,680,685,690,695,700,705,710,715,720,725,730,735,740,745,750],{"title":592,"description":593,"path":594,"stem":589},"createUseAsyncData","A factory function to create a custom useAsyncData composable with pre-defined default options.","\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fcreate-use-async-data",{"title":596,"description":597,"path":598,"stem":599},"createUseFetch","A factory function to create a custom useFetch composable with pre-defined default options.","\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fcreate-use-fetch","4.api\u002F2.composables\u002Fcreate-use-fetch",{"title":601,"description":602,"path":603,"stem":604},"onPrehydrate","Use onPrehydrate to run a callback on the client immediately before Nuxt hydrates the page.","\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fon-prehydrate","4.api\u002F2.composables\u002Fon-prehydrate",{"title":606,"description":607,"path":608,"stem":609},"useAnnouncer","A composable for announcing messages to screen readers.","\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-announcer","4.api\u002F2.composables\u002Fuse-announcer",{"title":611,"description":612,"path":613,"stem":614},"useAppConfig","Access the reactive app config defined in the project.","\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-app-config","4.api\u002F2.composables\u002Fuse-app-config",{"title":616,"description":617,"path":618,"stem":619},"useAsyncData","useAsyncData provides access to data that resolves asynchronously in an SSR-friendly composable.","\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-async-data","4.api\u002F2.composables\u002Fuse-async-data",{"title":621,"description":622,"path":623,"stem":624},"useCookie","useCookie is an SSR-friendly composable to read and write cookies.","\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-cookie","4.api\u002F2.composables\u002Fuse-cookie",{"title":626,"description":627,"path":628,"stem":629},"useError","useError composable returns the global Nuxt error that is being handled.","\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-error","4.api\u002F2.composables\u002Fuse-error",{"title":631,"description":632,"path":633,"stem":634},"useFetch","Fetch data from an API endpoint with an SSR-friendly composable.","\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-fetch","4.api\u002F2.composables\u002Fuse-fetch",{"title":636,"description":637,"path":638,"stem":639},"useHead","useHead customizes the head properties of individual pages of your Nuxt app.","\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-head","4.api\u002F2.composables\u002Fuse-head",{"title":641,"description":642,"path":643,"stem":644},"useHeadSafe","The recommended way to provide head data with user input.","\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-head-safe","4.api\u002F2.composables\u002Fuse-head-safe",{"title":646,"description":647,"path":648,"stem":649},"useHydration","Allows full control of the hydration cycle to set and receive data from the server.","\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-hydration","4.api\u002F2.composables\u002Fuse-hydration",{"title":651,"description":652,"path":653,"stem":654},"useLayout","useLayout returns the layout resolved for the current route.","\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-layout","4.api\u002F2.composables\u002Fuse-layout",{"title":656,"description":657,"path":658,"stem":659},"useLazyAsyncData","This wrapper around useAsyncData triggers navigation immediately.","\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-lazy-async-data","4.api\u002F2.composables\u002Fuse-lazy-async-data",{"title":661,"description":662,"path":663,"stem":664},"useLazyFetch","This wrapper around useFetch triggers navigation immediately.","\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-lazy-fetch","4.api\u002F2.composables\u002Fuse-lazy-fetch",{"title":666,"description":667,"path":668,"stem":669},"useLoadingIndicator","This composable gives you access to the loading state of the app page.","\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-loading-indicator","4.api\u002F2.composables\u002Fuse-loading-indicator",{"title":671,"description":672,"path":673,"stem":674},"useNuxtApp","Access the shared runtime context of the Nuxt Application.","\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-nuxt-app","4.api\u002F2.composables\u002Fuse-nuxt-app",{"title":676,"description":677,"path":678,"stem":679},"useNuxtData","Access the current cached value of data fetching composables.","\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-nuxt-data","4.api\u002F2.composables\u002Fuse-nuxt-data",{"title":681,"description":682,"path":683,"stem":684},"usePreviewMode","Use usePreviewMode to check and control preview mode in Nuxt","\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-preview-mode","4.api\u002F2.composables\u002Fuse-preview-mode",{"title":686,"description":687,"path":688,"stem":689},"useRequestEvent","Access the incoming request event with the useRequestEvent composable.","\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-request-event","4.api\u002F2.composables\u002Fuse-request-event",{"title":691,"description":692,"path":693,"stem":694},"useRequestFetch","Forward the request context and headers for server-side fetch requests with the useRequestFetch composable.","\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-request-fetch","4.api\u002F2.composables\u002Fuse-request-fetch",{"title":696,"description":697,"path":698,"stem":699},"useRequestHeader","Use useRequestHeader to access a certain incoming request header.","\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-request-header","4.api\u002F2.composables\u002Fuse-request-header",{"title":701,"description":702,"path":703,"stem":704},"useRequestHeaders","Use useRequestHeaders to access the incoming request headers.","\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-request-headers","4.api\u002F2.composables\u002Fuse-request-headers",{"title":706,"description":707,"path":708,"stem":709},"useRequestURL","Access the incoming request URL with the useRequestURL composable.","\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-request-url","4.api\u002F2.composables\u002Fuse-request-url",{"title":711,"description":712,"path":713,"stem":714},"useResponseHeader","Use useResponseHeader to set a server response header.","\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-response-header","4.api\u002F2.composables\u002Fuse-response-header",{"title":716,"description":717,"path":718,"stem":719},"useRoute","The useRoute composable returns the current route.","\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-route","4.api\u002F2.composables\u002Fuse-route",{"title":721,"description":722,"path":723,"stem":724},"useRouteAnnouncer","This composable observes the page title changes and updates the announcer message accordingly.","\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-route-announcer","4.api\u002F2.composables\u002Fuse-route-announcer",{"title":726,"description":727,"path":728,"stem":729},"useRouter","The useRouter composable returns the router instance.","\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-router","4.api\u002F2.composables\u002Fuse-router",{"title":731,"description":732,"path":733,"stem":734},"useRuntimeConfig","Access runtime config variables with the useRuntimeConfig composable.","\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-runtime-config","4.api\u002F2.composables\u002Fuse-runtime-config",{"title":736,"description":737,"path":738,"stem":739},"useRuntimeHook","Registers a runtime hook in a Nuxt application and ensures it is properly disposed of when the scope is destroyed.","\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-runtime-hook","4.api\u002F2.composables\u002Fuse-runtime-hook",{"title":741,"description":742,"path":743,"stem":744},"useSeoMeta","The useSeoMeta composable lets you define your site's SEO meta tags as a flat object with full TypeScript support.","\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-seo-meta","4.api\u002F2.composables\u002Fuse-seo-meta",{"title":746,"description":747,"path":748,"stem":749},"useServerSeoMeta","The useServerSeoMeta composable lets you define your site's SEO meta tags as a flat object with full TypeScript support.","\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-server-seo-meta","4.api\u002F2.composables\u002Fuse-server-seo-meta",{"title":751,"description":752,"path":753,"stem":754},"useState","The useState composable creates a reactive and SSR-friendly shared state.","\u002Fdocs\u002F5.x\u002Fapi\u002Fcomposables\u002Fuse-state","4.api\u002F2.composables\u002Fuse-state",{"title":756,"titleTemplate":757,"path":758,"stem":759,"children":760,"page":106},"Utils","%s · Nuxt Utils","\u002Fdocs\u002F5.x\u002Fapi\u002Futils","4.api\u002F3.utils\u002F$fetch",[761,765,770,775,780,785,790,795,800,805,810,815,820,825,830,835,840,845,850,855,860,865,870,875,880,885,890,895,900],{"title":762,"description":763,"path":764,"stem":759},"$fetch","Nuxt uses ofetch to expose globally the $fetch helper for making HTTP requests.","\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fdollarfetch",{"title":766,"description":767,"path":768,"stem":769},"abortNavigation","abortNavigation is a helper function that prevents navigation from taking place and throws an error if one is set as a parameter.","\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fabort-navigation","4.api\u002F3.utils\u002Fabort-navigation",{"title":771,"description":772,"path":773,"stem":774},"addRouteMiddleware","addRouteMiddleware() is a helper function to dynamically add middleware in your application.","\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fadd-route-middleware","4.api\u002F3.utils\u002Fadd-route-middleware",{"title":776,"description":777,"path":778,"stem":779},"callOnce","Run a given function or block of code once during SSR or CSR.","\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fcall-once","4.api\u002F3.utils\u002Fcall-once",{"title":781,"description":782,"path":783,"stem":784},"clearError","The clearError composable clears all handled errors.","\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fclear-error","4.api\u002F3.utils\u002Fclear-error",{"title":786,"description":787,"path":788,"stem":789},"clearNuxtData","Delete cached data, error status and pending promises of useAsyncData and useFetch.","\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fclear-nuxt-data","4.api\u002F3.utils\u002Fclear-nuxt-data",{"title":791,"description":792,"path":793,"stem":794},"clearNuxtState","Delete the cached state of useState.","\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fclear-nuxt-state","4.api\u002F3.utils\u002Fclear-nuxt-state",{"title":796,"description":797,"path":798,"stem":799},"createError","Create an error object with additional metadata.","\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fcreate-error","4.api\u002F3.utils\u002Fcreate-error",{"title":801,"description":802,"path":803,"stem":804},"defineLazyHydrationComponent","Define a lazy hydration component with a specific strategy.","\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fdefine-lazy-hydration-component","4.api\u002F3.utils\u002Fdefine-lazy-hydration-component",{"title":806,"description":807,"path":808,"stem":809},"defineNuxtComponent","defineNuxtComponent() is a helper function for defining type safe components with Options API.","\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fdefine-nuxt-component","4.api\u002F3.utils\u002Fdefine-nuxt-component",{"title":811,"description":812,"path":813,"stem":814},"defineNuxtPlugin","defineNuxtPlugin() is a helper function for creating Nuxt plugins.","\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fdefine-nuxt-plugin","4.api\u002F3.utils\u002Fdefine-nuxt-plugin",{"title":816,"description":817,"path":818,"stem":819},"defineNuxtRouteMiddleware","Create named route middleware using defineNuxtRouteMiddleware helper function.","\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fdefine-nuxt-route-middleware","4.api\u002F3.utils\u002Fdefine-nuxt-route-middleware",{"title":821,"description":822,"path":823,"stem":824},"definePageMeta","Define metadata for your page components.","\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fdefine-page-meta","4.api\u002F3.utils\u002Fdefine-page-meta",{"title":826,"description":827,"path":828,"stem":829},"defineRouteRules","Define route rules for hybrid rendering at the page level.","\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fdefine-route-rules","4.api\u002F3.utils\u002Fdefine-route-rules",{"title":831,"description":832,"path":833,"stem":834},"navigateTo","navigateTo is a helper function that programmatically navigates users.","\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fnavigate-to","4.api\u002F3.utils\u002Fnavigate-to",{"title":836,"description":837,"path":838,"stem":839},"onBeforeRouteLeave","The onBeforeRouteLeave composable allows registering a route guard within a component.","\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fon-before-route-leave","4.api\u002F3.utils\u002Fon-before-route-leave",{"title":841,"description":842,"path":843,"stem":844},"onBeforeRouteUpdate","The onBeforeRouteUpdate composable allows registering a route guard within a component.","\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fon-before-route-update","4.api\u002F3.utils\u002Fon-before-route-update",{"title":846,"description":847,"path":848,"stem":849},"onNuxtReady","The onNuxtReady composable allows running a callback after your app has finished initializing.","\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fon-nuxt-ready","4.api\u002F3.utils\u002Fon-nuxt-ready",{"title":851,"description":852,"path":853,"stem":854},"prefetchComponents","Nuxt provides utilities to give you control over prefetching components.","\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fprefetch-components","4.api\u002F3.utils\u002Fprefetch-components",{"title":856,"description":857,"path":858,"stem":859},"preloadComponents","Nuxt provides utilities to give you control over preloading components.","\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fpreload-components","4.api\u002F3.utils\u002Fpreload-components",{"title":861,"description":862,"path":863,"stem":864},"preloadRouteComponents","preloadRouteComponents allows you to manually preload individual pages in your Nuxt app.","\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fpreload-route-components","4.api\u002F3.utils\u002Fpreload-route-components",{"title":866,"description":867,"path":868,"stem":869},"prerenderRoutes","prerenderRoutes hints to Nitro to prerender an additional route.","\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fprerender-routes","4.api\u002F3.utils\u002Fprerender-routes",{"title":871,"description":872,"path":873,"stem":874},"refreshCookie","Refresh useCookie values manually when a cookie has changed","\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Frefresh-cookie","4.api\u002F3.utils\u002Frefresh-cookie",{"title":876,"description":877,"path":878,"stem":879},"refreshNuxtData","Refresh all or specific asyncData instances in Nuxt","\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Frefresh-nuxt-data","4.api\u002F3.utils\u002Frefresh-nuxt-data",{"title":881,"description":882,"path":883,"stem":884},"reloadNuxtApp","reloadNuxtApp will perform a hard reload of the page.","\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Freload-nuxt-app","4.api\u002F3.utils\u002Freload-nuxt-app",{"title":886,"description":887,"path":888,"stem":889},"setPageLayout","setPageLayout allows you to dynamically change the layout of a page.","\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fset-page-layout","4.api\u002F3.utils\u002Fset-page-layout",{"title":891,"description":892,"path":893,"stem":894},"setResponseStatus","setResponseStatus sets the status (and optionally the statusText) of the response.","\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fset-response-status","4.api\u002F3.utils\u002Fset-response-status",{"title":896,"description":897,"path":898,"stem":899},"showError","Nuxt provides a quick and simple way to show a full screen error page if needed.","\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fshow-error","4.api\u002F3.utils\u002Fshow-error",{"title":901,"description":902,"path":903,"stem":904},"updateAppConfig","Update the App Config at runtime.","\u002Fdocs\u002F5.x\u002Fapi\u002Futils\u002Fupdate-app-config","4.api\u002F3.utils\u002Fupdate-app-config",{"title":460,"titleTemplate":906,"path":907,"stem":908,"children":909,"page":106},"%s · Nuxt Kit","\u002Fdocs\u002F5.x\u002Fapi\u002Fkit","4.api\u002F5.kit\u002F1.modules",[910,913,918,923,927,931,936,941,946,951,956,960,965,970,975,980,985,990,995],{"title":290,"description":911,"path":912,"stem":908},"Nuxt Kit provides a set of utilities to help you create and use modules. You can use these utilities to create your own modules or to reuse existing modules.","\u002Fdocs\u002F5.x\u002Fapi\u002Fkit\u002Fmodules",{"title":914,"description":915,"path":916,"stem":917},"Programmatic Usage","Nuxt Kit provides a set of utilities to help you work with Nuxt programmatically. These functions allow you to load Nuxt, build Nuxt, and load Nuxt configuration.","\u002Fdocs\u002F5.x\u002Fapi\u002Fkit\u002Fprogrammatic","4.api\u002F5.kit\u002F2.programmatic",{"title":919,"description":920,"path":921,"stem":922},"Compatibility","Nuxt Kit provides a set of utilities to help you check the compatibility of your modules with different Nuxt versions.","\u002Fdocs\u002F5.x\u002Fapi\u002Fkit\u002Fcompatibility","4.api\u002F5.kit\u002F3.compatibility",{"title":280,"description":924,"path":925,"stem":926},"Nuxt Kit provides a set of utilities to help you work with auto-imports. These functions allow you to register your own utils, composables and Vue APIs.","\u002Fdocs\u002F5.x\u002Fapi\u002Fkit\u002Fautoimports","4.api\u002F5.kit\u002F4.autoimports",{"title":501,"description":928,"path":929,"stem":930},"Nuxt Kit provides a set of utilities to help you work with components. You can register components globally or locally, and also add directories to be scanned for components.","\u002Fdocs\u002F5.x\u002Fapi\u002Fkit\u002Fcomponents","4.api\u002F5.kit\u002F5.components",{"title":932,"description":933,"path":934,"stem":935},"Context","Nuxt Kit provides a set of utilities to help you work with context.","\u002Fdocs\u002F5.x\u002Fapi\u002Fkit\u002Fcontext","4.api\u002F5.kit\u002F6.context",{"title":937,"description":938,"path":939,"stem":940},"Pages","Nuxt Kit provides a set of utilities to help you create and use pages. You can use these utilities to manipulate the pages configuration or to define route rules.","\u002Fdocs\u002F5.x\u002Fapi\u002Fkit\u002Fpages","4.api\u002F5.kit\u002F7.pages",{"title":942,"description":943,"path":944,"stem":945},"Layout","Nuxt Kit provides a set of utilities to help you work with layouts.","\u002Fdocs\u002F5.x\u002Fapi\u002Fkit\u002Flayout","4.api\u002F5.kit\u002F8.layout",{"title":947,"description":948,"path":949,"stem":950},"Head","Nuxt Kit provides utilities to help you manage head configuration in modules.","\u002Fdocs\u002F5.x\u002Fapi\u002Fkit\u002Fhead","4.api\u002F5.kit\u002F9.head",{"title":952,"description":953,"path":954,"stem":955},"Plugins","Nuxt Kit provides a set of utilities to help you create and use plugins. You can add plugins or plugin templates to your module using these functions.","\u002Fdocs\u002F5.x\u002Fapi\u002Fkit\u002Fplugins","4.api\u002F5.kit\u002F9.plugins",{"title":484,"description":957,"path":958,"stem":959},"Nuxt Kit provides a set of utilities to help you access and modify Nuxt runtime configuration.","\u002Fdocs\u002F5.x\u002Fapi\u002Fkit\u002Fruntime-config","4.api\u002F5.kit\u002F10.runtime-config",{"title":961,"description":962,"path":963,"stem":964},"Templates","Nuxt Kit provides a set of utilities to help you work with templates. These functions allow you to generate extra files during development and build time.","\u002Fdocs\u002F5.x\u002Fapi\u002Fkit\u002Ftemplates","4.api\u002F5.kit\u002F10.templates",{"title":966,"description":967,"path":968,"stem":969},"App Config","Nuxt Kit provides a set of utilities to help you access and modify Nuxt app configuration.","\u002Fdocs\u002F5.x\u002Fapi\u002Fkit\u002Fapp-config","4.api\u002F5.kit\u002F11.app-config",{"title":971,"description":972,"path":973,"stem":974},"Nitro","Nuxt Kit provides a set of utilities to help you work with Nitro. These functions allow you to add server handlers, plugins, and prerender routes.","\u002Fdocs\u002F5.x\u002Fapi\u002Fkit\u002Fnitro","4.api\u002F5.kit\u002F12.nitro",{"title":976,"description":977,"path":978,"stem":979},"Resolving","Nuxt Kit provides utilities to resolve paths from the Nuxt root directory or a custom base.","\u002Fdocs\u002F5.x\u002Fapi\u002Fkit\u002Fresolving","4.api\u002F5.kit\u002F13.resolving",{"title":981,"description":982,"path":983,"stem":984},"Logging","Nuxt Kit provides a set of utilities to help you work with logging. These functions allow you to log messages with extra features.","\u002Fdocs\u002F5.x\u002Fapi\u002Fkit\u002Flogging","4.api\u002F5.kit\u002F14.logging",{"title":986,"description":987,"path":988,"stem":989},"Builder","Nuxt Kit provides a set of utilities to help you work with the builder. These functions allow you to extend the Vite and webpack configurations.","\u002Fdocs\u002F5.x\u002Fapi\u002Fkit\u002Fbuilder","4.api\u002F5.kit\u002F15.builder",{"title":991,"description":992,"path":993,"stem":994},"Examples","Examples of Nuxt Kit utilities in use.","\u002Fdocs\u002F5.x\u002Fapi\u002Fkit\u002Fexamples","4.api\u002F5.kit\u002F16.examples",{"title":82,"description":996,"path":997,"stem":998},"Nuxt Kit provides utilities to help you work with layers and their directory structures.","\u002Fdocs\u002F5.x\u002Fapi\u002Fkit\u002Flayers","4.api\u002F5.kit\u002F17.layers",{"icon":1000,"title":1001,"path":1002,"stem":1003,"children":1004,"page":106},"i-lucide-brain","Advanced","\u002Fdocs\u002F5.x\u002Fapi\u002Fadvanced","4.api\u002F6.advanced\u002F1.hooks",[1005,1007],{"title":455,"description":456,"path":1006,"stem":1003},"\u002Fdocs\u002F5.x\u002Fapi\u002Fadvanced\u002Fhooks",{"title":1008,"description":1009,"path":1010,"stem":1011},"Import meta","Understand where your code is running using `import.meta`.","\u002Fdocs\u002F5.x\u002Fapi\u002Fadvanced\u002Fimport-meta","4.api\u002F6.advanced\u002F2.import-meta",{"title":1013,"description":1014,"path":1015,"stem":1016},"Nuxt Configuration","Discover all the options you can use in your nuxt.config.ts file.","\u002Fdocs\u002F5.x\u002Fapi\u002Fnuxt-config","4.api\u002F6.nuxt-config",{"title":1018,"titleTemplate":1019,"icon":1020,"path":1021,"stem":1022,"children":1023,"page":106},"Community","%s · Nuxt Community","i-lucide-messages-square","\u002Fdocs\u002F5.x\u002Fcommunity","5.community\u002F2.getting-help",[1024,1029,1034,1039,1044,1049],{"title":1025,"description":1026,"path":1027,"stem":1022,"icon":1028},"Getting Help","We're a friendly community of developers and we'd love to help.","\u002Fdocs\u002F5.x\u002Fcommunity\u002Fgetting-help","i-lucide-life-buoy",{"title":1030,"description":1031,"path":1032,"stem":1033},"Reporting Bugs","One of the most valuable roles in open source is taking the time to report bugs helpfully.","\u002Fdocs\u002F5.x\u002Fcommunity\u002Freporting-bugs","5.community\u002F3.reporting-bugs",{"title":1035,"description":1036,"path":1037,"stem":1038},"Contribution","Nuxt is a community project - and so we love contributions of all kinds! ❤️","\u002Fdocs\u002F5.x\u002Fcommunity\u002Fcontribution","5.community\u002F4.contribution",{"title":1040,"description":1041,"path":1042,"stem":1043},"Framework","Some specific points about contributions to the framework repository.","\u002Fdocs\u002F5.x\u002Fcommunity\u002Fframework-contribution","5.community\u002F5.framework-contribution",{"title":1045,"description":1046,"path":1047,"stem":1048},"Roadmap","Nuxt is constantly evolving, with new features and modules being added all the time.","\u002Fdocs\u002F5.x\u002Fcommunity\u002Froadmap","5.community\u002F6.roadmap",{"title":1050,"description":1051,"path":1052,"stem":1053},"Releases","Discover the latest releases of Nuxt & Nuxt official modules.","\u002Fdocs\u002F5.x\u002Fcommunity\u002Fchangelog","5.community\u002F7.changelog",{"title":1055,"titleTemplate":1056,"icon":1057,"path":1058,"stem":1059,"children":1060,"page":106},"Migrate to Nuxt Bridge","Migrate to Nuxt Bridge: %s","i-lucide-ship","\u002Fdocs\u002F5.x\u002Fbridge","6.bridge\u002F1.overview",[1061,1065,1069,1074,1079,1084,1089,1092,1096,1101],{"title":1062,"description":1063,"path":1064,"stem":1059},"Overview","Reduce the differences with Nuxt 3 and reduce the burden of migration to Nuxt 3.","\u002Fdocs\u002F5.x\u002Fbridge\u002Foverview",{"title":300,"description":1066,"path":1067,"stem":1068},"Learn how to use TypeScript with Nuxt Bridge.","\u002Fdocs\u002F5.x\u002Fbridge\u002Ftypescript","6.bridge\u002F2.typescript",{"title":1070,"description":1071,"path":1072,"stem":1073},"Legacy Composition API","Learn how to migrate to Composition API with Nuxt Bridge.","\u002Fdocs\u002F5.x\u002Fbridge\u002Fbridge-composition-api","6.bridge\u002F3.bridge-composition-api",{"title":1075,"description":1076,"path":1077,"stem":1078},"Plugins and Middleware","Learn how to migrate from Nuxt 2 to Nuxt Bridge new plugins and middleware.","\u002Fdocs\u002F5.x\u002Fbridge\u002Fplugins-and-middleware","6.bridge\u002F4.plugins-and-middleware",{"title":1080,"description":1081,"path":1082,"stem":1083},"New Composition API","Nuxt Bridge implements composables compatible with Nuxt 3.","\u002Fdocs\u002F5.x\u002Fbridge\u002Fnuxt3-compatible-api","6.bridge\u002F5.nuxt3-compatible-api",{"title":1085,"description":1086,"path":1087,"stem":1088},"Meta Tags","Learn how to migrate from Nuxt 2 to Nuxt Bridge new meta tags.","\u002Fdocs\u002F5.x\u002Fbridge\u002Fmeta","6.bridge\u002F6.meta",{"title":484,"description":485,"path":1090,"stem":1091},"\u002Fdocs\u002F5.x\u002Fbridge\u002Fruntime-config","6.bridge\u002F7.runtime-config",{"title":971,"description":1093,"path":1094,"stem":1095},"Activate Nitro to your Nuxt 2 application with Nuxt Bridge.","\u002Fdocs\u002F5.x\u002Fbridge\u002Fnitro","6.bridge\u002F8.nitro",{"title":1097,"description":1098,"path":1099,"stem":1100},"Vite","Activate Vite to your Nuxt 2 application with Nuxt Bridge.","\u002Fdocs\u002F5.x\u002Fbridge\u002Fvite","6.bridge\u002F9.vite",{"title":27,"description":1102,"path":1103,"stem":1104},"Learn how to configure Nuxt Bridge to your own needs.","\u002Fdocs\u002F5.x\u002Fbridge\u002Fconfiguration","6.bridge\u002F10.configuration",{"title":1106,"titleTemplate":1107,"icon":1108,"path":1109,"stem":1110,"children":1111,"page":106},"Migrate to Nuxt 3","Migrate to Nuxt 3: %s","i-lucide-circle-arrow-up","\u002Fdocs\u002F5.x\u002Fmigration","7.migration\u002F1.overview",[1112,1115,1119,1124,1128,1132,1137,1142,1146,1151,1155],{"title":1062,"description":1113,"path":1114,"stem":1110},"Nuxt 3 is a complete rewrite of Nuxt 2, and also based on a new set of underlying technologies.","\u002Fdocs\u002F5.x\u002Fmigration\u002Foverview",{"title":27,"description":1116,"path":1117,"stem":1118},"Learn how to migrate from Nuxt 2 to Nuxt 3 new configuration.","\u002Fdocs\u002F5.x\u002Fmigration\u002Fconfiguration","7.migration\u002F2.configuration",{"title":1120,"description":1121,"path":1122,"stem":1123},"Auto Imports","Nuxt 3 adopts a minimal friction approach, meaning wherever possible components and composables are auto-imported.","\u002Fdocs\u002F5.x\u002Fmigration\u002Fauto-imports","7.migration\u002F3.auto-imports",{"title":1085,"description":1125,"path":1126,"stem":1127},"Manage your meta tags, from Nuxt 2 to Nuxt 3.","\u002Fdocs\u002F5.x\u002Fmigration\u002Fmeta","7.migration\u002F4.meta",{"title":1075,"description":1129,"path":1130,"stem":1131},"Learn how to migrate from Nuxt 2 to Nuxt 3 plugins and middleware.","\u002Fdocs\u002F5.x\u002Fmigration\u002Fplugins-and-middleware","7.migration\u002F5.plugins-and-middleware",{"title":1133,"description":1134,"path":1135,"stem":1136},"Pages and Layouts","Learn how to migrate from Nuxt 2 to Nuxt 3 pages and layouts.","\u002Fdocs\u002F5.x\u002Fmigration\u002Fpages-and-layouts","7.migration\u002F6.pages-and-layouts",{"title":1138,"description":1139,"path":1140,"stem":1141},"Component Options","Learn how to migrate from Nuxt 2 components options to Nuxt 3 composables.","\u002Fdocs\u002F5.x\u002Fmigration\u002Fcomponent-options","7.migration\u002F7.component-options",{"title":484,"description":1143,"path":1144,"stem":1145},"Learn how to migrate from Nuxt 2 to Nuxt 3 runtime config.","\u002Fdocs\u002F5.x\u002Fmigration\u002Fruntime-config","7.migration\u002F8.runtime-config",{"title":1147,"description":1148,"path":1149,"stem":1150},"Build Tooling","Learn how to migrate from Nuxt 2 to Nuxt 3 build tooling.","\u002Fdocs\u002F5.x\u002Fmigration\u002Fbundling","7.migration\u002F10.bundling",{"title":77,"description":1152,"path":1153,"stem":1154},"Learn how to migrate from Nuxt 2 to Nuxt 3 server.","\u002Fdocs\u002F5.x\u002Fmigration\u002Fserver","7.migration\u002F11.server",{"title":290,"description":1156,"path":1157,"stem":1158},"Learn how to migrate from Nuxt 2 to Nuxt 3 modules.","\u002Fdocs\u002F5.x\u002Fmigration\u002Fmodule-authors","7.migration\u002F20.module-authors",{"title":5,"icon":6,"path":1160,"stem":8,"children":1161,"page":106},"\u002Fdocs\u002F4.x",[1162,1201,1263,1362,1580,1595,1618],{"title":11,"titleTemplate":12,"icon":13,"path":1163,"stem":8,"children":1164,"page":106},"\u002Fdocs\u002F4.x\u002Fgetting-started",[1165,1167,1169,1171,1173,1175,1177,1179,1181,1183,1185,1187,1189,1191,1193,1195,1197,1199],{"title":17,"description":18,"path":1166,"stem":8,"icon":20},"\u002Fdocs\u002F4.x\u002Fgetting-started\u002Fintroduction",{"title":22,"description":23,"path":1168,"stem":25},"\u002Fdocs\u002F4.x\u002Fgetting-started\u002Finstallation",{"title":27,"description":28,"path":1170,"stem":30},"\u002Fdocs\u002F4.x\u002Fgetting-started\u002Fconfiguration",{"title":32,"description":33,"path":1172,"stem":35},"\u002Fdocs\u002F4.x\u002Fgetting-started\u002Fviews",{"title":37,"description":38,"path":1174,"stem":40},"\u002Fdocs\u002F4.x\u002Fgetting-started\u002Fassets",{"title":42,"description":43,"path":1176,"stem":45},"\u002Fdocs\u002F4.x\u002Fgetting-started\u002Fstyling",{"title":47,"description":48,"path":1178,"stem":50},"\u002Fdocs\u002F4.x\u002Fgetting-started\u002Frouting",{"title":52,"description":53,"path":1180,"stem":55},"\u002Fdocs\u002F4.x\u002Fgetting-started\u002Fseo-meta",{"title":57,"description":58,"path":1182,"stem":60},"\u002Fdocs\u002F4.x\u002Fgetting-started\u002Ftransitions",{"title":62,"description":63,"path":1184,"stem":65},"\u002Fdocs\u002F4.x\u002Fgetting-started\u002Fdata-fetching",{"title":67,"description":68,"path":1186,"stem":70},"\u002Fdocs\u002F4.x\u002Fgetting-started\u002Fstate-management",{"title":72,"description":73,"path":1188,"stem":75},"\u002Fdocs\u002F4.x\u002Fgetting-started\u002Ferror-handling",{"title":77,"description":78,"path":1190,"stem":80},"\u002Fdocs\u002F4.x\u002Fgetting-started\u002Fserver",{"title":82,"description":83,"path":1192,"stem":85},"\u002Fdocs\u002F4.x\u002Fgetting-started\u002Flayers",{"title":87,"description":88,"path":1194,"stem":90},"\u002Fdocs\u002F4.x\u002Fgetting-started\u002Fprerendering",{"title":92,"description":93,"path":1196,"stem":95},"\u002Fdocs\u002F4.x\u002Fgetting-started\u002Fdeployment",{"title":97,"description":98,"path":1198,"stem":100},"\u002Fdocs\u002F4.x\u002Fgetting-started\u002Ftesting",{"title":102,"description":103,"path":1200,"stem":105},"\u002Fdocs\u002F4.x\u002Fgetting-started\u002Fupgrade",{"title":108,"titleTemplate":109,"icon":110,"path":1202,"stem":112,"children":1203,"page":106},"\u002Fdocs\u002F4.x\u002Fdirectory-structure",[1204,1206,1208,1233,1235,1237,1239,1241,1243,1245,1247,1249,1251,1253,1255,1257,1259,1261],{"title":115,"description":116,"path":1205,"stem":112},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Fnuxt",{"title":119,"description":120,"path":1207,"stem":122},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Foutput",{"title":124,"titleTemplate":109,"icon":125,"path":1209,"stem":127,"children":1210,"page":106},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Fapp",[1211,1213,1215,1217,1219,1221,1223,1225,1227,1229,1231],{"title":130,"description":131,"path":1212,"stem":127},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Fapp\u002Fassets",{"title":134,"description":135,"path":1214,"stem":137},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Fapp\u002Fcomponents",{"title":139,"description":140,"path":1216,"stem":142},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Fapp\u002Fcomposables",{"title":144,"description":145,"path":1218,"stem":147},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Fapp\u002Flayouts",{"title":149,"description":150,"path":1220,"stem":152},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Fapp\u002Fmiddleware",{"title":154,"description":155,"path":1222,"stem":157},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Fapp\u002Fpages",{"title":159,"description":160,"path":1224,"stem":162},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Fapp\u002Fplugins",{"title":164,"description":165,"path":1226,"stem":167},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Fapp\u002Futils",{"title":169,"description":170,"path":1228,"stem":172},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Fapp\u002Fapp",{"title":174,"description":175,"path":1230,"stem":177},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Fapp\u002Fapp-config",{"title":179,"description":180,"path":1232,"stem":182},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Fapp\u002Ferror",{"title":184,"description":185,"path":1234,"stem":187},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Fcontent",{"title":189,"description":190,"path":1236,"stem":192},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Flayers",{"title":194,"description":195,"path":1238,"stem":197},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Fmodules",{"title":199,"description":200,"path":1240,"stem":202},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Fnode_modules",{"title":204,"description":205,"path":1242,"stem":207},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Fpublic",{"title":209,"description":210,"path":1244,"stem":212},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Fserver",{"title":214,"description":215,"path":1246,"stem":217},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Fshared",{"title":219,"description":220,"path":1248,"stem":222},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Ftest",{"title":224,"description":225,"path":1250,"stem":227},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Fenv",{"title":229,"description":230,"path":1252,"stem":232},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Fgitignore",{"title":234,"description":235,"path":1254,"stem":237},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Fnuxtignore",{"title":239,"description":240,"path":1256,"stem":242},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Fnuxtrc",{"title":244,"description":245,"path":1258,"stem":247},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Fnuxt-config",{"title":249,"description":250,"path":1260,"stem":252},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Fpackage",{"title":254,"description":255,"path":1262,"stem":257},"\u002Fdocs\u002F4.x\u002Fdirectory-structure\u002Ftsconfig",{"title":259,"icon":260,"path":1264,"stem":262,"children":1265,"page":106},"\u002Fdocs\u002F4.x\u002Fguide",[1266,1285,1298,1305,1324,1337],{"title":265,"titleTemplate":266,"icon":267,"path":1267,"stem":262,"children":1268,"page":106},"\u002Fdocs\u002F4.x\u002Fguide\u002Fconcepts",[1269,1271,1273,1275,1277,1279,1281,1283],{"title":271,"description":272,"path":1270,"stem":262},"\u002Fdocs\u002F4.x\u002Fguide\u002Fconcepts\u002Frendering",{"title":275,"description":276,"path":1272,"stem":278},"\u002Fdocs\u002F4.x\u002Fguide\u002Fconcepts\u002Fnuxt-lifecycle",{"title":280,"description":281,"path":1274,"stem":283},"\u002Fdocs\u002F4.x\u002Fguide\u002Fconcepts\u002Fauto-imports",{"title":285,"description":286,"path":1276,"stem":288},"\u002Fdocs\u002F4.x\u002Fguide\u002Fconcepts\u002Fserver-engine",{"title":290,"description":291,"path":1278,"stem":293},"\u002Fdocs\u002F4.x\u002Fguide\u002Fconcepts\u002Fmodules",{"title":295,"description":296,"path":1280,"stem":298},"\u002Fdocs\u002F4.x\u002Fguide\u002Fconcepts\u002Fserver-components",{"title":300,"description":301,"path":1282,"stem":303},"\u002Fdocs\u002F4.x\u002Fguide\u002Fconcepts\u002Ftypescript",{"title":305,"description":306,"path":1284,"stem":308},"\u002Fdocs\u002F4.x\u002Fguide\u002Fconcepts\u002Fcode-style",{"title":310,"titleTemplate":311,"icon":312,"path":1286,"stem":314,"children":1287,"page":106},"\u002Fdocs\u002F4.x\u002Fguide\u002Fbest-practices",[1288,1290,1292,1294,1296],{"title":317,"description":318,"path":1289,"stem":314},"\u002Fdocs\u002F4.x\u002Fguide\u002Fbest-practices\u002Faccessibility",{"title":321,"description":322,"path":1291,"stem":324},"\u002Fdocs\u002F4.x\u002Fguide\u002Fbest-practices\u002Fdevcontainers",{"title":326,"description":327,"path":1293,"stem":329},"\u002Fdocs\u002F4.x\u002Fguide\u002Fbest-practices\u002Fhydration",{"title":331,"description":332,"path":1295,"stem":334},"\u002Fdocs\u002F4.x\u002Fguide\u002Fbest-practices\u002Fperformance",{"title":336,"description":337,"path":1297,"stem":339},"\u002Fdocs\u002F4.x\u002Fguide\u002Fbest-practices\u002Fplugins",{"title":341,"titleTemplate":342,"icon":343,"path":1299,"stem":345,"children":1300,"page":106},"\u002Fdocs\u002F4.x\u002Fguide\u002Fai",[1301,1303],{"title":348,"description":349,"path":1302,"stem":345},"\u002Fdocs\u002F4.x\u002Fguide\u002Fai\u002Fmcp",{"title":352,"description":353,"path":1304,"stem":355},"\u002Fdocs\u002F4.x\u002Fguide\u002Fai\u002Fllms-txt",{"title":357,"titleTemplate":358,"icon":359,"path":1306,"stem":361,"children":1307,"page":106},"\u002Fdocs\u002F4.x\u002Fguide\u002Fmodules",[1308,1310,1312,1314,1316,1318,1320,1322],{"title":364,"description":365,"path":1309,"stem":361},"\u002Fdocs\u002F4.x\u002Fguide\u002Fmodules\u002Fgetting-started",{"title":368,"description":369,"path":1311,"stem":371},"\u002Fdocs\u002F4.x\u002Fguide\u002Fmodules\u002Fmodule-anatomy",{"title":373,"description":374,"path":1313,"stem":376},"\u002Fdocs\u002F4.x\u002Fguide\u002Fmodules\u002Frecipes-basics",{"title":378,"description":379,"path":1315,"stem":381},"\u002Fdocs\u002F4.x\u002Fguide\u002Fmodules\u002Fmodule-dependencies",{"title":383,"description":384,"path":1317,"stem":386},"\u002Fdocs\u002F4.x\u002Fguide\u002Fmodules\u002Frecipes-advanced",{"title":388,"description":389,"path":1319,"stem":391},"\u002Fdocs\u002F4.x\u002Fguide\u002Fmodules\u002Ftesting",{"title":393,"description":394,"path":1321,"stem":396},"\u002Fdocs\u002F4.x\u002Fguide\u002Fmodules\u002Fbest-practices",{"title":398,"description":399,"path":1323,"stem":401},"\u002Fdocs\u002F4.x\u002Fguide\u002Fmodules\u002Fecosystem",{"title":403,"titleTemplate":404,"icon":405,"path":1325,"stem":407,"children":1326,"page":106},"\u002Fdocs\u002F4.x\u002Fguide\u002Frecipes",[1327,1329,1331,1333,1335],{"title":410,"description":411,"path":1328,"stem":407},"\u002Fdocs\u002F4.x\u002Fguide\u002Frecipes\u002Fcustom-routing",{"title":414,"description":415,"path":1330,"stem":417},"\u002Fdocs\u002F4.x\u002Fguide\u002Frecipes\u002Fvite-plugin",{"title":419,"description":420,"path":1332,"stem":422},"\u002Fdocs\u002F4.x\u002Fguide\u002Frecipes\u002Fcustom-usefetch",{"title":424,"description":425,"path":1334,"stem":427},"\u002Fdocs\u002F4.x\u002Fguide\u002Frecipes\u002Fsessions-and-authentication",{"title":429,"description":430,"path":1336,"stem":432},"\u002Fdocs\u002F4.x\u002Fguide\u002Frecipes\u002Fmostly-static-sites",{"title":434,"titleTemplate":435,"icon":436,"path":1338,"stem":438,"children":1339,"page":106},"\u002Fdocs\u002F4.x\u002Fguide\u002Fgoing-further",[1340,1342,1344,1346,1348,1350,1352,1354,1356,1358,1360],{"title":441,"description":442,"path":1341,"stem":438},"\u002Fdocs\u002F4.x\u002Fguide\u002Fgoing-further\u002Fevents",{"title":445,"description":446,"path":1343,"stem":448},"\u002Fdocs\u002F4.x\u002Fguide\u002Fgoing-further\u002Fexperimental-features",{"title":450,"description":451,"path":1345,"stem":453},"\u002Fdocs\u002F4.x\u002Fguide\u002Fgoing-further\u002Ffeatures",{"title":455,"description":456,"path":1347,"stem":458},"\u002Fdocs\u002F4.x\u002Fguide\u002Fgoing-further\u002Fhooks",{"title":460,"description":461,"path":1349,"stem":463},"\u002Fdocs\u002F4.x\u002Fguide\u002Fgoing-further\u002Fkit",{"title":465,"description":466,"path":1351,"stem":468},"\u002Fdocs\u002F4.x\u002Fguide\u002Fgoing-further\u002Fnuxt-app",{"title":470,"description":83,"path":1353,"stem":472},"\u002Fdocs\u002F4.x\u002Fguide\u002Fgoing-further\u002Flayers",{"title":474,"description":475,"path":1355,"stem":477},"\u002Fdocs\u002F4.x\u002Fguide\u002Fgoing-further\u002Fbuilders",{"title":479,"description":480,"path":1357,"stem":482},"\u002Fdocs\u002F4.x\u002Fguide\u002Fgoing-further\u002Fdebugging",{"title":484,"description":485,"path":1359,"stem":487},"\u002Fdocs\u002F4.x\u002Fguide\u002Fgoing-further\u002Fruntime-config",{"title":489,"description":490,"path":1361,"stem":492},"\u002Fdocs\u002F4.x\u002Fguide\u002Fgoing-further\u002Fnightly-release-channel",{"title":494,"titleTemplate":495,"icon":496,"path":1363,"stem":498,"children":1364,"page":106},"\u002Fdocs\u002F4.x\u002Fapi",[1365,1400,1469,1530,1571,1578],{"title":501,"titleTemplate":502,"icon":359,"path":1366,"stem":498,"children":1367,"page":106},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomponents",[1368,1370,1372,1374,1376,1378,1380,1382,1384,1386,1388,1390,1392,1394,1396,1398],{"title":506,"description":507,"path":1369,"stem":498},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomponents\u002Fclient-only",{"title":510,"description":511,"path":1371,"stem":513},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomponents\u002Fdev-only",{"title":515,"description":516,"path":1373,"stem":518},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomponents\u002Fnuxt-client-fallback",{"title":520,"description":521,"path":1375,"stem":523},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomponents\u002Fnuxt-page",{"title":525,"description":526,"path":1377,"stem":528},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomponents\u002Fnuxt-layout",{"title":530,"description":531,"path":1379,"stem":533},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomponents\u002Fnuxt-link",{"title":535,"description":536,"path":1381,"stem":538},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomponents\u002Fnuxt-loading-indicator",{"title":540,"description":541,"path":1383,"stem":543},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomponents\u002Fnuxt-error-boundary",{"title":545,"description":546,"path":1385,"stem":548},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomponents\u002Fnuxt-welcome",{"title":550,"description":551,"path":1387,"stem":553},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomponents\u002Fnuxt-island",{"title":555,"description":556,"path":1389,"stem":558},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomponents\u002Fnuxt-img",{"title":560,"description":561,"path":1391,"stem":563},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomponents\u002Fnuxt-picture",{"title":565,"description":566,"path":1393,"stem":568},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomponents\u002Fteleports",{"title":570,"description":571,"path":1395,"stem":573},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomponents\u002Fnuxt-route-announcer",{"title":575,"description":576,"path":1397,"stem":578},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomponents\u002Fnuxt-time",{"title":580,"description":581,"path":1399,"stem":583},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomponents\u002Fnuxt-announcer",{"title":585,"titleTemplate":586,"icon":587,"path":1401,"stem":589,"children":1402,"page":106},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables",[1403,1405,1407,1409,1411,1413,1415,1417,1419,1421,1423,1425,1427,1429,1431,1433,1435,1437,1439,1441,1443,1445,1447,1449,1451,1453,1455,1457,1459,1461,1463,1465,1467],{"title":592,"description":593,"path":1404,"stem":589},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fcreate-use-async-data",{"title":596,"description":597,"path":1406,"stem":599},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fcreate-use-fetch",{"title":601,"description":602,"path":1408,"stem":604},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fon-prehydrate",{"title":606,"description":607,"path":1410,"stem":609},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-announcer",{"title":611,"description":612,"path":1412,"stem":614},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-app-config",{"title":616,"description":617,"path":1414,"stem":619},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-async-data",{"title":621,"description":622,"path":1416,"stem":624},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-cookie",{"title":626,"description":627,"path":1418,"stem":629},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-error",{"title":631,"description":632,"path":1420,"stem":634},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-fetch",{"title":636,"description":637,"path":1422,"stem":639},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-head",{"title":641,"description":642,"path":1424,"stem":644},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-head-safe",{"title":646,"description":647,"path":1426,"stem":649},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-hydration",{"title":651,"description":652,"path":1428,"stem":654},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-layout",{"title":656,"description":657,"path":1430,"stem":659},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-lazy-async-data",{"title":661,"description":662,"path":1432,"stem":664},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-lazy-fetch",{"title":666,"description":667,"path":1434,"stem":669},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-loading-indicator",{"title":671,"description":672,"path":1436,"stem":674},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-nuxt-app",{"title":676,"description":677,"path":1438,"stem":679},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-nuxt-data",{"title":681,"description":682,"path":1440,"stem":684},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-preview-mode",{"title":686,"description":687,"path":1442,"stem":689},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-request-event",{"title":691,"description":692,"path":1444,"stem":694},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-request-fetch",{"title":696,"description":697,"path":1446,"stem":699},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-request-header",{"title":701,"description":702,"path":1448,"stem":704},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-request-headers",{"title":706,"description":707,"path":1450,"stem":709},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-request-url",{"title":711,"description":712,"path":1452,"stem":714},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-response-header",{"title":716,"description":717,"path":1454,"stem":719},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-route",{"title":721,"description":722,"path":1456,"stem":724},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-route-announcer",{"title":726,"description":727,"path":1458,"stem":729},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-router",{"title":731,"description":732,"path":1460,"stem":734},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-runtime-config",{"title":736,"description":737,"path":1462,"stem":739},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-runtime-hook",{"title":741,"description":742,"path":1464,"stem":744},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-seo-meta",{"title":746,"description":747,"path":1466,"stem":749},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-server-seo-meta",{"title":751,"description":752,"path":1468,"stem":754},"\u002Fdocs\u002F4.x\u002Fapi\u002Fcomposables\u002Fuse-state",{"title":756,"titleTemplate":757,"path":1470,"stem":759,"children":1471,"page":106},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils",[1472,1474,1476,1478,1480,1482,1484,1486,1488,1490,1492,1494,1496,1498,1500,1502,1504,1506,1508,1510,1512,1514,1516,1518,1520,1522,1524,1526,1528],{"title":762,"description":763,"path":1473,"stem":759},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fdollarfetch",{"title":766,"description":767,"path":1475,"stem":769},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fabort-navigation",{"title":771,"description":772,"path":1477,"stem":774},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fadd-route-middleware",{"title":776,"description":777,"path":1479,"stem":779},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fcall-once",{"title":781,"description":782,"path":1481,"stem":784},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fclear-error",{"title":786,"description":787,"path":1483,"stem":789},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fclear-nuxt-data",{"title":791,"description":792,"path":1485,"stem":794},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fclear-nuxt-state",{"title":796,"description":797,"path":1487,"stem":799},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fcreate-error",{"title":801,"description":802,"path":1489,"stem":804},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fdefine-lazy-hydration-component",{"title":806,"description":807,"path":1491,"stem":809},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fdefine-nuxt-component",{"title":811,"description":812,"path":1493,"stem":814},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fdefine-nuxt-plugin",{"title":816,"description":817,"path":1495,"stem":819},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fdefine-nuxt-route-middleware",{"title":821,"description":822,"path":1497,"stem":824},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fdefine-page-meta",{"title":826,"description":827,"path":1499,"stem":829},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fdefine-route-rules",{"title":831,"description":832,"path":1501,"stem":834},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fnavigate-to",{"title":836,"description":837,"path":1503,"stem":839},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fon-before-route-leave",{"title":841,"description":842,"path":1505,"stem":844},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fon-before-route-update",{"title":846,"description":847,"path":1507,"stem":849},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fon-nuxt-ready",{"title":851,"description":852,"path":1509,"stem":854},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fprefetch-components",{"title":856,"description":857,"path":1511,"stem":859},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fpreload-components",{"title":861,"description":862,"path":1513,"stem":864},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fpreload-route-components",{"title":866,"description":867,"path":1515,"stem":869},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fprerender-routes",{"title":871,"description":872,"path":1517,"stem":874},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Frefresh-cookie",{"title":876,"description":877,"path":1519,"stem":879},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Frefresh-nuxt-data",{"title":881,"description":882,"path":1521,"stem":884},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Freload-nuxt-app",{"title":886,"description":887,"path":1523,"stem":889},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fset-page-layout",{"title":891,"description":892,"path":1525,"stem":894},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fset-response-status",{"title":896,"description":897,"path":1527,"stem":899},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fshow-error",{"title":901,"description":902,"path":1529,"stem":904},"\u002Fdocs\u002F4.x\u002Fapi\u002Futils\u002Fupdate-app-config",{"title":460,"titleTemplate":906,"path":1531,"stem":908,"children":1532,"page":106},"\u002Fdocs\u002F4.x\u002Fapi\u002Fkit",[1533,1535,1537,1539,1541,1543,1545,1547,1549,1551,1553,1555,1557,1559,1561,1563,1565,1567,1569],{"title":290,"description":911,"path":1534,"stem":908},"\u002Fdocs\u002F4.x\u002Fapi\u002Fkit\u002Fmodules",{"title":914,"description":915,"path":1536,"stem":917},"\u002Fdocs\u002F4.x\u002Fapi\u002Fkit\u002Fprogrammatic",{"title":919,"description":920,"path":1538,"stem":922},"\u002Fdocs\u002F4.x\u002Fapi\u002Fkit\u002Fcompatibility",{"title":280,"description":924,"path":1540,"stem":926},"\u002Fdocs\u002F4.x\u002Fapi\u002Fkit\u002Fautoimports",{"title":501,"description":928,"path":1542,"stem":930},"\u002Fdocs\u002F4.x\u002Fapi\u002Fkit\u002Fcomponents",{"title":932,"description":933,"path":1544,"stem":935},"\u002Fdocs\u002F4.x\u002Fapi\u002Fkit\u002Fcontext",{"title":937,"description":938,"path":1546,"stem":940},"\u002Fdocs\u002F4.x\u002Fapi\u002Fkit\u002Fpages",{"title":942,"description":943,"path":1548,"stem":945},"\u002Fdocs\u002F4.x\u002Fapi\u002Fkit\u002Flayout",{"title":947,"description":948,"path":1550,"stem":950},"\u002Fdocs\u002F4.x\u002Fapi\u002Fkit\u002Fhead",{"title":952,"description":953,"path":1552,"stem":955},"\u002Fdocs\u002F4.x\u002Fapi\u002Fkit\u002Fplugins",{"title":484,"description":957,"path":1554,"stem":959},"\u002Fdocs\u002F4.x\u002Fapi\u002Fkit\u002Fruntime-config",{"title":961,"description":962,"path":1556,"stem":964},"\u002Fdocs\u002F4.x\u002Fapi\u002Fkit\u002Ftemplates",{"title":966,"description":967,"path":1558,"stem":969},"\u002Fdocs\u002F4.x\u002Fapi\u002Fkit\u002Fapp-config",{"title":971,"description":972,"path":1560,"stem":974},"\u002Fdocs\u002F4.x\u002Fapi\u002Fkit\u002Fnitro",{"title":976,"description":977,"path":1562,"stem":979},"\u002Fdocs\u002F4.x\u002Fapi\u002Fkit\u002Fresolving",{"title":981,"description":982,"path":1564,"stem":984},"\u002Fdocs\u002F4.x\u002Fapi\u002Fkit\u002Flogging",{"title":986,"description":987,"path":1566,"stem":989},"\u002Fdocs\u002F4.x\u002Fapi\u002Fkit\u002Fbuilder",{"title":991,"description":992,"path":1568,"stem":994},"\u002Fdocs\u002F4.x\u002Fapi\u002Fkit\u002Fexamples",{"title":82,"description":996,"path":1570,"stem":998},"\u002Fdocs\u002F4.x\u002Fapi\u002Fkit\u002Flayers",{"icon":1000,"title":1001,"path":1572,"stem":1003,"children":1573,"page":106},"\u002Fdocs\u002F4.x\u002Fapi\u002Fadvanced",[1574,1576],{"title":455,"description":456,"path":1575,"stem":1003},"\u002Fdocs\u002F4.x\u002Fapi\u002Fadvanced\u002Fhooks",{"title":1008,"description":1009,"path":1577,"stem":1011},"\u002Fdocs\u002F4.x\u002Fapi\u002Fadvanced\u002Fimport-meta",{"title":1013,"description":1014,"path":1579,"stem":1016},"\u002Fdocs\u002F4.x\u002Fapi\u002Fnuxt-config",{"title":1018,"titleTemplate":1019,"icon":1020,"path":1581,"stem":1022,"children":1582,"page":106},"\u002Fdocs\u002F4.x\u002Fcommunity",[1583,1585,1587,1589,1591,1593],{"title":1025,"description":1026,"path":1584,"stem":1022,"icon":1028},"\u002Fdocs\u002F4.x\u002Fcommunity\u002Fgetting-help",{"title":1030,"description":1031,"path":1586,"stem":1033},"\u002Fdocs\u002F4.x\u002Fcommunity\u002Freporting-bugs",{"title":1035,"description":1036,"path":1588,"stem":1038},"\u002Fdocs\u002F4.x\u002Fcommunity\u002Fcontribution",{"title":1040,"description":1041,"path":1590,"stem":1043},"\u002Fdocs\u002F4.x\u002Fcommunity\u002Fframework-contribution",{"title":1045,"description":1046,"path":1592,"stem":1048},"\u002Fdocs\u002F4.x\u002Fcommunity\u002Froadmap",{"title":1050,"description":1051,"path":1594,"stem":1053},"\u002Fdocs\u002F4.x\u002Fcommunity\u002Fchangelog",{"title":1055,"titleTemplate":1056,"icon":1057,"path":1596,"stem":1059,"children":1597,"page":106},"\u002Fdocs\u002F4.x\u002Fbridge",[1598,1600,1602,1604,1606,1608,1610,1612,1614,1616],{"title":1062,"description":1063,"path":1599,"stem":1059},"\u002Fdocs\u002F4.x\u002Fbridge\u002Foverview",{"title":300,"description":1066,"path":1601,"stem":1068},"\u002Fdocs\u002F4.x\u002Fbridge\u002Ftypescript",{"title":1070,"description":1071,"path":1603,"stem":1073},"\u002Fdocs\u002F4.x\u002Fbridge\u002Fbridge-composition-api",{"title":1075,"description":1076,"path":1605,"stem":1078},"\u002Fdocs\u002F4.x\u002Fbridge\u002Fplugins-and-middleware",{"title":1080,"description":1081,"path":1607,"stem":1083},"\u002Fdocs\u002F4.x\u002Fbridge\u002Fnuxt3-compatible-api",{"title":1085,"description":1086,"path":1609,"stem":1088},"\u002Fdocs\u002F4.x\u002Fbridge\u002Fmeta",{"title":484,"description":485,"path":1611,"stem":1091},"\u002Fdocs\u002F4.x\u002Fbridge\u002Fruntime-config",{"title":971,"description":1093,"path":1613,"stem":1095},"\u002Fdocs\u002F4.x\u002Fbridge\u002Fnitro",{"title":1097,"description":1098,"path":1615,"stem":1100},"\u002Fdocs\u002F4.x\u002Fbridge\u002Fvite",{"title":27,"description":1102,"path":1617,"stem":1104},"\u002Fdocs\u002F4.x\u002Fbridge\u002Fconfiguration",{"title":1106,"titleTemplate":1107,"icon":1108,"path":1619,"stem":1110,"children":1620,"page":106},"\u002Fdocs\u002F4.x\u002Fmigration",[1621,1623,1625,1627,1629,1631,1633,1635,1637,1639,1641],{"title":1062,"description":1113,"path":1622,"stem":1110},"\u002Fdocs\u002F4.x\u002Fmigration\u002Foverview",{"title":27,"description":1116,"path":1624,"stem":1118},"\u002Fdocs\u002F4.x\u002Fmigration\u002Fconfiguration",{"title":1120,"description":1121,"path":1626,"stem":1123},"\u002Fdocs\u002F4.x\u002Fmigration\u002Fauto-imports",{"title":1085,"description":1125,"path":1628,"stem":1127},"\u002Fdocs\u002F4.x\u002Fmigration\u002Fmeta",{"title":1075,"description":1129,"path":1630,"stem":1131},"\u002Fdocs\u002F4.x\u002Fmigration\u002Fplugins-and-middleware",{"title":1133,"description":1134,"path":1632,"stem":1136},"\u002Fdocs\u002F4.x\u002Fmigration\u002Fpages-and-layouts",{"title":1138,"description":1139,"path":1634,"stem":1141},"\u002Fdocs\u002F4.x\u002Fmigration\u002Fcomponent-options",{"title":484,"description":1143,"path":1636,"stem":1145},"\u002Fdocs\u002F4.x\u002Fmigration\u002Fruntime-config",{"title":1147,"description":1148,"path":1638,"stem":1150},"\u002Fdocs\u002F4.x\u002Fmigration\u002Fbundling",{"title":77,"description":1152,"path":1640,"stem":1154},"\u002Fdocs\u002F4.x\u002Fmigration\u002Fserver",{"title":290,"description":1156,"path":1642,"stem":1158},"\u002Fdocs\u002F4.x\u002Fmigration\u002Fmodule-authors",{"title":5,"icon":6,"path":1644,"stem":8,"children":1645,"page":106},"\u002Fdocs\u002F3.x",[1646,1685,1753,1843,2142,2157,2180],{"title":11,"titleTemplate":12,"icon":13,"path":1647,"stem":8,"children":1648,"page":106},"\u002Fdocs\u002F3.x\u002Fgetting-started",[1649,1651,1653,1655,1657,1659,1661,1663,1665,1667,1669,1671,1673,1675,1677,1679,1681,1683],{"title":17,"description":18,"path":1650,"stem":8,"icon":20},"\u002Fdocs\u002F3.x\u002Fgetting-started\u002Fintroduction",{"title":22,"description":23,"path":1652,"stem":25},"\u002Fdocs\u002F3.x\u002Fgetting-started\u002Finstallation",{"title":27,"description":28,"path":1654,"stem":30},"\u002Fdocs\u002F3.x\u002Fgetting-started\u002Fconfiguration",{"title":32,"description":33,"path":1656,"stem":35},"\u002Fdocs\u002F3.x\u002Fgetting-started\u002Fviews",{"title":37,"description":38,"path":1658,"stem":40},"\u002Fdocs\u002F3.x\u002Fgetting-started\u002Fassets",{"title":42,"description":43,"path":1660,"stem":45},"\u002Fdocs\u002F3.x\u002Fgetting-started\u002Fstyling",{"title":47,"description":48,"path":1662,"stem":50},"\u002Fdocs\u002F3.x\u002Fgetting-started\u002Frouting",{"title":52,"description":53,"path":1664,"stem":55},"\u002Fdocs\u002F3.x\u002Fgetting-started\u002Fseo-meta",{"title":57,"description":58,"path":1666,"stem":60},"\u002Fdocs\u002F3.x\u002Fgetting-started\u002Ftransitions",{"title":62,"description":63,"path":1668,"stem":65},"\u002Fdocs\u002F3.x\u002Fgetting-started\u002Fdata-fetching",{"title":67,"description":68,"path":1670,"stem":70},"\u002Fdocs\u002F3.x\u002Fgetting-started\u002Fstate-management",{"title":72,"description":73,"path":1672,"stem":75},"\u002Fdocs\u002F3.x\u002Fgetting-started\u002Ferror-handling",{"title":77,"description":78,"path":1674,"stem":80},"\u002Fdocs\u002F3.x\u002Fgetting-started\u002Fserver",{"title":82,"description":83,"path":1676,"stem":85},"\u002Fdocs\u002F3.x\u002Fgetting-started\u002Flayers",{"title":87,"description":88,"path":1678,"stem":90},"\u002Fdocs\u002F3.x\u002Fgetting-started\u002Fprerendering",{"title":92,"description":93,"path":1680,"stem":95},"\u002Fdocs\u002F3.x\u002Fgetting-started\u002Fdeployment",{"title":97,"description":98,"path":1682,"stem":100},"\u002Fdocs\u002F3.x\u002Fgetting-started\u002Ftesting",{"title":102,"description":103,"path":1684,"stem":105},"\u002Fdocs\u002F3.x\u002Fgetting-started\u002Fupgrade",{"title":108,"titleTemplate":109,"icon":110,"path":1686,"stem":112,"children":1687,"page":106},"\u002Fdocs\u002F3.x\u002Fdirectory-structure",[1688,1690,1692,1695,1698,1701,1703,1705,1708,1711,1713,1715,1718,1721,1723,1725,1727,1730,1732,1734,1736,1738,1741,1744,1747,1749,1751],{"title":115,"description":116,"path":1689,"stem":112},"\u002Fdocs\u002F3.x\u002Fdirectory-structure\u002Fnuxt",{"title":119,"description":120,"path":1691,"stem":122},"\u002Fdocs\u002F3.x\u002Fdirectory-structure\u002Foutput",{"title":130,"description":131,"path":1693,"stem":1694},"\u002Fdocs\u002F3.x\u002Fdirectory-structure\u002Fassets","2.directory-structure\u002F1.assets",{"title":134,"description":135,"path":1696,"stem":1697},"\u002Fdocs\u002F3.x\u002Fdirectory-structure\u002Fcomponents","2.directory-structure\u002F1.components",{"title":139,"description":140,"path":1699,"stem":1700},"\u002Fdocs\u002F3.x\u002Fdirectory-structure\u002Fcomposables","2.directory-structure\u002F1.composables",{"title":184,"description":185,"path":1702,"stem":187},"\u002Fdocs\u002F3.x\u002Fdirectory-structure\u002Fcontent",{"title":189,"description":190,"path":1704,"stem":192},"\u002Fdocs\u002F3.x\u002Fdirectory-structure\u002Flayers",{"title":144,"description":145,"path":1706,"stem":1707},"\u002Fdocs\u002F3.x\u002Fdirectory-structure\u002Flayouts","2.directory-structure\u002F1.layouts",{"title":149,"description":150,"path":1709,"stem":1710},"\u002Fdocs\u002F3.x\u002Fdirectory-structure\u002Fmiddleware","2.directory-structure\u002F1.middleware",{"title":194,"description":195,"path":1712,"stem":197},"\u002Fdocs\u002F3.x\u002Fdirectory-structure\u002Fmodules",{"title":199,"description":200,"path":1714,"stem":202},"\u002Fdocs\u002F3.x\u002Fdirectory-structure\u002Fnode_modules",{"title":154,"description":155,"path":1716,"stem":1717},"\u002Fdocs\u002F3.x\u002Fdirectory-structure\u002Fpages","2.directory-structure\u002F1.pages",{"title":159,"description":160,"path":1719,"stem":1720},"\u002Fdocs\u002F3.x\u002Fdirectory-structure\u002Fplugins","2.directory-structure\u002F1.plugins",{"title":204,"description":205,"path":1722,"stem":207},"\u002Fdocs\u002F3.x\u002Fdirectory-structure\u002Fpublic",{"title":209,"description":210,"path":1724,"stem":212},"\u002Fdocs\u002F3.x\u002Fdirectory-structure\u002Fserver",{"title":214,"description":215,"path":1726,"stem":217},"\u002Fdocs\u002F3.x\u002Fdirectory-structure\u002Fshared",{"title":164,"description":165,"path":1728,"stem":1729},"\u002Fdocs\u002F3.x\u002Fdirectory-structure\u002Futils","2.directory-structure\u002F1.utils",{"title":224,"description":225,"path":1731,"stem":227},"\u002Fdocs\u002F3.x\u002Fdirectory-structure\u002Fenv",{"title":229,"description":230,"path":1733,"stem":232},"\u002Fdocs\u002F3.x\u002Fdirectory-structure\u002Fgitignore",{"title":234,"description":235,"path":1735,"stem":237},"\u002Fdocs\u002F3.x\u002Fdirectory-structure\u002Fnuxtignore",{"title":239,"description":240,"path":1737,"stem":242},"\u002Fdocs\u002F3.x\u002Fdirectory-structure\u002Fnuxtrc",{"title":169,"description":170,"path":1739,"stem":1740},"\u002Fdocs\u002F3.x\u002Fdirectory-structure\u002Fapp","2.directory-structure\u002F3.app",{"title":174,"description":175,"path":1742,"stem":1743},"\u002Fdocs\u002F3.x\u002Fdirectory-structure\u002Fapp-config","2.directory-structure\u002F3.app-config",{"title":179,"description":180,"path":1745,"stem":1746},"\u002Fdocs\u002F3.x\u002Fdirectory-structure\u002Ferror","2.directory-structure\u002F3.error",{"title":244,"description":245,"path":1748,"stem":247},"\u002Fdocs\u002F3.x\u002Fdirectory-structure\u002Fnuxt-config",{"title":249,"description":250,"path":1750,"stem":252},"\u002Fdocs\u002F3.x\u002Fdirectory-structure\u002Fpackage",{"title":254,"description":255,"path":1752,"stem":257},"\u002Fdocs\u002F3.x\u002Fdirectory-structure\u002Ftsconfig",{"title":259,"icon":260,"path":1754,"stem":262,"children":1755,"page":106},"\u002Fdocs\u002F3.x\u002Fguide",[1756,1773,1783,1790,1809,1820],{"title":265,"titleTemplate":266,"icon":267,"path":1757,"stem":262,"children":1758,"page":106},"\u002Fdocs\u002F3.x\u002Fguide\u002Fconcepts",[1759,1761,1763,1765,1767,1769,1771],{"title":271,"description":272,"path":1760,"stem":262},"\u002Fdocs\u002F3.x\u002Fguide\u002Fconcepts\u002Frendering",{"title":275,"description":276,"path":1762,"stem":278},"\u002Fdocs\u002F3.x\u002Fguide\u002Fconcepts\u002Fnuxt-lifecycle",{"title":280,"description":281,"path":1764,"stem":283},"\u002Fdocs\u002F3.x\u002Fguide\u002Fconcepts\u002Fauto-imports",{"title":285,"description":286,"path":1766,"stem":288},"\u002Fdocs\u002F3.x\u002Fguide\u002Fconcepts\u002Fserver-engine",{"title":290,"description":291,"path":1768,"stem":293},"\u002Fdocs\u002F3.x\u002Fguide\u002Fconcepts\u002Fmodules",{"title":300,"description":301,"path":1770,"stem":303},"\u002Fdocs\u002F3.x\u002Fguide\u002Fconcepts\u002Ftypescript",{"title":305,"description":306,"path":1772,"stem":308},"\u002Fdocs\u002F3.x\u002Fguide\u002Fconcepts\u002Fcode-style",{"title":310,"titleTemplate":311,"icon":312,"path":1774,"stem":329,"children":1775,"page":106},"\u002Fdocs\u002F3.x\u002Fguide\u002Fbest-practices",[1776,1779,1781],{"title":1777,"description":327,"path":1778,"stem":329},"Nuxt and hydration","\u002Fdocs\u002F3.x\u002Fguide\u002Fbest-practices\u002Fhydration",{"title":331,"description":332,"path":1780,"stem":334},"\u002Fdocs\u002F3.x\u002Fguide\u002Fbest-practices\u002Fperformance",{"title":336,"description":337,"path":1782,"stem":339},"\u002Fdocs\u002F3.x\u002Fguide\u002Fbest-practices\u002Fplugins",{"title":341,"titleTemplate":342,"icon":343,"path":1784,"stem":345,"children":1785,"page":106},"\u002Fdocs\u002F3.x\u002Fguide\u002Fai",[1786,1788],{"title":348,"description":349,"path":1787,"stem":345},"\u002Fdocs\u002F3.x\u002Fguide\u002Fai\u002Fmcp",{"title":352,"description":353,"path":1789,"stem":355},"\u002Fdocs\u002F3.x\u002Fguide\u002Fai\u002Fllms-txt",{"title":357,"titleTemplate":358,"icon":359,"path":1791,"stem":361,"children":1792,"page":106},"\u002Fdocs\u002F3.x\u002Fguide\u002Fmodules",[1793,1795,1797,1799,1801,1803,1805,1807],{"title":364,"description":365,"path":1794,"stem":361},"\u002Fdocs\u002F3.x\u002Fguide\u002Fmodules\u002Fgetting-started",{"title":368,"description":369,"path":1796,"stem":371},"\u002Fdocs\u002F3.x\u002Fguide\u002Fmodules\u002Fmodule-anatomy",{"title":373,"description":374,"path":1798,"stem":376},"\u002Fdocs\u002F3.x\u002Fguide\u002Fmodules\u002Frecipes-basics",{"title":378,"description":379,"path":1800,"stem":381},"\u002Fdocs\u002F3.x\u002Fguide\u002Fmodules\u002Fmodule-dependencies",{"title":383,"description":384,"path":1802,"stem":386},"\u002Fdocs\u002F3.x\u002Fguide\u002Fmodules\u002Frecipes-advanced",{"title":388,"description":389,"path":1804,"stem":391},"\u002Fdocs\u002F3.x\u002Fguide\u002Fmodules\u002Ftesting",{"title":393,"description":394,"path":1806,"stem":396},"\u002Fdocs\u002F3.x\u002Fguide\u002Fmodules\u002Fbest-practices",{"title":398,"description":399,"path":1808,"stem":401},"\u002Fdocs\u002F3.x\u002Fguide\u002Fmodules\u002Fecosystem",{"title":403,"titleTemplate":404,"icon":405,"path":1810,"stem":407,"children":1811,"page":106},"\u002Fdocs\u002F3.x\u002Fguide\u002Frecipes",[1812,1814,1816,1818],{"title":410,"description":411,"path":1813,"stem":407},"\u002Fdocs\u002F3.x\u002Fguide\u002Frecipes\u002Fcustom-routing",{"title":414,"description":415,"path":1815,"stem":417},"\u002Fdocs\u002F3.x\u002Fguide\u002Frecipes\u002Fvite-plugin",{"title":419,"description":420,"path":1817,"stem":422},"\u002Fdocs\u002F3.x\u002Fguide\u002Frecipes\u002Fcustom-usefetch",{"title":424,"description":425,"path":1819,"stem":427},"\u002Fdocs\u002F3.x\u002Fguide\u002Frecipes\u002Fsessions-and-authentication",{"title":434,"titleTemplate":435,"icon":436,"path":1821,"stem":438,"children":1822,"page":106},"\u002Fdocs\u002F3.x\u002Fguide\u002Fgoing-further",[1823,1825,1827,1829,1831,1833,1835,1837,1839,1841],{"title":441,"description":442,"path":1824,"stem":438},"\u002Fdocs\u002F3.x\u002Fguide\u002Fgoing-further\u002Fevents",{"title":445,"description":446,"path":1826,"stem":448},"\u002Fdocs\u002F3.x\u002Fguide\u002Fgoing-further\u002Fexperimental-features",{"title":450,"description":451,"path":1828,"stem":453},"\u002Fdocs\u002F3.x\u002Fguide\u002Fgoing-further\u002Ffeatures",{"title":455,"description":456,"path":1830,"stem":458},"\u002Fdocs\u002F3.x\u002Fguide\u002Fgoing-further\u002Fhooks",{"title":460,"description":461,"path":1832,"stem":463},"\u002Fdocs\u002F3.x\u002Fguide\u002Fgoing-further\u002Fkit",{"title":465,"description":466,"path":1834,"stem":468},"\u002Fdocs\u002F3.x\u002Fguide\u002Fgoing-further\u002Fnuxt-app",{"title":470,"description":83,"path":1836,"stem":472},"\u002Fdocs\u002F3.x\u002Fguide\u002Fgoing-further\u002Flayers",{"title":479,"description":480,"path":1838,"stem":482},"\u002Fdocs\u002F3.x\u002Fguide\u002Fgoing-further\u002Fdebugging",{"title":484,"description":485,"path":1840,"stem":487},"\u002Fdocs\u002F3.x\u002Fguide\u002Fgoing-further\u002Fruntime-config",{"title":489,"description":490,"path":1842,"stem":492},"\u002Fdocs\u002F3.x\u002Fguide\u002Fgoing-further\u002Fnightly-release-channel",{"title":494,"titleTemplate":495,"icon":496,"path":1844,"stem":498,"children":1845,"page":106},"\u002Fdocs\u002F3.x\u002Fapi",[1846,1879,1940,2001,2087,2133,2140],{"title":501,"titleTemplate":502,"icon":359,"path":1847,"stem":498,"children":1848,"page":106},"\u002Fdocs\u002F3.x\u002Fapi\u002Fcomponents",[1849,1851,1853,1855,1857,1859,1861,1863,1865,1867,1869,1871,1873,1875,1877],{"title":506,"description":507,"path":1850,"stem":498},"\u002Fdocs\u002F3.x\u002Fapi\u002Fcomponents\u002Fclient-only",{"title":510,"description":511,"path":1852,"stem":513},"\u002Fdocs\u002F3.x\u002Fapi\u002Fcomponents\u002Fdev-only",{"title":515,"description":516,"path":1854,"stem":518},"\u002Fdocs\u002F3.x\u002Fapi\u002Fcomponents\u002Fnuxt-client-fallback",{"title":520,"description":521,"path":1856,"stem":523},"\u002Fdocs\u002F3.x\u002Fapi\u002Fcomponents\u002Fnuxt-page",{"title":525,"description":526,"path":1858,"stem":528},"\u002Fdocs\u002F3.x\u002Fapi\u002Fcomponents\u002Fnuxt-layout",{"title":530,"description":531,"path":1860,"stem":533},"\u002Fdocs\u002F3.x\u002Fapi\u002Fcomponents\u002Fnuxt-link",{"title":535,"description":536,"path":1862,"stem":538},"\u002Fdocs\u002F3.x\u002Fapi\u002Fcomponents\u002Fnuxt-loading-indicator",{"title":540,"description":541,"path":1864,"stem":543},"\u002Fdocs\u002F3.x\u002Fapi\u002Fcomponents\u002Fnuxt-error-boundary",{"title":545,"description":546,"path":1866,"stem":548},"\u002Fdocs\u002F3.x\u002Fapi\u002Fcomponents\u002Fnuxt-welcome",{"title":550,"description":551,"path":1868,"stem":553},"\u002Fdocs\u002F3.x\u002Fapi\u002Fcomponents\u002Fnuxt-island",{"title":555,"description":556,"path":1870,"stem":558},"\u002Fdocs\u002F3.x\u002Fapi\u002Fcomponents\u002Fnuxt-img",{"title":560,"description":561,"path":1872,"stem":563},"\u002Fdocs\u002F3.x\u002Fapi\u002Fcomponents\u002Fnuxt-picture",{"title":565,"description":566,"path":1874,"stem":568},"\u002Fdocs\u002F3.x\u002Fapi\u002Fcomponents\u002Fteleports",{"title":570,"description":571,"path":1876,"stem":573},"\u002Fdocs\u002F3.x\u002Fapi\u002Fcomponents\u002Fnuxt-route-announcer",{"title":575,"description":576,"path":1878,"stem":578},"\u002Fdocs\u002F3.x\u002Fapi\u002Fcomponents\u002Fnuxt-time",{"title":585,"titleTemplate":586,"icon":587,"path":1880,"stem":604,"children":1881,"page":106},"\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables",[1882,1884,1886,1888,1890,1892,1894,1896,1898,1900,1902,1904,1906,1908,1910,1912,1914,1916,1918,1920,1922,1924,1926,1928,1930,1932,1934,1936,1938],{"title":601,"description":602,"path":1883,"stem":604},"\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fon-prehydrate",{"title":611,"description":612,"path":1885,"stem":614},"\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-app-config",{"title":616,"description":617,"path":1887,"stem":619},"\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-async-data",{"title":621,"description":622,"path":1889,"stem":624},"\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-cookie",{"title":626,"description":627,"path":1891,"stem":629},"\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-error",{"title":631,"description":632,"path":1893,"stem":634},"\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-fetch",{"title":636,"description":637,"path":1895,"stem":639},"\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-head",{"title":641,"description":642,"path":1897,"stem":644},"\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-head-safe",{"title":646,"description":647,"path":1899,"stem":649},"\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-hydration",{"title":656,"description":657,"path":1901,"stem":659},"\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-lazy-async-data",{"title":661,"description":662,"path":1903,"stem":664},"\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-lazy-fetch",{"title":666,"description":667,"path":1905,"stem":669},"\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-loading-indicator",{"title":671,"description":672,"path":1907,"stem":674},"\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-nuxt-app",{"title":676,"description":677,"path":1909,"stem":679},"\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-nuxt-data",{"title":681,"description":682,"path":1911,"stem":684},"\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-preview-mode",{"title":686,"description":687,"path":1913,"stem":689},"\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-request-event",{"title":691,"description":692,"path":1915,"stem":694},"\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-request-fetch",{"title":696,"description":697,"path":1917,"stem":699},"\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-request-header",{"title":701,"description":702,"path":1919,"stem":704},"\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-request-headers",{"title":706,"description":707,"path":1921,"stem":709},"\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-request-url",{"title":711,"description":712,"path":1923,"stem":714},"\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-response-header",{"title":716,"description":717,"path":1925,"stem":719},"\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-route",{"title":721,"description":722,"path":1927,"stem":724},"\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-route-announcer",{"title":726,"description":727,"path":1929,"stem":729},"\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-router",{"title":731,"description":732,"path":1931,"stem":734},"\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-runtime-config",{"title":736,"description":737,"path":1933,"stem":739},"\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-runtime-hook",{"title":741,"description":742,"path":1935,"stem":744},"\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-seo-meta",{"title":746,"description":747,"path":1937,"stem":749},"\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-server-seo-meta",{"title":751,"description":752,"path":1939,"stem":754},"\u002Fdocs\u002F3.x\u002Fapi\u002Fcomposables\u002Fuse-state",{"title":756,"titleTemplate":757,"path":1941,"stem":759,"children":1942,"page":106},"\u002Fdocs\u002F3.x\u002Fapi\u002Futils",[1943,1945,1947,1949,1951,1953,1955,1957,1959,1961,1963,1965,1967,1969,1971,1973,1975,1977,1979,1981,1983,1985,1987,1989,1991,1993,1995,1997,1999],{"title":762,"description":763,"path":1944,"stem":759},"\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Fdollarfetch",{"title":766,"description":767,"path":1946,"stem":769},"\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Fabort-navigation",{"title":771,"description":772,"path":1948,"stem":774},"\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Fadd-route-middleware",{"title":776,"description":777,"path":1950,"stem":779},"\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Fcall-once",{"title":781,"description":782,"path":1952,"stem":784},"\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Fclear-error",{"title":786,"description":787,"path":1954,"stem":789},"\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Fclear-nuxt-data",{"title":791,"description":792,"path":1956,"stem":794},"\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Fclear-nuxt-state",{"title":796,"description":797,"path":1958,"stem":799},"\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Fcreate-error",{"title":801,"description":802,"path":1960,"stem":804},"\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Fdefine-lazy-hydration-component",{"title":806,"description":807,"path":1962,"stem":809},"\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Fdefine-nuxt-component",{"title":811,"description":812,"path":1964,"stem":814},"\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Fdefine-nuxt-plugin",{"title":816,"description":817,"path":1966,"stem":819},"\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Fdefine-nuxt-route-middleware",{"title":821,"description":822,"path":1968,"stem":824},"\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Fdefine-page-meta",{"title":826,"description":827,"path":1970,"stem":829},"\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Fdefine-route-rules",{"title":831,"description":832,"path":1972,"stem":834},"\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Fnavigate-to",{"title":836,"description":837,"path":1974,"stem":839},"\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Fon-before-route-leave",{"title":841,"description":842,"path":1976,"stem":844},"\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Fon-before-route-update",{"title":846,"description":847,"path":1978,"stem":849},"\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Fon-nuxt-ready",{"title":851,"description":852,"path":1980,"stem":854},"\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Fprefetch-components",{"title":856,"description":857,"path":1982,"stem":859},"\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Fpreload-components",{"title":861,"description":862,"path":1984,"stem":864},"\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Fpreload-route-components",{"title":866,"description":867,"path":1986,"stem":869},"\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Fprerender-routes",{"title":871,"description":872,"path":1988,"stem":874},"\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Frefresh-cookie",{"title":876,"description":877,"path":1990,"stem":879},"\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Frefresh-nuxt-data",{"title":881,"description":882,"path":1992,"stem":884},"\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Freload-nuxt-app",{"title":886,"description":887,"path":1994,"stem":889},"\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Fset-page-layout",{"title":891,"description":892,"path":1996,"stem":894},"\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Fset-response-status",{"title":896,"description":897,"path":1998,"stem":899},"\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Fshow-error",{"title":901,"description":902,"path":2000,"stem":904},"\u002Fdocs\u002F3.x\u002Fapi\u002Futils\u002Fupdate-app-config",{"title":2002,"titleTemplate":2003,"icon":2004,"path":2005,"stem":2006,"children":2007,"page":106},"Commands","%s · Nuxt Commands","i-lucide-square-terminal","\u002Fdocs\u002F3.x\u002Fapi\u002Fcommands","4.api\u002F4.commands\u002Fadd",[2008,2012,2017,2022,2027,2032,2037,2042,2047,2052,2057,2062,2067,2072,2077,2082],{"title":2009,"description":2010,"path":2011,"stem":2006},"nuxt add","Scaffold an entity into your Nuxt application.","\u002Fdocs\u002F3.x\u002Fapi\u002Fcommands\u002Fadd",{"title":2013,"description":2014,"path":2015,"stem":2016},"nuxt analyze","Analyze the production bundle or your Nuxt application.","\u002Fdocs\u002F3.x\u002Fapi\u002Fcommands\u002Fanalyze","4.api\u002F4.commands\u002Fanalyze",{"title":2018,"description":2019,"path":2020,"stem":2021},"nuxt build","Build your Nuxt application.","\u002Fdocs\u002F3.x\u002Fapi\u002Fcommands\u002Fbuild","4.api\u002F4.commands\u002Fbuild",{"title":2023,"description":2024,"path":2025,"stem":2026},"nuxt build-module","Nuxt command to build your Nuxt module before publishing.","\u002Fdocs\u002F3.x\u002Fapi\u002Fcommands\u002Fbuild-module","4.api\u002F4.commands\u002Fbuild-module",{"title":2028,"description":2029,"path":2030,"stem":2031},"nuxt cleanup","Remove common generated Nuxt files and caches.","\u002Fdocs\u002F3.x\u002Fapi\u002Fcommands\u002Fcleanup","4.api\u002F4.commands\u002Fcleanup",{"title":2033,"description":2034,"path":2035,"stem":2036},"nuxt dev","The dev command starts a development server with hot module replacement at http:\u002F\u002Flocalhost:3000","\u002Fdocs\u002F3.x\u002Fapi\u002Fcommands\u002Fdev","4.api\u002F4.commands\u002Fdev",{"title":2038,"description":2039,"path":2040,"stem":2041},"nuxt devtools","The devtools command allows you to enable or disable Nuxt DevTools on a per-project basis.","\u002Fdocs\u002F3.x\u002Fapi\u002Fcommands\u002Fdevtools","4.api\u002F4.commands\u002Fdevtools",{"title":2043,"description":2044,"path":2045,"stem":2046},"nuxt generate","Pre-renders every route of the application and stores the result in plain HTML files.","\u002Fdocs\u002F3.x\u002Fapi\u002Fcommands\u002Fgenerate","4.api\u002F4.commands\u002Fgenerate",{"title":2048,"description":2049,"path":2050,"stem":2051},"nuxt info","The info command logs information about the current or specified Nuxt project.","\u002Fdocs\u002F3.x\u002Fapi\u002Fcommands\u002Finfo","4.api\u002F4.commands\u002Finfo",{"title":2053,"description":2054,"path":2055,"stem":2056},"create nuxt","The init command initializes a fresh Nuxt project.","\u002Fdocs\u002F3.x\u002Fapi\u002Fcommands\u002Finit","4.api\u002F4.commands\u002Finit",{"title":2058,"description":2059,"path":2060,"stem":2061},"nuxt module","Search and add modules to your Nuxt application with the command line.","\u002Fdocs\u002F3.x\u002Fapi\u002Fcommands\u002Fmodule","4.api\u002F4.commands\u002Fmodule",{"title":2063,"description":2064,"path":2065,"stem":2066},"nuxt prepare","The prepare command creates a .nuxt directory in your application and generates types.","\u002Fdocs\u002F3.x\u002Fapi\u002Fcommands\u002Fprepare","4.api\u002F4.commands\u002Fprepare",{"title":2068,"description":2069,"path":2070,"stem":2071},"nuxt preview","The preview command starts a server to preview your application after the build command.","\u002Fdocs\u002F3.x\u002Fapi\u002Fcommands\u002Fpreview","4.api\u002F4.commands\u002Fpreview",{"title":2073,"description":2074,"path":2075,"stem":2076},"nuxt test","The test command runs tests using @nuxt\u002Ftest-utils.","\u002Fdocs\u002F3.x\u002Fapi\u002Fcommands\u002Ftest","4.api\u002F4.commands\u002Ftest",{"title":2078,"description":2079,"path":2080,"stem":2081},"nuxt typecheck","The typecheck command runs vue-tsc to check types throughout your app.","\u002Fdocs\u002F3.x\u002Fapi\u002Fcommands\u002Ftypecheck","4.api\u002F4.commands\u002Ftypecheck",{"title":2083,"description":2084,"path":2085,"stem":2086},"nuxt upgrade","The upgrade command upgrades Nuxt to the latest version.","\u002Fdocs\u002F3.x\u002Fapi\u002Fcommands\u002Fupgrade","4.api\u002F4.commands\u002Fupgrade",{"title":460,"titleTemplate":906,"path":2088,"stem":908,"children":2089,"page":106},"\u002Fdocs\u002F3.x\u002Fapi\u002Fkit",[2090,2092,2094,2096,2098,2100,2102,2104,2106,2108,2110,2112,2114,2117,2121,2124,2127,2130],{"title":290,"description":911,"path":2091,"stem":908},"\u002Fdocs\u002F3.x\u002Fapi\u002Fkit\u002Fmodules",{"title":914,"description":915,"path":2093,"stem":917},"\u002Fdocs\u002F3.x\u002Fapi\u002Fkit\u002Fprogrammatic",{"title":919,"description":920,"path":2095,"stem":922},"\u002Fdocs\u002F3.x\u002Fapi\u002Fkit\u002Fcompatibility",{"title":280,"description":924,"path":2097,"stem":926},"\u002Fdocs\u002F3.x\u002Fapi\u002Fkit\u002Fautoimports",{"title":501,"description":928,"path":2099,"stem":930},"\u002Fdocs\u002F3.x\u002Fapi\u002Fkit\u002Fcomponents",{"title":932,"description":933,"path":2101,"stem":935},"\u002Fdocs\u002F3.x\u002Fapi\u002Fkit\u002Fcontext",{"title":937,"description":938,"path":2103,"stem":940},"\u002Fdocs\u002F3.x\u002Fapi\u002Fkit\u002Fpages",{"title":942,"description":943,"path":2105,"stem":945},"\u002Fdocs\u002F3.x\u002Fapi\u002Fkit\u002Flayout",{"title":947,"description":948,"path":2107,"stem":950},"\u002Fdocs\u002F3.x\u002Fapi\u002Fkit\u002Fhead",{"title":952,"description":953,"path":2109,"stem":955},"\u002Fdocs\u002F3.x\u002Fapi\u002Fkit\u002Fplugins",{"title":484,"description":957,"path":2111,"stem":959},"\u002Fdocs\u002F3.x\u002Fapi\u002Fkit\u002Fruntime-config",{"title":961,"description":962,"path":2113,"stem":964},"\u002Fdocs\u002F3.x\u002Fapi\u002Fkit\u002Ftemplates",{"title":971,"description":972,"path":2115,"stem":2116},"\u002Fdocs\u002F3.x\u002Fapi\u002Fkit\u002Fnitro","4.api\u002F5.kit\u002F11.nitro",{"title":976,"description":2118,"path":2119,"stem":2120},"Nuxt Kit provides a set of utilities to help you resolve paths. These functions allow you to resolve paths relative to the current module, with unknown name or extension.","\u002Fdocs\u002F3.x\u002Fapi\u002Fkit\u002Fresolving","4.api\u002F5.kit\u002F12.resolving",{"title":981,"description":982,"path":2122,"stem":2123},"\u002Fdocs\u002F3.x\u002Fapi\u002Fkit\u002Flogging","4.api\u002F5.kit\u002F13.logging",{"title":986,"description":987,"path":2125,"stem":2126},"\u002Fdocs\u002F3.x\u002Fapi\u002Fkit\u002Fbuilder","4.api\u002F5.kit\u002F14.builder",{"title":991,"description":992,"path":2128,"stem":2129},"\u002Fdocs\u002F3.x\u002Fapi\u002Fkit\u002Fexamples","4.api\u002F5.kit\u002F15.examples",{"title":82,"description":996,"path":2131,"stem":2132},"\u002Fdocs\u002F3.x\u002Fapi\u002Fkit\u002Flayers","4.api\u002F5.kit\u002F16.layers",{"icon":1000,"title":1001,"path":2134,"stem":1003,"children":2135,"page":106},"\u002Fdocs\u002F3.x\u002Fapi\u002Fadvanced",[2136,2138],{"title":455,"description":456,"path":2137,"stem":1003},"\u002Fdocs\u002F3.x\u002Fapi\u002Fadvanced\u002Fhooks",{"title":1008,"description":1009,"path":2139,"stem":1011},"\u002Fdocs\u002F3.x\u002Fapi\u002Fadvanced\u002Fimport-meta",{"title":1013,"description":1014,"path":2141,"stem":1016},"\u002Fdocs\u002F3.x\u002Fapi\u002Fnuxt-config",{"title":1018,"titleTemplate":1019,"icon":1020,"path":2143,"stem":1022,"children":2144,"page":106},"\u002Fdocs\u002F3.x\u002Fcommunity",[2145,2147,2149,2151,2153,2155],{"title":1025,"description":1026,"path":2146,"stem":1022,"icon":1028},"\u002Fdocs\u002F3.x\u002Fcommunity\u002Fgetting-help",{"title":1030,"description":1031,"path":2148,"stem":1033},"\u002Fdocs\u002F3.x\u002Fcommunity\u002Freporting-bugs",{"title":1035,"description":1036,"path":2150,"stem":1038},"\u002Fdocs\u002F3.x\u002Fcommunity\u002Fcontribution",{"title":1040,"description":1041,"path":2152,"stem":1043},"\u002Fdocs\u002F3.x\u002Fcommunity\u002Fframework-contribution",{"title":1045,"description":1046,"path":2154,"stem":1048},"\u002Fdocs\u002F3.x\u002Fcommunity\u002Froadmap",{"title":1050,"description":1051,"path":2156,"stem":1053},"\u002Fdocs\u002F3.x\u002Fcommunity\u002Fchangelog",{"title":1055,"titleTemplate":1056,"icon":1057,"path":2158,"stem":1059,"children":2159,"page":106},"\u002Fdocs\u002F3.x\u002Fbridge",[2160,2162,2164,2166,2168,2170,2172,2174,2176,2178],{"title":1062,"description":1063,"path":2161,"stem":1059},"\u002Fdocs\u002F3.x\u002Fbridge\u002Foverview",{"title":300,"description":1066,"path":2163,"stem":1068},"\u002Fdocs\u002F3.x\u002Fbridge\u002Ftypescript",{"title":1070,"description":1071,"path":2165,"stem":1073},"\u002Fdocs\u002F3.x\u002Fbridge\u002Fbridge-composition-api",{"title":1075,"description":1076,"path":2167,"stem":1078},"\u002Fdocs\u002F3.x\u002Fbridge\u002Fplugins-and-middleware",{"title":1080,"description":1081,"path":2169,"stem":1083},"\u002Fdocs\u002F3.x\u002Fbridge\u002Fnuxt3-compatible-api",{"title":1085,"description":1086,"path":2171,"stem":1088},"\u002Fdocs\u002F3.x\u002Fbridge\u002Fmeta",{"title":484,"description":485,"path":2173,"stem":1091},"\u002Fdocs\u002F3.x\u002Fbridge\u002Fruntime-config",{"title":971,"description":1093,"path":2175,"stem":1095},"\u002Fdocs\u002F3.x\u002Fbridge\u002Fnitro",{"title":1097,"description":1098,"path":2177,"stem":1100},"\u002Fdocs\u002F3.x\u002Fbridge\u002Fvite",{"title":27,"description":1102,"path":2179,"stem":1104},"\u002Fdocs\u002F3.x\u002Fbridge\u002Fconfiguration",{"title":1106,"titleTemplate":1107,"icon":1108,"path":2181,"stem":1110,"children":2182,"page":106},"\u002Fdocs\u002F3.x\u002Fmigration",[2183,2185,2187,2189,2191,2193,2195,2197,2199,2201,2203],{"title":1062,"description":1113,"path":2184,"stem":1110},"\u002Fdocs\u002F3.x\u002Fmigration\u002Foverview",{"title":27,"description":1116,"path":2186,"stem":1118},"\u002Fdocs\u002F3.x\u002Fmigration\u002Fconfiguration",{"title":1120,"description":1121,"path":2188,"stem":1123},"\u002Fdocs\u002F3.x\u002Fmigration\u002Fauto-imports",{"title":1085,"description":1125,"path":2190,"stem":1127},"\u002Fdocs\u002F3.x\u002Fmigration\u002Fmeta",{"title":1075,"description":1129,"path":2192,"stem":1131},"\u002Fdocs\u002F3.x\u002Fmigration\u002Fplugins-and-middleware",{"title":1133,"description":1134,"path":2194,"stem":1136},"\u002Fdocs\u002F3.x\u002Fmigration\u002Fpages-and-layouts",{"title":1138,"description":1139,"path":2196,"stem":1141},"\u002Fdocs\u002F3.x\u002Fmigration\u002Fcomponent-options",{"title":484,"description":1143,"path":2198,"stem":1145},"\u002Fdocs\u002F3.x\u002Fmigration\u002Fruntime-config",{"title":1147,"description":1148,"path":2200,"stem":1150},"\u002Fdocs\u002F3.x\u002Fmigration\u002Fbundling",{"title":77,"description":1152,"path":2202,"stem":1154},"\u002Fdocs\u002F3.x\u002Fmigration\u002Fserver",{"title":290,"description":1156,"path":2204,"stem":1158},"\u002Fdocs\u002F3.x\u002Fmigration\u002Fmodule-authors",{"title":2206,"icon":2207,"path":2208,"stem":2209,"children":2210,"page":106},"Blog","i-lucide-newspaper","\u002Fblog","blog",[2211,2215,2219,2223,2227,2231,2235,2239,2243,2247,2251,2255,2259,2263,2267,2271,2275,2279,2283,2287,2291,2295,2299,2303,2307,2311,2315,2319,2323,2327,2331,2335,2339,2343,2347,2351,2355,2359,2363,2367,2371,2375,2379,2383,2387,2391,2395,2399,2403,2407],{"title":2212,"path":2213,"stem":2214},"Announcing 3.0","\u002Fblog\u002Fv3","blog\u002F1.v3",{"title":2216,"path":2217,"stem":2218},"Nuxt 3.3","\u002Fblog\u002Fv3-3","blog\u002F10.v3-3",{"title":2220,"path":2221,"stem":2222},"Nuxt 3.4","\u002Fblog\u002Fv3-4","blog\u002F11.v3-4",{"title":2224,"path":2225,"stem":2226},"Nuxt 3.5","\u002Fblog\u002Fv3-5","blog\u002F12.v3-5",{"title":2228,"path":2229,"stem":2230},"Nuxt 3.6","\u002Fblog\u002Fv3-6","blog\u002F13.v3-6",{"title":2232,"path":2233,"stem":2234},"Nuxt on the Edge","\u002Fblog\u002Fnuxt-on-the-edge","blog\u002F14.nuxt-on-the-edge",{"title":2236,"path":2237,"stem":2238},"Nuxt 3.7","\u002Fblog\u002Fv3-7","blog\u002F15.v3-7",{"title":2240,"path":2241,"stem":2242},"A New Website","\u002Fblog\u002Fnew-website","blog\u002F16.new-website",{"title":2244,"path":2245,"stem":2246},"Nuxt 3.8","\u002Fblog\u002Fv3-8","blog\u002F17.v3-8",{"title":2248,"path":2249,"stem":2250},"Nuxt DevTools v1.0","\u002Fblog\u002Fnuxt-devtools-v1-0","blog\u002F18.nuxt-devtools-v1-0",{"title":2252,"path":2253,"stem":2254},"Nuxt 3.9","\u002Fblog\u002Fv3-9","blog\u002F19.v3-9",{"title":2256,"path":2257,"stem":2258},"Nuxt: A vision for 2023","\u002Fblog\u002Fvision-2023","blog\u002F2.vision-2023",{"title":2260,"path":2261,"stem":2262},"Nuxt 3.10","\u002Fblog\u002Fv3-10","blog\u002F20.v3-10",{"title":2264,"path":2265,"stem":2266},"The Evolution of Shiki v1.0","\u002Fblog\u002Fshiki-v1","blog\u002F21.shiki-v1",{"title":2268,"path":2269,"stem":2270},"Nuxt 3.11","\u002Fblog\u002Fv3-11","blog\u002F22.v3-11",{"title":2272,"path":2273,"stem":2274},"Nuxt: Looking forward","\u002Fblog\u002Flooking-forward-2024","blog\u002F23.looking-forward-2024",{"title":2276,"path":2277,"stem":2278},"Refreshed Nuxt ESLint Integrations","\u002Fblog\u002Feslint-module","blog\u002F24.eslint-module",{"title":2280,"path":2281,"stem":2282},"Nuxt 3.12","\u002Fblog\u002Fv3-12","blog\u002F25.v3-12",{"title":2284,"path":2285,"stem":2286},"Introducing Nuxt Scripts","\u002Fblog\u002Fnuxt-scripts","blog\u002F26.nuxt-scripts",{"title":2288,"path":2289,"stem":2290},"Nuxt 3.13","\u002Fblog\u002Fv3-13","blog\u002F27.v3-13",{"title":2292,"path":2293,"stem":2294},"Nuxt 3.14","\u002Fblog\u002Fv3-14","blog\u002F27.v3-14",{"title":2296,"path":2297,"stem":2298},"Introducing Nuxt Icon v1","\u002Fblog\u002Fnuxt-icon-v1-0","blog\u002F29.nuxt-icon-v1-0",{"title":2300,"path":2301,"stem":2302},"Introducing Nuxt DevTools","\u002Fblog\u002Fintroducing-nuxt-devtools","blog\u002F3.introducing-nuxt-devtools",{"title":2304,"path":2305,"stem":2306},"Announcing Nuxt 3 Release Candidate","\u002Fblog\u002Fnuxt3-rc","blog\u002F3.nuxt3-rc",{"title":2308,"path":2309,"stem":2310},"Nuxt 3.15","\u002Fblog\u002Fv3-15","blog\u002F30.v3-15",{"title":2312,"path":2313,"stem":2314},"Nuxt 3.16","\u002Fblog\u002Fv3-16","blog\u002F31.v3-16",{"title":2316,"path":2317,"stem":2318},"Nuxt UI v3","\u002Fblog\u002Fnuxt-ui-v3","blog\u002F32.nuxt-ui-v3",{"title":2320,"path":2321,"stem":2322},"Nuxt 3.17","\u002Fblog\u002Fv3-17","blog\u002F33.v3-17",{"title":2324,"path":2325,"stem":2326},"Roadmap to v4","\u002Fblog\u002Froadmap-v4","blog\u002F34.roadmap-v4",{"title":2328,"path":2329,"stem":2330},"Building a Privacy-First Feedback Widget","\u002Fblog\u002Fbuilding-a-feedback-widget","blog\u002F35.building-a-feedback-widget",{"title":2332,"path":2333,"stem":2334},"Announcing Nuxt 4.0","\u002Fblog\u002Fv4","blog\u002F36.v4",{"title":2336,"path":2337,"stem":2338},"Nuxt 3.18","\u002Fblog\u002Fv3-18","blog\u002F37.v3-18",{"title":2340,"path":2341,"stem":2342},"Nuxt 4.1","\u002Fblog\u002Fv4-1","blog\u002F38.v4-1",{"title":2344,"path":2345,"stem":2346},"Nuxt UI v4","\u002Fblog\u002Fnuxt-ui-v4","blog\u002F39.nuxt-ui-v4",{"title":2348,"path":2349,"stem":2350},"Nuxt 2 End-of-Life (EOL)","\u002Fblog\u002Fnuxt2-eol","blog\u002F4.nuxt2-eol",{"title":2352,"path":2353,"stem":2354},"Introducing Nuxt 3 Beta","\u002Fblog\u002Fnuxt3-beta","blog\u002F4.nuxt3-beta",{"title":2356,"path":2357,"stem":2358},"Building an MCP Server for Nuxt","\u002Fblog\u002Fbuilding-nuxt-mcp","blog\u002F40.building-nuxt-mcp",{"title":2360,"path":2361,"stem":2362},"Nuxt 4.2","\u002Fblog\u002Fv4-2","blog\u002F40.v4-2",{"title":2364,"path":2365,"stem":2366},"Nuxt Image v2","\u002Fblog\u002Fnuxt-image-v2","blog\u002F41.nuxt-image-v2",{"title":2368,"path":2369,"stem":2370},"Nuxt 4.3","\u002Fblog\u002Fv4-3","blog\u002F42.v4-3",{"title":2372,"path":2373,"stem":2374},"Nuxt 4.4","\u002Fblog\u002Fv4-4","blog\u002F43.v4-4",{"title":2376,"path":2377,"stem":2378},"Introducing the Nuxt Agent","\u002Fblog\u002Fintroducing-nuxt-agent","blog\u002F44.introducing-nuxt-agent",{"title":2380,"path":2381,"stem":2382},"Meet Nuxi","\u002Fblog\u002Fmeet-nuxi","blog\u002F45.meet-nuxi",{"title":2384,"path":2385,"stem":2386},"Nuxt 4.5","\u002Fblog\u002Fv4-5","blog\u002F46.v4-5",{"title":2388,"path":2389,"stem":2390},"Nuxt Security Patch Releases","\u002Fblog\u002Fv4-5-security","blog\u002F47.v4-5-security",{"title":2392,"path":2393,"stem":2394},"Going Full Static","\u002Fblog\u002Fgoing-full-static","blog\u002F5.going-full-static",{"title":2396,"path":2397,"stem":2398},"Introducing Smart Prefetching","\u002Fblog\u002Fintroducing-smart-prefetching","blog\u002F6.introducing-smart-prefetching",{"title":2400,"path":2401,"stem":2402},"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":2404,"path":2405,"stem":2406},"Nuxt 2 Static Improvements","\u002Fblog\u002Fnuxt-static-improvements","blog\u002F8.nuxt-static-improvements",{"title":2408,"path":2409,"stem":2410},"Nuxt 2: From Terminal to Browser","\u002Fblog\u002Fnuxtjs-from-terminal-to-browser","blog\u002F9.nuxtjs-from-terminal-to-browser",{"name":2412,"description":2413,"repo":2414,"npm":2415,"icon":2416,"github":2417,"website":2418,"learn_more":2419,"category":2420,"type":2421,"maintainers":2422,"compatibility":2430,"generatedAt":2433,"contributors":2434,"stats":2454,"readme":2462},"shopify","Easily integrate Shopify into your Nuxt app.","nuxt-modules\u002Fshopify","@nuxtjs\u002Fshopify","shopify.png","https:\u002F\u002Fgithub.com\u002Fnuxt-modules\u002Fshopify","https:\u002F\u002Fshopify.nuxtjs.org\u002F","https:\u002F\u002Fshopify.dev\u002Fdocs","Ecommerce","community",[2423,2426],{"name":2424,"github":2425},"Zoltan Lukacs","konkonam",{"name":2427,"github":2428,"bluesky":2429},"Frederik Bußmann","freb97","freb97.bsky.social",{"nuxt":2431,"requires":2432},">=3.0.0",{},"2026-08-30T21:31:58.384Z",[2435,2438,2441,2445,2448,2451],{"id":2436,"username":2428,"contributions":2437},58994540,741,{"id":2439,"username":2425,"contributions":2440},19656966,3,{"id":2442,"username":2443,"contributions":2444},39672167,"CalmProton",1,{"id":2446,"username":2447,"contributions":2444},88916033,"msriaj",{"id":2449,"username":2450,"contributions":2444},2822227,"matej-marjanovic",{"id":2452,"username":2453,"contributions":2444},83463097,"oumarbarry",{"version":2455,"downloads":2456,"stars":2457,"watchers":2457,"forks":2458,"defaultBranch":2459,"publishedAt":2460,"createdAt":2461},"0.9.6",3527,165,12,"main",1787682027410,1757518928377,{"data":2463,"body":2465,"toc":8451},{"title":2464,"description":2464},"",{"type":2466,"children":2467},"root",[2468,2479,2487,2541,2582,2623,2629,2717,2723,2740,2745,2788,2800,2829,2993,3004,3433,3450,3456,3463,3476,3497,3895,3908,3929,3941,3947,3960,4387,4436,4442,4456,4469,4754,4760,4765,4772,4784,5063,5150,5163,5359,5377,5383,5394,5601,5607,5635,5771,5784,5790,5803,6001,6013,6019,6040,6173,6179,6184,6203,6216,6279,6298,6304,6309,6314,6412,6680,6692,6738,6744,6749,6762,6868,6873,6878,7086,7099,7105,7118,7531,7543,7548,7562,7568,7596,7764,7916,7921,7934,7940,7945,7950,8218,8223,8253,8266,8279,8285,8314,8320,8428,8433,8445],{"type":2469,"tag":2470,"props":2471,"children":2472},"element","p",{},[2473],{"type":2469,"tag":2474,"props":2475,"children":2478},"img",{"alt":2476,"src":2477},"Nuxt Shopify Logo","https:\u002F\u002Fraw.githubusercontent.com\u002Fnuxt-modules\u002Fshopify\u002Frefs\u002Fheads\u002Fmain\u002Fdocs\u002Fpublic\u002Flogo-readme.jpg",[],{"type":2469,"tag":2480,"props":2481,"children":2483},"h1",{"id":2482},"nuxt-shopify-module",[2484],{"type":2485,"value":2486},"text","Nuxt Shopify Module",{"type":2469,"tag":2470,"props":2488,"children":2489},{},[2490,2502,2512,2522,2531],{"type":2469,"tag":2491,"props":2492,"children":2496},"a",{"href":2493,"rel":2494},"https:\u002F\u002Fgithub.com\u002Fnuxt-modules\u002Fshopify\u002Factions",[2495],"nofollow",[2497],{"type":2469,"tag":2474,"props":2498,"children":2501},{"alt":2499,"src":2500},"Github Actions","https:\u002F\u002Fgithub.com\u002Fnuxt-modules\u002Fshopify\u002Factions\u002Fworkflows\u002Ftest.yml\u002Fbadge.svg",[],{"type":2469,"tag":2491,"props":2503,"children":2506},{"href":2504,"rel":2505},"https:\u002F\u002Fnpmx.dev\u002Fpackage\u002F@nuxtjs\u002Fshopify",[2495],[2507],{"type":2469,"tag":2474,"props":2508,"children":2511},{"alt":2509,"src":2510},"NPM version","https:\u002F\u002Fimg.shields.io\u002Fnpm\u002Fv\u002F@nuxtjs\u002Fshopify\u002Flatest.svg?style=flat&colorA=18181B&colorB=31C553",[],{"type":2469,"tag":2491,"props":2513,"children":2516},{"href":2514,"rel":2515},"https:\u002F\u002Fnuxt.care\u002F?search=shopify",[2495],[2517],{"type":2469,"tag":2474,"props":2518,"children":2521},{"alt":2519,"src":2520},"Nuxt Module Health","https:\u002F\u002Fimg.shields.io\u002Fendpoint?url=https:\u002F\u002Fnuxt.care\u002Fapi\u002Fv1\u002Fbadge?module=shopify",[],{"type":2469,"tag":2491,"props":2523,"children":2525},{"href":2504,"rel":2524},[2495],[2526],{"type":2469,"tag":2474,"props":2527,"children":2530},{"alt":2528,"src":2529},"NPM last update","https:\u002F\u002Fimg.shields.io\u002Fnpm\u002Flast-update\u002F%40nuxtjs%2Fshopify.svg?style=flat&colorA=18181B&colorB=31C553",[],{"type":2469,"tag":2491,"props":2532,"children":2535},{"href":2533,"rel":2534},"https:\u002F\u002Fgithub.com\u002Fnuxt-modules\u002Fshopify\u002Ftree\u002Fmain\u002FLICENSE",[2495],[2536],{"type":2469,"tag":2474,"props":2537,"children":2540},{"alt":2538,"src":2539},"License","https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Flicense\u002Fnuxt-modules\u002Fshopify.svg?style=flat&colorA=18181B&colorB=31C553",[],{"type":2469,"tag":2470,"props":2542,"children":2543},{},[2544,2546,2553,2555,2562,2564,2571,2573,2580],{"type":2485,"value":2545},"Nuxt integration for the ",{"type":2469,"tag":2491,"props":2547,"children":2550},{"href":2548,"rel":2549},"https:\u002F\u002Fshopify.dev\u002Fdocs\u002Fapi\u002Fstorefront",[2495],[2551],{"type":2485,"value":2552},"Storefront API",{"type":2485,"value":2554},", ",{"type":2469,"tag":2491,"props":2556,"children":2559},{"href":2557,"rel":2558},"https:\u002F\u002Fshopify.dev\u002Fdocs\u002Fapi\u002Fcustomer",[2495],[2560],{"type":2485,"value":2561},"Customer Account API",{"type":2485,"value":2563}," and ",{"type":2469,"tag":2491,"props":2565,"children":2568},{"href":2566,"rel":2567},"https:\u002F\u002Fshopify.dev\u002Fdocs\u002Fapi\u002Fadmin-graphql",[2495],[2569],{"type":2485,"value":2570},"Admin API",{"type":2485,"value":2572},".\nUse typed fetch clients on the server and client side with built-in fragment deduplication, proxying, caching, analytics, error handling, retries and automatic, hot-reloaded type generation from your GraphQL queries.\nFully configurable, works out of the box with ",{"type":2469,"tag":2491,"props":2574,"children":2577},{"href":2575,"rel":2576},"https:\u002F\u002Fmock.shop",[2495],[2578],{"type":2485,"value":2579},"mock.shop",{"type":2485,"value":2581}," for local development.",{"type":2469,"tag":2583,"props":2584,"children":2585},"ul",{},[2586,2599,2611],{"type":2469,"tag":2587,"props":2588,"children":2589},"li",{},[2590,2592],{"type":2485,"value":2591},"📚 ",{"type":2469,"tag":2491,"props":2593,"children":2596},{"href":2594,"rel":2595},"https:\u002F\u002Fshopify.nuxtjs.org",[2495],[2597],{"type":2485,"value":2598},"Documentation",{"type":2469,"tag":2587,"props":2600,"children":2601},{},[2602,2604],{"type":2485,"value":2603},"🛍️ ",{"type":2469,"tag":2491,"props":2605,"children":2608},{"href":2606,"rel":2607},"https:\u002F\u002Fgithub.com\u002Fnuxt-modules\u002Fshopify\u002Ftree\u002Fmain\u002Ftemplate",[2495],[2609],{"type":2485,"value":2610},"Store Template",{"type":2469,"tag":2587,"props":2612,"children":2613},{},[2614,2616],{"type":2485,"value":2615},"✨ ",{"type":2469,"tag":2491,"props":2617,"children":2620},{"href":2618,"rel":2619},"https:\u002F\u002Fgithub.com\u002Fnuxt-modules\u002Fshopify\u002Freleases",[2495],[2621],{"type":2485,"value":2622},"Release Notes",{"type":2469,"tag":2624,"props":2625,"children":2627},"h2",{"id":2626},"features",[2628],{"type":2485,"value":450},{"type":2469,"tag":2583,"props":2630,"children":2631},{},[2632,2637,2642,2647,2652,2657,2662,2667,2672,2677,2682,2687,2692,2697,2702,2707,2712],{"type":2469,"tag":2587,"props":2633,"children":2634},{},[2635],{"type":2485,"value":2636},"🔗 Fully typed fetch clients from GraphQL schemas",{"type":2469,"tag":2587,"props":2638,"children":2639},{},[2640],{"type":2485,"value":2641},"🔥 Hot-reloads types automatically when your GraphQL changes",{"type":2469,"tag":2587,"props":2643,"children":2644},{},[2645],{"type":2485,"value":2646},"🔐 Secure access token handling",{"type":2469,"tag":2587,"props":2648,"children":2649},{},[2650],{"type":2485,"value":2651},"🛒 Storefront, Customer Account and Admin API support",{"type":2469,"tag":2587,"props":2653,"children":2654},{},[2655],{"type":2485,"value":2656},"🌐 Server & client side support",{"type":2469,"tag":2587,"props":2658,"children":2659},{},[2660],{"type":2485,"value":2661},"🚩 Error handling optimized for Nuxt",{"type":2469,"tag":2587,"props":2663,"children":2664},{},[2665],{"type":2485,"value":2666},"📡 Server-side proxy for API requests",{"type":2469,"tag":2587,"props":2668,"children":2669},{},[2670],{"type":2485,"value":2671},"🧩 GraphQL fragment injection and deduplication",{"type":2469,"tag":2587,"props":2673,"children":2674},{},[2675],{"type":2485,"value":2676},"🏎️ Caching for client and server-side requests",{"type":2469,"tag":2587,"props":2678,"children":2679},{},[2680],{"type":2485,"value":2681},"🔍 Analytics and Customer Privacy API support",{"type":2469,"tag":2587,"props":2683,"children":2684},{},[2685],{"type":2485,"value":2686},"⚙️ Customizable GraphQL code generation",{"type":2469,"tag":2587,"props":2688,"children":2689},{},[2690],{"type":2485,"value":2691},"📦 Auto-imports for fragments, queries and generated types",{"type":2469,"tag":2587,"props":2693,"children":2694},{},[2695],{"type":2485,"value":2696},"🪝 Webhook subscription support",{"type":2469,"tag":2587,"props":2698,"children":2699},{},[2700],{"type":2485,"value":2701},"🏖️ Built-in GraphQL explorer for all client APIs",{"type":2469,"tag":2587,"props":2703,"children":2704},{},[2705],{"type":2485,"value":2706},"🛠️ Automatic mock.shop integration",{"type":2469,"tag":2587,"props":2708,"children":2709},{},[2710],{"type":2485,"value":2711},"🔄 Hooks for customizing the module behavior",{"type":2469,"tag":2587,"props":2713,"children":2714},{},[2715],{"type":2485,"value":2716},"🧪 Tested with Nuxt 3 & 4",{"type":2469,"tag":2624,"props":2718,"children":2720},{"id":2719},"setup",[2721],{"type":2485,"value":2722},"Setup",{"type":2469,"tag":2724,"props":2725,"children":2726},"blockquote",{},[2727],{"type":2469,"tag":2470,"props":2728,"children":2729},{},[2730,2732,2738],{"type":2485,"value":2731},"To get started, use the ",{"type":2469,"tag":2491,"props":2733,"children":2735},{"href":2606,"rel":2734},[2495],[2736],{"type":2485,"value":2737},"store template",{"type":2485,"value":2739}," with a fully functioning Shopify store.",{"type":2469,"tag":2470,"props":2741,"children":2742},{},[2743],{"type":2485,"value":2744},"Run the following command to install the module in your project:",{"type":2469,"tag":2746,"props":2747,"children":2751},"pre",{"className":2748,"code":2749,"language":2750,"meta":2464,"style":2464},"language-bash shiki shiki-themes material-theme-lighter material-theme-lighter material-theme-palenight","npx nuxi@latest module add shopify\n","bash",[2752],{"type":2469,"tag":2753,"props":2754,"children":2755},"code",{"__ignoreMap":2464},[2756],{"type":2469,"tag":2757,"props":2758,"children":2760},"span",{"class":2759,"line":2444},"line",[2761,2767,2773,2778,2783],{"type":2469,"tag":2757,"props":2762,"children":2764},{"style":2763},"--shiki-light:#E2931D;--shiki-default:#E2931D;--shiki-dark:#FFCB6B",[2765],{"type":2485,"value":2766},"npx",{"type":2469,"tag":2757,"props":2768,"children":2770},{"style":2769},"--shiki-light:#91B859;--shiki-default:#91B859;--shiki-dark:#C3E88D",[2771],{"type":2485,"value":2772}," nuxi@latest",{"type":2469,"tag":2757,"props":2774,"children":2775},{"style":2769},[2776],{"type":2485,"value":2777}," module",{"type":2469,"tag":2757,"props":2779,"children":2780},{"style":2769},[2781],{"type":2485,"value":2782}," add",{"type":2469,"tag":2757,"props":2784,"children":2785},{"style":2769},[2786],{"type":2485,"value":2787}," shopify\n",{"type":2469,"tag":2470,"props":2789,"children":2790},{},[2791,2793,2798],{"type":2485,"value":2792},"Or scaffold a complete storefront from the ",{"type":2469,"tag":2491,"props":2794,"children":2796},{"href":2606,"rel":2795},[2495],[2797],{"type":2485,"value":2737},{"type":2485,"value":2799},":",{"type":2469,"tag":2746,"props":2801,"children":2803},{"className":2748,"code":2802,"language":2750,"meta":2464,"style":2464},"npx @nuxtjs\u002Fshopify@latest init .\u002Fmy-shop\n",[2804],{"type":2469,"tag":2753,"props":2805,"children":2806},{"__ignoreMap":2464},[2807],{"type":2469,"tag":2757,"props":2808,"children":2809},{"class":2759,"line":2444},[2810,2814,2819,2824],{"type":2469,"tag":2757,"props":2811,"children":2812},{"style":2763},[2813],{"type":2485,"value":2766},{"type":2469,"tag":2757,"props":2815,"children":2816},{"style":2769},[2817],{"type":2485,"value":2818}," @nuxtjs\u002Fshopify@latest",{"type":2469,"tag":2757,"props":2820,"children":2821},{"style":2769},[2822],{"type":2485,"value":2823}," init",{"type":2469,"tag":2757,"props":2825,"children":2826},{"style":2769},[2827],{"type":2485,"value":2828}," .\u002Fmy-shop\n",{"type":2469,"tag":2830,"props":2831,"children":2832},"details",{},[2833,2839],{"type":2469,"tag":2834,"props":2835,"children":2836},"summary",{},[2837],{"type":2485,"value":2838},"Or use the manual installation",{"type":2469,"tag":2840,"props":2841,"children":2842},"ol",{},[2843,2873],{"type":2469,"tag":2587,"props":2844,"children":2845},{},[2846,2848],{"type":2485,"value":2847},"Install the module via npm:",{"type":2469,"tag":2746,"props":2849,"children":2851},{"className":2748,"code":2850,"language":2750,"meta":2464,"style":2464},"npm install @nuxtjs\u002Fshopify\n",[2852],{"type":2469,"tag":2753,"props":2853,"children":2854},{"__ignoreMap":2464},[2855],{"type":2469,"tag":2757,"props":2856,"children":2857},{"class":2759,"line":2444},[2858,2863,2868],{"type":2469,"tag":2757,"props":2859,"children":2860},{"style":2763},[2861],{"type":2485,"value":2862},"npm",{"type":2469,"tag":2757,"props":2864,"children":2865},{"style":2769},[2866],{"type":2485,"value":2867}," install",{"type":2469,"tag":2757,"props":2869,"children":2870},{"style":2769},[2871],{"type":2485,"value":2872}," @nuxtjs\u002Fshopify\n",{"type":2469,"tag":2587,"props":2874,"children":2875},{},[2876,2878,2883,2884],{"type":2485,"value":2877},"Add the module to your ",{"type":2469,"tag":2753,"props":2879,"children":2881},{"className":2880},[],[2882],{"type":2485,"value":244},{"type":2485,"value":2799},{"type":2469,"tag":2746,"props":2885,"children":2889},{"className":2886,"code":2887,"language":2888,"meta":2464,"style":2464},"language-ts shiki shiki-themes material-theme-lighter material-theme-lighter material-theme-palenight","export default defineNuxtConfig({\n  modules: [\n    '@nuxtjs\u002Fshopify',\n  ],\n})\n","ts",[2890],{"type":2469,"tag":2753,"props":2891,"children":2892},{"__ignoreMap":2464},[2893,2925,2944,2966,2979],{"type":2469,"tag":2757,"props":2894,"children":2895},{"class":2759,"line":2444},[2896,2902,2907,2913,2919],{"type":2469,"tag":2757,"props":2897,"children":2899},{"style":2898},"--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#39ADB5;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic",[2900],{"type":2485,"value":2901},"export",{"type":2469,"tag":2757,"props":2903,"children":2904},{"style":2898},[2905],{"type":2485,"value":2906}," default",{"type":2469,"tag":2757,"props":2908,"children":2910},{"style":2909},"--shiki-light:#6182B8;--shiki-default:#6182B8;--shiki-dark:#82AAFF",[2911],{"type":2485,"value":2912}," defineNuxtConfig",{"type":2469,"tag":2757,"props":2914,"children":2916},{"style":2915},"--shiki-light:#90A4AE;--shiki-default:#90A4AE;--shiki-dark:#BABED8",[2917],{"type":2485,"value":2918},"(",{"type":2469,"tag":2757,"props":2920,"children":2922},{"style":2921},"--shiki-light:#39ADB5;--shiki-default:#39ADB5;--shiki-dark:#89DDFF",[2923],{"type":2485,"value":2924},"{\n",{"type":2469,"tag":2757,"props":2926,"children":2928},{"class":2759,"line":2927},2,[2929,2935,2939],{"type":2469,"tag":2757,"props":2930,"children":2932},{"style":2931},"--shiki-light:#E53935;--shiki-default:#E53935;--shiki-dark:#F07178",[2933],{"type":2485,"value":2934},"  modules",{"type":2469,"tag":2757,"props":2936,"children":2937},{"style":2921},[2938],{"type":2485,"value":2799},{"type":2469,"tag":2757,"props":2940,"children":2941},{"style":2915},[2942],{"type":2485,"value":2943}," [\n",{"type":2469,"tag":2757,"props":2945,"children":2946},{"class":2759,"line":2440},[2947,2952,2956,2961],{"type":2469,"tag":2757,"props":2948,"children":2949},{"style":2921},[2950],{"type":2485,"value":2951},"    '",{"type":2469,"tag":2757,"props":2953,"children":2954},{"style":2769},[2955],{"type":2485,"value":2415},{"type":2469,"tag":2757,"props":2957,"children":2958},{"style":2921},[2959],{"type":2485,"value":2960},"'",{"type":2469,"tag":2757,"props":2962,"children":2963},{"style":2921},[2964],{"type":2485,"value":2965},",\n",{"type":2469,"tag":2757,"props":2967,"children":2969},{"class":2759,"line":2968},4,[2970,2975],{"type":2469,"tag":2757,"props":2971,"children":2972},{"style":2915},[2973],{"type":2485,"value":2974},"  ]",{"type":2469,"tag":2757,"props":2976,"children":2977},{"style":2921},[2978],{"type":2485,"value":2965},{"type":2469,"tag":2757,"props":2980,"children":2982},{"class":2759,"line":2981},5,[2983,2988],{"type":2469,"tag":2757,"props":2984,"children":2985},{"style":2921},[2986],{"type":2485,"value":2987},"}",{"type":2469,"tag":2757,"props":2989,"children":2990},{"style":2915},[2991],{"type":2485,"value":2992},")\n",{"type":2469,"tag":2470,"props":2994,"children":2995},{},[2996,2998,3003],{"type":2485,"value":2997},"Add your Shopify configuration to the ",{"type":2469,"tag":2753,"props":2999,"children":3001},{"className":3000},[],[3002],{"type":2485,"value":244},{"type":2485,"value":2799},{"type":2469,"tag":2746,"props":3005,"children":3007},{"className":2886,"code":3006,"language":2888,"meta":2464,"style":2464},"export default defineNuxtConfig({\n  shopify: {\n    name: \"my-shopify-store\",\n\n    clients: {\n      storefront: {\n        apiVersion: \"2026-01\",\n        publicAccessToken: \"YOUR_ACCESS_TOKEN\",\n      },\n\n      admin: {\n        apiVersion: \"2026-01\",\n        clientId: \"YOUR_APP_CLIENT_ID\",\n        clientSecret: \"YOUR_APP_CLIENT_SECRET\",\n      },\n\n      customerAccount: {\n        apiVersion: \"2026-01\",\n        clientId: \"YOUR_CLIENT_ID\",\n      },\n    },\n  },\n})\n",[3008],{"type":2469,"tag":2753,"props":3009,"children":3010},{"__ignoreMap":2464},[3011,3034,3051,3082,3091,3107,3124,3154,3184,3193,3201,3218,3245,3275,3305,3313,3321,3338,3366,3395,3403,3412,3421],{"type":2469,"tag":2757,"props":3012,"children":3013},{"class":2759,"line":2444},[3014,3018,3022,3026,3030],{"type":2469,"tag":2757,"props":3015,"children":3016},{"style":2898},[3017],{"type":2485,"value":2901},{"type":2469,"tag":2757,"props":3019,"children":3020},{"style":2898},[3021],{"type":2485,"value":2906},{"type":2469,"tag":2757,"props":3023,"children":3024},{"style":2909},[3025],{"type":2485,"value":2912},{"type":2469,"tag":2757,"props":3027,"children":3028},{"style":2915},[3029],{"type":2485,"value":2918},{"type":2469,"tag":2757,"props":3031,"children":3032},{"style":2921},[3033],{"type":2485,"value":2924},{"type":2469,"tag":2757,"props":3035,"children":3036},{"class":2759,"line":2927},[3037,3042,3046],{"type":2469,"tag":2757,"props":3038,"children":3039},{"style":2931},[3040],{"type":2485,"value":3041},"  shopify",{"type":2469,"tag":2757,"props":3043,"children":3044},{"style":2921},[3045],{"type":2485,"value":2799},{"type":2469,"tag":2757,"props":3047,"children":3048},{"style":2921},[3049],{"type":2485,"value":3050}," {\n",{"type":2469,"tag":2757,"props":3052,"children":3053},{"class":2759,"line":2440},[3054,3059,3063,3068,3073,3078],{"type":2469,"tag":2757,"props":3055,"children":3056},{"style":2931},[3057],{"type":2485,"value":3058},"    name",{"type":2469,"tag":2757,"props":3060,"children":3061},{"style":2921},[3062],{"type":2485,"value":2799},{"type":2469,"tag":2757,"props":3064,"children":3065},{"style":2921},[3066],{"type":2485,"value":3067}," \"",{"type":2469,"tag":2757,"props":3069,"children":3070},{"style":2769},[3071],{"type":2485,"value":3072},"my-shopify-store",{"type":2469,"tag":2757,"props":3074,"children":3075},{"style":2921},[3076],{"type":2485,"value":3077},"\"",{"type":2469,"tag":2757,"props":3079,"children":3080},{"style":2921},[3081],{"type":2485,"value":2965},{"type":2469,"tag":2757,"props":3083,"children":3084},{"class":2759,"line":2968},[3085],{"type":2469,"tag":2757,"props":3086,"children":3088},{"emptyLinePlaceholder":3087},true,[3089],{"type":2485,"value":3090},"\n",{"type":2469,"tag":2757,"props":3092,"children":3093},{"class":2759,"line":2981},[3094,3099,3103],{"type":2469,"tag":2757,"props":3095,"children":3096},{"style":2931},[3097],{"type":2485,"value":3098},"    clients",{"type":2469,"tag":2757,"props":3100,"children":3101},{"style":2921},[3102],{"type":2485,"value":2799},{"type":2469,"tag":2757,"props":3104,"children":3105},{"style":2921},[3106],{"type":2485,"value":3050},{"type":2469,"tag":2757,"props":3108,"children":3110},{"class":2759,"line":3109},6,[3111,3116,3120],{"type":2469,"tag":2757,"props":3112,"children":3113},{"style":2931},[3114],{"type":2485,"value":3115},"      storefront",{"type":2469,"tag":2757,"props":3117,"children":3118},{"style":2921},[3119],{"type":2485,"value":2799},{"type":2469,"tag":2757,"props":3121,"children":3122},{"style":2921},[3123],{"type":2485,"value":3050},{"type":2469,"tag":2757,"props":3125,"children":3127},{"class":2759,"line":3126},7,[3128,3133,3137,3141,3146,3150],{"type":2469,"tag":2757,"props":3129,"children":3130},{"style":2931},[3131],{"type":2485,"value":3132},"        apiVersion",{"type":2469,"tag":2757,"props":3134,"children":3135},{"style":2921},[3136],{"type":2485,"value":2799},{"type":2469,"tag":2757,"props":3138,"children":3139},{"style":2921},[3140],{"type":2485,"value":3067},{"type":2469,"tag":2757,"props":3142,"children":3143},{"style":2769},[3144],{"type":2485,"value":3145},"2026-01",{"type":2469,"tag":2757,"props":3147,"children":3148},{"style":2921},[3149],{"type":2485,"value":3077},{"type":2469,"tag":2757,"props":3151,"children":3152},{"style":2921},[3153],{"type":2485,"value":2965},{"type":2469,"tag":2757,"props":3155,"children":3157},{"class":2759,"line":3156},8,[3158,3163,3167,3171,3176,3180],{"type":2469,"tag":2757,"props":3159,"children":3160},{"style":2931},[3161],{"type":2485,"value":3162},"        publicAccessToken",{"type":2469,"tag":2757,"props":3164,"children":3165},{"style":2921},[3166],{"type":2485,"value":2799},{"type":2469,"tag":2757,"props":3168,"children":3169},{"style":2921},[3170],{"type":2485,"value":3067},{"type":2469,"tag":2757,"props":3172,"children":3173},{"style":2769},[3174],{"type":2485,"value":3175},"YOUR_ACCESS_TOKEN",{"type":2469,"tag":2757,"props":3177,"children":3178},{"style":2921},[3179],{"type":2485,"value":3077},{"type":2469,"tag":2757,"props":3181,"children":3182},{"style":2921},[3183],{"type":2485,"value":2965},{"type":2469,"tag":2757,"props":3185,"children":3187},{"class":2759,"line":3186},9,[3188],{"type":2469,"tag":2757,"props":3189,"children":3190},{"style":2921},[3191],{"type":2485,"value":3192},"      },\n",{"type":2469,"tag":2757,"props":3194,"children":3196},{"class":2759,"line":3195},10,[3197],{"type":2469,"tag":2757,"props":3198,"children":3199},{"emptyLinePlaceholder":3087},[3200],{"type":2485,"value":3090},{"type":2469,"tag":2757,"props":3202,"children":3204},{"class":2759,"line":3203},11,[3205,3210,3214],{"type":2469,"tag":2757,"props":3206,"children":3207},{"style":2931},[3208],{"type":2485,"value":3209},"      admin",{"type":2469,"tag":2757,"props":3211,"children":3212},{"style":2921},[3213],{"type":2485,"value":2799},{"type":2469,"tag":2757,"props":3215,"children":3216},{"style":2921},[3217],{"type":2485,"value":3050},{"type":2469,"tag":2757,"props":3219,"children":3220},{"class":2759,"line":2458},[3221,3225,3229,3233,3237,3241],{"type":2469,"tag":2757,"props":3222,"children":3223},{"style":2931},[3224],{"type":2485,"value":3132},{"type":2469,"tag":2757,"props":3226,"children":3227},{"style":2921},[3228],{"type":2485,"value":2799},{"type":2469,"tag":2757,"props":3230,"children":3231},{"style":2921},[3232],{"type":2485,"value":3067},{"type":2469,"tag":2757,"props":3234,"children":3235},{"style":2769},[3236],{"type":2485,"value":3145},{"type":2469,"tag":2757,"props":3238,"children":3239},{"style":2921},[3240],{"type":2485,"value":3077},{"type":2469,"tag":2757,"props":3242,"children":3243},{"style":2921},[3244],{"type":2485,"value":2965},{"type":2469,"tag":2757,"props":3246,"children":3248},{"class":2759,"line":3247},13,[3249,3254,3258,3262,3267,3271],{"type":2469,"tag":2757,"props":3250,"children":3251},{"style":2931},[3252],{"type":2485,"value":3253},"        clientId",{"type":2469,"tag":2757,"props":3255,"children":3256},{"style":2921},[3257],{"type":2485,"value":2799},{"type":2469,"tag":2757,"props":3259,"children":3260},{"style":2921},[3261],{"type":2485,"value":3067},{"type":2469,"tag":2757,"props":3263,"children":3264},{"style":2769},[3265],{"type":2485,"value":3266},"YOUR_APP_CLIENT_ID",{"type":2469,"tag":2757,"props":3268,"children":3269},{"style":2921},[3270],{"type":2485,"value":3077},{"type":2469,"tag":2757,"props":3272,"children":3273},{"style":2921},[3274],{"type":2485,"value":2965},{"type":2469,"tag":2757,"props":3276,"children":3278},{"class":2759,"line":3277},14,[3279,3284,3288,3292,3297,3301],{"type":2469,"tag":2757,"props":3280,"children":3281},{"style":2931},[3282],{"type":2485,"value":3283},"        clientSecret",{"type":2469,"tag":2757,"props":3285,"children":3286},{"style":2921},[3287],{"type":2485,"value":2799},{"type":2469,"tag":2757,"props":3289,"children":3290},{"style":2921},[3291],{"type":2485,"value":3067},{"type":2469,"tag":2757,"props":3293,"children":3294},{"style":2769},[3295],{"type":2485,"value":3296},"YOUR_APP_CLIENT_SECRET",{"type":2469,"tag":2757,"props":3298,"children":3299},{"style":2921},[3300],{"type":2485,"value":3077},{"type":2469,"tag":2757,"props":3302,"children":3303},{"style":2921},[3304],{"type":2485,"value":2965},{"type":2469,"tag":2757,"props":3306,"children":3308},{"class":2759,"line":3307},15,[3309],{"type":2469,"tag":2757,"props":3310,"children":3311},{"style":2921},[3312],{"type":2485,"value":3192},{"type":2469,"tag":2757,"props":3314,"children":3316},{"class":2759,"line":3315},16,[3317],{"type":2469,"tag":2757,"props":3318,"children":3319},{"emptyLinePlaceholder":3087},[3320],{"type":2485,"value":3090},{"type":2469,"tag":2757,"props":3322,"children":3324},{"class":2759,"line":3323},17,[3325,3330,3334],{"type":2469,"tag":2757,"props":3326,"children":3327},{"style":2931},[3328],{"type":2485,"value":3329},"      customerAccount",{"type":2469,"tag":2757,"props":3331,"children":3332},{"style":2921},[3333],{"type":2485,"value":2799},{"type":2469,"tag":2757,"props":3335,"children":3336},{"style":2921},[3337],{"type":2485,"value":3050},{"type":2469,"tag":2757,"props":3339,"children":3341},{"class":2759,"line":3340},18,[3342,3346,3350,3354,3358,3362],{"type":2469,"tag":2757,"props":3343,"children":3344},{"style":2931},[3345],{"type":2485,"value":3132},{"type":2469,"tag":2757,"props":3347,"children":3348},{"style":2921},[3349],{"type":2485,"value":2799},{"type":2469,"tag":2757,"props":3351,"children":3352},{"style":2921},[3353],{"type":2485,"value":3067},{"type":2469,"tag":2757,"props":3355,"children":3356},{"style":2769},[3357],{"type":2485,"value":3145},{"type":2469,"tag":2757,"props":3359,"children":3360},{"style":2921},[3361],{"type":2485,"value":3077},{"type":2469,"tag":2757,"props":3363,"children":3364},{"style":2921},[3365],{"type":2485,"value":2965},{"type":2469,"tag":2757,"props":3367,"children":3369},{"class":2759,"line":3368},19,[3370,3374,3378,3382,3387,3391],{"type":2469,"tag":2757,"props":3371,"children":3372},{"style":2931},[3373],{"type":2485,"value":3253},{"type":2469,"tag":2757,"props":3375,"children":3376},{"style":2921},[3377],{"type":2485,"value":2799},{"type":2469,"tag":2757,"props":3379,"children":3380},{"style":2921},[3381],{"type":2485,"value":3067},{"type":2469,"tag":2757,"props":3383,"children":3384},{"style":2769},[3385],{"type":2485,"value":3386},"YOUR_CLIENT_ID",{"type":2469,"tag":2757,"props":3388,"children":3389},{"style":2921},[3390],{"type":2485,"value":3077},{"type":2469,"tag":2757,"props":3392,"children":3393},{"style":2921},[3394],{"type":2485,"value":2965},{"type":2469,"tag":2757,"props":3396,"children":3398},{"class":2759,"line":3397},20,[3399],{"type":2469,"tag":2757,"props":3400,"children":3401},{"style":2921},[3402],{"type":2485,"value":3192},{"type":2469,"tag":2757,"props":3404,"children":3406},{"class":2759,"line":3405},21,[3407],{"type":2469,"tag":2757,"props":3408,"children":3409},{"style":2921},[3410],{"type":2485,"value":3411},"    },\n",{"type":2469,"tag":2757,"props":3413,"children":3415},{"class":2759,"line":3414},22,[3416],{"type":2469,"tag":2757,"props":3417,"children":3418},{"style":2921},[3419],{"type":2485,"value":3420},"  },\n",{"type":2469,"tag":2757,"props":3422,"children":3424},{"class":2759,"line":3423},23,[3425,3429],{"type":2469,"tag":2757,"props":3426,"children":3427},{"style":2921},[3428],{"type":2485,"value":2987},{"type":2469,"tag":2757,"props":3430,"children":3431},{"style":2915},[3432],{"type":2485,"value":2992},{"type":2469,"tag":2724,"props":3434,"children":3435},{},[3436],{"type":2469,"tag":2470,"props":3437,"children":3438},{},[3439,3441,3448],{"type":2485,"value":3440},"To find the configuration values for your store, check out the ",{"type":2469,"tag":2491,"props":3442,"children":3445},{"href":3443,"rel":3444},"https:\u002F\u002Fshopify.nuxtjs.org\u002Fessentials\u002Fsetup-shopify",[2495],[3446],{"type":2485,"value":3447},"setup guide",{"type":2485,"value":3449},".",{"type":2469,"tag":2624,"props":3451,"children":3453},{"id":3452},"usage",[3454],{"type":2485,"value":3455},"Usage",{"type":2469,"tag":3457,"props":3458,"children":3460},"h3",{"id":3459},"access-storefront-api-on-the-client-side",[3461],{"type":2485,"value":3462},"Access Storefront API on the client side",{"type":2469,"tag":2470,"props":3464,"children":3465},{},[3466,3468,3474],{"type":2485,"value":3467},"There are multiple ways of communicating with the Shopify APIs.\nThe easiest way is with the ",{"type":2469,"tag":2753,"props":3469,"children":3471},{"className":3470},[],[3472],{"type":2485,"value":3473},"useStorefront",{"type":2485,"value":3475}," composable, directly inside of your vue component or page.",{"type":2469,"tag":2724,"props":3477,"children":3478},{},[3479],{"type":2469,"tag":2470,"props":3480,"children":3481},{},[3482,3484,3489,3491],{"type":2485,"value":3483},"To access the ",{"type":2469,"tag":2753,"props":3485,"children":3487},{"className":3486},[],[3488],{"type":2485,"value":3473},{"type":2485,"value":3490}," composable on the client side, make sure you have added a public access token. You can add it in the module config: ",{"type":2469,"tag":2753,"props":3492,"children":3494},{"className":3493},[],[3495],{"type":2485,"value":3496},"clients > storefront > publicAccessToken",{"type":2469,"tag":2746,"props":3498,"children":3502},{"className":3499,"code":3500,"language":3501,"meta":2464,"style":2464},"language-html shiki shiki-themes material-theme-lighter material-theme-lighter material-theme-palenight","\u003C!-- ~\u002Fpages\u002Fyour-page.vue -->\n\n\u003Cscript setup lang=\"ts\">\nconst storefront = useStorefront()\n\nconst { data } = await storefront.request(`#graphql\n  query FetchProducts($first: Int) {\n    products(first: $first) {\n      nodes {\n        id\n        title\n        description\n      }\n    }\n  }\n`, {\n  variables: {\n    first: 3,\n  },\n})\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Cpre>{{ data?.products }}\u003C\u002Fpre>\n\u003C\u002Ftemplate>\n","html",[3503],{"type":2469,"tag":2753,"props":3504,"children":3505},{"__ignoreMap":2464},[3506,3515,3522,3568,3595,3602,3661,3669,3677,3685,3693,3701,3709,3717,3725,3733,3749,3765,3787,3794,3805,3821,3828,3844,3879],{"type":2469,"tag":2757,"props":3507,"children":3508},{"class":2759,"line":2444},[3509],{"type":2469,"tag":2757,"props":3510,"children":3512},{"style":3511},"--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#90A4AE;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic",[3513],{"type":2485,"value":3514},"\u003C!-- ~\u002Fpages\u002Fyour-page.vue -->\n",{"type":2469,"tag":2757,"props":3516,"children":3517},{"class":2759,"line":2927},[3518],{"type":2469,"tag":2757,"props":3519,"children":3520},{"emptyLinePlaceholder":3087},[3521],{"type":2485,"value":3090},{"type":2469,"tag":2757,"props":3523,"children":3524},{"class":2759,"line":2440},[3525,3530,3535,3541,3546,3551,3555,3559,3563],{"type":2469,"tag":2757,"props":3526,"children":3527},{"style":2921},[3528],{"type":2485,"value":3529},"\u003C",{"type":2469,"tag":2757,"props":3531,"children":3532},{"style":2931},[3533],{"type":2485,"value":3534},"script",{"type":2469,"tag":2757,"props":3536,"children":3538},{"style":3537},"--shiki-light:#9C3EDA;--shiki-default:#9C3EDA;--shiki-dark:#C792EA",[3539],{"type":2485,"value":3540}," setup",{"type":2469,"tag":2757,"props":3542,"children":3543},{"style":3537},[3544],{"type":2485,"value":3545}," lang",{"type":2469,"tag":2757,"props":3547,"children":3548},{"style":2921},[3549],{"type":2485,"value":3550},"=",{"type":2469,"tag":2757,"props":3552,"children":3553},{"style":2921},[3554],{"type":2485,"value":3077},{"type":2469,"tag":2757,"props":3556,"children":3557},{"style":2769},[3558],{"type":2485,"value":2888},{"type":2469,"tag":2757,"props":3560,"children":3561},{"style":2921},[3562],{"type":2485,"value":3077},{"type":2469,"tag":2757,"props":3564,"children":3565},{"style":2921},[3566],{"type":2485,"value":3567},">\n",{"type":2469,"tag":2757,"props":3569,"children":3570},{"class":2759,"line":2968},[3571,3576,3581,3585,3590],{"type":2469,"tag":2757,"props":3572,"children":3573},{"style":3537},[3574],{"type":2485,"value":3575},"const",{"type":2469,"tag":2757,"props":3577,"children":3578},{"style":2915},[3579],{"type":2485,"value":3580}," storefront ",{"type":2469,"tag":2757,"props":3582,"children":3583},{"style":2921},[3584],{"type":2485,"value":3550},{"type":2469,"tag":2757,"props":3586,"children":3587},{"style":2909},[3588],{"type":2485,"value":3589}," useStorefront",{"type":2469,"tag":2757,"props":3591,"children":3592},{"style":2915},[3593],{"type":2485,"value":3594},"()\n",{"type":2469,"tag":2757,"props":3596,"children":3597},{"class":2759,"line":2981},[3598],{"type":2469,"tag":2757,"props":3599,"children":3600},{"emptyLinePlaceholder":3087},[3601],{"type":2485,"value":3090},{"type":2469,"tag":2757,"props":3603,"children":3604},{"class":2759,"line":3109},[3605,3609,3614,3619,3623,3628,3633,3638,3642,3647,3651,3656],{"type":2469,"tag":2757,"props":3606,"children":3607},{"style":3537},[3608],{"type":2485,"value":3575},{"type":2469,"tag":2757,"props":3610,"children":3611},{"style":2921},[3612],{"type":2485,"value":3613}," {",{"type":2469,"tag":2757,"props":3615,"children":3616},{"style":2915},[3617],{"type":2485,"value":3618}," data ",{"type":2469,"tag":2757,"props":3620,"children":3621},{"style":2921},[3622],{"type":2485,"value":2987},{"type":2469,"tag":2757,"props":3624,"children":3625},{"style":2921},[3626],{"type":2485,"value":3627}," =",{"type":2469,"tag":2757,"props":3629,"children":3630},{"style":2898},[3631],{"type":2485,"value":3632}," await",{"type":2469,"tag":2757,"props":3634,"children":3635},{"style":2915},[3636],{"type":2485,"value":3637}," storefront",{"type":2469,"tag":2757,"props":3639,"children":3640},{"style":2921},[3641],{"type":2485,"value":3449},{"type":2469,"tag":2757,"props":3643,"children":3644},{"style":2909},[3645],{"type":2485,"value":3646},"request",{"type":2469,"tag":2757,"props":3648,"children":3649},{"style":2915},[3650],{"type":2485,"value":2918},{"type":2469,"tag":2757,"props":3652,"children":3653},{"style":2921},[3654],{"type":2485,"value":3655},"`",{"type":2469,"tag":2757,"props":3657,"children":3658},{"style":2769},[3659],{"type":2485,"value":3660},"#graphql\n",{"type":2469,"tag":2757,"props":3662,"children":3663},{"class":2759,"line":3126},[3664],{"type":2469,"tag":2757,"props":3665,"children":3666},{"style":2769},[3667],{"type":2485,"value":3668},"  query FetchProducts($first: Int) {\n",{"type":2469,"tag":2757,"props":3670,"children":3671},{"class":2759,"line":3156},[3672],{"type":2469,"tag":2757,"props":3673,"children":3674},{"style":2769},[3675],{"type":2485,"value":3676},"    products(first: $first) {\n",{"type":2469,"tag":2757,"props":3678,"children":3679},{"class":2759,"line":3186},[3680],{"type":2469,"tag":2757,"props":3681,"children":3682},{"style":2769},[3683],{"type":2485,"value":3684},"      nodes {\n",{"type":2469,"tag":2757,"props":3686,"children":3687},{"class":2759,"line":3195},[3688],{"type":2469,"tag":2757,"props":3689,"children":3690},{"style":2769},[3691],{"type":2485,"value":3692},"        id\n",{"type":2469,"tag":2757,"props":3694,"children":3695},{"class":2759,"line":3203},[3696],{"type":2469,"tag":2757,"props":3697,"children":3698},{"style":2769},[3699],{"type":2485,"value":3700},"        title\n",{"type":2469,"tag":2757,"props":3702,"children":3703},{"class":2759,"line":2458},[3704],{"type":2469,"tag":2757,"props":3705,"children":3706},{"style":2769},[3707],{"type":2485,"value":3708},"        description\n",{"type":2469,"tag":2757,"props":3710,"children":3711},{"class":2759,"line":3247},[3712],{"type":2469,"tag":2757,"props":3713,"children":3714},{"style":2769},[3715],{"type":2485,"value":3716},"      }\n",{"type":2469,"tag":2757,"props":3718,"children":3719},{"class":2759,"line":3277},[3720],{"type":2469,"tag":2757,"props":3721,"children":3722},{"style":2769},[3723],{"type":2485,"value":3724},"    }\n",{"type":2469,"tag":2757,"props":3726,"children":3727},{"class":2759,"line":3307},[3728],{"type":2469,"tag":2757,"props":3729,"children":3730},{"style":2769},[3731],{"type":2485,"value":3732},"  }\n",{"type":2469,"tag":2757,"props":3734,"children":3735},{"class":2759,"line":3315},[3736,3740,3745],{"type":2469,"tag":2757,"props":3737,"children":3738},{"style":2921},[3739],{"type":2485,"value":3655},{"type":2469,"tag":2757,"props":3741,"children":3742},{"style":2921},[3743],{"type":2485,"value":3744},",",{"type":2469,"tag":2757,"props":3746,"children":3747},{"style":2921},[3748],{"type":2485,"value":3050},{"type":2469,"tag":2757,"props":3750,"children":3751},{"class":2759,"line":3323},[3752,3757,3761],{"type":2469,"tag":2757,"props":3753,"children":3754},{"style":2931},[3755],{"type":2485,"value":3756},"  variables",{"type":2469,"tag":2757,"props":3758,"children":3759},{"style":2921},[3760],{"type":2485,"value":2799},{"type":2469,"tag":2757,"props":3762,"children":3763},{"style":2921},[3764],{"type":2485,"value":3050},{"type":2469,"tag":2757,"props":3766,"children":3767},{"class":2759,"line":3340},[3768,3773,3777,3783],{"type":2469,"tag":2757,"props":3769,"children":3770},{"style":2931},[3771],{"type":2485,"value":3772},"    first",{"type":2469,"tag":2757,"props":3774,"children":3775},{"style":2921},[3776],{"type":2485,"value":2799},{"type":2469,"tag":2757,"props":3778,"children":3780},{"style":3779},"--shiki-light:#F76D47;--shiki-default:#F76D47;--shiki-dark:#F78C6C",[3781],{"type":2485,"value":3782}," 3",{"type":2469,"tag":2757,"props":3784,"children":3785},{"style":2921},[3786],{"type":2485,"value":2965},{"type":2469,"tag":2757,"props":3788,"children":3789},{"class":2759,"line":3368},[3790],{"type":2469,"tag":2757,"props":3791,"children":3792},{"style":2921},[3793],{"type":2485,"value":3420},{"type":2469,"tag":2757,"props":3795,"children":3796},{"class":2759,"line":3397},[3797,3801],{"type":2469,"tag":2757,"props":3798,"children":3799},{"style":2921},[3800],{"type":2485,"value":2987},{"type":2469,"tag":2757,"props":3802,"children":3803},{"style":2915},[3804],{"type":2485,"value":2992},{"type":2469,"tag":2757,"props":3806,"children":3807},{"class":2759,"line":3405},[3808,3813,3817],{"type":2469,"tag":2757,"props":3809,"children":3810},{"style":2921},[3811],{"type":2485,"value":3812},"\u003C\u002F",{"type":2469,"tag":2757,"props":3814,"children":3815},{"style":2931},[3816],{"type":2485,"value":3534},{"type":2469,"tag":2757,"props":3818,"children":3819},{"style":2921},[3820],{"type":2485,"value":3567},{"type":2469,"tag":2757,"props":3822,"children":3823},{"class":2759,"line":3414},[3824],{"type":2469,"tag":2757,"props":3825,"children":3826},{"emptyLinePlaceholder":3087},[3827],{"type":2485,"value":3090},{"type":2469,"tag":2757,"props":3829,"children":3830},{"class":2759,"line":3423},[3831,3835,3840],{"type":2469,"tag":2757,"props":3832,"children":3833},{"style":2921},[3834],{"type":2485,"value":3529},{"type":2469,"tag":2757,"props":3836,"children":3837},{"style":2931},[3838],{"type":2485,"value":3839},"template",{"type":2469,"tag":2757,"props":3841,"children":3842},{"style":2921},[3843],{"type":2485,"value":3567},{"type":2469,"tag":2757,"props":3845,"children":3847},{"class":2759,"line":3846},24,[3848,3853,3857,3862,3867,3871,3875],{"type":2469,"tag":2757,"props":3849,"children":3850},{"style":2921},[3851],{"type":2485,"value":3852},"  \u003C",{"type":2469,"tag":2757,"props":3854,"children":3855},{"style":2931},[3856],{"type":2485,"value":2746},{"type":2469,"tag":2757,"props":3858,"children":3859},{"style":2921},[3860],{"type":2485,"value":3861},">",{"type":2469,"tag":2757,"props":3863,"children":3864},{"style":2915},[3865],{"type":2485,"value":3866},"{{ data?.products }}",{"type":2469,"tag":2757,"props":3868,"children":3869},{"style":2921},[3870],{"type":2485,"value":3812},{"type":2469,"tag":2757,"props":3872,"children":3873},{"style":2931},[3874],{"type":2485,"value":2746},{"type":2469,"tag":2757,"props":3876,"children":3877},{"style":2921},[3878],{"type":2485,"value":3567},{"type":2469,"tag":2757,"props":3880,"children":3882},{"class":2759,"line":3881},25,[3883,3887,3891],{"type":2469,"tag":2757,"props":3884,"children":3885},{"style":2921},[3886],{"type":2485,"value":3812},{"type":2469,"tag":2757,"props":3888,"children":3889},{"style":2931},[3890],{"type":2485,"value":3839},{"type":2469,"tag":2757,"props":3892,"children":3893},{"style":2921},[3894],{"type":2485,"value":3567},{"type":2469,"tag":2470,"props":3896,"children":3897},{},[3898,3900,3906],{"type":2485,"value":3899},"This will fetch the first three products from your Shopify store and display them in a ",{"type":2469,"tag":2753,"props":3901,"children":3903},{"className":3902},[],[3904],{"type":2485,"value":3905},"\u003Cpre>",{"type":2485,"value":3907}," tag.",{"type":2469,"tag":2470,"props":3909,"children":3910},{},[3911,3913,3919,3921,3927],{"type":2485,"value":3912},"The ",{"type":2469,"tag":2753,"props":3914,"children":3916},{"className":3915},[],[3917],{"type":2485,"value":3918},"data",{"type":2485,"value":3920}," variable will be typed as ",{"type":2469,"tag":2753,"props":3922,"children":3924},{"className":3923},[],[3925],{"type":2485,"value":3926},"FetchProductsQuery",{"type":2485,"value":3928},", which is auto-generated by the module to enable autocompletion and full type checking.",{"type":2469,"tag":2470,"props":3930,"children":3931},{},[3932,3934,3939],{"type":2485,"value":3933},"You can use this generated ",{"type":2469,"tag":2753,"props":3935,"children":3937},{"className":3936},[],[3938],{"type":2485,"value":3926},{"type":2485,"value":3940}," type anywhere in your code to ensure type safety when working with the query response within components.",{"type":2469,"tag":3457,"props":3942,"children":3944},{"id":3943},"use-the-storefront-api-with-useasyncdata",[3945],{"type":2485,"value":3946},"Use the Storefront API with useAsyncData",{"type":2469,"tag":2470,"props":3948,"children":3949},{},[3950,3952,3958],{"type":2485,"value":3951},"You can also use the ",{"type":2469,"tag":2753,"props":3953,"children":3955},{"className":3954},[],[3956],{"type":2485,"value":3957},"useStorefrontData",{"type":2485,"value":3959}," composable to fetch data from the Storefront API while leveraging Nuxt's built-in async data fetching under the hood.",{"type":2469,"tag":2746,"props":3961,"children":3963},{"className":3499,"code":3962,"language":3501,"meta":2464,"style":2464},"\u003C!-- ~\u002Fpages\u002Fyour-page.vue -->\n\n\u003Cscript setup lang=\"ts\">\nconst { data: products, error } = await useStorefrontData(\"products\", `#graphql\n  query FetchProducts($first: Int) {\n    products(first: $first) {\n      nodes {\n        id\n        title\n        description\n      }\n    }\n  }\n`, {\n  variables: {\n    first: 3,\n  },\n \n  \u002F\u002F Use features from useAsyncData, e.g. transform, pick, etc.\n  transform: (data) => flattenConnection(data.products),\n})\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Cpre>{{ products }}\u003C\u002Fpre>\n\u003C\u002Ftemplate>\n",[3964],{"type":2469,"tag":2753,"props":3965,"children":3966},{"__ignoreMap":2464},[3967,3974,3981,4020,4101,4108,4115,4122,4129,4136,4143,4150,4157,4164,4179,4194,4213,4220,4228,4236,4291,4302,4317,4324,4339,4371],{"type":2469,"tag":2757,"props":3968,"children":3969},{"class":2759,"line":2444},[3970],{"type":2469,"tag":2757,"props":3971,"children":3972},{"style":3511},[3973],{"type":2485,"value":3514},{"type":2469,"tag":2757,"props":3975,"children":3976},{"class":2759,"line":2927},[3977],{"type":2469,"tag":2757,"props":3978,"children":3979},{"emptyLinePlaceholder":3087},[3980],{"type":2485,"value":3090},{"type":2469,"tag":2757,"props":3982,"children":3983},{"class":2759,"line":2440},[3984,3988,3992,3996,4000,4004,4008,4012,4016],{"type":2469,"tag":2757,"props":3985,"children":3986},{"style":2921},[3987],{"type":2485,"value":3529},{"type":2469,"tag":2757,"props":3989,"children":3990},{"style":2931},[3991],{"type":2485,"value":3534},{"type":2469,"tag":2757,"props":3993,"children":3994},{"style":3537},[3995],{"type":2485,"value":3540},{"type":2469,"tag":2757,"props":3997,"children":3998},{"style":3537},[3999],{"type":2485,"value":3545},{"type":2469,"tag":2757,"props":4001,"children":4002},{"style":2921},[4003],{"type":2485,"value":3550},{"type":2469,"tag":2757,"props":4005,"children":4006},{"style":2921},[4007],{"type":2485,"value":3077},{"type":2469,"tag":2757,"props":4009,"children":4010},{"style":2769},[4011],{"type":2485,"value":2888},{"type":2469,"tag":2757,"props":4013,"children":4014},{"style":2921},[4015],{"type":2485,"value":3077},{"type":2469,"tag":2757,"props":4017,"children":4018},{"style":2921},[4019],{"type":2485,"value":3567},{"type":2469,"tag":2757,"props":4021,"children":4022},{"class":2759,"line":2968},[4023,4027,4031,4036,4040,4045,4049,4054,4058,4062,4066,4071,4075,4079,4084,4088,4092,4097],{"type":2469,"tag":2757,"props":4024,"children":4025},{"style":3537},[4026],{"type":2485,"value":3575},{"type":2469,"tag":2757,"props":4028,"children":4029},{"style":2921},[4030],{"type":2485,"value":3613},{"type":2469,"tag":2757,"props":4032,"children":4033},{"style":2931},[4034],{"type":2485,"value":4035}," data",{"type":2469,"tag":2757,"props":4037,"children":4038},{"style":2921},[4039],{"type":2485,"value":2799},{"type":2469,"tag":2757,"props":4041,"children":4042},{"style":2915},[4043],{"type":2485,"value":4044}," products",{"type":2469,"tag":2757,"props":4046,"children":4047},{"style":2921},[4048],{"type":2485,"value":3744},{"type":2469,"tag":2757,"props":4050,"children":4051},{"style":2915},[4052],{"type":2485,"value":4053}," error ",{"type":2469,"tag":2757,"props":4055,"children":4056},{"style":2921},[4057],{"type":2485,"value":2987},{"type":2469,"tag":2757,"props":4059,"children":4060},{"style":2921},[4061],{"type":2485,"value":3627},{"type":2469,"tag":2757,"props":4063,"children":4064},{"style":2898},[4065],{"type":2485,"value":3632},{"type":2469,"tag":2757,"props":4067,"children":4068},{"style":2909},[4069],{"type":2485,"value":4070}," useStorefrontData",{"type":2469,"tag":2757,"props":4072,"children":4073},{"style":2915},[4074],{"type":2485,"value":2918},{"type":2469,"tag":2757,"props":4076,"children":4077},{"style":2921},[4078],{"type":2485,"value":3077},{"type":2469,"tag":2757,"props":4080,"children":4081},{"style":2769},[4082],{"type":2485,"value":4083},"products",{"type":2469,"tag":2757,"props":4085,"children":4086},{"style":2921},[4087],{"type":2485,"value":3077},{"type":2469,"tag":2757,"props":4089,"children":4090},{"style":2921},[4091],{"type":2485,"value":3744},{"type":2469,"tag":2757,"props":4093,"children":4094},{"style":2921},[4095],{"type":2485,"value":4096}," `",{"type":2469,"tag":2757,"props":4098,"children":4099},{"style":2769},[4100],{"type":2485,"value":3660},{"type":2469,"tag":2757,"props":4102,"children":4103},{"class":2759,"line":2981},[4104],{"type":2469,"tag":2757,"props":4105,"children":4106},{"style":2769},[4107],{"type":2485,"value":3668},{"type":2469,"tag":2757,"props":4109,"children":4110},{"class":2759,"line":3109},[4111],{"type":2469,"tag":2757,"props":4112,"children":4113},{"style":2769},[4114],{"type":2485,"value":3676},{"type":2469,"tag":2757,"props":4116,"children":4117},{"class":2759,"line":3126},[4118],{"type":2469,"tag":2757,"props":4119,"children":4120},{"style":2769},[4121],{"type":2485,"value":3684},{"type":2469,"tag":2757,"props":4123,"children":4124},{"class":2759,"line":3156},[4125],{"type":2469,"tag":2757,"props":4126,"children":4127},{"style":2769},[4128],{"type":2485,"value":3692},{"type":2469,"tag":2757,"props":4130,"children":4131},{"class":2759,"line":3186},[4132],{"type":2469,"tag":2757,"props":4133,"children":4134},{"style":2769},[4135],{"type":2485,"value":3700},{"type":2469,"tag":2757,"props":4137,"children":4138},{"class":2759,"line":3195},[4139],{"type":2469,"tag":2757,"props":4140,"children":4141},{"style":2769},[4142],{"type":2485,"value":3708},{"type":2469,"tag":2757,"props":4144,"children":4145},{"class":2759,"line":3203},[4146],{"type":2469,"tag":2757,"props":4147,"children":4148},{"style":2769},[4149],{"type":2485,"value":3716},{"type":2469,"tag":2757,"props":4151,"children":4152},{"class":2759,"line":2458},[4153],{"type":2469,"tag":2757,"props":4154,"children":4155},{"style":2769},[4156],{"type":2485,"value":3724},{"type":2469,"tag":2757,"props":4158,"children":4159},{"class":2759,"line":3247},[4160],{"type":2469,"tag":2757,"props":4161,"children":4162},{"style":2769},[4163],{"type":2485,"value":3732},{"type":2469,"tag":2757,"props":4165,"children":4166},{"class":2759,"line":3277},[4167,4171,4175],{"type":2469,"tag":2757,"props":4168,"children":4169},{"style":2921},[4170],{"type":2485,"value":3655},{"type":2469,"tag":2757,"props":4172,"children":4173},{"style":2921},[4174],{"type":2485,"value":3744},{"type":2469,"tag":2757,"props":4176,"children":4177},{"style":2921},[4178],{"type":2485,"value":3050},{"type":2469,"tag":2757,"props":4180,"children":4181},{"class":2759,"line":3307},[4182,4186,4190],{"type":2469,"tag":2757,"props":4183,"children":4184},{"style":2931},[4185],{"type":2485,"value":3756},{"type":2469,"tag":2757,"props":4187,"children":4188},{"style":2921},[4189],{"type":2485,"value":2799},{"type":2469,"tag":2757,"props":4191,"children":4192},{"style":2921},[4193],{"type":2485,"value":3050},{"type":2469,"tag":2757,"props":4195,"children":4196},{"class":2759,"line":3315},[4197,4201,4205,4209],{"type":2469,"tag":2757,"props":4198,"children":4199},{"style":2931},[4200],{"type":2485,"value":3772},{"type":2469,"tag":2757,"props":4202,"children":4203},{"style":2921},[4204],{"type":2485,"value":2799},{"type":2469,"tag":2757,"props":4206,"children":4207},{"style":3779},[4208],{"type":2485,"value":3782},{"type":2469,"tag":2757,"props":4210,"children":4211},{"style":2921},[4212],{"type":2485,"value":2965},{"type":2469,"tag":2757,"props":4214,"children":4215},{"class":2759,"line":3323},[4216],{"type":2469,"tag":2757,"props":4217,"children":4218},{"style":2921},[4219],{"type":2485,"value":3420},{"type":2469,"tag":2757,"props":4221,"children":4222},{"class":2759,"line":3340},[4223],{"type":2469,"tag":2757,"props":4224,"children":4225},{"style":2915},[4226],{"type":2485,"value":4227}," \n",{"type":2469,"tag":2757,"props":4229,"children":4230},{"class":2759,"line":3368},[4231],{"type":2469,"tag":2757,"props":4232,"children":4233},{"style":3511},[4234],{"type":2485,"value":4235},"  \u002F\u002F Use features from useAsyncData, e.g. transform, pick, etc.\n",{"type":2469,"tag":2757,"props":4237,"children":4238},{"class":2759,"line":3397},[4239,4244,4248,4253,4258,4263,4268,4273,4278,4282,4287],{"type":2469,"tag":2757,"props":4240,"children":4241},{"style":2909},[4242],{"type":2485,"value":4243},"  transform",{"type":2469,"tag":2757,"props":4245,"children":4246},{"style":2921},[4247],{"type":2485,"value":2799},{"type":2469,"tag":2757,"props":4249,"children":4250},{"style":2921},[4251],{"type":2485,"value":4252}," (",{"type":2469,"tag":2757,"props":4254,"children":4256},{"style":4255},"--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#90A4AE;--shiki-default-font-style:italic;--shiki-dark:#BABED8;--shiki-dark-font-style:italic",[4257],{"type":2485,"value":3918},{"type":2469,"tag":2757,"props":4259,"children":4260},{"style":2921},[4261],{"type":2485,"value":4262},")",{"type":2469,"tag":2757,"props":4264,"children":4265},{"style":3537},[4266],{"type":2485,"value":4267}," =>",{"type":2469,"tag":2757,"props":4269,"children":4270},{"style":2909},[4271],{"type":2485,"value":4272}," flattenConnection",{"type":2469,"tag":2757,"props":4274,"children":4275},{"style":2915},[4276],{"type":2485,"value":4277},"(data",{"type":2469,"tag":2757,"props":4279,"children":4280},{"style":2921},[4281],{"type":2485,"value":3449},{"type":2469,"tag":2757,"props":4283,"children":4284},{"style":2915},[4285],{"type":2485,"value":4286},"products)",{"type":2469,"tag":2757,"props":4288,"children":4289},{"style":2921},[4290],{"type":2485,"value":2965},{"type":2469,"tag":2757,"props":4292,"children":4293},{"class":2759,"line":3405},[4294,4298],{"type":2469,"tag":2757,"props":4295,"children":4296},{"style":2921},[4297],{"type":2485,"value":2987},{"type":2469,"tag":2757,"props":4299,"children":4300},{"style":2915},[4301],{"type":2485,"value":2992},{"type":2469,"tag":2757,"props":4303,"children":4304},{"class":2759,"line":3414},[4305,4309,4313],{"type":2469,"tag":2757,"props":4306,"children":4307},{"style":2921},[4308],{"type":2485,"value":3812},{"type":2469,"tag":2757,"props":4310,"children":4311},{"style":2931},[4312],{"type":2485,"value":3534},{"type":2469,"tag":2757,"props":4314,"children":4315},{"style":2921},[4316],{"type":2485,"value":3567},{"type":2469,"tag":2757,"props":4318,"children":4319},{"class":2759,"line":3423},[4320],{"type":2469,"tag":2757,"props":4321,"children":4322},{"emptyLinePlaceholder":3087},[4323],{"type":2485,"value":3090},{"type":2469,"tag":2757,"props":4325,"children":4326},{"class":2759,"line":3846},[4327,4331,4335],{"type":2469,"tag":2757,"props":4328,"children":4329},{"style":2921},[4330],{"type":2485,"value":3529},{"type":2469,"tag":2757,"props":4332,"children":4333},{"style":2931},[4334],{"type":2485,"value":3839},{"type":2469,"tag":2757,"props":4336,"children":4337},{"style":2921},[4338],{"type":2485,"value":3567},{"type":2469,"tag":2757,"props":4340,"children":4341},{"class":2759,"line":3881},[4342,4346,4350,4354,4359,4363,4367],{"type":2469,"tag":2757,"props":4343,"children":4344},{"style":2921},[4345],{"type":2485,"value":3852},{"type":2469,"tag":2757,"props":4347,"children":4348},{"style":2931},[4349],{"type":2485,"value":2746},{"type":2469,"tag":2757,"props":4351,"children":4352},{"style":2921},[4353],{"type":2485,"value":3861},{"type":2469,"tag":2757,"props":4355,"children":4356},{"style":2915},[4357],{"type":2485,"value":4358},"{{ products }}",{"type":2469,"tag":2757,"props":4360,"children":4361},{"style":2921},[4362],{"type":2485,"value":3812},{"type":2469,"tag":2757,"props":4364,"children":4365},{"style":2931},[4366],{"type":2485,"value":2746},{"type":2469,"tag":2757,"props":4368,"children":4369},{"style":2921},[4370],{"type":2485,"value":3567},{"type":2469,"tag":2757,"props":4372,"children":4374},{"class":2759,"line":4373},26,[4375,4379,4383],{"type":2469,"tag":2757,"props":4376,"children":4377},{"style":2921},[4378],{"type":2485,"value":3812},{"type":2469,"tag":2757,"props":4380,"children":4381},{"style":2931},[4382],{"type":2485,"value":3839},{"type":2469,"tag":2757,"props":4384,"children":4385},{"style":2921},[4386],{"type":2485,"value":3567},{"type":2469,"tag":2470,"props":4388,"children":4389},{},[4390,4392,4397,4399,4404,4406,4411,4413,4419,4421,4426,4428,4434],{"type":2485,"value":4391},"Note that ",{"type":2469,"tag":2753,"props":4393,"children":4395},{"className":4394},[],[4396],{"type":2485,"value":3957},{"type":2485,"value":4398}," automatically extracts the ",{"type":2469,"tag":2753,"props":4400,"children":4402},{"className":4401},[],[4403],{"type":2485,"value":3918},{"type":2485,"value":4405}," property from the response in order to be able to reliably\nstringify.\nBecause only ",{"type":2469,"tag":2753,"props":4407,"children":4409},{"className":4408},[],[4410],{"type":2485,"value":3918},{"type":2485,"value":4412}," is kept, GraphQL errors are surfaced through the ",{"type":2469,"tag":2753,"props":4414,"children":4416},{"className":4415},[],[4417],{"type":2485,"value":4418},"error",{"type":2485,"value":4420}," ref returned by ",{"type":2469,"tag":2753,"props":4422,"children":4424},{"className":4423},[],[4425],{"type":2485,"value":3957},{"type":2485,"value":4427},", not inside the response. Use the ",{"type":2469,"tag":2753,"props":4429,"children":4431},{"className":4430},[],[4432],{"type":2485,"value":4433},"storefront:client:errors",{"type":2485,"value":4435}," hook if you need the raw error array.",{"type":2469,"tag":3457,"props":4437,"children":4439},{"id":4438},"access-customer-account-api-on-the-client-side",[4440],{"type":2485,"value":4441},"Access Customer Account API on the client side",{"type":2469,"tag":2470,"props":4443,"children":4444},{},[4445,4447,4454],{"type":2485,"value":4446},"First check out the ",{"type":2469,"tag":2491,"props":4448,"children":4451},{"href":4449,"rel":4450},"https:\u002F\u002Fshopify.nuxtjs.org\u002Fessentials\u002Fcustomer-account",[2495],[4452],{"type":2485,"value":4453},"Customer Account API documentation",{"type":2485,"value":4455}," to set up dependencies and add credentials.",{"type":2469,"tag":2470,"props":4457,"children":4458},{},[4459,4461,4467],{"type":2485,"value":4460},"Then you can access the Customer Account API on the client side with the ",{"type":2469,"tag":2753,"props":4462,"children":4464},{"className":4463},[],[4465],{"type":2485,"value":4466},"useCustomerAccount",{"type":2485,"value":4468}," composable:",{"type":2469,"tag":2746,"props":4470,"children":4472},{"className":3499,"code":4471,"language":3501,"meta":2464,"style":2464},"\u003C!-- ~\u002Fpages\u002Fyour-page.vue -->\n\n\u003Cscript setup lang=\"ts\">\nconst customerAccount = useCustomerAccount()\n\nconst { data } = await customerAccount.request(`#graphql\n  query FetchCustomer {\n    customer {\n      firstName\n      lastName\n    }\n  }\n`)\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Cpre>{{ data?.customer }}\u003C\u002Fpre>\n\u003C\u002Ftemplate>\n",[4473],{"type":2469,"tag":2753,"props":4474,"children":4475},{"__ignoreMap":2464},[4476,4483,4490,4529,4554,4561,4613,4621,4629,4637,4645,4652,4659,4670,4685,4692,4707,4739],{"type":2469,"tag":2757,"props":4477,"children":4478},{"class":2759,"line":2444},[4479],{"type":2469,"tag":2757,"props":4480,"children":4481},{"style":3511},[4482],{"type":2485,"value":3514},{"type":2469,"tag":2757,"props":4484,"children":4485},{"class":2759,"line":2927},[4486],{"type":2469,"tag":2757,"props":4487,"children":4488},{"emptyLinePlaceholder":3087},[4489],{"type":2485,"value":3090},{"type":2469,"tag":2757,"props":4491,"children":4492},{"class":2759,"line":2440},[4493,4497,4501,4505,4509,4513,4517,4521,4525],{"type":2469,"tag":2757,"props":4494,"children":4495},{"style":2921},[4496],{"type":2485,"value":3529},{"type":2469,"tag":2757,"props":4498,"children":4499},{"style":2931},[4500],{"type":2485,"value":3534},{"type":2469,"tag":2757,"props":4502,"children":4503},{"style":3537},[4504],{"type":2485,"value":3540},{"type":2469,"tag":2757,"props":4506,"children":4507},{"style":3537},[4508],{"type":2485,"value":3545},{"type":2469,"tag":2757,"props":4510,"children":4511},{"style":2921},[4512],{"type":2485,"value":3550},{"type":2469,"tag":2757,"props":4514,"children":4515},{"style":2921},[4516],{"type":2485,"value":3077},{"type":2469,"tag":2757,"props":4518,"children":4519},{"style":2769},[4520],{"type":2485,"value":2888},{"type":2469,"tag":2757,"props":4522,"children":4523},{"style":2921},[4524],{"type":2485,"value":3077},{"type":2469,"tag":2757,"props":4526,"children":4527},{"style":2921},[4528],{"type":2485,"value":3567},{"type":2469,"tag":2757,"props":4530,"children":4531},{"class":2759,"line":2968},[4532,4536,4541,4545,4550],{"type":2469,"tag":2757,"props":4533,"children":4534},{"style":3537},[4535],{"type":2485,"value":3575},{"type":2469,"tag":2757,"props":4537,"children":4538},{"style":2915},[4539],{"type":2485,"value":4540}," customerAccount ",{"type":2469,"tag":2757,"props":4542,"children":4543},{"style":2921},[4544],{"type":2485,"value":3550},{"type":2469,"tag":2757,"props":4546,"children":4547},{"style":2909},[4548],{"type":2485,"value":4549}," useCustomerAccount",{"type":2469,"tag":2757,"props":4551,"children":4552},{"style":2915},[4553],{"type":2485,"value":3594},{"type":2469,"tag":2757,"props":4555,"children":4556},{"class":2759,"line":2981},[4557],{"type":2469,"tag":2757,"props":4558,"children":4559},{"emptyLinePlaceholder":3087},[4560],{"type":2485,"value":3090},{"type":2469,"tag":2757,"props":4562,"children":4563},{"class":2759,"line":3109},[4564,4568,4572,4576,4580,4584,4588,4593,4597,4601,4605,4609],{"type":2469,"tag":2757,"props":4565,"children":4566},{"style":3537},[4567],{"type":2485,"value":3575},{"type":2469,"tag":2757,"props":4569,"children":4570},{"style":2921},[4571],{"type":2485,"value":3613},{"type":2469,"tag":2757,"props":4573,"children":4574},{"style":2915},[4575],{"type":2485,"value":3618},{"type":2469,"tag":2757,"props":4577,"children":4578},{"style":2921},[4579],{"type":2485,"value":2987},{"type":2469,"tag":2757,"props":4581,"children":4582},{"style":2921},[4583],{"type":2485,"value":3627},{"type":2469,"tag":2757,"props":4585,"children":4586},{"style":2898},[4587],{"type":2485,"value":3632},{"type":2469,"tag":2757,"props":4589,"children":4590},{"style":2915},[4591],{"type":2485,"value":4592}," customerAccount",{"type":2469,"tag":2757,"props":4594,"children":4595},{"style":2921},[4596],{"type":2485,"value":3449},{"type":2469,"tag":2757,"props":4598,"children":4599},{"style":2909},[4600],{"type":2485,"value":3646},{"type":2469,"tag":2757,"props":4602,"children":4603},{"style":2915},[4604],{"type":2485,"value":2918},{"type":2469,"tag":2757,"props":4606,"children":4607},{"style":2921},[4608],{"type":2485,"value":3655},{"type":2469,"tag":2757,"props":4610,"children":4611},{"style":2769},[4612],{"type":2485,"value":3660},{"type":2469,"tag":2757,"props":4614,"children":4615},{"class":2759,"line":3126},[4616],{"type":2469,"tag":2757,"props":4617,"children":4618},{"style":2769},[4619],{"type":2485,"value":4620},"  query FetchCustomer {\n",{"type":2469,"tag":2757,"props":4622,"children":4623},{"class":2759,"line":3156},[4624],{"type":2469,"tag":2757,"props":4625,"children":4626},{"style":2769},[4627],{"type":2485,"value":4628},"    customer {\n",{"type":2469,"tag":2757,"props":4630,"children":4631},{"class":2759,"line":3186},[4632],{"type":2469,"tag":2757,"props":4633,"children":4634},{"style":2769},[4635],{"type":2485,"value":4636},"      firstName\n",{"type":2469,"tag":2757,"props":4638,"children":4639},{"class":2759,"line":3195},[4640],{"type":2469,"tag":2757,"props":4641,"children":4642},{"style":2769},[4643],{"type":2485,"value":4644},"      lastName\n",{"type":2469,"tag":2757,"props":4646,"children":4647},{"class":2759,"line":3203},[4648],{"type":2469,"tag":2757,"props":4649,"children":4650},{"style":2769},[4651],{"type":2485,"value":3724},{"type":2469,"tag":2757,"props":4653,"children":4654},{"class":2759,"line":2458},[4655],{"type":2469,"tag":2757,"props":4656,"children":4657},{"style":2769},[4658],{"type":2485,"value":3732},{"type":2469,"tag":2757,"props":4660,"children":4661},{"class":2759,"line":3247},[4662,4666],{"type":2469,"tag":2757,"props":4663,"children":4664},{"style":2921},[4665],{"type":2485,"value":3655},{"type":2469,"tag":2757,"props":4667,"children":4668},{"style":2915},[4669],{"type":2485,"value":2992},{"type":2469,"tag":2757,"props":4671,"children":4672},{"class":2759,"line":3277},[4673,4677,4681],{"type":2469,"tag":2757,"props":4674,"children":4675},{"style":2921},[4676],{"type":2485,"value":3812},{"type":2469,"tag":2757,"props":4678,"children":4679},{"style":2931},[4680],{"type":2485,"value":3534},{"type":2469,"tag":2757,"props":4682,"children":4683},{"style":2921},[4684],{"type":2485,"value":3567},{"type":2469,"tag":2757,"props":4686,"children":4687},{"class":2759,"line":3307},[4688],{"type":2469,"tag":2757,"props":4689,"children":4690},{"emptyLinePlaceholder":3087},[4691],{"type":2485,"value":3090},{"type":2469,"tag":2757,"props":4693,"children":4694},{"class":2759,"line":3315},[4695,4699,4703],{"type":2469,"tag":2757,"props":4696,"children":4697},{"style":2921},[4698],{"type":2485,"value":3529},{"type":2469,"tag":2757,"props":4700,"children":4701},{"style":2931},[4702],{"type":2485,"value":3839},{"type":2469,"tag":2757,"props":4704,"children":4705},{"style":2921},[4706],{"type":2485,"value":3567},{"type":2469,"tag":2757,"props":4708,"children":4709},{"class":2759,"line":3323},[4710,4714,4718,4722,4727,4731,4735],{"type":2469,"tag":2757,"props":4711,"children":4712},{"style":2921},[4713],{"type":2485,"value":3852},{"type":2469,"tag":2757,"props":4715,"children":4716},{"style":2931},[4717],{"type":2485,"value":2746},{"type":2469,"tag":2757,"props":4719,"children":4720},{"style":2921},[4721],{"type":2485,"value":3861},{"type":2469,"tag":2757,"props":4723,"children":4724},{"style":2915},[4725],{"type":2485,"value":4726},"{{ data?.customer }}",{"type":2469,"tag":2757,"props":4728,"children":4729},{"style":2921},[4730],{"type":2485,"value":3812},{"type":2469,"tag":2757,"props":4732,"children":4733},{"style":2931},[4734],{"type":2485,"value":2746},{"type":2469,"tag":2757,"props":4736,"children":4737},{"style":2921},[4738],{"type":2485,"value":3567},{"type":2469,"tag":2757,"props":4740,"children":4741},{"class":2759,"line":3340},[4742,4746,4750],{"type":2469,"tag":2757,"props":4743,"children":4744},{"style":2921},[4745],{"type":2485,"value":3812},{"type":2469,"tag":2757,"props":4747,"children":4748},{"style":2931},[4749],{"type":2485,"value":3839},{"type":2469,"tag":2757,"props":4751,"children":4752},{"style":2921},[4753],{"type":2485,"value":3567},{"type":2469,"tag":3457,"props":4755,"children":4757},{"id":4756},"access-apis-via-nitro-endpoints",[4758],{"type":2485,"value":4759},"Access APIs via Nitro endpoints",{"type":2469,"tag":2470,"props":4761,"children":4762},{},[4763],{"type":2485,"value":4764},"The module exposes utilities to access each API via Nitro endpoints.",{"type":2469,"tag":4766,"props":4767,"children":4769},"h4",{"id":4768},"storefront-api-example",[4770],{"type":2485,"value":4771},"Storefront API example",{"type":2469,"tag":2470,"props":4773,"children":4774},{},[4775,4777,4782],{"type":2485,"value":4776},"You can use the ",{"type":2469,"tag":2753,"props":4778,"children":4780},{"className":4779},[],[4781],{"type":2485,"value":3473},{"type":2485,"value":4783}," utility to access the storefront API:",{"type":2469,"tag":2746,"props":4785,"children":4787},{"className":2886,"code":4786,"language":2888,"meta":2464,"style":2464},"\u002F\u002F ~\u002Fserver\u002Fapi\u002Fproducts.ts\n\nexport default defineEventHandler(async () => {\n  const storefront = useStorefront()\n\n  return await storefront.request(`#graphql\n    query FetchProducts($first: Int) {\n      products(first: $first) {\n        nodes {\n          id\n          title\n          description\n        }\n      }\n    }\n  `, {\n    variables: {\n      first: 3,\n    },\n  })\n})\n",[4788],{"type":2469,"tag":2753,"props":4789,"children":4790},{"__ignoreMap":2464},[4791,4799,4806,4844,4868,4875,4911,4919,4927,4935,4943,4951,4959,4967,4974,4981,4997,5013,5033,5040,5052],{"type":2469,"tag":2757,"props":4792,"children":4793},{"class":2759,"line":2444},[4794],{"type":2469,"tag":2757,"props":4795,"children":4796},{"style":3511},[4797],{"type":2485,"value":4798},"\u002F\u002F ~\u002Fserver\u002Fapi\u002Fproducts.ts\n",{"type":2469,"tag":2757,"props":4800,"children":4801},{"class":2759,"line":2927},[4802],{"type":2469,"tag":2757,"props":4803,"children":4804},{"emptyLinePlaceholder":3087},[4805],{"type":2485,"value":3090},{"type":2469,"tag":2757,"props":4807,"children":4808},{"class":2759,"line":2440},[4809,4813,4817,4822,4826,4831,4836,4840],{"type":2469,"tag":2757,"props":4810,"children":4811},{"style":2898},[4812],{"type":2485,"value":2901},{"type":2469,"tag":2757,"props":4814,"children":4815},{"style":2898},[4816],{"type":2485,"value":2906},{"type":2469,"tag":2757,"props":4818,"children":4819},{"style":2909},[4820],{"type":2485,"value":4821}," defineEventHandler",{"type":2469,"tag":2757,"props":4823,"children":4824},{"style":2915},[4825],{"type":2485,"value":2918},{"type":2469,"tag":2757,"props":4827,"children":4828},{"style":3537},[4829],{"type":2485,"value":4830},"async",{"type":2469,"tag":2757,"props":4832,"children":4833},{"style":2921},[4834],{"type":2485,"value":4835}," ()",{"type":2469,"tag":2757,"props":4837,"children":4838},{"style":3537},[4839],{"type":2485,"value":4267},{"type":2469,"tag":2757,"props":4841,"children":4842},{"style":2921},[4843],{"type":2485,"value":3050},{"type":2469,"tag":2757,"props":4845,"children":4846},{"class":2759,"line":2968},[4847,4852,4856,4860,4864],{"type":2469,"tag":2757,"props":4848,"children":4849},{"style":3537},[4850],{"type":2485,"value":4851},"  const",{"type":2469,"tag":2757,"props":4853,"children":4854},{"style":2915},[4855],{"type":2485,"value":3637},{"type":2469,"tag":2757,"props":4857,"children":4858},{"style":2921},[4859],{"type":2485,"value":3627},{"type":2469,"tag":2757,"props":4861,"children":4862},{"style":2909},[4863],{"type":2485,"value":3589},{"type":2469,"tag":2757,"props":4865,"children":4866},{"style":2931},[4867],{"type":2485,"value":3594},{"type":2469,"tag":2757,"props":4869,"children":4870},{"class":2759,"line":2981},[4871],{"type":2469,"tag":2757,"props":4872,"children":4873},{"emptyLinePlaceholder":3087},[4874],{"type":2485,"value":3090},{"type":2469,"tag":2757,"props":4876,"children":4877},{"class":2759,"line":3109},[4878,4883,4887,4891,4895,4899,4903,4907],{"type":2469,"tag":2757,"props":4879,"children":4880},{"style":2898},[4881],{"type":2485,"value":4882},"  return",{"type":2469,"tag":2757,"props":4884,"children":4885},{"style":2898},[4886],{"type":2485,"value":3632},{"type":2469,"tag":2757,"props":4888,"children":4889},{"style":2915},[4890],{"type":2485,"value":3637},{"type":2469,"tag":2757,"props":4892,"children":4893},{"style":2921},[4894],{"type":2485,"value":3449},{"type":2469,"tag":2757,"props":4896,"children":4897},{"style":2909},[4898],{"type":2485,"value":3646},{"type":2469,"tag":2757,"props":4900,"children":4901},{"style":2931},[4902],{"type":2485,"value":2918},{"type":2469,"tag":2757,"props":4904,"children":4905},{"style":2921},[4906],{"type":2485,"value":3655},{"type":2469,"tag":2757,"props":4908,"children":4909},{"style":2769},[4910],{"type":2485,"value":3660},{"type":2469,"tag":2757,"props":4912,"children":4913},{"class":2759,"line":3126},[4914],{"type":2469,"tag":2757,"props":4915,"children":4916},{"style":2769},[4917],{"type":2485,"value":4918},"    query FetchProducts($first: Int) {\n",{"type":2469,"tag":2757,"props":4920,"children":4921},{"class":2759,"line":3156},[4922],{"type":2469,"tag":2757,"props":4923,"children":4924},{"style":2769},[4925],{"type":2485,"value":4926},"      products(first: $first) {\n",{"type":2469,"tag":2757,"props":4928,"children":4929},{"class":2759,"line":3186},[4930],{"type":2469,"tag":2757,"props":4931,"children":4932},{"style":2769},[4933],{"type":2485,"value":4934},"        nodes {\n",{"type":2469,"tag":2757,"props":4936,"children":4937},{"class":2759,"line":3195},[4938],{"type":2469,"tag":2757,"props":4939,"children":4940},{"style":2769},[4941],{"type":2485,"value":4942},"          id\n",{"type":2469,"tag":2757,"props":4944,"children":4945},{"class":2759,"line":3203},[4946],{"type":2469,"tag":2757,"props":4947,"children":4948},{"style":2769},[4949],{"type":2485,"value":4950},"          title\n",{"type":2469,"tag":2757,"props":4952,"children":4953},{"class":2759,"line":2458},[4954],{"type":2469,"tag":2757,"props":4955,"children":4956},{"style":2769},[4957],{"type":2485,"value":4958},"          description\n",{"type":2469,"tag":2757,"props":4960,"children":4961},{"class":2759,"line":3247},[4962],{"type":2469,"tag":2757,"props":4963,"children":4964},{"style":2769},[4965],{"type":2485,"value":4966},"        }\n",{"type":2469,"tag":2757,"props":4968,"children":4969},{"class":2759,"line":3277},[4970],{"type":2469,"tag":2757,"props":4971,"children":4972},{"style":2769},[4973],{"type":2485,"value":3716},{"type":2469,"tag":2757,"props":4975,"children":4976},{"class":2759,"line":3307},[4977],{"type":2469,"tag":2757,"props":4978,"children":4979},{"style":2769},[4980],{"type":2485,"value":3724},{"type":2469,"tag":2757,"props":4982,"children":4983},{"class":2759,"line":3315},[4984,4989,4993],{"type":2469,"tag":2757,"props":4985,"children":4986},{"style":2921},[4987],{"type":2485,"value":4988},"  `",{"type":2469,"tag":2757,"props":4990,"children":4991},{"style":2921},[4992],{"type":2485,"value":3744},{"type":2469,"tag":2757,"props":4994,"children":4995},{"style":2921},[4996],{"type":2485,"value":3050},{"type":2469,"tag":2757,"props":4998,"children":4999},{"class":2759,"line":3323},[5000,5005,5009],{"type":2469,"tag":2757,"props":5001,"children":5002},{"style":2931},[5003],{"type":2485,"value":5004},"    variables",{"type":2469,"tag":2757,"props":5006,"children":5007},{"style":2921},[5008],{"type":2485,"value":2799},{"type":2469,"tag":2757,"props":5010,"children":5011},{"style":2921},[5012],{"type":2485,"value":3050},{"type":2469,"tag":2757,"props":5014,"children":5015},{"class":2759,"line":3340},[5016,5021,5025,5029],{"type":2469,"tag":2757,"props":5017,"children":5018},{"style":2931},[5019],{"type":2485,"value":5020},"      first",{"type":2469,"tag":2757,"props":5022,"children":5023},{"style":2921},[5024],{"type":2485,"value":2799},{"type":2469,"tag":2757,"props":5026,"children":5027},{"style":3779},[5028],{"type":2485,"value":3782},{"type":2469,"tag":2757,"props":5030,"children":5031},{"style":2921},[5032],{"type":2485,"value":2965},{"type":2469,"tag":2757,"props":5034,"children":5035},{"class":2759,"line":3368},[5036],{"type":2469,"tag":2757,"props":5037,"children":5038},{"style":2921},[5039],{"type":2485,"value":3411},{"type":2469,"tag":2757,"props":5041,"children":5042},{"class":2759,"line":3397},[5043,5048],{"type":2469,"tag":2757,"props":5044,"children":5045},{"style":2921},[5046],{"type":2485,"value":5047},"  }",{"type":2469,"tag":2757,"props":5049,"children":5050},{"style":2931},[5051],{"type":2485,"value":2992},{"type":2469,"tag":2757,"props":5053,"children":5054},{"class":2759,"line":3405},[5055,5059],{"type":2469,"tag":2757,"props":5056,"children":5057},{"style":2921},[5058],{"type":2485,"value":2987},{"type":2469,"tag":2757,"props":5060,"children":5061},{"style":2915},[5062],{"type":2485,"value":2992},{"type":2469,"tag":2470,"props":5064,"children":5065},{},[5066,5068,5074,5076,5082,5083,5089,5090,5096,5097,5103,5104,5110,5112,5118,5120,5126,5127,5133,5134,5140,5142,5149],{"type":2485,"value":5067},"Notice how we can use the ",{"type":2469,"tag":2753,"props":5069,"children":5071},{"className":5070},[],[5072],{"type":2485,"value":5073},"graphql",{"type":2485,"value":5075}," directive inside the event handler, this is possible because in\nthe standard module configuration all ",{"type":2469,"tag":2753,"props":5077,"children":5079},{"className":5078},[],[5080],{"type":2485,"value":5081},".gql",{"type":2485,"value":2554},{"type":2469,"tag":2753,"props":5084,"children":5086},{"className":5085},[],[5087],{"type":2485,"value":5088},".graphql",{"type":2485,"value":2554},{"type":2469,"tag":2753,"props":5091,"children":5093},{"className":5092},[],[5094],{"type":2485,"value":5095},".ts",{"type":2485,"value":2554},{"type":2469,"tag":2753,"props":5098,"children":5100},{"className":5099},[],[5101],{"type":2485,"value":5102},".js",{"type":2485,"value":2563},{"type":2469,"tag":2753,"props":5105,"children":5107},{"className":5106},[],[5108],{"type":2485,"value":5109},".vue",{"type":2485,"value":5111}," files are automatically\nprocessed for the storefront API, as long as they don't match the admin patterns (e.g. ",{"type":2469,"tag":2753,"props":5113,"children":5115},{"className":5114},[],[5116],{"type":2485,"value":5117},".admin.ts",{"type":2485,"value":5119},") or the\ncustomer account patterns (e.g. ",{"type":2469,"tag":2753,"props":5121,"children":5123},{"className":5122},[],[5124],{"type":2485,"value":5125},".customer-account.ts",{"type":2485,"value":2554},{"type":2469,"tag":2753,"props":5128,"children":5130},{"className":5129},[],[5131],{"type":2485,"value":5132},".customer.ts",{"type":2485,"value":2554},{"type":2469,"tag":2753,"props":5135,"children":5137},{"className":5136},[],[5138],{"type":2485,"value":5139},".account.ts",{"type":2485,"value":5141},").\nRead more about the ",{"type":2469,"tag":2491,"props":5143,"children":5146},{"href":5144,"rel":5145},"https:\u002F\u002Fshopify.nuxtjs.org\u002Fessentials\u002Fcodegen",[2495],[5147],{"type":2485,"value":5148},"codegen configuration",{"type":2485,"value":3449},{"type":2469,"tag":2470,"props":5151,"children":5152},{},[5153,5155,5161],{"type":2485,"value":5154},"Now we can call the API at ",{"type":2469,"tag":2753,"props":5156,"children":5158},{"className":5157},[],[5159],{"type":2485,"value":5160},"\u002Fapi\u002Fproducts",{"type":2485,"value":5162}," to obtain the first three products:",{"type":2469,"tag":2746,"props":5164,"children":5166},{"className":3499,"code":5165,"language":3501,"meta":2464,"style":2464},"\u003C!-- ~\u002Fpages\u002Fyour-page.vue -->\n\n\u003Cscript setup lang=\"ts\">\nconst { data } = await useFetch(\"\u002Fapi\u002Fproducts\")\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Cpre>{{ data }}\u003C\u002Fpre>\n\u003C\u002Ftemplate>\n",[5167],{"type":2469,"tag":2753,"props":5168,"children":5169},{"__ignoreMap":2464},[5170,5177,5184,5223,5275,5290,5297,5312,5344],{"type":2469,"tag":2757,"props":5171,"children":5172},{"class":2759,"line":2444},[5173],{"type":2469,"tag":2757,"props":5174,"children":5175},{"style":3511},[5176],{"type":2485,"value":3514},{"type":2469,"tag":2757,"props":5178,"children":5179},{"class":2759,"line":2927},[5180],{"type":2469,"tag":2757,"props":5181,"children":5182},{"emptyLinePlaceholder":3087},[5183],{"type":2485,"value":3090},{"type":2469,"tag":2757,"props":5185,"children":5186},{"class":2759,"line":2440},[5187,5191,5195,5199,5203,5207,5211,5215,5219],{"type":2469,"tag":2757,"props":5188,"children":5189},{"style":2921},[5190],{"type":2485,"value":3529},{"type":2469,"tag":2757,"props":5192,"children":5193},{"style":2931},[5194],{"type":2485,"value":3534},{"type":2469,"tag":2757,"props":5196,"children":5197},{"style":3537},[5198],{"type":2485,"value":3540},{"type":2469,"tag":2757,"props":5200,"children":5201},{"style":3537},[5202],{"type":2485,"value":3545},{"type":2469,"tag":2757,"props":5204,"children":5205},{"style":2921},[5206],{"type":2485,"value":3550},{"type":2469,"tag":2757,"props":5208,"children":5209},{"style":2921},[5210],{"type":2485,"value":3077},{"type":2469,"tag":2757,"props":5212,"children":5213},{"style":2769},[5214],{"type":2485,"value":2888},{"type":2469,"tag":2757,"props":5216,"children":5217},{"style":2921},[5218],{"type":2485,"value":3077},{"type":2469,"tag":2757,"props":5220,"children":5221},{"style":2921},[5222],{"type":2485,"value":3567},{"type":2469,"tag":2757,"props":5224,"children":5225},{"class":2759,"line":2968},[5226,5230,5234,5238,5242,5246,5250,5255,5259,5263,5267,5271],{"type":2469,"tag":2757,"props":5227,"children":5228},{"style":3537},[5229],{"type":2485,"value":3575},{"type":2469,"tag":2757,"props":5231,"children":5232},{"style":2921},[5233],{"type":2485,"value":3613},{"type":2469,"tag":2757,"props":5235,"children":5236},{"style":2915},[5237],{"type":2485,"value":3618},{"type":2469,"tag":2757,"props":5239,"children":5240},{"style":2921},[5241],{"type":2485,"value":2987},{"type":2469,"tag":2757,"props":5243,"children":5244},{"style":2921},[5245],{"type":2485,"value":3627},{"type":2469,"tag":2757,"props":5247,"children":5248},{"style":2898},[5249],{"type":2485,"value":3632},{"type":2469,"tag":2757,"props":5251,"children":5252},{"style":2909},[5253],{"type":2485,"value":5254}," useFetch",{"type":2469,"tag":2757,"props":5256,"children":5257},{"style":2915},[5258],{"type":2485,"value":2918},{"type":2469,"tag":2757,"props":5260,"children":5261},{"style":2921},[5262],{"type":2485,"value":3077},{"type":2469,"tag":2757,"props":5264,"children":5265},{"style":2769},[5266],{"type":2485,"value":5160},{"type":2469,"tag":2757,"props":5268,"children":5269},{"style":2921},[5270],{"type":2485,"value":3077},{"type":2469,"tag":2757,"props":5272,"children":5273},{"style":2915},[5274],{"type":2485,"value":2992},{"type":2469,"tag":2757,"props":5276,"children":5277},{"class":2759,"line":2981},[5278,5282,5286],{"type":2469,"tag":2757,"props":5279,"children":5280},{"style":2921},[5281],{"type":2485,"value":3812},{"type":2469,"tag":2757,"props":5283,"children":5284},{"style":2931},[5285],{"type":2485,"value":3534},{"type":2469,"tag":2757,"props":5287,"children":5288},{"style":2921},[5289],{"type":2485,"value":3567},{"type":2469,"tag":2757,"props":5291,"children":5292},{"class":2759,"line":3109},[5293],{"type":2469,"tag":2757,"props":5294,"children":5295},{"emptyLinePlaceholder":3087},[5296],{"type":2485,"value":3090},{"type":2469,"tag":2757,"props":5298,"children":5299},{"class":2759,"line":3126},[5300,5304,5308],{"type":2469,"tag":2757,"props":5301,"children":5302},{"style":2921},[5303],{"type":2485,"value":3529},{"type":2469,"tag":2757,"props":5305,"children":5306},{"style":2931},[5307],{"type":2485,"value":3839},{"type":2469,"tag":2757,"props":5309,"children":5310},{"style":2921},[5311],{"type":2485,"value":3567},{"type":2469,"tag":2757,"props":5313,"children":5314},{"class":2759,"line":3156},[5315,5319,5323,5327,5332,5336,5340],{"type":2469,"tag":2757,"props":5316,"children":5317},{"style":2921},[5318],{"type":2485,"value":3852},{"type":2469,"tag":2757,"props":5320,"children":5321},{"style":2931},[5322],{"type":2485,"value":2746},{"type":2469,"tag":2757,"props":5324,"children":5325},{"style":2921},[5326],{"type":2485,"value":3861},{"type":2469,"tag":2757,"props":5328,"children":5329},{"style":2915},[5330],{"type":2485,"value":5331},"{{ data }}",{"type":2469,"tag":2757,"props":5333,"children":5334},{"style":2921},[5335],{"type":2485,"value":3812},{"type":2469,"tag":2757,"props":5337,"children":5338},{"style":2931},[5339],{"type":2485,"value":2746},{"type":2469,"tag":2757,"props":5341,"children":5342},{"style":2921},[5343],{"type":2485,"value":3567},{"type":2469,"tag":2757,"props":5345,"children":5346},{"class":2759,"line":3186},[5347,5351,5355],{"type":2469,"tag":2757,"props":5348,"children":5349},{"style":2921},[5350],{"type":2485,"value":3812},{"type":2469,"tag":2757,"props":5352,"children":5353},{"style":2931},[5354],{"type":2485,"value":3839},{"type":2469,"tag":2757,"props":5356,"children":5357},{"style":2921},[5358],{"type":2485,"value":3567},{"type":2469,"tag":2470,"props":5360,"children":5361},{},[5362,5363,5368,5369,5375],{"type":2485,"value":3912},{"type":2469,"tag":2753,"props":5364,"children":5366},{"className":5365},[],[5367],{"type":2485,"value":3918},{"type":2485,"value":3920},{"type":2469,"tag":2753,"props":5370,"children":5372},{"className":5371},[],[5373],{"type":2485,"value":5374},"Ref\u003CClientResponse\u003CFetchProductsQuery>>",{"type":2485,"value":5376},", which enables autocompletion and full\ntype checking.",{"type":2469,"tag":4766,"props":5378,"children":5380},{"id":5379},"customer-account-api-example",[5381],{"type":2485,"value":5382},"Customer Account API example",{"type":2469,"tag":2470,"props":5384,"children":5385},{},[5386,5387,5392],{"type":2485,"value":4776},{"type":2469,"tag":2753,"props":5388,"children":5390},{"className":5389},[],[5391],{"type":2485,"value":4466},{"type":2485,"value":5393}," utility to access the customer account API in a nitro event handler:",{"type":2469,"tag":2746,"props":5395,"children":5397},{"className":2886,"code":5396,"language":2888,"meta":2464,"style":2464},"\u002F\u002F ~\u002Fserver\u002Fapi\u002Fcustomer.ts\n\nexport default defineEventHandler(async (event) => {\n  const customerAccount = useCustomerAccount(event)\n\n  return await customerAccount.request(`#graphql\n    query FetchCustomer {\n      customer {\n        firstName\n        lastName\n      }\n    }\n  `)\n})\n",[5398],{"type":2469,"tag":2753,"props":5399,"children":5400},{"__ignoreMap":2464},[5401,5409,5416,5460,5491,5498,5533,5541,5549,5557,5565,5572,5579,5590],{"type":2469,"tag":2757,"props":5402,"children":5403},{"class":2759,"line":2444},[5404],{"type":2469,"tag":2757,"props":5405,"children":5406},{"style":3511},[5407],{"type":2485,"value":5408},"\u002F\u002F ~\u002Fserver\u002Fapi\u002Fcustomer.ts\n",{"type":2469,"tag":2757,"props":5410,"children":5411},{"class":2759,"line":2927},[5412],{"type":2469,"tag":2757,"props":5413,"children":5414},{"emptyLinePlaceholder":3087},[5415],{"type":2485,"value":3090},{"type":2469,"tag":2757,"props":5417,"children":5418},{"class":2759,"line":2440},[5419,5423,5427,5431,5435,5439,5443,5448,5452,5456],{"type":2469,"tag":2757,"props":5420,"children":5421},{"style":2898},[5422],{"type":2485,"value":2901},{"type":2469,"tag":2757,"props":5424,"children":5425},{"style":2898},[5426],{"type":2485,"value":2906},{"type":2469,"tag":2757,"props":5428,"children":5429},{"style":2909},[5430],{"type":2485,"value":4821},{"type":2469,"tag":2757,"props":5432,"children":5433},{"style":2915},[5434],{"type":2485,"value":2918},{"type":2469,"tag":2757,"props":5436,"children":5437},{"style":3537},[5438],{"type":2485,"value":4830},{"type":2469,"tag":2757,"props":5440,"children":5441},{"style":2921},[5442],{"type":2485,"value":4252},{"type":2469,"tag":2757,"props":5444,"children":5445},{"style":4255},[5446],{"type":2485,"value":5447},"event",{"type":2469,"tag":2757,"props":5449,"children":5450},{"style":2921},[5451],{"type":2485,"value":4262},{"type":2469,"tag":2757,"props":5453,"children":5454},{"style":3537},[5455],{"type":2485,"value":4267},{"type":2469,"tag":2757,"props":5457,"children":5458},{"style":2921},[5459],{"type":2485,"value":3050},{"type":2469,"tag":2757,"props":5461,"children":5462},{"class":2759,"line":2968},[5463,5467,5471,5475,5479,5483,5487],{"type":2469,"tag":2757,"props":5464,"children":5465},{"style":3537},[5466],{"type":2485,"value":4851},{"type":2469,"tag":2757,"props":5468,"children":5469},{"style":2915},[5470],{"type":2485,"value":4592},{"type":2469,"tag":2757,"props":5472,"children":5473},{"style":2921},[5474],{"type":2485,"value":3627},{"type":2469,"tag":2757,"props":5476,"children":5477},{"style":2909},[5478],{"type":2485,"value":4549},{"type":2469,"tag":2757,"props":5480,"children":5481},{"style":2931},[5482],{"type":2485,"value":2918},{"type":2469,"tag":2757,"props":5484,"children":5485},{"style":2915},[5486],{"type":2485,"value":5447},{"type":2469,"tag":2757,"props":5488,"children":5489},{"style":2931},[5490],{"type":2485,"value":2992},{"type":2469,"tag":2757,"props":5492,"children":5493},{"class":2759,"line":2981},[5494],{"type":2469,"tag":2757,"props":5495,"children":5496},{"emptyLinePlaceholder":3087},[5497],{"type":2485,"value":3090},{"type":2469,"tag":2757,"props":5499,"children":5500},{"class":2759,"line":3109},[5501,5505,5509,5513,5517,5521,5525,5529],{"type":2469,"tag":2757,"props":5502,"children":5503},{"style":2898},[5504],{"type":2485,"value":4882},{"type":2469,"tag":2757,"props":5506,"children":5507},{"style":2898},[5508],{"type":2485,"value":3632},{"type":2469,"tag":2757,"props":5510,"children":5511},{"style":2915},[5512],{"type":2485,"value":4592},{"type":2469,"tag":2757,"props":5514,"children":5515},{"style":2921},[5516],{"type":2485,"value":3449},{"type":2469,"tag":2757,"props":5518,"children":5519},{"style":2909},[5520],{"type":2485,"value":3646},{"type":2469,"tag":2757,"props":5522,"children":5523},{"style":2931},[5524],{"type":2485,"value":2918},{"type":2469,"tag":2757,"props":5526,"children":5527},{"style":2921},[5528],{"type":2485,"value":3655},{"type":2469,"tag":2757,"props":5530,"children":5531},{"style":2769},[5532],{"type":2485,"value":3660},{"type":2469,"tag":2757,"props":5534,"children":5535},{"class":2759,"line":3126},[5536],{"type":2469,"tag":2757,"props":5537,"children":5538},{"style":2769},[5539],{"type":2485,"value":5540},"    query FetchCustomer {\n",{"type":2469,"tag":2757,"props":5542,"children":5543},{"class":2759,"line":3156},[5544],{"type":2469,"tag":2757,"props":5545,"children":5546},{"style":2769},[5547],{"type":2485,"value":5548},"      customer {\n",{"type":2469,"tag":2757,"props":5550,"children":5551},{"class":2759,"line":3186},[5552],{"type":2469,"tag":2757,"props":5553,"children":5554},{"style":2769},[5555],{"type":2485,"value":5556},"        firstName\n",{"type":2469,"tag":2757,"props":5558,"children":5559},{"class":2759,"line":3195},[5560],{"type":2469,"tag":2757,"props":5561,"children":5562},{"style":2769},[5563],{"type":2485,"value":5564},"        lastName\n",{"type":2469,"tag":2757,"props":5566,"children":5567},{"class":2759,"line":3203},[5568],{"type":2469,"tag":2757,"props":5569,"children":5570},{"style":2769},[5571],{"type":2485,"value":3716},{"type":2469,"tag":2757,"props":5573,"children":5574},{"class":2759,"line":2458},[5575],{"type":2469,"tag":2757,"props":5576,"children":5577},{"style":2769},[5578],{"type":2485,"value":3724},{"type":2469,"tag":2757,"props":5580,"children":5581},{"class":2759,"line":3247},[5582,5586],{"type":2469,"tag":2757,"props":5583,"children":5584},{"style":2921},[5585],{"type":2485,"value":4988},{"type":2469,"tag":2757,"props":5587,"children":5588},{"style":2931},[5589],{"type":2485,"value":2992},{"type":2469,"tag":2757,"props":5591,"children":5592},{"class":2759,"line":3277},[5593,5597],{"type":2469,"tag":2757,"props":5594,"children":5595},{"style":2921},[5596],{"type":2485,"value":2987},{"type":2469,"tag":2757,"props":5598,"children":5599},{"style":2915},[5600],{"type":2485,"value":2992},{"type":2469,"tag":4766,"props":5602,"children":5604},{"id":5603},"admin-api-example",[5605],{"type":2485,"value":5606},"Admin API example",{"type":2469,"tag":2470,"props":5608,"children":5609},{},[5610,5612,5617,5619,5625,5627,5633],{"type":2485,"value":5611},"Files ending with ",{"type":2469,"tag":2753,"props":5613,"children":5615},{"className":5614},[],[5616],{"type":2485,"value":5117},{"type":2485,"value":5618}," or ",{"type":2469,"tag":2753,"props":5620,"children":5622},{"className":5621},[],[5623],{"type":2485,"value":5624},".admin.gql",{"type":2485,"value":5626}," will automatically be processed for the admin API.\nWe can use the ",{"type":2469,"tag":2753,"props":5628,"children":5630},{"className":5629},[],[5631],{"type":2485,"value":5632},"useAdmin",{"type":2485,"value":5634}," utility to access the admin API in a nitro event handler:",{"type":2469,"tag":2746,"props":5636,"children":5638},{"className":2886,"code":5637,"language":2888,"meta":2464,"style":2464},"\u002F\u002F ~\u002Fserver\u002Fapi\u002Fyour-admin-api-handler.ts\n\nexport default defineEventHandler(async () => {\n  const admin = useAdmin()\n\n  return await admin.request(...)\n})\n",[5639],{"type":2469,"tag":2753,"props":5640,"children":5641},{"__ignoreMap":2464},[5642,5650,5657,5692,5717,5724,5760],{"type":2469,"tag":2757,"props":5643,"children":5644},{"class":2759,"line":2444},[5645],{"type":2469,"tag":2757,"props":5646,"children":5647},{"style":3511},[5648],{"type":2485,"value":5649},"\u002F\u002F ~\u002Fserver\u002Fapi\u002Fyour-admin-api-handler.ts\n",{"type":2469,"tag":2757,"props":5651,"children":5652},{"class":2759,"line":2927},[5653],{"type":2469,"tag":2757,"props":5654,"children":5655},{"emptyLinePlaceholder":3087},[5656],{"type":2485,"value":3090},{"type":2469,"tag":2757,"props":5658,"children":5659},{"class":2759,"line":2440},[5660,5664,5668,5672,5676,5680,5684,5688],{"type":2469,"tag":2757,"props":5661,"children":5662},{"style":2898},[5663],{"type":2485,"value":2901},{"type":2469,"tag":2757,"props":5665,"children":5666},{"style":2898},[5667],{"type":2485,"value":2906},{"type":2469,"tag":2757,"props":5669,"children":5670},{"style":2909},[5671],{"type":2485,"value":4821},{"type":2469,"tag":2757,"props":5673,"children":5674},{"style":2915},[5675],{"type":2485,"value":2918},{"type":2469,"tag":2757,"props":5677,"children":5678},{"style":3537},[5679],{"type":2485,"value":4830},{"type":2469,"tag":2757,"props":5681,"children":5682},{"style":2921},[5683],{"type":2485,"value":4835},{"type":2469,"tag":2757,"props":5685,"children":5686},{"style":3537},[5687],{"type":2485,"value":4267},{"type":2469,"tag":2757,"props":5689,"children":5690},{"style":2921},[5691],{"type":2485,"value":3050},{"type":2469,"tag":2757,"props":5693,"children":5694},{"class":2759,"line":2968},[5695,5699,5704,5708,5713],{"type":2469,"tag":2757,"props":5696,"children":5697},{"style":3537},[5698],{"type":2485,"value":4851},{"type":2469,"tag":2757,"props":5700,"children":5701},{"style":2915},[5702],{"type":2485,"value":5703}," admin",{"type":2469,"tag":2757,"props":5705,"children":5706},{"style":2921},[5707],{"type":2485,"value":3627},{"type":2469,"tag":2757,"props":5709,"children":5710},{"style":2909},[5711],{"type":2485,"value":5712}," useAdmin",{"type":2469,"tag":2757,"props":5714,"children":5715},{"style":2931},[5716],{"type":2485,"value":3594},{"type":2469,"tag":2757,"props":5718,"children":5719},{"class":2759,"line":2981},[5720],{"type":2469,"tag":2757,"props":5721,"children":5722},{"emptyLinePlaceholder":3087},[5723],{"type":2485,"value":3090},{"type":2469,"tag":2757,"props":5725,"children":5726},{"class":2759,"line":3109},[5727,5731,5735,5739,5743,5747,5751,5756],{"type":2469,"tag":2757,"props":5728,"children":5729},{"style":2898},[5730],{"type":2485,"value":4882},{"type":2469,"tag":2757,"props":5732,"children":5733},{"style":2898},[5734],{"type":2485,"value":3632},{"type":2469,"tag":2757,"props":5736,"children":5737},{"style":2915},[5738],{"type":2485,"value":5703},{"type":2469,"tag":2757,"props":5740,"children":5741},{"style":2921},[5742],{"type":2485,"value":3449},{"type":2469,"tag":2757,"props":5744,"children":5745},{"style":2909},[5746],{"type":2485,"value":3646},{"type":2469,"tag":2757,"props":5748,"children":5749},{"style":2931},[5750],{"type":2485,"value":2918},{"type":2469,"tag":2757,"props":5752,"children":5753},{"style":2921},[5754],{"type":2485,"value":5755},"...",{"type":2469,"tag":2757,"props":5757,"children":5758},{"style":2931},[5759],{"type":2485,"value":2992},{"type":2469,"tag":2757,"props":5761,"children":5762},{"class":2759,"line":3126},[5763,5767],{"type":2469,"tag":2757,"props":5764,"children":5765},{"style":2921},[5766],{"type":2485,"value":2987},{"type":2469,"tag":2757,"props":5768,"children":5769},{"style":2915},[5770],{"type":2485,"value":2992},{"type":2469,"tag":2470,"props":5772,"children":5773},{},[5774,5776,5783],{"type":2485,"value":5775},"For a full example, see ",{"type":2469,"tag":2491,"props":5777,"children":5780},{"href":5778,"rel":5779},"https:\u002F\u002Fshopify.nuxtjs.org\u002Fessentials\u002Fadmin",[2495],[5781],{"type":2485,"value":5782},"Admin API examples",{"type":2485,"value":3449},{"type":2469,"tag":3457,"props":5785,"children":5787},{"id":5786},"mock-the-storefront-api",[5788],{"type":2485,"value":5789},"Mock the Storefront API",{"type":2469,"tag":2470,"props":5791,"children":5792},{},[5793,5795,5801],{"type":2485,"value":5794},"To mock the Storefront API, you can use the ",{"type":2469,"tag":2753,"props":5796,"children":5798},{"className":5797},[],[5799],{"type":2485,"value":5800},"mock",{"type":2485,"value":5802}," option in the module config:",{"type":2469,"tag":2746,"props":5804,"children":5806},{"className":2886,"code":5805,"language":2888,"meta":2464,"style":2464},"export default defineNuxtConfig({\n  shopify: {\n    name: \"my-mocked-shopify-store\",\n\n    clients: {\n      storefront: {\n        mock: true,\n\n        apiVersion: \"2026-01\",\n      },\n    },\n  },\n})\n",[5807],{"type":2469,"tag":2753,"props":5808,"children":5809},{"__ignoreMap":2464},[5810,5833,5848,5876,5883,5898,5913,5935,5942,5969,5976,5983,5990],{"type":2469,"tag":2757,"props":5811,"children":5812},{"class":2759,"line":2444},[5813,5817,5821,5825,5829],{"type":2469,"tag":2757,"props":5814,"children":5815},{"style":2898},[5816],{"type":2485,"value":2901},{"type":2469,"tag":2757,"props":5818,"children":5819},{"style":2898},[5820],{"type":2485,"value":2906},{"type":2469,"tag":2757,"props":5822,"children":5823},{"style":2909},[5824],{"type":2485,"value":2912},{"type":2469,"tag":2757,"props":5826,"children":5827},{"style":2915},[5828],{"type":2485,"value":2918},{"type":2469,"tag":2757,"props":5830,"children":5831},{"style":2921},[5832],{"type":2485,"value":2924},{"type":2469,"tag":2757,"props":5834,"children":5835},{"class":2759,"line":2927},[5836,5840,5844],{"type":2469,"tag":2757,"props":5837,"children":5838},{"style":2931},[5839],{"type":2485,"value":3041},{"type":2469,"tag":2757,"props":5841,"children":5842},{"style":2921},[5843],{"type":2485,"value":2799},{"type":2469,"tag":2757,"props":5845,"children":5846},{"style":2921},[5847],{"type":2485,"value":3050},{"type":2469,"tag":2757,"props":5849,"children":5850},{"class":2759,"line":2440},[5851,5855,5859,5863,5868,5872],{"type":2469,"tag":2757,"props":5852,"children":5853},{"style":2931},[5854],{"type":2485,"value":3058},{"type":2469,"tag":2757,"props":5856,"children":5857},{"style":2921},[5858],{"type":2485,"value":2799},{"type":2469,"tag":2757,"props":5860,"children":5861},{"style":2921},[5862],{"type":2485,"value":3067},{"type":2469,"tag":2757,"props":5864,"children":5865},{"style":2769},[5866],{"type":2485,"value":5867},"my-mocked-shopify-store",{"type":2469,"tag":2757,"props":5869,"children":5870},{"style":2921},[5871],{"type":2485,"value":3077},{"type":2469,"tag":2757,"props":5873,"children":5874},{"style":2921},[5875],{"type":2485,"value":2965},{"type":2469,"tag":2757,"props":5877,"children":5878},{"class":2759,"line":2968},[5879],{"type":2469,"tag":2757,"props":5880,"children":5881},{"emptyLinePlaceholder":3087},[5882],{"type":2485,"value":3090},{"type":2469,"tag":2757,"props":5884,"children":5885},{"class":2759,"line":2981},[5886,5890,5894],{"type":2469,"tag":2757,"props":5887,"children":5888},{"style":2931},[5889],{"type":2485,"value":3098},{"type":2469,"tag":2757,"props":5891,"children":5892},{"style":2921},[5893],{"type":2485,"value":2799},{"type":2469,"tag":2757,"props":5895,"children":5896},{"style":2921},[5897],{"type":2485,"value":3050},{"type":2469,"tag":2757,"props":5899,"children":5900},{"class":2759,"line":3109},[5901,5905,5909],{"type":2469,"tag":2757,"props":5902,"children":5903},{"style":2931},[5904],{"type":2485,"value":3115},{"type":2469,"tag":2757,"props":5906,"children":5907},{"style":2921},[5908],{"type":2485,"value":2799},{"type":2469,"tag":2757,"props":5910,"children":5911},{"style":2921},[5912],{"type":2485,"value":3050},{"type":2469,"tag":2757,"props":5914,"children":5915},{"class":2759,"line":3126},[5916,5921,5925,5931],{"type":2469,"tag":2757,"props":5917,"children":5918},{"style":2931},[5919],{"type":2485,"value":5920},"        mock",{"type":2469,"tag":2757,"props":5922,"children":5923},{"style":2921},[5924],{"type":2485,"value":2799},{"type":2469,"tag":2757,"props":5926,"children":5928},{"style":5927},"--shiki-light:#FF5370;--shiki-default:#FF5370;--shiki-dark:#FF9CAC",[5929],{"type":2485,"value":5930}," true",{"type":2469,"tag":2757,"props":5932,"children":5933},{"style":2921},[5934],{"type":2485,"value":2965},{"type":2469,"tag":2757,"props":5936,"children":5937},{"class":2759,"line":3156},[5938],{"type":2469,"tag":2757,"props":5939,"children":5940},{"emptyLinePlaceholder":3087},[5941],{"type":2485,"value":3090},{"type":2469,"tag":2757,"props":5943,"children":5944},{"class":2759,"line":3186},[5945,5949,5953,5957,5961,5965],{"type":2469,"tag":2757,"props":5946,"children":5947},{"style":2931},[5948],{"type":2485,"value":3132},{"type":2469,"tag":2757,"props":5950,"children":5951},{"style":2921},[5952],{"type":2485,"value":2799},{"type":2469,"tag":2757,"props":5954,"children":5955},{"style":2921},[5956],{"type":2485,"value":3067},{"type":2469,"tag":2757,"props":5958,"children":5959},{"style":2769},[5960],{"type":2485,"value":3145},{"type":2469,"tag":2757,"props":5962,"children":5963},{"style":2921},[5964],{"type":2485,"value":3077},{"type":2469,"tag":2757,"props":5966,"children":5967},{"style":2921},[5968],{"type":2485,"value":2965},{"type":2469,"tag":2757,"props":5970,"children":5971},{"class":2759,"line":3195},[5972],{"type":2469,"tag":2757,"props":5973,"children":5974},{"style":2921},[5975],{"type":2485,"value":3192},{"type":2469,"tag":2757,"props":5977,"children":5978},{"class":2759,"line":3203},[5979],{"type":2469,"tag":2757,"props":5980,"children":5981},{"style":2921},[5982],{"type":2485,"value":3411},{"type":2469,"tag":2757,"props":5984,"children":5985},{"class":2759,"line":2458},[5986],{"type":2469,"tag":2757,"props":5987,"children":5988},{"style":2921},[5989],{"type":2485,"value":3420},{"type":2469,"tag":2757,"props":5991,"children":5992},{"class":2759,"line":3247},[5993,5997],{"type":2469,"tag":2757,"props":5994,"children":5995},{"style":2921},[5996],{"type":2485,"value":2987},{"type":2469,"tag":2757,"props":5998,"children":5999},{"style":2915},[6000],{"type":2485,"value":2992},{"type":2469,"tag":2470,"props":6002,"children":6003},{},[6004,6006,6011],{"type":2485,"value":6005},"All requests to the Storefront API will now return data from ",{"type":2469,"tag":2491,"props":6007,"children":6009},{"href":2575,"rel":6008},[2495],[6010],{"type":2485,"value":2579},{"type":2485,"value":6012}," instead of hitting the actual Shopify API.",{"type":2469,"tag":3457,"props":6014,"children":6016},{"id":6015},"proxying-client-requests",[6017],{"type":2485,"value":6018},"Proxying client requests",{"type":2469,"tag":2470,"props":6020,"children":6021},{},[6022,6024,6030,6032,6038],{"type":2485,"value":6023},"All requests going out from the client side are proxied through the Nitro server by default.\nTo disable proxying, set the ",{"type":2469,"tag":2753,"props":6025,"children":6027},{"className":6026},[],[6028],{"type":2485,"value":6029},"proxy",{"type":2485,"value":6031}," option to ",{"type":2469,"tag":2753,"props":6033,"children":6035},{"className":6034},[],[6036],{"type":2485,"value":6037},"false",{"type":2485,"value":6039}," in the module config.",{"type":2469,"tag":2746,"props":6041,"children":6043},{"className":2886,"code":6042,"language":2888,"meta":2464,"style":2464},"export default defineNuxtConfig({\n  shopify: {\n    clients: {\n      storefront: {\n        proxy: false, \u002F\u002F default: true\n      },\n    },\n  },\n})\n",[6044],{"type":2469,"tag":2753,"props":6045,"children":6046},{"__ignoreMap":2464},[6047,6070,6085,6100,6115,6141,6148,6155,6162],{"type":2469,"tag":2757,"props":6048,"children":6049},{"class":2759,"line":2444},[6050,6054,6058,6062,6066],{"type":2469,"tag":2757,"props":6051,"children":6052},{"style":2898},[6053],{"type":2485,"value":2901},{"type":2469,"tag":2757,"props":6055,"children":6056},{"style":2898},[6057],{"type":2485,"value":2906},{"type":2469,"tag":2757,"props":6059,"children":6060},{"style":2909},[6061],{"type":2485,"value":2912},{"type":2469,"tag":2757,"props":6063,"children":6064},{"style":2915},[6065],{"type":2485,"value":2918},{"type":2469,"tag":2757,"props":6067,"children":6068},{"style":2921},[6069],{"type":2485,"value":2924},{"type":2469,"tag":2757,"props":6071,"children":6072},{"class":2759,"line":2927},[6073,6077,6081],{"type":2469,"tag":2757,"props":6074,"children":6075},{"style":2931},[6076],{"type":2485,"value":3041},{"type":2469,"tag":2757,"props":6078,"children":6079},{"style":2921},[6080],{"type":2485,"value":2799},{"type":2469,"tag":2757,"props":6082,"children":6083},{"style":2921},[6084],{"type":2485,"value":3050},{"type":2469,"tag":2757,"props":6086,"children":6087},{"class":2759,"line":2440},[6088,6092,6096],{"type":2469,"tag":2757,"props":6089,"children":6090},{"style":2931},[6091],{"type":2485,"value":3098},{"type":2469,"tag":2757,"props":6093,"children":6094},{"style":2921},[6095],{"type":2485,"value":2799},{"type":2469,"tag":2757,"props":6097,"children":6098},{"style":2921},[6099],{"type":2485,"value":3050},{"type":2469,"tag":2757,"props":6101,"children":6102},{"class":2759,"line":2968},[6103,6107,6111],{"type":2469,"tag":2757,"props":6104,"children":6105},{"style":2931},[6106],{"type":2485,"value":3115},{"type":2469,"tag":2757,"props":6108,"children":6109},{"style":2921},[6110],{"type":2485,"value":2799},{"type":2469,"tag":2757,"props":6112,"children":6113},{"style":2921},[6114],{"type":2485,"value":3050},{"type":2469,"tag":2757,"props":6116,"children":6117},{"class":2759,"line":2981},[6118,6123,6127,6132,6136],{"type":2469,"tag":2757,"props":6119,"children":6120},{"style":2931},[6121],{"type":2485,"value":6122},"        proxy",{"type":2469,"tag":2757,"props":6124,"children":6125},{"style":2921},[6126],{"type":2485,"value":2799},{"type":2469,"tag":2757,"props":6128,"children":6129},{"style":5927},[6130],{"type":2485,"value":6131}," false",{"type":2469,"tag":2757,"props":6133,"children":6134},{"style":2921},[6135],{"type":2485,"value":3744},{"type":2469,"tag":2757,"props":6137,"children":6138},{"style":3511},[6139],{"type":2485,"value":6140}," \u002F\u002F default: true\n",{"type":2469,"tag":2757,"props":6142,"children":6143},{"class":2759,"line":3109},[6144],{"type":2469,"tag":2757,"props":6145,"children":6146},{"style":2921},[6147],{"type":2485,"value":3192},{"type":2469,"tag":2757,"props":6149,"children":6150},{"class":2759,"line":3126},[6151],{"type":2469,"tag":2757,"props":6152,"children":6153},{"style":2921},[6154],{"type":2485,"value":3411},{"type":2469,"tag":2757,"props":6156,"children":6157},{"class":2759,"line":3156},[6158],{"type":2469,"tag":2757,"props":6159,"children":6160},{"style":2921},[6161],{"type":2485,"value":3420},{"type":2469,"tag":2757,"props":6163,"children":6164},{"class":2759,"line":3186},[6165,6169],{"type":2469,"tag":2757,"props":6166,"children":6167},{"style":2921},[6168],{"type":2485,"value":2987},{"type":2469,"tag":2757,"props":6170,"children":6171},{"style":2915},[6172],{"type":2485,"value":2992},{"type":2469,"tag":3457,"props":6174,"children":6176},{"id":6175},"type-generation",[6177],{"type":2485,"value":6178},"Type generation",{"type":2469,"tag":2470,"props":6180,"children":6181},{},[6182],{"type":2485,"value":6183},"Once installed, the module automatically generates your GraphQL types and saves them in:",{"type":2469,"tag":2583,"props":6185,"children":6186},{},[6187,6198],{"type":2469,"tag":2587,"props":6188,"children":6189},{},[6190,6192],{"type":2485,"value":6191},".nuxt\u002Fshopify\u002F",{"type":2469,"tag":6193,"props":6194,"children":6195},"client",{},[6196],{"type":2485,"value":6197}," — Type definitions",{"type":2469,"tag":2587,"props":6199,"children":6200},{},[6201],{"type":2485,"value":6202},".nuxt\u002Fshopify\u002Fschema — GraphQL schema files",{"type":2469,"tag":2470,"props":6204,"children":6205},{},[6206,6208,6214],{"type":2485,"value":6207},"For IDE support, the module automatically generates a GraphQL config file at ",{"type":2469,"tag":2753,"props":6209,"children":6211},{"className":6210},[],[6212],{"type":2485,"value":6213},".nuxt\u002Fgraphql.config.mjs",{"type":2485,"value":6215},",\nwith a project per configured client. Point your editor's GraphQL plugin at it, or reference it from a root config file:",{"type":2469,"tag":2746,"props":6217,"children":6221},{"className":6218,"code":6219,"language":6220,"meta":2464,"style":2464},"language-js shiki shiki-themes material-theme-lighter material-theme-lighter material-theme-palenight","\u002F\u002F ~\u002Fgraphql.config.mjs\n\nexport { default } from \".\u002F.nuxt\u002Fgraphql.config.mjs\"\n","js",[6222],{"type":2469,"tag":2753,"props":6223,"children":6224},{"__ignoreMap":2464},[6225,6233,6240],{"type":2469,"tag":2757,"props":6226,"children":6227},{"class":2759,"line":2444},[6228],{"type":2469,"tag":2757,"props":6229,"children":6230},{"style":3511},[6231],{"type":2485,"value":6232},"\u002F\u002F ~\u002Fgraphql.config.mjs\n",{"type":2469,"tag":2757,"props":6234,"children":6235},{"class":2759,"line":2927},[6236],{"type":2469,"tag":2757,"props":6237,"children":6238},{"emptyLinePlaceholder":3087},[6239],{"type":2485,"value":3090},{"type":2469,"tag":2757,"props":6241,"children":6242},{"class":2759,"line":2440},[6243,6247,6251,6255,6260,6265,6269,6274],{"type":2469,"tag":2757,"props":6244,"children":6245},{"style":2898},[6246],{"type":2485,"value":2901},{"type":2469,"tag":2757,"props":6248,"children":6249},{"style":2921},[6250],{"type":2485,"value":3613},{"type":2469,"tag":2757,"props":6252,"children":6253},{"style":2898},[6254],{"type":2485,"value":2906},{"type":2469,"tag":2757,"props":6256,"children":6257},{"style":2921},[6258],{"type":2485,"value":6259}," }",{"type":2469,"tag":2757,"props":6261,"children":6262},{"style":2898},[6263],{"type":2485,"value":6264}," from",{"type":2469,"tag":2757,"props":6266,"children":6267},{"style":2921},[6268],{"type":2485,"value":3067},{"type":2469,"tag":2757,"props":6270,"children":6271},{"style":2769},[6272],{"type":2485,"value":6273},".\u002F.nuxt\u002Fgraphql.config.mjs",{"type":2469,"tag":2757,"props":6275,"children":6276},{"style":2921},[6277],{"type":2485,"value":6278},"\"\n",{"type":2469,"tag":2470,"props":6280,"children":6281},{},[6282,6284,6290,6292,6297],{"type":2485,"value":6283},"You can disable the config file generation by setting ",{"type":2469,"tag":2753,"props":6285,"children":6287},{"className":6286},[],[6288],{"type":2485,"value":6289},"graphql.generateConfig",{"type":2485,"value":6291}," to ",{"type":2469,"tag":2753,"props":6293,"children":6295},{"className":6294},[],[6296],{"type":2485,"value":6037},{"type":2485,"value":6039},{"type":2469,"tag":3457,"props":6299,"children":6301},{"id":6300},"handling-graphql-fragments",[6302],{"type":2485,"value":6303},"Handling GraphQL fragments",{"type":2469,"tag":2470,"props":6305,"children":6306},{},[6307],{"type":2485,"value":6308},"You can define reusable fragments in your GraphQL queries to avoid duplication and make your queries more maintainable. The module supports fragment usage out of the box.",{"type":2469,"tag":2470,"props":6310,"children":6311},{},[6312],{"type":2485,"value":6313},"Here's an example of how to define and use a fragment:",{"type":2469,"tag":2746,"props":6315,"children":6317},{"className":2886,"code":6316,"language":2888,"meta":2464,"style":2464},"\u002F\u002F ~\u002Fgraphql\u002Ffragments\u002Fproduct.ts\n\nexport const productFields = `#graphql\n  fragment ProductFields on Product {\n    id\n    title\n    description\n  }\n`\n",[6318],{"type":2469,"tag":2753,"props":6319,"children":6320},{"__ignoreMap":2464},[6321,6329,6336,6365,6373,6381,6389,6397,6404],{"type":2469,"tag":2757,"props":6322,"children":6323},{"class":2759,"line":2444},[6324],{"type":2469,"tag":2757,"props":6325,"children":6326},{"style":3511},[6327],{"type":2485,"value":6328},"\u002F\u002F ~\u002Fgraphql\u002Ffragments\u002Fproduct.ts\n",{"type":2469,"tag":2757,"props":6330,"children":6331},{"class":2759,"line":2927},[6332],{"type":2469,"tag":2757,"props":6333,"children":6334},{"emptyLinePlaceholder":3087},[6335],{"type":2485,"value":3090},{"type":2469,"tag":2757,"props":6337,"children":6338},{"class":2759,"line":2440},[6339,6343,6348,6353,6357,6361],{"type":2469,"tag":2757,"props":6340,"children":6341},{"style":2898},[6342],{"type":2485,"value":2901},{"type":2469,"tag":2757,"props":6344,"children":6345},{"style":3537},[6346],{"type":2485,"value":6347}," const",{"type":2469,"tag":2757,"props":6349,"children":6350},{"style":2915},[6351],{"type":2485,"value":6352}," productFields ",{"type":2469,"tag":2757,"props":6354,"children":6355},{"style":2921},[6356],{"type":2485,"value":3550},{"type":2469,"tag":2757,"props":6358,"children":6359},{"style":2921},[6360],{"type":2485,"value":4096},{"type":2469,"tag":2757,"props":6362,"children":6363},{"style":2769},[6364],{"type":2485,"value":3660},{"type":2469,"tag":2757,"props":6366,"children":6367},{"class":2759,"line":2968},[6368],{"type":2469,"tag":2757,"props":6369,"children":6370},{"style":2769},[6371],{"type":2485,"value":6372},"  fragment ProductFields on Product {\n",{"type":2469,"tag":2757,"props":6374,"children":6375},{"class":2759,"line":2981},[6376],{"type":2469,"tag":2757,"props":6377,"children":6378},{"style":2769},[6379],{"type":2485,"value":6380},"    id\n",{"type":2469,"tag":2757,"props":6382,"children":6383},{"class":2759,"line":3109},[6384],{"type":2469,"tag":2757,"props":6385,"children":6386},{"style":2769},[6387],{"type":2485,"value":6388},"    title\n",{"type":2469,"tag":2757,"props":6390,"children":6391},{"class":2759,"line":3126},[6392],{"type":2469,"tag":2757,"props":6393,"children":6394},{"style":2769},[6395],{"type":2485,"value":6396},"    description\n",{"type":2469,"tag":2757,"props":6398,"children":6399},{"class":2759,"line":3156},[6400],{"type":2469,"tag":2757,"props":6401,"children":6402},{"style":2769},[6403],{"type":2485,"value":3732},{"type":2469,"tag":2757,"props":6405,"children":6406},{"class":2759,"line":3186},[6407],{"type":2469,"tag":2757,"props":6408,"children":6409},{"style":2921},[6410],{"type":2485,"value":6411},"`\n",{"type":2469,"tag":2746,"props":6413,"children":6415},{"className":3499,"code":6414,"language":3501,"meta":2464,"style":2464},"\u003C!-- ~\u002Fpages\u002Fproducts.vue -->\n\n\u003Cscript setup lang=\"ts\">\n  const storefront = useStorefront()\n\n  const products = await storefront.request(`#graphql\n    query FetchProducts($first: Int) {\n      products(first: $first) {\n        nodes {\n          ...ProductFields\n        }\n      }\n    }\n  `, {\n    variables: {\n      first: 5,\n    },\n  })\n\u003C\u002Fscript>\n",[6416],{"type":2469,"tag":2753,"props":6417,"children":6418},{"__ignoreMap":2464},[6419,6427,6434,6473,6496,6503,6547,6554,6561,6568,6576,6583,6590,6597,6612,6627,6647,6654,6665],{"type":2469,"tag":2757,"props":6420,"children":6421},{"class":2759,"line":2444},[6422],{"type":2469,"tag":2757,"props":6423,"children":6424},{"style":3511},[6425],{"type":2485,"value":6426},"\u003C!-- ~\u002Fpages\u002Fproducts.vue -->\n",{"type":2469,"tag":2757,"props":6428,"children":6429},{"class":2759,"line":2927},[6430],{"type":2469,"tag":2757,"props":6431,"children":6432},{"emptyLinePlaceholder":3087},[6433],{"type":2485,"value":3090},{"type":2469,"tag":2757,"props":6435,"children":6436},{"class":2759,"line":2440},[6437,6441,6445,6449,6453,6457,6461,6465,6469],{"type":2469,"tag":2757,"props":6438,"children":6439},{"style":2921},[6440],{"type":2485,"value":3529},{"type":2469,"tag":2757,"props":6442,"children":6443},{"style":2931},[6444],{"type":2485,"value":3534},{"type":2469,"tag":2757,"props":6446,"children":6447},{"style":3537},[6448],{"type":2485,"value":3540},{"type":2469,"tag":2757,"props":6450,"children":6451},{"style":3537},[6452],{"type":2485,"value":3545},{"type":2469,"tag":2757,"props":6454,"children":6455},{"style":2921},[6456],{"type":2485,"value":3550},{"type":2469,"tag":2757,"props":6458,"children":6459},{"style":2921},[6460],{"type":2485,"value":3077},{"type":2469,"tag":2757,"props":6462,"children":6463},{"style":2769},[6464],{"type":2485,"value":2888},{"type":2469,"tag":2757,"props":6466,"children":6467},{"style":2921},[6468],{"type":2485,"value":3077},{"type":2469,"tag":2757,"props":6470,"children":6471},{"style":2921},[6472],{"type":2485,"value":3567},{"type":2469,"tag":2757,"props":6474,"children":6475},{"class":2759,"line":2968},[6476,6480,6484,6488,6492],{"type":2469,"tag":2757,"props":6477,"children":6478},{"style":3537},[6479],{"type":2485,"value":4851},{"type":2469,"tag":2757,"props":6481,"children":6482},{"style":2915},[6483],{"type":2485,"value":3580},{"type":2469,"tag":2757,"props":6485,"children":6486},{"style":2921},[6487],{"type":2485,"value":3550},{"type":2469,"tag":2757,"props":6489,"children":6490},{"style":2909},[6491],{"type":2485,"value":3589},{"type":2469,"tag":2757,"props":6493,"children":6494},{"style":2915},[6495],{"type":2485,"value":3594},{"type":2469,"tag":2757,"props":6497,"children":6498},{"class":2759,"line":2981},[6499],{"type":2469,"tag":2757,"props":6500,"children":6501},{"emptyLinePlaceholder":3087},[6502],{"type":2485,"value":3090},{"type":2469,"tag":2757,"props":6504,"children":6505},{"class":2759,"line":3109},[6506,6510,6515,6519,6523,6527,6531,6535,6539,6543],{"type":2469,"tag":2757,"props":6507,"children":6508},{"style":3537},[6509],{"type":2485,"value":4851},{"type":2469,"tag":2757,"props":6511,"children":6512},{"style":2915},[6513],{"type":2485,"value":6514}," products ",{"type":2469,"tag":2757,"props":6516,"children":6517},{"style":2921},[6518],{"type":2485,"value":3550},{"type":2469,"tag":2757,"props":6520,"children":6521},{"style":2898},[6522],{"type":2485,"value":3632},{"type":2469,"tag":2757,"props":6524,"children":6525},{"style":2915},[6526],{"type":2485,"value":3637},{"type":2469,"tag":2757,"props":6528,"children":6529},{"style":2921},[6530],{"type":2485,"value":3449},{"type":2469,"tag":2757,"props":6532,"children":6533},{"style":2909},[6534],{"type":2485,"value":3646},{"type":2469,"tag":2757,"props":6536,"children":6537},{"style":2915},[6538],{"type":2485,"value":2918},{"type":2469,"tag":2757,"props":6540,"children":6541},{"style":2921},[6542],{"type":2485,"value":3655},{"type":2469,"tag":2757,"props":6544,"children":6545},{"style":2769},[6546],{"type":2485,"value":3660},{"type":2469,"tag":2757,"props":6548,"children":6549},{"class":2759,"line":3126},[6550],{"type":2469,"tag":2757,"props":6551,"children":6552},{"style":2769},[6553],{"type":2485,"value":4918},{"type":2469,"tag":2757,"props":6555,"children":6556},{"class":2759,"line":3156},[6557],{"type":2469,"tag":2757,"props":6558,"children":6559},{"style":2769},[6560],{"type":2485,"value":4926},{"type":2469,"tag":2757,"props":6562,"children":6563},{"class":2759,"line":3186},[6564],{"type":2469,"tag":2757,"props":6565,"children":6566},{"style":2769},[6567],{"type":2485,"value":4934},{"type":2469,"tag":2757,"props":6569,"children":6570},{"class":2759,"line":3195},[6571],{"type":2469,"tag":2757,"props":6572,"children":6573},{"style":2769},[6574],{"type":2485,"value":6575},"          ...ProductFields\n",{"type":2469,"tag":2757,"props":6577,"children":6578},{"class":2759,"line":3203},[6579],{"type":2469,"tag":2757,"props":6580,"children":6581},{"style":2769},[6582],{"type":2485,"value":4966},{"type":2469,"tag":2757,"props":6584,"children":6585},{"class":2759,"line":2458},[6586],{"type":2469,"tag":2757,"props":6587,"children":6588},{"style":2769},[6589],{"type":2485,"value":3716},{"type":2469,"tag":2757,"props":6591,"children":6592},{"class":2759,"line":3247},[6593],{"type":2469,"tag":2757,"props":6594,"children":6595},{"style":2769},[6596],{"type":2485,"value":3724},{"type":2469,"tag":2757,"props":6598,"children":6599},{"class":2759,"line":3277},[6600,6604,6608],{"type":2469,"tag":2757,"props":6601,"children":6602},{"style":2921},[6603],{"type":2485,"value":4988},{"type":2469,"tag":2757,"props":6605,"children":6606},{"style":2921},[6607],{"type":2485,"value":3744},{"type":2469,"tag":2757,"props":6609,"children":6610},{"style":2921},[6611],{"type":2485,"value":3050},{"type":2469,"tag":2757,"props":6613,"children":6614},{"class":2759,"line":3307},[6615,6619,6623],{"type":2469,"tag":2757,"props":6616,"children":6617},{"style":2931},[6618],{"type":2485,"value":5004},{"type":2469,"tag":2757,"props":6620,"children":6621},{"style":2921},[6622],{"type":2485,"value":2799},{"type":2469,"tag":2757,"props":6624,"children":6625},{"style":2921},[6626],{"type":2485,"value":3050},{"type":2469,"tag":2757,"props":6628,"children":6629},{"class":2759,"line":3315},[6630,6634,6638,6643],{"type":2469,"tag":2757,"props":6631,"children":6632},{"style":2931},[6633],{"type":2485,"value":5020},{"type":2469,"tag":2757,"props":6635,"children":6636},{"style":2921},[6637],{"type":2485,"value":2799},{"type":2469,"tag":2757,"props":6639,"children":6640},{"style":3779},[6641],{"type":2485,"value":6642}," 5",{"type":2469,"tag":2757,"props":6644,"children":6645},{"style":2921},[6646],{"type":2485,"value":2965},{"type":2469,"tag":2757,"props":6648,"children":6649},{"class":2759,"line":3323},[6650],{"type":2469,"tag":2757,"props":6651,"children":6652},{"style":2921},[6653],{"type":2485,"value":3411},{"type":2469,"tag":2757,"props":6655,"children":6656},{"class":2759,"line":3340},[6657,6661],{"type":2469,"tag":2757,"props":6658,"children":6659},{"style":2921},[6660],{"type":2485,"value":5047},{"type":2469,"tag":2757,"props":6662,"children":6663},{"style":2915},[6664],{"type":2485,"value":2992},{"type":2469,"tag":2757,"props":6666,"children":6667},{"class":2759,"line":3368},[6668,6672,6676],{"type":2469,"tag":2757,"props":6669,"children":6670},{"style":2921},[6671],{"type":2485,"value":3812},{"type":2469,"tag":2757,"props":6673,"children":6674},{"style":2931},[6675],{"type":2485,"value":3534},{"type":2469,"tag":2757,"props":6677,"children":6678},{"style":2921},[6679],{"type":2485,"value":3567},{"type":2469,"tag":2470,"props":6681,"children":6682},{},[6683,6684,6690],{"type":2485,"value":3912},{"type":2469,"tag":2753,"props":6685,"children":6687},{"className":6686},[],[6688],{"type":2485,"value":6689},"ProductFields",{"type":2485,"value":6691}," fragment is automatically injected into the query, so you don't need to import it explicitly in your request.",{"type":2469,"tag":2470,"props":6693,"children":6694},{},[6695,6697,6702,6703,6708,6709,6714,6716,6721,6723,6729,6731,6737],{"type":2485,"value":6696},"You can also place the query in a ",{"type":2469,"tag":2753,"props":6698,"children":6700},{"className":6699},[],[6701],{"type":2485,"value":5081},{"type":2485,"value":2554},{"type":2469,"tag":2753,"props":6704,"children":6706},{"className":6705},[],[6707],{"type":2485,"value":5095},{"type":2485,"value":5618},{"type":2469,"tag":2753,"props":6710,"children":6712},{"className":6711},[],[6713],{"type":2485,"value":5109},{"type":2485,"value":6715}," file and import it to use in your requests.\nFiles placed in the ",{"type":2469,"tag":2753,"props":6717,"children":6719},{"className":6718},[],[6720],{"type":2485,"value":5073},{"type":2485,"value":6722}," directory in your project root will be automatically imported by the module, it is recommended to organize your fragments there. The path is resolved from the project root, so on Nuxt 4 it is ",{"type":2469,"tag":2753,"props":6724,"children":6726},{"className":6725},[],[6727],{"type":2485,"value":6728},"graphql\u002F",{"type":2485,"value":6730},", not ",{"type":2469,"tag":2753,"props":6732,"children":6734},{"className":6733},[],[6735],{"type":2485,"value":6736},"app\u002Fgraphql\u002F",{"type":2485,"value":3449},{"type":2469,"tag":3457,"props":6739,"children":6741},{"id":6740},"handling-errors",[6742],{"type":2485,"value":6743},"Handling errors",{"type":2469,"tag":2470,"props":6745,"children":6746},{},[6747],{"type":2485,"value":6748},"By default, the module will throw an error if a client encounters an error instead of returning the errors object in the response.\nThis is done so that Nuxt can take over the error handling.",{"type":2469,"tag":2470,"props":6750,"children":6751},{},[6752,6754,6760],{"type":2485,"value":6753},"You can customize this behavior by setting the ",{"type":2469,"tag":2753,"props":6755,"children":6757},{"className":6756},[],[6758],{"type":2485,"value":6759},"errors.throw",{"type":2485,"value":6761}," option in the module config.",{"type":2469,"tag":2746,"props":6763,"children":6765},{"className":2886,"code":6764,"language":2888,"meta":2464,"style":2464},"export default defineNuxtConfig({\n  shopify: {\n    errors: {\n      throw: false,\n    },\n  },\n})\n",[6766],{"type":2469,"tag":2753,"props":6767,"children":6768},{"__ignoreMap":2464},[6769,6792,6807,6823,6843,6850,6857],{"type":2469,"tag":2757,"props":6770,"children":6771},{"class":2759,"line":2444},[6772,6776,6780,6784,6788],{"type":2469,"tag":2757,"props":6773,"children":6774},{"style":2898},[6775],{"type":2485,"value":2901},{"type":2469,"tag":2757,"props":6777,"children":6778},{"style":2898},[6779],{"type":2485,"value":2906},{"type":2469,"tag":2757,"props":6781,"children":6782},{"style":2909},[6783],{"type":2485,"value":2912},{"type":2469,"tag":2757,"props":6785,"children":6786},{"style":2915},[6787],{"type":2485,"value":2918},{"type":2469,"tag":2757,"props":6789,"children":6790},{"style":2921},[6791],{"type":2485,"value":2924},{"type":2469,"tag":2757,"props":6793,"children":6794},{"class":2759,"line":2927},[6795,6799,6803],{"type":2469,"tag":2757,"props":6796,"children":6797},{"style":2931},[6798],{"type":2485,"value":3041},{"type":2469,"tag":2757,"props":6800,"children":6801},{"style":2921},[6802],{"type":2485,"value":2799},{"type":2469,"tag":2757,"props":6804,"children":6805},{"style":2921},[6806],{"type":2485,"value":3050},{"type":2469,"tag":2757,"props":6808,"children":6809},{"class":2759,"line":2440},[6810,6815,6819],{"type":2469,"tag":2757,"props":6811,"children":6812},{"style":2931},[6813],{"type":2485,"value":6814},"    errors",{"type":2469,"tag":2757,"props":6816,"children":6817},{"style":2921},[6818],{"type":2485,"value":2799},{"type":2469,"tag":2757,"props":6820,"children":6821},{"style":2921},[6822],{"type":2485,"value":3050},{"type":2469,"tag":2757,"props":6824,"children":6825},{"class":2759,"line":2968},[6826,6831,6835,6839],{"type":2469,"tag":2757,"props":6827,"children":6828},{"style":2931},[6829],{"type":2485,"value":6830},"      throw",{"type":2469,"tag":2757,"props":6832,"children":6833},{"style":2921},[6834],{"type":2485,"value":2799},{"type":2469,"tag":2757,"props":6836,"children":6837},{"style":5927},[6838],{"type":2485,"value":6131},{"type":2469,"tag":2757,"props":6840,"children":6841},{"style":2921},[6842],{"type":2485,"value":2965},{"type":2469,"tag":2757,"props":6844,"children":6845},{"class":2759,"line":2981},[6846],{"type":2469,"tag":2757,"props":6847,"children":6848},{"style":2921},[6849],{"type":2485,"value":3411},{"type":2469,"tag":2757,"props":6851,"children":6852},{"class":2759,"line":3109},[6853],{"type":2469,"tag":2757,"props":6854,"children":6855},{"style":2921},[6856],{"type":2485,"value":3420},{"type":2469,"tag":2757,"props":6858,"children":6859},{"class":2759,"line":3126},[6860,6864],{"type":2469,"tag":2757,"props":6861,"children":6862},{"style":2921},[6863],{"type":2485,"value":2987},{"type":2469,"tag":2757,"props":6865,"children":6866},{"style":2915},[6867],{"type":2485,"value":2992},{"type":2469,"tag":2470,"props":6869,"children":6870},{},[6871],{"type":2485,"value":6872},"This will prevent the module from throwing an error and instead return the error response.",{"type":2469,"tag":2470,"props":6874,"children":6875},{},[6876],{"type":2485,"value":6877},"The module also provides hooks to handle errors.",{"type":2469,"tag":2746,"props":6879,"children":6881},{"className":2886,"code":6880,"language":2888,"meta":2464,"style":2464},"\u002F\u002F ~\u002Fserver\u002Fplugins\u002Fyour-plugin.ts\n\nexport default defineNitroPlugin((nitroApp) => {\n  nitroApp.hooks.hook(\"storefront:client:errors\", ({ errors }) => {\n    \u002F\u002F Do something with the errors\n    console.log(\"Storefront client errors:\", errors)\n  })\n})\n",[6882],{"type":2469,"tag":2753,"props":6883,"children":6884},{"__ignoreMap":2464},[6885,6893,6900,6941,7010,7018,7064,7075],{"type":2469,"tag":2757,"props":6886,"children":6887},{"class":2759,"line":2444},[6888],{"type":2469,"tag":2757,"props":6889,"children":6890},{"style":3511},[6891],{"type":2485,"value":6892},"\u002F\u002F ~\u002Fserver\u002Fplugins\u002Fyour-plugin.ts\n",{"type":2469,"tag":2757,"props":6894,"children":6895},{"class":2759,"line":2927},[6896],{"type":2469,"tag":2757,"props":6897,"children":6898},{"emptyLinePlaceholder":3087},[6899],{"type":2485,"value":3090},{"type":2469,"tag":2757,"props":6901,"children":6902},{"class":2759,"line":2440},[6903,6907,6911,6916,6920,6924,6929,6933,6937],{"type":2469,"tag":2757,"props":6904,"children":6905},{"style":2898},[6906],{"type":2485,"value":2901},{"type":2469,"tag":2757,"props":6908,"children":6909},{"style":2898},[6910],{"type":2485,"value":2906},{"type":2469,"tag":2757,"props":6912,"children":6913},{"style":2909},[6914],{"type":2485,"value":6915}," defineNitroPlugin",{"type":2469,"tag":2757,"props":6917,"children":6918},{"style":2915},[6919],{"type":2485,"value":2918},{"type":2469,"tag":2757,"props":6921,"children":6922},{"style":2921},[6923],{"type":2485,"value":2918},{"type":2469,"tag":2757,"props":6925,"children":6926},{"style":4255},[6927],{"type":2485,"value":6928},"nitroApp",{"type":2469,"tag":2757,"props":6930,"children":6931},{"style":2921},[6932],{"type":2485,"value":4262},{"type":2469,"tag":2757,"props":6934,"children":6935},{"style":3537},[6936],{"type":2485,"value":4267},{"type":2469,"tag":2757,"props":6938,"children":6939},{"style":2921},[6940],{"type":2485,"value":3050},{"type":2469,"tag":2757,"props":6942,"children":6943},{"class":2759,"line":2968},[6944,6949,6953,6958,6962,6967,6971,6975,6979,6983,6987,6992,6997,7002,7006],{"type":2469,"tag":2757,"props":6945,"children":6946},{"style":2915},[6947],{"type":2485,"value":6948},"  nitroApp",{"type":2469,"tag":2757,"props":6950,"children":6951},{"style":2921},[6952],{"type":2485,"value":3449},{"type":2469,"tag":2757,"props":6954,"children":6955},{"style":2915},[6956],{"type":2485,"value":6957},"hooks",{"type":2469,"tag":2757,"props":6959,"children":6960},{"style":2921},[6961],{"type":2485,"value":3449},{"type":2469,"tag":2757,"props":6963,"children":6964},{"style":2909},[6965],{"type":2485,"value":6966},"hook",{"type":2469,"tag":2757,"props":6968,"children":6969},{"style":2931},[6970],{"type":2485,"value":2918},{"type":2469,"tag":2757,"props":6972,"children":6973},{"style":2921},[6974],{"type":2485,"value":3077},{"type":2469,"tag":2757,"props":6976,"children":6977},{"style":2769},[6978],{"type":2485,"value":4433},{"type":2469,"tag":2757,"props":6980,"children":6981},{"style":2921},[6982],{"type":2485,"value":3077},{"type":2469,"tag":2757,"props":6984,"children":6985},{"style":2921},[6986],{"type":2485,"value":3744},{"type":2469,"tag":2757,"props":6988,"children":6989},{"style":2921},[6990],{"type":2485,"value":6991}," ({",{"type":2469,"tag":2757,"props":6993,"children":6994},{"style":4255},[6995],{"type":2485,"value":6996}," errors",{"type":2469,"tag":2757,"props":6998,"children":6999},{"style":2921},[7000],{"type":2485,"value":7001}," })",{"type":2469,"tag":2757,"props":7003,"children":7004},{"style":3537},[7005],{"type":2485,"value":4267},{"type":2469,"tag":2757,"props":7007,"children":7008},{"style":2921},[7009],{"type":2485,"value":3050},{"type":2469,"tag":2757,"props":7011,"children":7012},{"class":2759,"line":2981},[7013],{"type":2469,"tag":2757,"props":7014,"children":7015},{"style":3511},[7016],{"type":2485,"value":7017},"    \u002F\u002F Do something with the errors\n",{"type":2469,"tag":2757,"props":7019,"children":7020},{"class":2759,"line":3109},[7021,7026,7030,7035,7039,7043,7048,7052,7056,7060],{"type":2469,"tag":2757,"props":7022,"children":7023},{"style":2915},[7024],{"type":2485,"value":7025},"    console",{"type":2469,"tag":2757,"props":7027,"children":7028},{"style":2921},[7029],{"type":2485,"value":3449},{"type":2469,"tag":2757,"props":7031,"children":7032},{"style":2909},[7033],{"type":2485,"value":7034},"log",{"type":2469,"tag":2757,"props":7036,"children":7037},{"style":2931},[7038],{"type":2485,"value":2918},{"type":2469,"tag":2757,"props":7040,"children":7041},{"style":2921},[7042],{"type":2485,"value":3077},{"type":2469,"tag":2757,"props":7044,"children":7045},{"style":2769},[7046],{"type":2485,"value":7047},"Storefront client errors:",{"type":2469,"tag":2757,"props":7049,"children":7050},{"style":2921},[7051],{"type":2485,"value":3077},{"type":2469,"tag":2757,"props":7053,"children":7054},{"style":2921},[7055],{"type":2485,"value":3744},{"type":2469,"tag":2757,"props":7057,"children":7058},{"style":2915},[7059],{"type":2485,"value":6996},{"type":2469,"tag":2757,"props":7061,"children":7062},{"style":2931},[7063],{"type":2485,"value":2992},{"type":2469,"tag":2757,"props":7065,"children":7066},{"class":2759,"line":3126},[7067,7071],{"type":2469,"tag":2757,"props":7068,"children":7069},{"style":2921},[7070],{"type":2485,"value":5047},{"type":2469,"tag":2757,"props":7072,"children":7073},{"style":2931},[7074],{"type":2485,"value":2992},{"type":2469,"tag":2757,"props":7076,"children":7077},{"class":2759,"line":3156},[7078,7082],{"type":2469,"tag":2757,"props":7079,"children":7080},{"style":2921},[7081],{"type":2485,"value":2987},{"type":2469,"tag":2757,"props":7083,"children":7084},{"style":2915},[7085],{"type":2485,"value":2992},{"type":2469,"tag":2470,"props":7087,"children":7088},{},[7089,7091,7098],{"type":2485,"value":7090},"Read more about all available hooks in our ",{"type":2469,"tag":2491,"props":7092,"children":7095},{"href":7093,"rel":7094},"https:\u002F\u002Fshopify.nuxtjs.org\u002Fgoing-further\u002Fhooks",[2495],[7096],{"type":2485,"value":7097},"hooks documentation",{"type":2485,"value":3449},{"type":2469,"tag":3457,"props":7100,"children":7102},{"id":7101},"caching-api-requests",[7103],{"type":2485,"value":7104},"Caching API Requests",{"type":2469,"tag":2470,"props":7106,"children":7107},{},[7108,7110,7116],{"type":2485,"value":7109},"The module provides caching solutions for both client and server-side requests.\nClient side caching is enabled globally by default and can be configured in the module options.\nFor each client side request, caching is opt-in by setting the ",{"type":2469,"tag":2753,"props":7111,"children":7113},{"className":7112},[],[7114],{"type":2485,"value":7115},"cache",{"type":2485,"value":7117}," option in the request options.",{"type":2469,"tag":2746,"props":7119,"children":7121},{"className":3499,"code":7120,"language":3501,"meta":2464,"style":2464},"\u003C!-- ~\u002Fpages\u002Fproducts.vue -->\n\n\u003Cscript setup lang=\"ts\">\nconst storefront = useStorefront()\n\nconst { data } = await storefront.request(`#graphql\n  query FetchProducts($first: Int) {\n    products(first: $first) {\n      nodes {\n        ...ProductFields\n      }\n    }\n  }\n`, {\n  variables: {\n    first: 5,\n  },\n\n  \u002F\u002F Cache settings for this request, client and server side (proxy)\n  cache: \"short\",\n\n  \u002F\u002F Or set client and server side cache separately\n  cache: {\n    client: \"short\",\n    proxy: \"long\",\n  },\n})\n\u003C\u002Fscript>\n",[7122],{"type":2469,"tag":2753,"props":7123,"children":7124},{"__ignoreMap":2464},[7125,7132,7139,7178,7201,7208,7259,7266,7273,7280,7288,7295,7302,7309,7324,7339,7358,7365,7372,7380,7409,7416,7424,7439,7467,7496,7503,7515],{"type":2469,"tag":2757,"props":7126,"children":7127},{"class":2759,"line":2444},[7128],{"type":2469,"tag":2757,"props":7129,"children":7130},{"style":3511},[7131],{"type":2485,"value":6426},{"type":2469,"tag":2757,"props":7133,"children":7134},{"class":2759,"line":2927},[7135],{"type":2469,"tag":2757,"props":7136,"children":7137},{"emptyLinePlaceholder":3087},[7138],{"type":2485,"value":3090},{"type":2469,"tag":2757,"props":7140,"children":7141},{"class":2759,"line":2440},[7142,7146,7150,7154,7158,7162,7166,7170,7174],{"type":2469,"tag":2757,"props":7143,"children":7144},{"style":2921},[7145],{"type":2485,"value":3529},{"type":2469,"tag":2757,"props":7147,"children":7148},{"style":2931},[7149],{"type":2485,"value":3534},{"type":2469,"tag":2757,"props":7151,"children":7152},{"style":3537},[7153],{"type":2485,"value":3540},{"type":2469,"tag":2757,"props":7155,"children":7156},{"style":3537},[7157],{"type":2485,"value":3545},{"type":2469,"tag":2757,"props":7159,"children":7160},{"style":2921},[7161],{"type":2485,"value":3550},{"type":2469,"tag":2757,"props":7163,"children":7164},{"style":2921},[7165],{"type":2485,"value":3077},{"type":2469,"tag":2757,"props":7167,"children":7168},{"style":2769},[7169],{"type":2485,"value":2888},{"type":2469,"tag":2757,"props":7171,"children":7172},{"style":2921},[7173],{"type":2485,"value":3077},{"type":2469,"tag":2757,"props":7175,"children":7176},{"style":2921},[7177],{"type":2485,"value":3567},{"type":2469,"tag":2757,"props":7179,"children":7180},{"class":2759,"line":2968},[7181,7185,7189,7193,7197],{"type":2469,"tag":2757,"props":7182,"children":7183},{"style":3537},[7184],{"type":2485,"value":3575},{"type":2469,"tag":2757,"props":7186,"children":7187},{"style":2915},[7188],{"type":2485,"value":3580},{"type":2469,"tag":2757,"props":7190,"children":7191},{"style":2921},[7192],{"type":2485,"value":3550},{"type":2469,"tag":2757,"props":7194,"children":7195},{"style":2909},[7196],{"type":2485,"value":3589},{"type":2469,"tag":2757,"props":7198,"children":7199},{"style":2915},[7200],{"type":2485,"value":3594},{"type":2469,"tag":2757,"props":7202,"children":7203},{"class":2759,"line":2981},[7204],{"type":2469,"tag":2757,"props":7205,"children":7206},{"emptyLinePlaceholder":3087},[7207],{"type":2485,"value":3090},{"type":2469,"tag":2757,"props":7209,"children":7210},{"class":2759,"line":3109},[7211,7215,7219,7223,7227,7231,7235,7239,7243,7247,7251,7255],{"type":2469,"tag":2757,"props":7212,"children":7213},{"style":3537},[7214],{"type":2485,"value":3575},{"type":2469,"tag":2757,"props":7216,"children":7217},{"style":2921},[7218],{"type":2485,"value":3613},{"type":2469,"tag":2757,"props":7220,"children":7221},{"style":2915},[7222],{"type":2485,"value":3618},{"type":2469,"tag":2757,"props":7224,"children":7225},{"style":2921},[7226],{"type":2485,"value":2987},{"type":2469,"tag":2757,"props":7228,"children":7229},{"style":2921},[7230],{"type":2485,"value":3627},{"type":2469,"tag":2757,"props":7232,"children":7233},{"style":2898},[7234],{"type":2485,"value":3632},{"type":2469,"tag":2757,"props":7236,"children":7237},{"style":2915},[7238],{"type":2485,"value":3637},{"type":2469,"tag":2757,"props":7240,"children":7241},{"style":2921},[7242],{"type":2485,"value":3449},{"type":2469,"tag":2757,"props":7244,"children":7245},{"style":2909},[7246],{"type":2485,"value":3646},{"type":2469,"tag":2757,"props":7248,"children":7249},{"style":2915},[7250],{"type":2485,"value":2918},{"type":2469,"tag":2757,"props":7252,"children":7253},{"style":2921},[7254],{"type":2485,"value":3655},{"type":2469,"tag":2757,"props":7256,"children":7257},{"style":2769},[7258],{"type":2485,"value":3660},{"type":2469,"tag":2757,"props":7260,"children":7261},{"class":2759,"line":3126},[7262],{"type":2469,"tag":2757,"props":7263,"children":7264},{"style":2769},[7265],{"type":2485,"value":3668},{"type":2469,"tag":2757,"props":7267,"children":7268},{"class":2759,"line":3156},[7269],{"type":2469,"tag":2757,"props":7270,"children":7271},{"style":2769},[7272],{"type":2485,"value":3676},{"type":2469,"tag":2757,"props":7274,"children":7275},{"class":2759,"line":3186},[7276],{"type":2469,"tag":2757,"props":7277,"children":7278},{"style":2769},[7279],{"type":2485,"value":3684},{"type":2469,"tag":2757,"props":7281,"children":7282},{"class":2759,"line":3195},[7283],{"type":2469,"tag":2757,"props":7284,"children":7285},{"style":2769},[7286],{"type":2485,"value":7287},"        ...ProductFields\n",{"type":2469,"tag":2757,"props":7289,"children":7290},{"class":2759,"line":3203},[7291],{"type":2469,"tag":2757,"props":7292,"children":7293},{"style":2769},[7294],{"type":2485,"value":3716},{"type":2469,"tag":2757,"props":7296,"children":7297},{"class":2759,"line":2458},[7298],{"type":2469,"tag":2757,"props":7299,"children":7300},{"style":2769},[7301],{"type":2485,"value":3724},{"type":2469,"tag":2757,"props":7303,"children":7304},{"class":2759,"line":3247},[7305],{"type":2469,"tag":2757,"props":7306,"children":7307},{"style":2769},[7308],{"type":2485,"value":3732},{"type":2469,"tag":2757,"props":7310,"children":7311},{"class":2759,"line":3277},[7312,7316,7320],{"type":2469,"tag":2757,"props":7313,"children":7314},{"style":2921},[7315],{"type":2485,"value":3655},{"type":2469,"tag":2757,"props":7317,"children":7318},{"style":2921},[7319],{"type":2485,"value":3744},{"type":2469,"tag":2757,"props":7321,"children":7322},{"style":2921},[7323],{"type":2485,"value":3050},{"type":2469,"tag":2757,"props":7325,"children":7326},{"class":2759,"line":3307},[7327,7331,7335],{"type":2469,"tag":2757,"props":7328,"children":7329},{"style":2931},[7330],{"type":2485,"value":3756},{"type":2469,"tag":2757,"props":7332,"children":7333},{"style":2921},[7334],{"type":2485,"value":2799},{"type":2469,"tag":2757,"props":7336,"children":7337},{"style":2921},[7338],{"type":2485,"value":3050},{"type":2469,"tag":2757,"props":7340,"children":7341},{"class":2759,"line":3315},[7342,7346,7350,7354],{"type":2469,"tag":2757,"props":7343,"children":7344},{"style":2931},[7345],{"type":2485,"value":3772},{"type":2469,"tag":2757,"props":7347,"children":7348},{"style":2921},[7349],{"type":2485,"value":2799},{"type":2469,"tag":2757,"props":7351,"children":7352},{"style":3779},[7353],{"type":2485,"value":6642},{"type":2469,"tag":2757,"props":7355,"children":7356},{"style":2921},[7357],{"type":2485,"value":2965},{"type":2469,"tag":2757,"props":7359,"children":7360},{"class":2759,"line":3323},[7361],{"type":2469,"tag":2757,"props":7362,"children":7363},{"style":2921},[7364],{"type":2485,"value":3420},{"type":2469,"tag":2757,"props":7366,"children":7367},{"class":2759,"line":3340},[7368],{"type":2469,"tag":2757,"props":7369,"children":7370},{"emptyLinePlaceholder":3087},[7371],{"type":2485,"value":3090},{"type":2469,"tag":2757,"props":7373,"children":7374},{"class":2759,"line":3368},[7375],{"type":2469,"tag":2757,"props":7376,"children":7377},{"style":3511},[7378],{"type":2485,"value":7379},"  \u002F\u002F Cache settings for this request, client and server side (proxy)\n",{"type":2469,"tag":2757,"props":7381,"children":7382},{"class":2759,"line":3397},[7383,7388,7392,7396,7401,7405],{"type":2469,"tag":2757,"props":7384,"children":7385},{"style":2931},[7386],{"type":2485,"value":7387},"  cache",{"type":2469,"tag":2757,"props":7389,"children":7390},{"style":2921},[7391],{"type":2485,"value":2799},{"type":2469,"tag":2757,"props":7393,"children":7394},{"style":2921},[7395],{"type":2485,"value":3067},{"type":2469,"tag":2757,"props":7397,"children":7398},{"style":2769},[7399],{"type":2485,"value":7400},"short",{"type":2469,"tag":2757,"props":7402,"children":7403},{"style":2921},[7404],{"type":2485,"value":3077},{"type":2469,"tag":2757,"props":7406,"children":7407},{"style":2921},[7408],{"type":2485,"value":2965},{"type":2469,"tag":2757,"props":7410,"children":7411},{"class":2759,"line":3405},[7412],{"type":2469,"tag":2757,"props":7413,"children":7414},{"emptyLinePlaceholder":3087},[7415],{"type":2485,"value":3090},{"type":2469,"tag":2757,"props":7417,"children":7418},{"class":2759,"line":3414},[7419],{"type":2469,"tag":2757,"props":7420,"children":7421},{"style":3511},[7422],{"type":2485,"value":7423},"  \u002F\u002F Or set client and server side cache separately\n",{"type":2469,"tag":2757,"props":7425,"children":7426},{"class":2759,"line":3423},[7427,7431,7435],{"type":2469,"tag":2757,"props":7428,"children":7429},{"style":2931},[7430],{"type":2485,"value":7387},{"type":2469,"tag":2757,"props":7432,"children":7433},{"style":2921},[7434],{"type":2485,"value":2799},{"type":2469,"tag":2757,"props":7436,"children":7437},{"style":2921},[7438],{"type":2485,"value":3050},{"type":2469,"tag":2757,"props":7440,"children":7441},{"class":2759,"line":3846},[7442,7447,7451,7455,7459,7463],{"type":2469,"tag":2757,"props":7443,"children":7444},{"style":2931},[7445],{"type":2485,"value":7446},"    client",{"type":2469,"tag":2757,"props":7448,"children":7449},{"style":2921},[7450],{"type":2485,"value":2799},{"type":2469,"tag":2757,"props":7452,"children":7453},{"style":2921},[7454],{"type":2485,"value":3067},{"type":2469,"tag":2757,"props":7456,"children":7457},{"style":2769},[7458],{"type":2485,"value":7400},{"type":2469,"tag":2757,"props":7460,"children":7461},{"style":2921},[7462],{"type":2485,"value":3077},{"type":2469,"tag":2757,"props":7464,"children":7465},{"style":2921},[7466],{"type":2485,"value":2965},{"type":2469,"tag":2757,"props":7468,"children":7469},{"class":2759,"line":3881},[7470,7475,7479,7483,7488,7492],{"type":2469,"tag":2757,"props":7471,"children":7472},{"style":2931},[7473],{"type":2485,"value":7474},"    proxy",{"type":2469,"tag":2757,"props":7476,"children":7477},{"style":2921},[7478],{"type":2485,"value":2799},{"type":2469,"tag":2757,"props":7480,"children":7481},{"style":2921},[7482],{"type":2485,"value":3067},{"type":2469,"tag":2757,"props":7484,"children":7485},{"style":2769},[7486],{"type":2485,"value":7487},"long",{"type":2469,"tag":2757,"props":7489,"children":7490},{"style":2921},[7491],{"type":2485,"value":3077},{"type":2469,"tag":2757,"props":7493,"children":7494},{"style":2921},[7495],{"type":2485,"value":2965},{"type":2469,"tag":2757,"props":7497,"children":7498},{"class":2759,"line":4373},[7499],{"type":2469,"tag":2757,"props":7500,"children":7501},{"style":2921},[7502],{"type":2485,"value":3420},{"type":2469,"tag":2757,"props":7504,"children":7506},{"class":2759,"line":7505},27,[7507,7511],{"type":2469,"tag":2757,"props":7508,"children":7509},{"style":2921},[7510],{"type":2485,"value":2987},{"type":2469,"tag":2757,"props":7512,"children":7513},{"style":2915},[7514],{"type":2485,"value":2992},{"type":2469,"tag":2757,"props":7516,"children":7518},{"class":2759,"line":7517},28,[7519,7523,7527],{"type":2469,"tag":2757,"props":7520,"children":7521},{"style":2921},[7522],{"type":2485,"value":3812},{"type":2469,"tag":2757,"props":7524,"children":7525},{"style":2931},[7526],{"type":2485,"value":3534},{"type":2469,"tag":2757,"props":7528,"children":7529},{"style":2921},[7530],{"type":2485,"value":3567},{"type":2469,"tag":2470,"props":7532,"children":7533},{},[7534,7536,7541],{"type":2485,"value":7535},"This also applies to the ",{"type":2469,"tag":2753,"props":7537,"children":7539},{"className":7538},[],[7540],{"type":2485,"value":3957},{"type":2485,"value":7542}," composable.",{"type":2469,"tag":2470,"props":7544,"children":7545},{},[7546],{"type":2485,"value":7547},"On the server side you can use nitro's built-in caching utilities within your API routes or plugins to cache requests\nto both the storefront and admin API.",{"type":2469,"tag":2470,"props":7549,"children":7550},{},[7551,7553,7560],{"type":2485,"value":7552},"See the ",{"type":2469,"tag":2491,"props":7554,"children":7557},{"href":7555,"rel":7556},"https:\u002F\u002Fshopify.nuxtjs.org\u002Fessentials\u002Fcaching",[2495],[7558],{"type":2485,"value":7559},"caching documentation",{"type":2485,"value":7561}," for more details and examples.",{"type":2469,"tag":3457,"props":7563,"children":7565},{"id":7564},"using-analytics",[7566],{"type":2485,"value":7567},"Using Analytics",{"type":2469,"tag":2470,"props":7569,"children":7570},{},[7571,7573,7579,7581,7587,7589,7595],{"type":2485,"value":7572},"The module can send Shopify headless analytics, powering the reports and live view in your admin.\nInstall ",{"type":2469,"tag":2753,"props":7574,"children":7576},{"className":7575},[],[7577],{"type":2485,"value":7578},"@shopify\u002Fhydrogen-react",{"type":2485,"value":7580}," and enable the ",{"type":2469,"tag":2753,"props":7582,"children":7584},{"className":7583},[],[7585],{"type":2485,"value":7586},"analytics",{"type":2485,"value":7588}," option, then report views with the drop-in components\nor publish events manually with the ",{"type":2469,"tag":2753,"props":7590,"children":7592},{"className":7591},[],[7593],{"type":2485,"value":7594},"useShopifyAnalytics",{"type":2485,"value":4468},{"type":2469,"tag":2746,"props":7597,"children":7599},{"className":3499,"code":7598,"language":3501,"meta":2464,"style":2464},"\u003C!-- ~\u002Fpages\u002Fproduct.vue -->\n\n\u003Ctemplate>\n  \u003CShopifyProductView\n    :data=\"{\n      products: [{\n        id: product.id,\n        title: product.title,\n        vendor: product.vendor,\n        price: variant.price.amount,\n        variantId: variant.id,\n        variantTitle: variant.title,\n      }],\n    }\"\n  \u002F>\n\u003C\u002Ftemplate>\n",[7600],{"type":2469,"tag":2753,"props":7601,"children":7602},{"__ignoreMap":2464},[7603,7611,7618,7633,7645,7665,7673,7681,7689,7697,7705,7713,7721,7729,7741,7749],{"type":2469,"tag":2757,"props":7604,"children":7605},{"class":2759,"line":2444},[7606],{"type":2469,"tag":2757,"props":7607,"children":7608},{"style":3511},[7609],{"type":2485,"value":7610},"\u003C!-- ~\u002Fpages\u002Fproduct.vue -->\n",{"type":2469,"tag":2757,"props":7612,"children":7613},{"class":2759,"line":2927},[7614],{"type":2469,"tag":2757,"props":7615,"children":7616},{"emptyLinePlaceholder":3087},[7617],{"type":2485,"value":3090},{"type":2469,"tag":2757,"props":7619,"children":7620},{"class":2759,"line":2440},[7621,7625,7629],{"type":2469,"tag":2757,"props":7622,"children":7623},{"style":2921},[7624],{"type":2485,"value":3529},{"type":2469,"tag":2757,"props":7626,"children":7627},{"style":2931},[7628],{"type":2485,"value":3839},{"type":2469,"tag":2757,"props":7630,"children":7631},{"style":2921},[7632],{"type":2485,"value":3567},{"type":2469,"tag":2757,"props":7634,"children":7635},{"class":2759,"line":2968},[7636,7640],{"type":2469,"tag":2757,"props":7637,"children":7638},{"style":2921},[7639],{"type":2485,"value":3852},{"type":2469,"tag":2757,"props":7641,"children":7642},{"style":2931},[7643],{"type":2485,"value":7644},"ShopifyProductView\n",{"type":2469,"tag":2757,"props":7646,"children":7647},{"class":2759,"line":2981},[7648,7653,7657,7661],{"type":2469,"tag":2757,"props":7649,"children":7650},{"style":3537},[7651],{"type":2485,"value":7652},"    :data",{"type":2469,"tag":2757,"props":7654,"children":7655},{"style":2921},[7656],{"type":2485,"value":3550},{"type":2469,"tag":2757,"props":7658,"children":7659},{"style":2921},[7660],{"type":2485,"value":3077},{"type":2469,"tag":2757,"props":7662,"children":7663},{"style":2769},[7664],{"type":2485,"value":2924},{"type":2469,"tag":2757,"props":7666,"children":7667},{"class":2759,"line":3109},[7668],{"type":2469,"tag":2757,"props":7669,"children":7670},{"style":2769},[7671],{"type":2485,"value":7672},"      products: [{\n",{"type":2469,"tag":2757,"props":7674,"children":7675},{"class":2759,"line":3126},[7676],{"type":2469,"tag":2757,"props":7677,"children":7678},{"style":2769},[7679],{"type":2485,"value":7680},"        id: product.id,\n",{"type":2469,"tag":2757,"props":7682,"children":7683},{"class":2759,"line":3156},[7684],{"type":2469,"tag":2757,"props":7685,"children":7686},{"style":2769},[7687],{"type":2485,"value":7688},"        title: product.title,\n",{"type":2469,"tag":2757,"props":7690,"children":7691},{"class":2759,"line":3186},[7692],{"type":2469,"tag":2757,"props":7693,"children":7694},{"style":2769},[7695],{"type":2485,"value":7696},"        vendor: product.vendor,\n",{"type":2469,"tag":2757,"props":7698,"children":7699},{"class":2759,"line":3195},[7700],{"type":2469,"tag":2757,"props":7701,"children":7702},{"style":2769},[7703],{"type":2485,"value":7704},"        price: variant.price.amount,\n",{"type":2469,"tag":2757,"props":7706,"children":7707},{"class":2759,"line":3203},[7708],{"type":2469,"tag":2757,"props":7709,"children":7710},{"style":2769},[7711],{"type":2485,"value":7712},"        variantId: variant.id,\n",{"type":2469,"tag":2757,"props":7714,"children":7715},{"class":2759,"line":2458},[7716],{"type":2469,"tag":2757,"props":7717,"children":7718},{"style":2769},[7719],{"type":2485,"value":7720},"        variantTitle: variant.title,\n",{"type":2469,"tag":2757,"props":7722,"children":7723},{"class":2759,"line":3247},[7724],{"type":2469,"tag":2757,"props":7725,"children":7726},{"style":2769},[7727],{"type":2485,"value":7728},"      }],\n",{"type":2469,"tag":2757,"props":7730,"children":7731},{"class":2759,"line":3277},[7732,7737],{"type":2469,"tag":2757,"props":7733,"children":7734},{"style":2769},[7735],{"type":2485,"value":7736},"    }",{"type":2469,"tag":2757,"props":7738,"children":7739},{"style":2921},[7740],{"type":2485,"value":6278},{"type":2469,"tag":2757,"props":7742,"children":7743},{"class":2759,"line":3307},[7744],{"type":2469,"tag":2757,"props":7745,"children":7746},{"style":2921},[7747],{"type":2485,"value":7748},"  \u002F>\n",{"type":2469,"tag":2757,"props":7750,"children":7751},{"class":2759,"line":3315},[7752,7756,7760],{"type":2469,"tag":2757,"props":7753,"children":7754},{"style":2921},[7755],{"type":2485,"value":3812},{"type":2469,"tag":2757,"props":7757,"children":7758},{"style":2931},[7759],{"type":2485,"value":3839},{"type":2469,"tag":2757,"props":7761,"children":7762},{"style":2921},[7763],{"type":2485,"value":3567},{"type":2469,"tag":2746,"props":7765,"children":7767},{"className":2886,"code":7766,"language":2888,"meta":2464,"style":2464},"const analytics = useShopifyAnalytics()\n\n\u002F\u002F Cart events are derived from cart state\nanalytics.setCart(cart)\n\nanalytics.subscribe(\"product_added_to_cart\", (payload) => {\n  \u002F\u002F e.g. forward to GA4 or Meta\n})\n",[7768],{"type":2469,"tag":2753,"props":7769,"children":7770},{"__ignoreMap":2464},[7771,7796,7803,7811,7832,7839,7897,7905],{"type":2469,"tag":2757,"props":7772,"children":7773},{"class":2759,"line":2444},[7774,7778,7783,7787,7792],{"type":2469,"tag":2757,"props":7775,"children":7776},{"style":3537},[7777],{"type":2485,"value":3575},{"type":2469,"tag":2757,"props":7779,"children":7780},{"style":2915},[7781],{"type":2485,"value":7782}," analytics ",{"type":2469,"tag":2757,"props":7784,"children":7785},{"style":2921},[7786],{"type":2485,"value":3550},{"type":2469,"tag":2757,"props":7788,"children":7789},{"style":2909},[7790],{"type":2485,"value":7791}," useShopifyAnalytics",{"type":2469,"tag":2757,"props":7793,"children":7794},{"style":2915},[7795],{"type":2485,"value":3594},{"type":2469,"tag":2757,"props":7797,"children":7798},{"class":2759,"line":2927},[7799],{"type":2469,"tag":2757,"props":7800,"children":7801},{"emptyLinePlaceholder":3087},[7802],{"type":2485,"value":3090},{"type":2469,"tag":2757,"props":7804,"children":7805},{"class":2759,"line":2440},[7806],{"type":2469,"tag":2757,"props":7807,"children":7808},{"style":3511},[7809],{"type":2485,"value":7810},"\u002F\u002F Cart events are derived from cart state\n",{"type":2469,"tag":2757,"props":7812,"children":7813},{"class":2759,"line":2968},[7814,7818,7822,7827],{"type":2469,"tag":2757,"props":7815,"children":7816},{"style":2915},[7817],{"type":2485,"value":7586},{"type":2469,"tag":2757,"props":7819,"children":7820},{"style":2921},[7821],{"type":2485,"value":3449},{"type":2469,"tag":2757,"props":7823,"children":7824},{"style":2909},[7825],{"type":2485,"value":7826},"setCart",{"type":2469,"tag":2757,"props":7828,"children":7829},{"style":2915},[7830],{"type":2485,"value":7831},"(cart)\n",{"type":2469,"tag":2757,"props":7833,"children":7834},{"class":2759,"line":2981},[7835],{"type":2469,"tag":2757,"props":7836,"children":7837},{"emptyLinePlaceholder":3087},[7838],{"type":2485,"value":3090},{"type":2469,"tag":2757,"props":7840,"children":7841},{"class":2759,"line":3109},[7842,7846,7850,7855,7859,7863,7868,7872,7876,7880,7885,7889,7893],{"type":2469,"tag":2757,"props":7843,"children":7844},{"style":2915},[7845],{"type":2485,"value":7586},{"type":2469,"tag":2757,"props":7847,"children":7848},{"style":2921},[7849],{"type":2485,"value":3449},{"type":2469,"tag":2757,"props":7851,"children":7852},{"style":2909},[7853],{"type":2485,"value":7854},"subscribe",{"type":2469,"tag":2757,"props":7856,"children":7857},{"style":2915},[7858],{"type":2485,"value":2918},{"type":2469,"tag":2757,"props":7860,"children":7861},{"style":2921},[7862],{"type":2485,"value":3077},{"type":2469,"tag":2757,"props":7864,"children":7865},{"style":2769},[7866],{"type":2485,"value":7867},"product_added_to_cart",{"type":2469,"tag":2757,"props":7869,"children":7870},{"style":2921},[7871],{"type":2485,"value":3077},{"type":2469,"tag":2757,"props":7873,"children":7874},{"style":2921},[7875],{"type":2485,"value":3744},{"type":2469,"tag":2757,"props":7877,"children":7878},{"style":2921},[7879],{"type":2485,"value":4252},{"type":2469,"tag":2757,"props":7881,"children":7882},{"style":4255},[7883],{"type":2485,"value":7884},"payload",{"type":2469,"tag":2757,"props":7886,"children":7887},{"style":2921},[7888],{"type":2485,"value":4262},{"type":2469,"tag":2757,"props":7890,"children":7891},{"style":3537},[7892],{"type":2485,"value":4267},{"type":2469,"tag":2757,"props":7894,"children":7895},{"style":2921},[7896],{"type":2485,"value":3050},{"type":2469,"tag":2757,"props":7898,"children":7899},{"class":2759,"line":3126},[7900],{"type":2469,"tag":2757,"props":7901,"children":7902},{"style":3511},[7903],{"type":2485,"value":7904},"  \u002F\u002F e.g. forward to GA4 or Meta\n",{"type":2469,"tag":2757,"props":7906,"children":7907},{"class":2759,"line":3156},[7908,7912],{"type":2469,"tag":2757,"props":7909,"children":7910},{"style":2921},[7911],{"type":2485,"value":2987},{"type":2469,"tag":2757,"props":7913,"children":7914},{"style":2915},[7915],{"type":2485,"value":2992},{"type":2469,"tag":2470,"props":7917,"children":7918},{},[7919],{"type":2485,"value":7920},"All events are gated on Shopify's Customer Privacy API, so nothing is sent without the visitor's consent where consent is required.",{"type":2469,"tag":2470,"props":7922,"children":7923},{},[7924,7925,7932],{"type":2485,"value":7552},{"type":2469,"tag":2491,"props":7926,"children":7929},{"href":7927,"rel":7928},"https:\u002F\u002Fshopify.nuxtjs.org\u002Fessentials\u002Fanalytics",[2495],[7930],{"type":2485,"value":7931},"analytics documentation",{"type":2485,"value":7933}," for view components, custom events, and consent configuration.",{"type":2469,"tag":3457,"props":7935,"children":7937},{"id":7936},"subscribing-unsubscribing-webhooks",[7938],{"type":2485,"value":7939},"Subscribing \u002F Unsubscribing webhooks",{"type":2469,"tag":2470,"props":7941,"children":7942},{},[7943],{"type":2485,"value":7944},"To subscribe or unsubscribe a webhook, you can either do so manually within the Shopify Admin UI or via Shopify's CLI.\nThe module also introduces a CLI command to easily add Webhooks from your local dev environment.",{"type":2469,"tag":2470,"props":7946,"children":7947},{},[7948],{"type":2485,"value":7949},"First, configure your webhooks:",{"type":2469,"tag":2746,"props":7951,"children":7953},{"className":2886,"code":7952,"language":2888,"meta":2464,"style":2464},"export default defineNuxtConfig({\n  modules: [\"@nuxtjs\u002Fshopify\"],\n\n  shopify: {\n    webhooks: {\n      secret: \"my-shopify-app-client-secret\",\n\n      hooks: [\n        {\n          topic: \"ORDERS_CREATE\",\n          uri: \"https:\u002F\u002Fshopify.nuxtjs.org\u002Fapi\u002Fwebhooks\u002Forders-create\",\n        },\n      ],\n    },\n  },\n})\n",[7954],{"type":2469,"tag":2753,"props":7955,"children":7956},{"__ignoreMap":2464},[7957,7980,8017,8024,8039,8055,8084,8091,8107,8115,8144,8173,8181,8193,8200,8207],{"type":2469,"tag":2757,"props":7958,"children":7959},{"class":2759,"line":2444},[7960,7964,7968,7972,7976],{"type":2469,"tag":2757,"props":7961,"children":7962},{"style":2898},[7963],{"type":2485,"value":2901},{"type":2469,"tag":2757,"props":7965,"children":7966},{"style":2898},[7967],{"type":2485,"value":2906},{"type":2469,"tag":2757,"props":7969,"children":7970},{"style":2909},[7971],{"type":2485,"value":2912},{"type":2469,"tag":2757,"props":7973,"children":7974},{"style":2915},[7975],{"type":2485,"value":2918},{"type":2469,"tag":2757,"props":7977,"children":7978},{"style":2921},[7979],{"type":2485,"value":2924},{"type":2469,"tag":2757,"props":7981,"children":7982},{"class":2759,"line":2927},[7983,7987,7991,7996,8000,8004,8008,8013],{"type":2469,"tag":2757,"props":7984,"children":7985},{"style":2931},[7986],{"type":2485,"value":2934},{"type":2469,"tag":2757,"props":7988,"children":7989},{"style":2921},[7990],{"type":2485,"value":2799},{"type":2469,"tag":2757,"props":7992,"children":7993},{"style":2915},[7994],{"type":2485,"value":7995}," [",{"type":2469,"tag":2757,"props":7997,"children":7998},{"style":2921},[7999],{"type":2485,"value":3077},{"type":2469,"tag":2757,"props":8001,"children":8002},{"style":2769},[8003],{"type":2485,"value":2415},{"type":2469,"tag":2757,"props":8005,"children":8006},{"style":2921},[8007],{"type":2485,"value":3077},{"type":2469,"tag":2757,"props":8009,"children":8010},{"style":2915},[8011],{"type":2485,"value":8012},"]",{"type":2469,"tag":2757,"props":8014,"children":8015},{"style":2921},[8016],{"type":2485,"value":2965},{"type":2469,"tag":2757,"props":8018,"children":8019},{"class":2759,"line":2440},[8020],{"type":2469,"tag":2757,"props":8021,"children":8022},{"emptyLinePlaceholder":3087},[8023],{"type":2485,"value":3090},{"type":2469,"tag":2757,"props":8025,"children":8026},{"class":2759,"line":2968},[8027,8031,8035],{"type":2469,"tag":2757,"props":8028,"children":8029},{"style":2931},[8030],{"type":2485,"value":3041},{"type":2469,"tag":2757,"props":8032,"children":8033},{"style":2921},[8034],{"type":2485,"value":2799},{"type":2469,"tag":2757,"props":8036,"children":8037},{"style":2921},[8038],{"type":2485,"value":3050},{"type":2469,"tag":2757,"props":8040,"children":8041},{"class":2759,"line":2981},[8042,8047,8051],{"type":2469,"tag":2757,"props":8043,"children":8044},{"style":2931},[8045],{"type":2485,"value":8046},"    webhooks",{"type":2469,"tag":2757,"props":8048,"children":8049},{"style":2921},[8050],{"type":2485,"value":2799},{"type":2469,"tag":2757,"props":8052,"children":8053},{"style":2921},[8054],{"type":2485,"value":3050},{"type":2469,"tag":2757,"props":8056,"children":8057},{"class":2759,"line":3109},[8058,8063,8067,8071,8076,8080],{"type":2469,"tag":2757,"props":8059,"children":8060},{"style":2931},[8061],{"type":2485,"value":8062},"      secret",{"type":2469,"tag":2757,"props":8064,"children":8065},{"style":2921},[8066],{"type":2485,"value":2799},{"type":2469,"tag":2757,"props":8068,"children":8069},{"style":2921},[8070],{"type":2485,"value":3067},{"type":2469,"tag":2757,"props":8072,"children":8073},{"style":2769},[8074],{"type":2485,"value":8075},"my-shopify-app-client-secret",{"type":2469,"tag":2757,"props":8077,"children":8078},{"style":2921},[8079],{"type":2485,"value":3077},{"type":2469,"tag":2757,"props":8081,"children":8082},{"style":2921},[8083],{"type":2485,"value":2965},{"type":2469,"tag":2757,"props":8085,"children":8086},{"class":2759,"line":3126},[8087],{"type":2469,"tag":2757,"props":8088,"children":8089},{"emptyLinePlaceholder":3087},[8090],{"type":2485,"value":3090},{"type":2469,"tag":2757,"props":8092,"children":8093},{"class":2759,"line":3156},[8094,8099,8103],{"type":2469,"tag":2757,"props":8095,"children":8096},{"style":2931},[8097],{"type":2485,"value":8098},"      hooks",{"type":2469,"tag":2757,"props":8100,"children":8101},{"style":2921},[8102],{"type":2485,"value":2799},{"type":2469,"tag":2757,"props":8104,"children":8105},{"style":2915},[8106],{"type":2485,"value":2943},{"type":2469,"tag":2757,"props":8108,"children":8109},{"class":2759,"line":3186},[8110],{"type":2469,"tag":2757,"props":8111,"children":8112},{"style":2921},[8113],{"type":2485,"value":8114},"        {\n",{"type":2469,"tag":2757,"props":8116,"children":8117},{"class":2759,"line":3195},[8118,8123,8127,8131,8136,8140],{"type":2469,"tag":2757,"props":8119,"children":8120},{"style":2931},[8121],{"type":2485,"value":8122},"          topic",{"type":2469,"tag":2757,"props":8124,"children":8125},{"style":2921},[8126],{"type":2485,"value":2799},{"type":2469,"tag":2757,"props":8128,"children":8129},{"style":2921},[8130],{"type":2485,"value":3067},{"type":2469,"tag":2757,"props":8132,"children":8133},{"style":2769},[8134],{"type":2485,"value":8135},"ORDERS_CREATE",{"type":2469,"tag":2757,"props":8137,"children":8138},{"style":2921},[8139],{"type":2485,"value":3077},{"type":2469,"tag":2757,"props":8141,"children":8142},{"style":2921},[8143],{"type":2485,"value":2965},{"type":2469,"tag":2757,"props":8145,"children":8146},{"class":2759,"line":3203},[8147,8152,8156,8160,8165,8169],{"type":2469,"tag":2757,"props":8148,"children":8149},{"style":2931},[8150],{"type":2485,"value":8151},"          uri",{"type":2469,"tag":2757,"props":8153,"children":8154},{"style":2921},[8155],{"type":2485,"value":2799},{"type":2469,"tag":2757,"props":8157,"children":8158},{"style":2921},[8159],{"type":2485,"value":3067},{"type":2469,"tag":2757,"props":8161,"children":8162},{"style":2769},[8163],{"type":2485,"value":8164},"https:\u002F\u002Fshopify.nuxtjs.org\u002Fapi\u002Fwebhooks\u002Forders-create",{"type":2469,"tag":2757,"props":8166,"children":8167},{"style":2921},[8168],{"type":2485,"value":3077},{"type":2469,"tag":2757,"props":8170,"children":8171},{"style":2921},[8172],{"type":2485,"value":2965},{"type":2469,"tag":2757,"props":8174,"children":8175},{"class":2759,"line":2458},[8176],{"type":2469,"tag":2757,"props":8177,"children":8178},{"style":2921},[8179],{"type":2485,"value":8180},"        },\n",{"type":2469,"tag":2757,"props":8182,"children":8183},{"class":2759,"line":3247},[8184,8189],{"type":2469,"tag":2757,"props":8185,"children":8186},{"style":2915},[8187],{"type":2485,"value":8188},"      ]",{"type":2469,"tag":2757,"props":8190,"children":8191},{"style":2921},[8192],{"type":2485,"value":2965},{"type":2469,"tag":2757,"props":8194,"children":8195},{"class":2759,"line":3277},[8196],{"type":2469,"tag":2757,"props":8197,"children":8198},{"style":2921},[8199],{"type":2485,"value":3411},{"type":2469,"tag":2757,"props":8201,"children":8202},{"class":2759,"line":3307},[8203],{"type":2469,"tag":2757,"props":8204,"children":8205},{"style":2921},[8206],{"type":2485,"value":3420},{"type":2469,"tag":2757,"props":8208,"children":8209},{"class":2759,"line":3315},[8210,8214],{"type":2469,"tag":2757,"props":8211,"children":8212},{"style":2921},[8213],{"type":2485,"value":2987},{"type":2469,"tag":2757,"props":8215,"children":8216},{"style":2915},[8217],{"type":2485,"value":2992},{"type":2469,"tag":2470,"props":8219,"children":8220},{},[8221],{"type":2485,"value":8222},"Then subscribe with the CLI command:",{"type":2469,"tag":2746,"props":8224,"children":8228},{"className":8225,"code":8226,"language":8227,"meta":2464,"style":2464},"language-sh shiki shiki-themes material-theme-lighter material-theme-lighter material-theme-palenight","npx @nuxtjs\u002Fshopify@latest webhooks subscribe\n","sh",[8229],{"type":2469,"tag":2753,"props":8230,"children":8231},{"__ignoreMap":2464},[8232],{"type":2469,"tag":2757,"props":8233,"children":8234},{"class":2759,"line":2444},[8235,8239,8243,8248],{"type":2469,"tag":2757,"props":8236,"children":8237},{"style":2763},[8238],{"type":2485,"value":2766},{"type":2469,"tag":2757,"props":8240,"children":8241},{"style":2769},[8242],{"type":2485,"value":2818},{"type":2469,"tag":2757,"props":8244,"children":8245},{"style":2769},[8246],{"type":2485,"value":8247}," webhooks",{"type":2469,"tag":2757,"props":8249,"children":8250},{"style":2769},[8251],{"type":2485,"value":8252}," subscribe\n",{"type":2469,"tag":2470,"props":8254,"children":8255},{},[8256,8258,8264],{"type":2485,"value":8257},"To receive webhooks with Shopify's HMAC validation the module introduces ",{"type":2469,"tag":2753,"props":8259,"children":8261},{"className":8260},[],[8262],{"type":2485,"value":8263},"defineWebhookEventHandler",{"type":2485,"value":8265},", which automatically\nvalidates any incoming request against the app client secret.",{"type":2469,"tag":2470,"props":8267,"children":8268},{},[8269,8271,8278],{"type":2485,"value":8270},"Read more about webhooks in our ",{"type":2469,"tag":2491,"props":8272,"children":8275},{"href":8273,"rel":8274},"https:\u002F\u002Fshopify.nuxtjs.org\u002Fgoing-further\u002Fwebhooks",[2495],[8276],{"type":2485,"value":8277},"webhooks documentation",{"type":2485,"value":3449},{"type":2469,"tag":2624,"props":8280,"children":8282},{"id":8281},"maintainers",[8283],{"type":2485,"value":8284},"Maintainers",{"type":2469,"tag":2583,"props":8286,"children":8287},{},[8288,8301],{"type":2469,"tag":2587,"props":8289,"children":8290},{},[8291,8293,8300],{"type":2485,"value":8292},"Frederik Bußmann (",{"type":2469,"tag":2491,"props":8294,"children":8297},{"href":8295,"rel":8296},"https:\u002F\u002Fgithub.com\u002Ffreb97",[2495],[8298],{"type":2485,"value":8299},"@freb97",{"type":2485,"value":4262},{"type":2469,"tag":2587,"props":8302,"children":8303},{},[8304,8306,8313],{"type":2485,"value":8305},"Zoltan Lukacs (",{"type":2469,"tag":2491,"props":8307,"children":8310},{"href":8308,"rel":8309},"https:\u002F\u002Fgithub.com\u002Fkonkonam",[2495],[8311],{"type":2485,"value":8312},"@konkonam",{"type":2485,"value":4262},{"type":2469,"tag":2624,"props":8315,"children":8317},{"id":8316},"contributing",[8318],{"type":2485,"value":8319},"Contributing",{"type":2469,"tag":2840,"props":8321,"children":8322},{},[8323,8328,8352,8377,8390],{"type":2469,"tag":2587,"props":8324,"children":8325},{},[8326],{"type":2485,"value":8327},"Clone this repository",{"type":2469,"tag":2587,"props":8329,"children":8330},{},[8331,8333,8338,8340,8351],{"type":2485,"value":8332},"Create a ",{"type":2469,"tag":2753,"props":8334,"children":8336},{"className":8335},[],[8337],{"type":2485,"value":224},{"type":2485,"value":8339}," file (see ",{"type":2469,"tag":2491,"props":8341,"children":8344},{"href":8342,"rel":8343},"https:\u002F\u002Fgithub.com\u002Fnuxt-modules\u002Fshopify\u002Ftree\u002Fmain\u002F.env.example",[2495],[8345],{"type":2469,"tag":2753,"props":8346,"children":8348},{"className":8347},[],[8349],{"type":2485,"value":8350},".env.example",{"type":2485,"value":4262},{"type":2469,"tag":2587,"props":8353,"children":8354},{},[8355,8357],{"type":2485,"value":8356},"Install dependencies using:\n",{"type":2469,"tag":2746,"props":8358,"children":8360},{"className":2748,"code":8359,"language":2750,"meta":2464,"style":2464},"pnpm install\n",[8361],{"type":2469,"tag":2753,"props":8362,"children":8363},{"__ignoreMap":2464},[8364],{"type":2469,"tag":2757,"props":8365,"children":8366},{"class":2759,"line":2444},[8367,8372],{"type":2469,"tag":2757,"props":8368,"children":8369},{"style":2763},[8370],{"type":2485,"value":8371},"pnpm",{"type":2469,"tag":2757,"props":8373,"children":8374},{"style":2769},[8375],{"type":2485,"value":8376}," install\n",{"type":2469,"tag":2587,"props":8378,"children":8379},{},[8380,8382,8388],{"type":2485,"value":8381},"Run ",{"type":2469,"tag":2753,"props":8383,"children":8385},{"className":8384},[],[8386],{"type":2485,"value":8387},"pnpm run prepare:dev",{"type":2485,"value":8389}," to generate type stubs.",{"type":2469,"tag":2587,"props":8391,"children":8392},{},[8393,8395,8402,8404],{"type":2485,"value":8394},"Start the default ",{"type":2469,"tag":2491,"props":8396,"children":8399},{"href":8397,"rel":8398},"https:\u002F\u002Fgithub.com\u002Fnuxt-modules\u002Fshopify\u002Ftree\u002Fmain\u002Fplaygrounds\u002Fplayground-v4",[2495],[8400],{"type":2485,"value":8401},"playground",{"type":2485,"value":8403}," with:\n",{"type":2469,"tag":2746,"props":8405,"children":8407},{"className":2748,"code":8406,"language":2750,"meta":2464,"style":2464},"pnpm run dev\n",[8408],{"type":2469,"tag":2753,"props":8409,"children":8410},{"__ignoreMap":2464},[8411],{"type":2469,"tag":2757,"props":8412,"children":8413},{"class":2759,"line":2444},[8414,8418,8423],{"type":2469,"tag":2757,"props":8415,"children":8416},{"style":2763},[8417],{"type":2485,"value":8371},{"type":2469,"tag":2757,"props":8419,"children":8420},{"style":2769},[8421],{"type":2485,"value":8422}," run",{"type":2469,"tag":2757,"props":8424,"children":8425},{"style":2769},[8426],{"type":2485,"value":8427}," dev\n",{"type":2469,"tag":2624,"props":8429,"children":8431},{"id":8430},"license",[8432],{"type":2485,"value":2538},{"type":2469,"tag":2470,"props":8434,"children":8435},{},[8436,8438,8444],{"type":2485,"value":8437},"Published under the ",{"type":2469,"tag":2491,"props":8439,"children":8441},{"href":2533,"rel":8440},[2495],[8442],{"type":2485,"value":8443},"MIT License",{"type":2485,"value":3449},{"type":2469,"tag":8446,"props":8447,"children":8448},"style",{},[8449],{"type":2485,"value":8450},"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);}",{"title":2464,"searchDepth":2927,"depth":2927,"links":8452},[8453,8454,8455,8469,8470,8471],{"id":2626,"depth":2927,"text":450},{"id":2719,"depth":2927,"text":2722},{"id":3452,"depth":2927,"text":3455,"children":8456},[8457,8458,8459,8460,8461,8462,8463,8464,8465,8466,8467,8468],{"id":3459,"depth":2440,"text":3462},{"id":3943,"depth":2440,"text":3946},{"id":4438,"depth":2440,"text":4441},{"id":4756,"depth":2440,"text":4759},{"id":5786,"depth":2440,"text":5789},{"id":6015,"depth":2440,"text":6018},{"id":6175,"depth":2440,"text":6178},{"id":6300,"depth":2440,"text":6303},{"id":6740,"depth":2440,"text":6743},{"id":7101,"depth":2440,"text":7104},{"id":7564,"depth":2440,"text":7567},{"id":7936,"depth":2440,"text":7939},{"id":8281,"depth":2927,"text":8284},{"id":8316,"depth":2927,"text":8319},{"id":8430,"depth":2927,"text":2538},{"v5":8473,"v4":8474,"v3":8475,"v2":8476},"5 (nightly)","4.5.2","3.21.11","2.18.1"]