[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$f30r277ag21rfj":3,"module-pglite":2411,"versions":5262},[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":2417,"learn_more":2418,"category":2419,"type":2420,"maintainers":2421,"compatibility":2428,"generatedAt":2431,"contributors":2432,"stats":2436,"readme":2444},"pglite","A Nuxt module aimed to simplify the use of PGlite.","sandros94\u002Fnuxt-pglite","nuxt-pglite","pglite.svg","https:\u002F\u002Fgithub.com\u002Fsandros94\u002Fnuxt-pglite","https:\u002F\u002Fpglite.dev","Database","3rd-party",[2422],{"name":2423,"github":2424,"avatar":2425,"bluesky":2426,"twitter":2427},"Sandro Circi","sandros94","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F13056429","sandros94.com","_sandros94",{"nuxt":2429,"requires":2430},">=3.15.0",{},"2026-08-30T20:32:44.612Z",[2433],{"id":2434,"username":2424,"contributions":2435},13056429,119,{"version":2437,"downloads":2438,"stars":2439,"watchers":2440,"forks":2440,"defaultBranch":2441,"publishedAt":2442,"createdAt":2443},"0.3.2",171,26,1,"main",1767029656086,1725035817724,{"data":2445,"body":2448,"toc":5244},{"title":2446,"description":2447},"Nuxt PGlite","",{"type":2449,"children":2450},"root",[2451,2458,2503,2516,2525,2539,2564,2570,2620,2626,2631,2672,2677,2684,2712,3015,3028,3034,3045,3226,3248,3254,3259,3277,3460,3478,3684,3697,3703,3721,3726,3746,3991,4009,4015,4031,4057,4656,4671,4677,4682,4756,4762,4767,4773,4778,4972,4977,5220,5225,5238],{"type":2452,"tag":2453,"props":2454,"children":2455},"element","h1",{"id":2415},[2456],{"type":2457,"value":2446},"text",{"type":2452,"tag":2459,"props":2460,"children":2461},"p",{},[2462,2475,2484,2493],{"type":2452,"tag":2463,"props":2464,"children":2468},"a",{"href":2465,"rel":2466},"https:\u002F\u002Fnpmjs.com\u002Fpackage\u002Fnuxt-pglite",[2467],"nofollow",[2469],{"type":2452,"tag":2470,"props":2471,"children":2474},"img",{"alt":2472,"src":2473},"npm version","https:\u002F\u002Fimg.shields.io\u002Fnpm\u002Fv\u002Fnuxt-pglite\u002Flatest.svg?style=flat&colorA=020420&colorB=00DC82",[],{"type":2452,"tag":2463,"props":2476,"children":2478},{"href":2465,"rel":2477},[2467],[2479],{"type":2452,"tag":2470,"props":2480,"children":2483},{"alt":2481,"src":2482},"npm downloads","https:\u002F\u002Fimg.shields.io\u002Fnpm\u002Fdm\u002Fnuxt-pglite.svg?style=flat&colorA=020420&colorB=00DC82",[],{"type":2452,"tag":2463,"props":2485,"children":2487},{"href":2465,"rel":2486},[2467],[2488],{"type":2452,"tag":2470,"props":2489,"children":2492},{"alt":2490,"src":2491},"License","https:\u002F\u002Fimg.shields.io\u002Fnpm\u002Fl\u002Fnuxt-pglite.svg?style=flat&colorA=020420&colorB=00DC82",[],{"type":2452,"tag":2463,"props":2494,"children":2497},{"href":2495,"rel":2496},"https:\u002F\u002Fnuxt.com",[2467],[2498],{"type":2452,"tag":2470,"props":2499,"children":2502},{"alt":2500,"src":2501},"Nuxt","https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FNuxt-020420?logo=nuxt.js",[],{"type":2452,"tag":2459,"props":2504,"children":2505},{},[2506,2508,2514],{"type":2457,"value":2507},"A Nuxt module aimed to simplify the use of ",{"type":2452,"tag":2463,"props":2509,"children":2511},{"href":2418,"rel":2510},[2467],[2512],{"type":2457,"value":2513},"PGlite",{"type":2457,"value":2515},".",{"type":2452,"tag":2517,"props":2518,"children":2519},"blockquote",{},[2520],{"type":2452,"tag":2459,"props":2521,"children":2522},{},[2523],{"type":2457,"value":2524},"PGlite, an Embeddable Postgres\nRun a full Postgres database locally in WASM with reactivity and live sync.",{"type":2452,"tag":2526,"props":2527,"children":2528},"ul",{},[2529],{"type":2452,"tag":2530,"props":2531,"children":2532},"li",{},[2533],{"type":2452,"tag":2463,"props":2534,"children":2536},{"href":2535},"\u002FCHANGELOG.md",[2537],{"type":2457,"value":2538},"✨  Release Notes",{"type":2452,"tag":2517,"props":2540,"children":2541},{},[2542],{"type":2452,"tag":2459,"props":2543,"children":2544},{},[2545,2551,2555,2557,2563],{"type":2452,"tag":2546,"props":2547,"children":2548},"span",{},[2549],{"type":2457,"value":2550},"!WARNING",{"type":2452,"tag":2552,"props":2553,"children":2554},"br",{},[],{"type":2457,"value":2556},"\nNo docs are available (although planned), please refer to the ",{"type":2452,"tag":2463,"props":2558,"children":2560},{"href":2559},"\u002Fplayground",[2561],{"type":2457,"value":2562},"playground code",{"type":2457,"value":2515},{"type":2452,"tag":2565,"props":2566,"children":2568},"h2",{"id":2567},"features",[2569],{"type":2457,"value":450},{"type":2452,"tag":2526,"props":2571,"children":2572},{},[2573,2587,2599],{"type":2452,"tag":2530,"props":2574,"children":2575},{},[2576,2578,2585],{"type":2457,"value":2577},"⚡️ Server-side ",{"type":2452,"tag":2579,"props":2580,"children":2582},"code",{"className":2581},[],[2583],{"type":2457,"value":2584},"usePGlite",{"type":2457,"value":2586},", running in your Node, Bun or Deno servers.",{"type":2452,"tag":2530,"props":2588,"children":2589},{},[2590,2592,2597],{"type":2457,"value":2591},"🧑‍💻 Client-side ",{"type":2452,"tag":2579,"props":2593,"children":2595},{"className":2594},[],[2596],{"type":2457,"value":2584},{"type":2457,"value":2598},", running inside Web Workers.",{"type":2452,"tag":2530,"props":2600,"children":2601},{},[2602,2604,2610,2612,2618],{"type":2457,"value":2603},"🪢 Client-side ",{"type":2452,"tag":2579,"props":2605,"children":2607},{"className":2606},[],[2608],{"type":2457,"value":2609},"useLiveQuery",{"type":2457,"value":2611}," and ",{"type":2452,"tag":2579,"props":2613,"children":2615},{"className":2614},[],[2616],{"type":2457,"value":2617},"useLiveIncrementalQuery",{"type":2457,"value":2619}," to subscribe to live changes.",{"type":2452,"tag":2565,"props":2621,"children":2623},{"id":2622},"quick-setup",[2624],{"type":2457,"value":2625},"Quick Setup",{"type":2452,"tag":2459,"props":2627,"children":2628},{},[2629],{"type":2457,"value":2630},"Install the module to your Nuxt application with one command:",{"type":2452,"tag":2632,"props":2633,"children":2637},"pre",{"className":2634,"code":2635,"language":2636,"meta":2447,"style":2447},"language-bash shiki shiki-themes material-theme-lighter material-theme-lighter material-theme-palenight","npx nuxi module add nuxt-pglite\n","bash",[2638],{"type":2452,"tag":2579,"props":2639,"children":2640},{"__ignoreMap":2447},[2641],{"type":2452,"tag":2546,"props":2642,"children":2644},{"class":2643,"line":2440},"line",[2645,2651,2657,2662,2667],{"type":2452,"tag":2546,"props":2646,"children":2648},{"style":2647},"--shiki-light:#E2931D;--shiki-default:#E2931D;--shiki-dark:#FFCB6B",[2649],{"type":2457,"value":2650},"npx",{"type":2452,"tag":2546,"props":2652,"children":2654},{"style":2653},"--shiki-light:#91B859;--shiki-default:#91B859;--shiki-dark:#C3E88D",[2655],{"type":2457,"value":2656}," nuxi",{"type":2452,"tag":2546,"props":2658,"children":2659},{"style":2653},[2660],{"type":2457,"value":2661}," module",{"type":2452,"tag":2546,"props":2663,"children":2664},{"style":2653},[2665],{"type":2457,"value":2666}," add",{"type":2452,"tag":2546,"props":2668,"children":2669},{"style":2653},[2670],{"type":2457,"value":2671}," nuxt-pglite\n",{"type":2452,"tag":2459,"props":2673,"children":2674},{},[2675],{"type":2457,"value":2676},"That's it! You can now use Nuxt PGlite in your Nuxt app ✨",{"type":2452,"tag":2678,"props":2679,"children":2681},"h3",{"id":2680},"storage",[2682],{"type":2457,"value":2683},"Storage",{"type":2452,"tag":2459,"props":2685,"children":2686},{},[2687,2689,2694,2696,2702,2704,2710],{"type":2457,"value":2688},"You can configure where to store data in your ",{"type":2452,"tag":2579,"props":2690,"children":2692},{"className":2691},[],[2693],{"type":2457,"value":244},{"type":2457,"value":2695},". Server-side storage accepts relative baths based on ",{"type":2452,"tag":2579,"props":2697,"children":2699},{"className":2698},[],[2700],{"type":2457,"value":2701},"rootDir",{"type":2457,"value":2703}," (",{"type":2452,"tag":2579,"props":2705,"children":2707},{"className":2706},[],[2708],{"type":2457,"value":2709},"~~",{"type":2457,"value":2711},"):",{"type":2452,"tag":2632,"props":2713,"children":2717},{"className":2714,"code":2715,"language":2716,"meta":2447,"style":2447},"language-ts shiki shiki-themes material-theme-lighter material-theme-lighter material-theme-palenight","export default defineNuxtConfig({\n  modules: ['nuxt-pglite'],\n\n  pglite: {\n    client: {\n      options: {\n        dataDir: 'idb:\u002F\u002Fnuxt-pglite',\n      },\n    },\n    server: {\n      options: {\n        dataDir: '.data\u002Fpglite', \u002F\u002F will use `~~\u002F.data\u002Fpglite`\n      },\n    },\n  },\n})\n","ts",[2718],{"type":2452,"tag":2579,"props":2719,"children":2720},{"__ignoreMap":2447},[2721,2753,2796,2806,2824,2841,2858,2889,2898,2907,2924,2940,2976,2984,2992,3001],{"type":2452,"tag":2546,"props":2722,"children":2723},{"class":2643,"line":2440},[2724,2730,2735,2741,2747],{"type":2452,"tag":2546,"props":2725,"children":2727},{"style":2726},"--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#39ADB5;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic",[2728],{"type":2457,"value":2729},"export",{"type":2452,"tag":2546,"props":2731,"children":2732},{"style":2726},[2733],{"type":2457,"value":2734}," default",{"type":2452,"tag":2546,"props":2736,"children":2738},{"style":2737},"--shiki-light:#6182B8;--shiki-default:#6182B8;--shiki-dark:#82AAFF",[2739],{"type":2457,"value":2740}," defineNuxtConfig",{"type":2452,"tag":2546,"props":2742,"children":2744},{"style":2743},"--shiki-light:#90A4AE;--shiki-default:#90A4AE;--shiki-dark:#BABED8",[2745],{"type":2457,"value":2746},"(",{"type":2452,"tag":2546,"props":2748,"children":2750},{"style":2749},"--shiki-light:#39ADB5;--shiki-default:#39ADB5;--shiki-dark:#89DDFF",[2751],{"type":2457,"value":2752},"{\n",{"type":2452,"tag":2546,"props":2754,"children":2756},{"class":2643,"line":2755},2,[2757,2763,2768,2773,2778,2782,2786,2791],{"type":2452,"tag":2546,"props":2758,"children":2760},{"style":2759},"--shiki-light:#E53935;--shiki-default:#E53935;--shiki-dark:#F07178",[2761],{"type":2457,"value":2762},"  modules",{"type":2452,"tag":2546,"props":2764,"children":2765},{"style":2749},[2766],{"type":2457,"value":2767},":",{"type":2452,"tag":2546,"props":2769,"children":2770},{"style":2743},[2771],{"type":2457,"value":2772}," [",{"type":2452,"tag":2546,"props":2774,"children":2775},{"style":2749},[2776],{"type":2457,"value":2777},"'",{"type":2452,"tag":2546,"props":2779,"children":2780},{"style":2653},[2781],{"type":2457,"value":2415},{"type":2452,"tag":2546,"props":2783,"children":2784},{"style":2749},[2785],{"type":2457,"value":2777},{"type":2452,"tag":2546,"props":2787,"children":2788},{"style":2743},[2789],{"type":2457,"value":2790},"]",{"type":2452,"tag":2546,"props":2792,"children":2793},{"style":2749},[2794],{"type":2457,"value":2795},",\n",{"type":2452,"tag":2546,"props":2797,"children":2799},{"class":2643,"line":2798},3,[2800],{"type":2452,"tag":2546,"props":2801,"children":2803},{"emptyLinePlaceholder":2802},true,[2804],{"type":2457,"value":2805},"\n",{"type":2452,"tag":2546,"props":2807,"children":2809},{"class":2643,"line":2808},4,[2810,2815,2819],{"type":2452,"tag":2546,"props":2811,"children":2812},{"style":2759},[2813],{"type":2457,"value":2814},"  pglite",{"type":2452,"tag":2546,"props":2816,"children":2817},{"style":2749},[2818],{"type":2457,"value":2767},{"type":2452,"tag":2546,"props":2820,"children":2821},{"style":2749},[2822],{"type":2457,"value":2823}," {\n",{"type":2452,"tag":2546,"props":2825,"children":2827},{"class":2643,"line":2826},5,[2828,2833,2837],{"type":2452,"tag":2546,"props":2829,"children":2830},{"style":2759},[2831],{"type":2457,"value":2832},"    client",{"type":2452,"tag":2546,"props":2834,"children":2835},{"style":2749},[2836],{"type":2457,"value":2767},{"type":2452,"tag":2546,"props":2838,"children":2839},{"style":2749},[2840],{"type":2457,"value":2823},{"type":2452,"tag":2546,"props":2842,"children":2844},{"class":2643,"line":2843},6,[2845,2850,2854],{"type":2452,"tag":2546,"props":2846,"children":2847},{"style":2759},[2848],{"type":2457,"value":2849},"      options",{"type":2452,"tag":2546,"props":2851,"children":2852},{"style":2749},[2853],{"type":2457,"value":2767},{"type":2452,"tag":2546,"props":2855,"children":2856},{"style":2749},[2857],{"type":2457,"value":2823},{"type":2452,"tag":2546,"props":2859,"children":2861},{"class":2643,"line":2860},7,[2862,2867,2871,2876,2881,2885],{"type":2452,"tag":2546,"props":2863,"children":2864},{"style":2759},[2865],{"type":2457,"value":2866},"        dataDir",{"type":2452,"tag":2546,"props":2868,"children":2869},{"style":2749},[2870],{"type":2457,"value":2767},{"type":2452,"tag":2546,"props":2872,"children":2873},{"style":2749},[2874],{"type":2457,"value":2875}," '",{"type":2452,"tag":2546,"props":2877,"children":2878},{"style":2653},[2879],{"type":2457,"value":2880},"idb:\u002F\u002Fnuxt-pglite",{"type":2452,"tag":2546,"props":2882,"children":2883},{"style":2749},[2884],{"type":2457,"value":2777},{"type":2452,"tag":2546,"props":2886,"children":2887},{"style":2749},[2888],{"type":2457,"value":2795},{"type":2452,"tag":2546,"props":2890,"children":2892},{"class":2643,"line":2891},8,[2893],{"type":2452,"tag":2546,"props":2894,"children":2895},{"style":2749},[2896],{"type":2457,"value":2897},"      },\n",{"type":2452,"tag":2546,"props":2899,"children":2901},{"class":2643,"line":2900},9,[2902],{"type":2452,"tag":2546,"props":2903,"children":2904},{"style":2749},[2905],{"type":2457,"value":2906},"    },\n",{"type":2452,"tag":2546,"props":2908,"children":2910},{"class":2643,"line":2909},10,[2911,2916,2920],{"type":2452,"tag":2546,"props":2912,"children":2913},{"style":2759},[2914],{"type":2457,"value":2915},"    server",{"type":2452,"tag":2546,"props":2917,"children":2918},{"style":2749},[2919],{"type":2457,"value":2767},{"type":2452,"tag":2546,"props":2921,"children":2922},{"style":2749},[2923],{"type":2457,"value":2823},{"type":2452,"tag":2546,"props":2925,"children":2927},{"class":2643,"line":2926},11,[2928,2932,2936],{"type":2452,"tag":2546,"props":2929,"children":2930},{"style":2759},[2931],{"type":2457,"value":2849},{"type":2452,"tag":2546,"props":2933,"children":2934},{"style":2749},[2935],{"type":2457,"value":2767},{"type":2452,"tag":2546,"props":2937,"children":2938},{"style":2749},[2939],{"type":2457,"value":2823},{"type":2452,"tag":2546,"props":2941,"children":2943},{"class":2643,"line":2942},12,[2944,2948,2952,2956,2961,2965,2970],{"type":2452,"tag":2546,"props":2945,"children":2946},{"style":2759},[2947],{"type":2457,"value":2866},{"type":2452,"tag":2546,"props":2949,"children":2950},{"style":2749},[2951],{"type":2457,"value":2767},{"type":2452,"tag":2546,"props":2953,"children":2954},{"style":2749},[2955],{"type":2457,"value":2875},{"type":2452,"tag":2546,"props":2957,"children":2958},{"style":2653},[2959],{"type":2457,"value":2960},".data\u002Fpglite",{"type":2452,"tag":2546,"props":2962,"children":2963},{"style":2749},[2964],{"type":2457,"value":2777},{"type":2452,"tag":2546,"props":2966,"children":2967},{"style":2749},[2968],{"type":2457,"value":2969},",",{"type":2452,"tag":2546,"props":2971,"children":2973},{"style":2972},"--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#90A4AE;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic",[2974],{"type":2457,"value":2975}," \u002F\u002F will use `~~\u002F.data\u002Fpglite`\n",{"type":2452,"tag":2546,"props":2977,"children":2979},{"class":2643,"line":2978},13,[2980],{"type":2452,"tag":2546,"props":2981,"children":2982},{"style":2749},[2983],{"type":2457,"value":2897},{"type":2452,"tag":2546,"props":2985,"children":2987},{"class":2643,"line":2986},14,[2988],{"type":2452,"tag":2546,"props":2989,"children":2990},{"style":2749},[2991],{"type":2457,"value":2906},{"type":2452,"tag":2546,"props":2993,"children":2995},{"class":2643,"line":2994},15,[2996],{"type":2452,"tag":2546,"props":2997,"children":2998},{"style":2749},[2999],{"type":2457,"value":3000},"  },\n",{"type":2452,"tag":2546,"props":3002,"children":3004},{"class":2643,"line":3003},16,[3005,3010],{"type":2452,"tag":2546,"props":3006,"children":3007},{"style":2749},[3008],{"type":2457,"value":3009},"}",{"type":2452,"tag":2546,"props":3011,"children":3012},{"style":2743},[3013],{"type":2457,"value":3014},")\n",{"type":2452,"tag":2459,"props":3016,"children":3017},{},[3018,3020,3027],{"type":2457,"value":3019},"For supported filesystem please refer to the ",{"type":2452,"tag":2463,"props":3021,"children":3024},{"href":3022,"rel":3023},"https:\u002F\u002Fpglite.dev\u002Fdocs\u002Ffilesystems",[2467],[3025],{"type":2457,"value":3026},"official documentation",{"type":2457,"value":2515},{"type":2452,"tag":2678,"props":3029,"children":3031},{"id":3030},"extensions",[3032],{"type":2457,"value":3033},"Extensions",{"type":2452,"tag":2459,"props":3035,"children":3036},{},[3037,3039,3044],{"type":2457,"value":3038},"Extensions are automatically configured with full type support and can be added via ",{"type":2452,"tag":2579,"props":3040,"children":3042},{"className":3041},[],[3043],{"type":2457,"value":244},{"type":2457,"value":2767},{"type":2452,"tag":2632,"props":3046,"children":3048},{"className":2714,"code":3047,"language":2716,"meta":2447,"style":2447},"export default defineNuxtConfig({\n  modules: ['nuxt-pglite'],\n\n  pglite: {\n    client: {\n      extensions: ['live', 'electricSync'],\n    },\n  },\n})\n",[3049],{"type":2452,"tag":2579,"props":3050,"children":3051},{"__ignoreMap":2447},[3052,3075,3110,3117,3132,3147,3201,3208,3215],{"type":2452,"tag":2546,"props":3053,"children":3054},{"class":2643,"line":2440},[3055,3059,3063,3067,3071],{"type":2452,"tag":2546,"props":3056,"children":3057},{"style":2726},[3058],{"type":2457,"value":2729},{"type":2452,"tag":2546,"props":3060,"children":3061},{"style":2726},[3062],{"type":2457,"value":2734},{"type":2452,"tag":2546,"props":3064,"children":3065},{"style":2737},[3066],{"type":2457,"value":2740},{"type":2452,"tag":2546,"props":3068,"children":3069},{"style":2743},[3070],{"type":2457,"value":2746},{"type":2452,"tag":2546,"props":3072,"children":3073},{"style":2749},[3074],{"type":2457,"value":2752},{"type":2452,"tag":2546,"props":3076,"children":3077},{"class":2643,"line":2755},[3078,3082,3086,3090,3094,3098,3102,3106],{"type":2452,"tag":2546,"props":3079,"children":3080},{"style":2759},[3081],{"type":2457,"value":2762},{"type":2452,"tag":2546,"props":3083,"children":3084},{"style":2749},[3085],{"type":2457,"value":2767},{"type":2452,"tag":2546,"props":3087,"children":3088},{"style":2743},[3089],{"type":2457,"value":2772},{"type":2452,"tag":2546,"props":3091,"children":3092},{"style":2749},[3093],{"type":2457,"value":2777},{"type":2452,"tag":2546,"props":3095,"children":3096},{"style":2653},[3097],{"type":2457,"value":2415},{"type":2452,"tag":2546,"props":3099,"children":3100},{"style":2749},[3101],{"type":2457,"value":2777},{"type":2452,"tag":2546,"props":3103,"children":3104},{"style":2743},[3105],{"type":2457,"value":2790},{"type":2452,"tag":2546,"props":3107,"children":3108},{"style":2749},[3109],{"type":2457,"value":2795},{"type":2452,"tag":2546,"props":3111,"children":3112},{"class":2643,"line":2798},[3113],{"type":2452,"tag":2546,"props":3114,"children":3115},{"emptyLinePlaceholder":2802},[3116],{"type":2457,"value":2805},{"type":2452,"tag":2546,"props":3118,"children":3119},{"class":2643,"line":2808},[3120,3124,3128],{"type":2452,"tag":2546,"props":3121,"children":3122},{"style":2759},[3123],{"type":2457,"value":2814},{"type":2452,"tag":2546,"props":3125,"children":3126},{"style":2749},[3127],{"type":2457,"value":2767},{"type":2452,"tag":2546,"props":3129,"children":3130},{"style":2749},[3131],{"type":2457,"value":2823},{"type":2452,"tag":2546,"props":3133,"children":3134},{"class":2643,"line":2826},[3135,3139,3143],{"type":2452,"tag":2546,"props":3136,"children":3137},{"style":2759},[3138],{"type":2457,"value":2832},{"type":2452,"tag":2546,"props":3140,"children":3141},{"style":2749},[3142],{"type":2457,"value":2767},{"type":2452,"tag":2546,"props":3144,"children":3145},{"style":2749},[3146],{"type":2457,"value":2823},{"type":2452,"tag":2546,"props":3148,"children":3149},{"class":2643,"line":2843},[3150,3155,3159,3163,3167,3172,3176,3180,3184,3189,3193,3197],{"type":2452,"tag":2546,"props":3151,"children":3152},{"style":2759},[3153],{"type":2457,"value":3154},"      extensions",{"type":2452,"tag":2546,"props":3156,"children":3157},{"style":2749},[3158],{"type":2457,"value":2767},{"type":2452,"tag":2546,"props":3160,"children":3161},{"style":2743},[3162],{"type":2457,"value":2772},{"type":2452,"tag":2546,"props":3164,"children":3165},{"style":2749},[3166],{"type":2457,"value":2777},{"type":2452,"tag":2546,"props":3168,"children":3169},{"style":2653},[3170],{"type":2457,"value":3171},"live",{"type":2452,"tag":2546,"props":3173,"children":3174},{"style":2749},[3175],{"type":2457,"value":2777},{"type":2452,"tag":2546,"props":3177,"children":3178},{"style":2749},[3179],{"type":2457,"value":2969},{"type":2452,"tag":2546,"props":3181,"children":3182},{"style":2749},[3183],{"type":2457,"value":2875},{"type":2452,"tag":2546,"props":3185,"children":3186},{"style":2653},[3187],{"type":2457,"value":3188},"electricSync",{"type":2452,"tag":2546,"props":3190,"children":3191},{"style":2749},[3192],{"type":2457,"value":2777},{"type":2452,"tag":2546,"props":3194,"children":3195},{"style":2743},[3196],{"type":2457,"value":2790},{"type":2452,"tag":2546,"props":3198,"children":3199},{"style":2749},[3200],{"type":2457,"value":2795},{"type":2452,"tag":2546,"props":3202,"children":3203},{"class":2643,"line":2860},[3204],{"type":2452,"tag":2546,"props":3205,"children":3206},{"style":2749},[3207],{"type":2457,"value":2906},{"type":2452,"tag":2546,"props":3209,"children":3210},{"class":2643,"line":2891},[3211],{"type":2452,"tag":2546,"props":3212,"children":3213},{"style":2749},[3214],{"type":2457,"value":3000},{"type":2452,"tag":2546,"props":3216,"children":3217},{"class":2643,"line":2900},[3218,3222],{"type":2452,"tag":2546,"props":3219,"children":3220},{"style":2749},[3221],{"type":2457,"value":3009},{"type":2452,"tag":2546,"props":3223,"children":3224},{"style":2743},[3225],{"type":2457,"value":3014},{"type":2452,"tag":2459,"props":3227,"children":3228},{},[3229,3231,3238,3240,3246],{"type":2457,"value":3230},"For a full list of available extensions please refer to ",{"type":2452,"tag":2463,"props":3232,"children":3235},{"href":3233,"rel":3234},"https:\u002F\u002Fpglite.dev\u002Fextensions",[2467],[3236],{"type":2457,"value":3237},"the official docs",{"type":2457,"value":3239},". If a new extension is missing feel free to open up a new PR by adding it to ",{"type":2452,"tag":2463,"props":3241,"children":3243},{"href":3242},"\u002Fsrc\u002Ftemplates.ts#L62-L87",[3244],{"type":2457,"value":3245},"this file",{"type":2457,"value":3247},". I do plan to support only official and contrib extensions.",{"type":2452,"tag":2565,"props":3249,"children":3251},{"id":3250},"live-queries",[3252],{"type":2457,"value":3253},"Live Queries",{"type":2452,"tag":2459,"props":3255,"children":3256},{},[3257],{"type":2457,"value":3258},"With Live Queries we can subscrive to events happening in the database and reactively update the user interface. This becomes particularly usefuly client-side thanks to Web Workers, allowing us to keep content in sync even when the user opens up multiple tabs.",{"type":2452,"tag":2459,"props":3260,"children":3261},{},[3262,3264,3269,3271,3276],{"type":2457,"value":3263},"To get started simply add ",{"type":2452,"tag":2579,"props":3265,"children":3267},{"className":3266},[],[3268],{"type":2457,"value":3171},{"type":2457,"value":3270}," extension to your ",{"type":2452,"tag":2579,"props":3272,"children":3274},{"className":3273},[],[3275],{"type":2457,"value":244},{"type":2457,"value":2767},{"type":2452,"tag":2632,"props":3278,"children":3280},{"className":2714,"code":3279,"language":2716,"meta":2447,"style":2447},"export default defineNuxtConfig({\n  modules: ['nuxt-pglite'],\n\n  pglite: {\n    client: {\n      extensions: [\n        \u002F\u002F ...\n        'live',\n      ],\n    },\n  },\n})\n",[3281],{"type":2452,"tag":2579,"props":3282,"children":3283},{"__ignoreMap":2447},[3284,3307,3342,3349,3364,3379,3395,3403,3423,3435,3442,3449],{"type":2452,"tag":2546,"props":3285,"children":3286},{"class":2643,"line":2440},[3287,3291,3295,3299,3303],{"type":2452,"tag":2546,"props":3288,"children":3289},{"style":2726},[3290],{"type":2457,"value":2729},{"type":2452,"tag":2546,"props":3292,"children":3293},{"style":2726},[3294],{"type":2457,"value":2734},{"type":2452,"tag":2546,"props":3296,"children":3297},{"style":2737},[3298],{"type":2457,"value":2740},{"type":2452,"tag":2546,"props":3300,"children":3301},{"style":2743},[3302],{"type":2457,"value":2746},{"type":2452,"tag":2546,"props":3304,"children":3305},{"style":2749},[3306],{"type":2457,"value":2752},{"type":2452,"tag":2546,"props":3308,"children":3309},{"class":2643,"line":2755},[3310,3314,3318,3322,3326,3330,3334,3338],{"type":2452,"tag":2546,"props":3311,"children":3312},{"style":2759},[3313],{"type":2457,"value":2762},{"type":2452,"tag":2546,"props":3315,"children":3316},{"style":2749},[3317],{"type":2457,"value":2767},{"type":2452,"tag":2546,"props":3319,"children":3320},{"style":2743},[3321],{"type":2457,"value":2772},{"type":2452,"tag":2546,"props":3323,"children":3324},{"style":2749},[3325],{"type":2457,"value":2777},{"type":2452,"tag":2546,"props":3327,"children":3328},{"style":2653},[3329],{"type":2457,"value":2415},{"type":2452,"tag":2546,"props":3331,"children":3332},{"style":2749},[3333],{"type":2457,"value":2777},{"type":2452,"tag":2546,"props":3335,"children":3336},{"style":2743},[3337],{"type":2457,"value":2790},{"type":2452,"tag":2546,"props":3339,"children":3340},{"style":2749},[3341],{"type":2457,"value":2795},{"type":2452,"tag":2546,"props":3343,"children":3344},{"class":2643,"line":2798},[3345],{"type":2452,"tag":2546,"props":3346,"children":3347},{"emptyLinePlaceholder":2802},[3348],{"type":2457,"value":2805},{"type":2452,"tag":2546,"props":3350,"children":3351},{"class":2643,"line":2808},[3352,3356,3360],{"type":2452,"tag":2546,"props":3353,"children":3354},{"style":2759},[3355],{"type":2457,"value":2814},{"type":2452,"tag":2546,"props":3357,"children":3358},{"style":2749},[3359],{"type":2457,"value":2767},{"type":2452,"tag":2546,"props":3361,"children":3362},{"style":2749},[3363],{"type":2457,"value":2823},{"type":2452,"tag":2546,"props":3365,"children":3366},{"class":2643,"line":2826},[3367,3371,3375],{"type":2452,"tag":2546,"props":3368,"children":3369},{"style":2759},[3370],{"type":2457,"value":2832},{"type":2452,"tag":2546,"props":3372,"children":3373},{"style":2749},[3374],{"type":2457,"value":2767},{"type":2452,"tag":2546,"props":3376,"children":3377},{"style":2749},[3378],{"type":2457,"value":2823},{"type":2452,"tag":2546,"props":3380,"children":3381},{"class":2643,"line":2843},[3382,3386,3390],{"type":2452,"tag":2546,"props":3383,"children":3384},{"style":2759},[3385],{"type":2457,"value":3154},{"type":2452,"tag":2546,"props":3387,"children":3388},{"style":2749},[3389],{"type":2457,"value":2767},{"type":2452,"tag":2546,"props":3391,"children":3392},{"style":2743},[3393],{"type":2457,"value":3394}," [\n",{"type":2452,"tag":2546,"props":3396,"children":3397},{"class":2643,"line":2860},[3398],{"type":2452,"tag":2546,"props":3399,"children":3400},{"style":2972},[3401],{"type":2457,"value":3402},"        \u002F\u002F ...\n",{"type":2452,"tag":2546,"props":3404,"children":3405},{"class":2643,"line":2891},[3406,3411,3415,3419],{"type":2452,"tag":2546,"props":3407,"children":3408},{"style":2749},[3409],{"type":2457,"value":3410},"        '",{"type":2452,"tag":2546,"props":3412,"children":3413},{"style":2653},[3414],{"type":2457,"value":3171},{"type":2452,"tag":2546,"props":3416,"children":3417},{"style":2749},[3418],{"type":2457,"value":2777},{"type":2452,"tag":2546,"props":3420,"children":3421},{"style":2749},[3422],{"type":2457,"value":2795},{"type":2452,"tag":2546,"props":3424,"children":3425},{"class":2643,"line":2900},[3426,3431],{"type":2452,"tag":2546,"props":3427,"children":3428},{"style":2743},[3429],{"type":2457,"value":3430},"      ]",{"type":2452,"tag":2546,"props":3432,"children":3433},{"style":2749},[3434],{"type":2457,"value":2795},{"type":2452,"tag":2546,"props":3436,"children":3437},{"class":2643,"line":2909},[3438],{"type":2452,"tag":2546,"props":3439,"children":3440},{"style":2749},[3441],{"type":2457,"value":2906},{"type":2452,"tag":2546,"props":3443,"children":3444},{"class":2643,"line":2926},[3445],{"type":2452,"tag":2546,"props":3446,"children":3447},{"style":2749},[3448],{"type":2457,"value":3000},{"type":2452,"tag":2546,"props":3450,"children":3451},{"class":2643,"line":2942},[3452,3456],{"type":2452,"tag":2546,"props":3453,"children":3454},{"style":2749},[3455],{"type":2457,"value":3009},{"type":2452,"tag":2546,"props":3457,"children":3458},{"style":2743},[3459],{"type":2457,"value":3014},{"type":2452,"tag":2459,"props":3461,"children":3462},{},[3463,3465,3470,3471,3476],{"type":2457,"value":3464},"This will enable auto-import for ",{"type":2452,"tag":2579,"props":3466,"children":3468},{"className":3467},[],[3469],{"type":2457,"value":2609},{"type":2457,"value":2611},{"type":2452,"tag":2579,"props":3472,"children":3474},{"className":3473},[],[3475],{"type":2457,"value":2617},{"type":2457,"value":3477},". The quick implementation would be:",{"type":2452,"tag":2632,"props":3479,"children":3483},{"className":3480,"code":3481,"language":3482,"meta":2447,"style":2447},"language-vue shiki shiki-themes material-theme-lighter material-theme-lighter material-theme-palenight","\u003Cscript setup lang=\"ts\">\nconst maxNumber = ref(100)\nconst items = useLiveQuery.sql`\n  SELECT *\n  FROM my_table\n  WHERE number \u003C= ${maxNumber.value}\n  ORDER BY number;\n`\n\u003C\u002Fscript>\n","vue",[3484],{"type":2452,"tag":2579,"props":3485,"children":3486},{"__ignoreMap":2447},[3487,3534,3570,3605,3613,3621,3653,3661,3668],{"type":2452,"tag":2546,"props":3488,"children":3489},{"class":2643,"line":2440},[3490,3495,3500,3506,3511,3516,3521,3525,3529],{"type":2452,"tag":2546,"props":3491,"children":3492},{"style":2749},[3493],{"type":2457,"value":3494},"\u003C",{"type":2452,"tag":2546,"props":3496,"children":3497},{"style":2759},[3498],{"type":2457,"value":3499},"script",{"type":2452,"tag":2546,"props":3501,"children":3503},{"style":3502},"--shiki-light:#9C3EDA;--shiki-default:#9C3EDA;--shiki-dark:#C792EA",[3504],{"type":2457,"value":3505}," setup",{"type":2452,"tag":2546,"props":3507,"children":3508},{"style":3502},[3509],{"type":2457,"value":3510}," lang",{"type":2452,"tag":2546,"props":3512,"children":3513},{"style":2749},[3514],{"type":2457,"value":3515},"=",{"type":2452,"tag":2546,"props":3517,"children":3518},{"style":2749},[3519],{"type":2457,"value":3520},"\"",{"type":2452,"tag":2546,"props":3522,"children":3523},{"style":2653},[3524],{"type":2457,"value":2716},{"type":2452,"tag":2546,"props":3526,"children":3527},{"style":2749},[3528],{"type":2457,"value":3520},{"type":2452,"tag":2546,"props":3530,"children":3531},{"style":2749},[3532],{"type":2457,"value":3533},">\n",{"type":2452,"tag":2546,"props":3535,"children":3536},{"class":2643,"line":2755},[3537,3542,3547,3551,3556,3560,3566],{"type":2452,"tag":2546,"props":3538,"children":3539},{"style":3502},[3540],{"type":2457,"value":3541},"const",{"type":2452,"tag":2546,"props":3543,"children":3544},{"style":2743},[3545],{"type":2457,"value":3546}," maxNumber ",{"type":2452,"tag":2546,"props":3548,"children":3549},{"style":2749},[3550],{"type":2457,"value":3515},{"type":2452,"tag":2546,"props":3552,"children":3553},{"style":2737},[3554],{"type":2457,"value":3555}," ref",{"type":2452,"tag":2546,"props":3557,"children":3558},{"style":2743},[3559],{"type":2457,"value":2746},{"type":2452,"tag":2546,"props":3561,"children":3563},{"style":3562},"--shiki-light:#F76D47;--shiki-default:#F76D47;--shiki-dark:#F78C6C",[3564],{"type":2457,"value":3565},"100",{"type":2452,"tag":2546,"props":3567,"children":3568},{"style":2743},[3569],{"type":2457,"value":3014},{"type":2452,"tag":2546,"props":3571,"children":3572},{"class":2643,"line":2798},[3573,3577,3582,3586,3591,3595,3600],{"type":2452,"tag":2546,"props":3574,"children":3575},{"style":3502},[3576],{"type":2457,"value":3541},{"type":2452,"tag":2546,"props":3578,"children":3579},{"style":2743},[3580],{"type":2457,"value":3581}," items ",{"type":2452,"tag":2546,"props":3583,"children":3584},{"style":2749},[3585],{"type":2457,"value":3515},{"type":2452,"tag":2546,"props":3587,"children":3588},{"style":2743},[3589],{"type":2457,"value":3590}," useLiveQuery",{"type":2452,"tag":2546,"props":3592,"children":3593},{"style":2749},[3594],{"type":2457,"value":2515},{"type":2452,"tag":2546,"props":3596,"children":3597},{"style":2737},[3598],{"type":2457,"value":3599},"sql",{"type":2452,"tag":2546,"props":3601,"children":3602},{"style":2749},[3603],{"type":2457,"value":3604},"`\n",{"type":2452,"tag":2546,"props":3606,"children":3607},{"class":2643,"line":2808},[3608],{"type":2452,"tag":2546,"props":3609,"children":3610},{"style":2653},[3611],{"type":2457,"value":3612},"  SELECT *\n",{"type":2452,"tag":2546,"props":3614,"children":3615},{"class":2643,"line":2826},[3616],{"type":2452,"tag":2546,"props":3617,"children":3618},{"style":2653},[3619],{"type":2457,"value":3620},"  FROM my_table\n",{"type":2452,"tag":2546,"props":3622,"children":3623},{"class":2643,"line":2843},[3624,3629,3634,3639,3643,3648],{"type":2452,"tag":2546,"props":3625,"children":3626},{"style":2653},[3627],{"type":2457,"value":3628},"  WHERE number \u003C= ",{"type":2452,"tag":2546,"props":3630,"children":3631},{"style":2749},[3632],{"type":2457,"value":3633},"${",{"type":2452,"tag":2546,"props":3635,"children":3636},{"style":2743},[3637],{"type":2457,"value":3638},"maxNumber",{"type":2452,"tag":2546,"props":3640,"children":3641},{"style":2749},[3642],{"type":2457,"value":2515},{"type":2452,"tag":2546,"props":3644,"children":3645},{"style":2743},[3646],{"type":2457,"value":3647},"value",{"type":2452,"tag":2546,"props":3649,"children":3650},{"style":2749},[3651],{"type":2457,"value":3652},"}\n",{"type":2452,"tag":2546,"props":3654,"children":3655},{"class":2643,"line":2860},[3656],{"type":2452,"tag":2546,"props":3657,"children":3658},{"style":2653},[3659],{"type":2457,"value":3660},"  ORDER BY number;\n",{"type":2452,"tag":2546,"props":3662,"children":3663},{"class":2643,"line":2891},[3664],{"type":2452,"tag":2546,"props":3665,"children":3666},{"style":2749},[3667],{"type":2457,"value":3604},{"type":2452,"tag":2546,"props":3669,"children":3670},{"class":2643,"line":2900},[3671,3676,3680],{"type":2452,"tag":2546,"props":3672,"children":3673},{"style":2749},[3674],{"type":2457,"value":3675},"\u003C\u002F",{"type":2452,"tag":2546,"props":3677,"children":3678},{"style":2759},[3679],{"type":2457,"value":3499},{"type":2452,"tag":2546,"props":3681,"children":3682},{"style":2749},[3683],{"type":2457,"value":3533},{"type":2452,"tag":2459,"props":3685,"children":3686},{},[3687,3689,3696],{"type":2457,"value":3688},"Live queries are currently a custom fork of the upstream implementation, which you can read more ",{"type":2452,"tag":2463,"props":3690,"children":3693},{"href":3691,"rel":3692},"https:\u002F\u002Fpglite.dev\u002Fdocs\u002Fframework-hooks\u002Fvue#uselivequery",[2467],[3694],{"type":2457,"value":3695},"here",{"type":2457,"value":2515},{"type":2452,"tag":2565,"props":3698,"children":3700},{"id":3699},"hooks",[3701],{"type":2457,"value":3702},"Hooks",{"type":2452,"tag":2459,"props":3704,"children":3705},{},[3706,3708,3719],{"type":2457,"value":3707},"We can use hooks to customize or extend PGlite at runtime. This becomes particularly useful in conjunction with ",{"type":2452,"tag":2463,"props":3709,"children":3712},{"href":3710,"rel":3711},"https:\u002F\u002Fwww.postgresql.org\u002Fdocs\u002Fcurrent\u002Fddl-rowsecurity.html",[2467],[3713],{"type":2452,"tag":2579,"props":3714,"children":3716},{"className":3715},[],[3717],{"type":2457,"value":3718},"RLS",{"type":2457,"value":3720}," or adding custom extensions server-side.",{"type":2452,"tag":2678,"props":3722,"children":3724},{"id":3723},"rls",[3725],{"type":2457,"value":3718},{"type":2452,"tag":2459,"props":3727,"children":3728},{},[3729,3731,3737,3739,3745],{"type":2457,"value":3730},"PGlite supports RLS out of the box, but being a single-user\u002Fsingle-connection database it is more frequent to be used only client side. Lets take in example a basic implementation with ",{"type":2452,"tag":2579,"props":3732,"children":3734},{"className":3733},[],[3735],{"type":2457,"value":3736},"nuxt-auth-utils",{"type":2457,"value":3738},". We'll need to create a client-only Nuxt plugin ",{"type":2452,"tag":2579,"props":3740,"children":3742},{"className":3741},[],[3743],{"type":2457,"value":3744},"\u002Fplugins\u002Frls.client.ts",{"type":2457,"value":2767},{"type":2452,"tag":2632,"props":3747,"children":3749},{"className":2714,"code":3748,"language":2716,"meta":2447,"style":2447},"export default defineNuxtPlugin((nuxtApp) => {\n  const { user } = useUserSession()\n\n  if (user) {\n    nuxtApp.hook('pglite:config', (options) => {\n      options.username = user.id\n    })\n  }\n})\n",[3750],{"type":2452,"tag":2579,"props":3751,"children":3752},{"__ignoreMap":2447},[3753,3797,3835,3842,3868,3927,3960,3972,3980],{"type":2452,"tag":2546,"props":3754,"children":3755},{"class":2643,"line":2440},[3756,3760,3764,3769,3773,3777,3783,3788,3793],{"type":2452,"tag":2546,"props":3757,"children":3758},{"style":2726},[3759],{"type":2457,"value":2729},{"type":2452,"tag":2546,"props":3761,"children":3762},{"style":2726},[3763],{"type":2457,"value":2734},{"type":2452,"tag":2546,"props":3765,"children":3766},{"style":2737},[3767],{"type":2457,"value":3768}," defineNuxtPlugin",{"type":2452,"tag":2546,"props":3770,"children":3771},{"style":2743},[3772],{"type":2457,"value":2746},{"type":2452,"tag":2546,"props":3774,"children":3775},{"style":2749},[3776],{"type":2457,"value":2746},{"type":2452,"tag":2546,"props":3778,"children":3780},{"style":3779},"--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#90A4AE;--shiki-default-font-style:italic;--shiki-dark:#BABED8;--shiki-dark-font-style:italic",[3781],{"type":2457,"value":3782},"nuxtApp",{"type":2452,"tag":2546,"props":3784,"children":3785},{"style":2749},[3786],{"type":2457,"value":3787},")",{"type":2452,"tag":2546,"props":3789,"children":3790},{"style":3502},[3791],{"type":2457,"value":3792}," =>",{"type":2452,"tag":2546,"props":3794,"children":3795},{"style":2749},[3796],{"type":2457,"value":2823},{"type":2452,"tag":2546,"props":3798,"children":3799},{"class":2643,"line":2755},[3800,3805,3810,3815,3820,3825,3830],{"type":2452,"tag":2546,"props":3801,"children":3802},{"style":3502},[3803],{"type":2457,"value":3804},"  const",{"type":2452,"tag":2546,"props":3806,"children":3807},{"style":2749},[3808],{"type":2457,"value":3809}," {",{"type":2452,"tag":2546,"props":3811,"children":3812},{"style":2743},[3813],{"type":2457,"value":3814}," user",{"type":2452,"tag":2546,"props":3816,"children":3817},{"style":2749},[3818],{"type":2457,"value":3819}," }",{"type":2452,"tag":2546,"props":3821,"children":3822},{"style":2749},[3823],{"type":2457,"value":3824}," =",{"type":2452,"tag":2546,"props":3826,"children":3827},{"style":2737},[3828],{"type":2457,"value":3829}," useUserSession",{"type":2452,"tag":2546,"props":3831,"children":3832},{"style":2759},[3833],{"type":2457,"value":3834},"()\n",{"type":2452,"tag":2546,"props":3836,"children":3837},{"class":2643,"line":2798},[3838],{"type":2452,"tag":2546,"props":3839,"children":3840},{"emptyLinePlaceholder":2802},[3841],{"type":2457,"value":2805},{"type":2452,"tag":2546,"props":3843,"children":3844},{"class":2643,"line":2808},[3845,3850,3854,3859,3864],{"type":2452,"tag":2546,"props":3846,"children":3847},{"style":2726},[3848],{"type":2457,"value":3849},"  if",{"type":2452,"tag":2546,"props":3851,"children":3852},{"style":2759},[3853],{"type":2457,"value":2703},{"type":2452,"tag":2546,"props":3855,"children":3856},{"style":2743},[3857],{"type":2457,"value":3858},"user",{"type":2452,"tag":2546,"props":3860,"children":3861},{"style":2759},[3862],{"type":2457,"value":3863},") ",{"type":2452,"tag":2546,"props":3865,"children":3866},{"style":2749},[3867],{"type":2457,"value":2752},{"type":2452,"tag":2546,"props":3869,"children":3870},{"class":2643,"line":2826},[3871,3876,3880,3885,3889,3893,3898,3902,3906,3910,3915,3919,3923],{"type":2452,"tag":2546,"props":3872,"children":3873},{"style":2743},[3874],{"type":2457,"value":3875},"    nuxtApp",{"type":2452,"tag":2546,"props":3877,"children":3878},{"style":2749},[3879],{"type":2457,"value":2515},{"type":2452,"tag":2546,"props":3881,"children":3882},{"style":2737},[3883],{"type":2457,"value":3884},"hook",{"type":2452,"tag":2546,"props":3886,"children":3887},{"style":2759},[3888],{"type":2457,"value":2746},{"type":2452,"tag":2546,"props":3890,"children":3891},{"style":2749},[3892],{"type":2457,"value":2777},{"type":2452,"tag":2546,"props":3894,"children":3895},{"style":2653},[3896],{"type":2457,"value":3897},"pglite:config",{"type":2452,"tag":2546,"props":3899,"children":3900},{"style":2749},[3901],{"type":2457,"value":2777},{"type":2452,"tag":2546,"props":3903,"children":3904},{"style":2749},[3905],{"type":2457,"value":2969},{"type":2452,"tag":2546,"props":3907,"children":3908},{"style":2749},[3909],{"type":2457,"value":2703},{"type":2452,"tag":2546,"props":3911,"children":3912},{"style":3779},[3913],{"type":2457,"value":3914},"options",{"type":2452,"tag":2546,"props":3916,"children":3917},{"style":2749},[3918],{"type":2457,"value":3787},{"type":2452,"tag":2546,"props":3920,"children":3921},{"style":3502},[3922],{"type":2457,"value":3792},{"type":2452,"tag":2546,"props":3924,"children":3925},{"style":2749},[3926],{"type":2457,"value":2823},{"type":2452,"tag":2546,"props":3928,"children":3929},{"class":2643,"line":2843},[3930,3934,3938,3943,3947,3951,3955],{"type":2452,"tag":2546,"props":3931,"children":3932},{"style":2743},[3933],{"type":2457,"value":2849},{"type":2452,"tag":2546,"props":3935,"children":3936},{"style":2749},[3937],{"type":2457,"value":2515},{"type":2452,"tag":2546,"props":3939,"children":3940},{"style":2743},[3941],{"type":2457,"value":3942},"username",{"type":2452,"tag":2546,"props":3944,"children":3945},{"style":2749},[3946],{"type":2457,"value":3824},{"type":2452,"tag":2546,"props":3948,"children":3949},{"style":2743},[3950],{"type":2457,"value":3814},{"type":2452,"tag":2546,"props":3952,"children":3953},{"style":2749},[3954],{"type":2457,"value":2515},{"type":2452,"tag":2546,"props":3956,"children":3957},{"style":2743},[3958],{"type":2457,"value":3959},"id\n",{"type":2452,"tag":2546,"props":3961,"children":3962},{"class":2643,"line":2860},[3963,3968],{"type":2452,"tag":2546,"props":3964,"children":3965},{"style":2749},[3966],{"type":2457,"value":3967},"    }",{"type":2452,"tag":2546,"props":3969,"children":3970},{"style":2759},[3971],{"type":2457,"value":3014},{"type":2452,"tag":2546,"props":3973,"children":3974},{"class":2643,"line":2891},[3975],{"type":2452,"tag":2546,"props":3976,"children":3977},{"style":2749},[3978],{"type":2457,"value":3979},"  }\n",{"type":2452,"tag":2546,"props":3981,"children":3982},{"class":2643,"line":2900},[3983,3987],{"type":2452,"tag":2546,"props":3984,"children":3985},{"style":2749},[3986],{"type":2457,"value":3009},{"type":2452,"tag":2546,"props":3988,"children":3989},{"style":2743},[3990],{"type":2457,"value":3014},{"type":2452,"tag":2459,"props":3992,"children":3993},{},[3994,3996,4007],{"type":2457,"value":3995},"This, in combination with ",{"type":2452,"tag":2463,"props":3997,"children":4000},{"href":3998,"rel":3999},"https:\u002F\u002Fpglite.dev\u002Fdocs\u002Fsync",[2467],[4001],{"type":2452,"tag":2579,"props":4002,"children":4004},{"className":4003},[],[4005],{"type":2457,"value":4006},"Sync",{"type":2457,"value":4008},", will make us able to create an offline-first application with the ability for the users to save their data in a centralized postgres instance.",{"type":2452,"tag":2678,"props":4010,"children":4012},{"id":4011},"customizing-extensions",[4013],{"type":2457,"value":4014},"Customizing extensions",{"type":2452,"tag":2459,"props":4016,"children":4017},{},[4018,4020,4029],{"type":2457,"value":4019},"We can also use hooks to pass custom options to extensions like ",{"type":2452,"tag":2463,"props":4021,"children":4023},{"href":3998,"rel":4022},[2467],[4024],{"type":2452,"tag":2579,"props":4025,"children":4027},{"className":4026},[],[4028],{"type":2457,"value":4006},{"type":2457,"value":4030}," as well as improve typing for the whole project.",{"type":2452,"tag":2459,"props":4032,"children":4033},{},[4034,4036,4042,4044,4050,4051,4056],{"type":2457,"value":4035},"In the following example we are creating a ",{"type":2452,"tag":2579,"props":4037,"children":4039},{"className":4038},[],[4040],{"type":2457,"value":4041},"\u002Fserver\u002Fplugins\u002Fextend-pglite.ts",{"type":2457,"value":4043}," plugin that adds and configure ",{"type":2452,"tag":2579,"props":4045,"children":4047},{"className":4046},[],[4048],{"type":2457,"value":4049},"pgvector",{"type":2457,"value":2611},{"type":2452,"tag":2579,"props":4052,"children":4054},{"className":4053},[],[4055],{"type":2457,"value":4006},{"type":2457,"value":2767},{"type":2452,"tag":2632,"props":4058,"children":4060},{"className":2714,"code":4059,"language":2716,"meta":2447,"style":2447},"import { vector } from '@electric-sql\u002Fpglite\u002Fvector'\nimport { electricSync } from '@electric-sql\u002Fpglite-sync'\n\nexport default defineNitroPlugin((nitro) => {\n  nitro.hooks.hook('pglite:config', (options) => {\n    options.extensions = {\n      vector,\n      electric: electricSync({\n        metadataSchema: 'my-electric',\n      }),\n    }\n  })\n\n  nitro.hooks.hook('pglite:init', async (pg) => {\n    await pg.query('CREATE EXTENSION IF NOT EXISTS vector;')\n  })\n})\n\n\u002F\u002F Improve typing for server-side extensions\ndeclare module '#pglite-utils' {\n  interface PGliteServerExtensions {\n    vector: typeof vector\n    electric: ReturnType\u003Ctypeof electricSync>\n  }\n}\n",[4061],{"type":2452,"tag":2579,"props":4062,"children":4063},{"__ignoreMap":2447},[4064,4104,4141,4148,4189,4253,4277,4289,4313,4342,4358,4366,4378,4385,4455,4498,4509,4521,4529,4538,4568,4586,4609,4640,4648],{"type":2452,"tag":2546,"props":4065,"children":4066},{"class":2643,"line":2440},[4067,4072,4076,4081,4085,4090,4094,4099],{"type":2452,"tag":2546,"props":4068,"children":4069},{"style":2726},[4070],{"type":2457,"value":4071},"import",{"type":2452,"tag":2546,"props":4073,"children":4074},{"style":2749},[4075],{"type":2457,"value":3809},{"type":2452,"tag":2546,"props":4077,"children":4078},{"style":2743},[4079],{"type":2457,"value":4080}," vector",{"type":2452,"tag":2546,"props":4082,"children":4083},{"style":2749},[4084],{"type":2457,"value":3819},{"type":2452,"tag":2546,"props":4086,"children":4087},{"style":2726},[4088],{"type":2457,"value":4089}," from",{"type":2452,"tag":2546,"props":4091,"children":4092},{"style":2749},[4093],{"type":2457,"value":2875},{"type":2452,"tag":2546,"props":4095,"children":4096},{"style":2653},[4097],{"type":2457,"value":4098},"@electric-sql\u002Fpglite\u002Fvector",{"type":2452,"tag":2546,"props":4100,"children":4101},{"style":2749},[4102],{"type":2457,"value":4103},"'\n",{"type":2452,"tag":2546,"props":4105,"children":4106},{"class":2643,"line":2755},[4107,4111,4115,4120,4124,4128,4132,4137],{"type":2452,"tag":2546,"props":4108,"children":4109},{"style":2726},[4110],{"type":2457,"value":4071},{"type":2452,"tag":2546,"props":4112,"children":4113},{"style":2749},[4114],{"type":2457,"value":3809},{"type":2452,"tag":2546,"props":4116,"children":4117},{"style":2743},[4118],{"type":2457,"value":4119}," electricSync",{"type":2452,"tag":2546,"props":4121,"children":4122},{"style":2749},[4123],{"type":2457,"value":3819},{"type":2452,"tag":2546,"props":4125,"children":4126},{"style":2726},[4127],{"type":2457,"value":4089},{"type":2452,"tag":2546,"props":4129,"children":4130},{"style":2749},[4131],{"type":2457,"value":2875},{"type":2452,"tag":2546,"props":4133,"children":4134},{"style":2653},[4135],{"type":2457,"value":4136},"@electric-sql\u002Fpglite-sync",{"type":2452,"tag":2546,"props":4138,"children":4139},{"style":2749},[4140],{"type":2457,"value":4103},{"type":2452,"tag":2546,"props":4142,"children":4143},{"class":2643,"line":2798},[4144],{"type":2452,"tag":2546,"props":4145,"children":4146},{"emptyLinePlaceholder":2802},[4147],{"type":2457,"value":2805},{"type":2452,"tag":2546,"props":4149,"children":4150},{"class":2643,"line":2808},[4151,4155,4159,4164,4168,4172,4177,4181,4185],{"type":2452,"tag":2546,"props":4152,"children":4153},{"style":2726},[4154],{"type":2457,"value":2729},{"type":2452,"tag":2546,"props":4156,"children":4157},{"style":2726},[4158],{"type":2457,"value":2734},{"type":2452,"tag":2546,"props":4160,"children":4161},{"style":2737},[4162],{"type":2457,"value":4163}," defineNitroPlugin",{"type":2452,"tag":2546,"props":4165,"children":4166},{"style":2743},[4167],{"type":2457,"value":2746},{"type":2452,"tag":2546,"props":4169,"children":4170},{"style":2749},[4171],{"type":2457,"value":2746},{"type":2452,"tag":2546,"props":4173,"children":4174},{"style":3779},[4175],{"type":2457,"value":4176},"nitro",{"type":2452,"tag":2546,"props":4178,"children":4179},{"style":2749},[4180],{"type":2457,"value":3787},{"type":2452,"tag":2546,"props":4182,"children":4183},{"style":3502},[4184],{"type":2457,"value":3792},{"type":2452,"tag":2546,"props":4186,"children":4187},{"style":2749},[4188],{"type":2457,"value":2823},{"type":2452,"tag":2546,"props":4190,"children":4191},{"class":2643,"line":2826},[4192,4197,4201,4205,4209,4213,4217,4221,4225,4229,4233,4237,4241,4245,4249],{"type":2452,"tag":2546,"props":4193,"children":4194},{"style":2743},[4195],{"type":2457,"value":4196},"  nitro",{"type":2452,"tag":2546,"props":4198,"children":4199},{"style":2749},[4200],{"type":2457,"value":2515},{"type":2452,"tag":2546,"props":4202,"children":4203},{"style":2743},[4204],{"type":2457,"value":3699},{"type":2452,"tag":2546,"props":4206,"children":4207},{"style":2749},[4208],{"type":2457,"value":2515},{"type":2452,"tag":2546,"props":4210,"children":4211},{"style":2737},[4212],{"type":2457,"value":3884},{"type":2452,"tag":2546,"props":4214,"children":4215},{"style":2759},[4216],{"type":2457,"value":2746},{"type":2452,"tag":2546,"props":4218,"children":4219},{"style":2749},[4220],{"type":2457,"value":2777},{"type":2452,"tag":2546,"props":4222,"children":4223},{"style":2653},[4224],{"type":2457,"value":3897},{"type":2452,"tag":2546,"props":4226,"children":4227},{"style":2749},[4228],{"type":2457,"value":2777},{"type":2452,"tag":2546,"props":4230,"children":4231},{"style":2749},[4232],{"type":2457,"value":2969},{"type":2452,"tag":2546,"props":4234,"children":4235},{"style":2749},[4236],{"type":2457,"value":2703},{"type":2452,"tag":2546,"props":4238,"children":4239},{"style":3779},[4240],{"type":2457,"value":3914},{"type":2452,"tag":2546,"props":4242,"children":4243},{"style":2749},[4244],{"type":2457,"value":3787},{"type":2452,"tag":2546,"props":4246,"children":4247},{"style":3502},[4248],{"type":2457,"value":3792},{"type":2452,"tag":2546,"props":4250,"children":4251},{"style":2749},[4252],{"type":2457,"value":2823},{"type":2452,"tag":2546,"props":4254,"children":4255},{"class":2643,"line":2843},[4256,4261,4265,4269,4273],{"type":2452,"tag":2546,"props":4257,"children":4258},{"style":2743},[4259],{"type":2457,"value":4260},"    options",{"type":2452,"tag":2546,"props":4262,"children":4263},{"style":2749},[4264],{"type":2457,"value":2515},{"type":2452,"tag":2546,"props":4266,"children":4267},{"style":2743},[4268],{"type":2457,"value":3030},{"type":2452,"tag":2546,"props":4270,"children":4271},{"style":2749},[4272],{"type":2457,"value":3824},{"type":2452,"tag":2546,"props":4274,"children":4275},{"style":2749},[4276],{"type":2457,"value":2823},{"type":2452,"tag":2546,"props":4278,"children":4279},{"class":2643,"line":2860},[4280,4285],{"type":2452,"tag":2546,"props":4281,"children":4282},{"style":2743},[4283],{"type":2457,"value":4284},"      vector",{"type":2452,"tag":2546,"props":4286,"children":4287},{"style":2749},[4288],{"type":2457,"value":2795},{"type":2452,"tag":2546,"props":4290,"children":4291},{"class":2643,"line":2891},[4292,4297,4301,4305,4309],{"type":2452,"tag":2546,"props":4293,"children":4294},{"style":2759},[4295],{"type":2457,"value":4296},"      electric",{"type":2452,"tag":2546,"props":4298,"children":4299},{"style":2749},[4300],{"type":2457,"value":2767},{"type":2452,"tag":2546,"props":4302,"children":4303},{"style":2737},[4304],{"type":2457,"value":4119},{"type":2452,"tag":2546,"props":4306,"children":4307},{"style":2759},[4308],{"type":2457,"value":2746},{"type":2452,"tag":2546,"props":4310,"children":4311},{"style":2749},[4312],{"type":2457,"value":2752},{"type":2452,"tag":2546,"props":4314,"children":4315},{"class":2643,"line":2900},[4316,4321,4325,4329,4334,4338],{"type":2452,"tag":2546,"props":4317,"children":4318},{"style":2759},[4319],{"type":2457,"value":4320},"        metadataSchema",{"type":2452,"tag":2546,"props":4322,"children":4323},{"style":2749},[4324],{"type":2457,"value":2767},{"type":2452,"tag":2546,"props":4326,"children":4327},{"style":2749},[4328],{"type":2457,"value":2875},{"type":2452,"tag":2546,"props":4330,"children":4331},{"style":2653},[4332],{"type":2457,"value":4333},"my-electric",{"type":2452,"tag":2546,"props":4335,"children":4336},{"style":2749},[4337],{"type":2457,"value":2777},{"type":2452,"tag":2546,"props":4339,"children":4340},{"style":2749},[4341],{"type":2457,"value":2795},{"type":2452,"tag":2546,"props":4343,"children":4344},{"class":2643,"line":2909},[4345,4350,4354],{"type":2452,"tag":2546,"props":4346,"children":4347},{"style":2749},[4348],{"type":2457,"value":4349},"      }",{"type":2452,"tag":2546,"props":4351,"children":4352},{"style":2759},[4353],{"type":2457,"value":3787},{"type":2452,"tag":2546,"props":4355,"children":4356},{"style":2749},[4357],{"type":2457,"value":2795},{"type":2452,"tag":2546,"props":4359,"children":4360},{"class":2643,"line":2926},[4361],{"type":2452,"tag":2546,"props":4362,"children":4363},{"style":2749},[4364],{"type":2457,"value":4365},"    }\n",{"type":2452,"tag":2546,"props":4367,"children":4368},{"class":2643,"line":2942},[4369,4374],{"type":2452,"tag":2546,"props":4370,"children":4371},{"style":2749},[4372],{"type":2457,"value":4373},"  }",{"type":2452,"tag":2546,"props":4375,"children":4376},{"style":2759},[4377],{"type":2457,"value":3014},{"type":2452,"tag":2546,"props":4379,"children":4380},{"class":2643,"line":2978},[4381],{"type":2452,"tag":2546,"props":4382,"children":4383},{"emptyLinePlaceholder":2802},[4384],{"type":2457,"value":2805},{"type":2452,"tag":2546,"props":4386,"children":4387},{"class":2643,"line":2986},[4388,4392,4396,4400,4404,4408,4412,4416,4421,4425,4429,4434,4438,4443,4447,4451],{"type":2452,"tag":2546,"props":4389,"children":4390},{"style":2743},[4391],{"type":2457,"value":4196},{"type":2452,"tag":2546,"props":4393,"children":4394},{"style":2749},[4395],{"type":2457,"value":2515},{"type":2452,"tag":2546,"props":4397,"children":4398},{"style":2743},[4399],{"type":2457,"value":3699},{"type":2452,"tag":2546,"props":4401,"children":4402},{"style":2749},[4403],{"type":2457,"value":2515},{"type":2452,"tag":2546,"props":4405,"children":4406},{"style":2737},[4407],{"type":2457,"value":3884},{"type":2452,"tag":2546,"props":4409,"children":4410},{"style":2759},[4411],{"type":2457,"value":2746},{"type":2452,"tag":2546,"props":4413,"children":4414},{"style":2749},[4415],{"type":2457,"value":2777},{"type":2452,"tag":2546,"props":4417,"children":4418},{"style":2653},[4419],{"type":2457,"value":4420},"pglite:init",{"type":2452,"tag":2546,"props":4422,"children":4423},{"style":2749},[4424],{"type":2457,"value":2777},{"type":2452,"tag":2546,"props":4426,"children":4427},{"style":2749},[4428],{"type":2457,"value":2969},{"type":2452,"tag":2546,"props":4430,"children":4431},{"style":3502},[4432],{"type":2457,"value":4433}," async",{"type":2452,"tag":2546,"props":4435,"children":4436},{"style":2749},[4437],{"type":2457,"value":2703},{"type":2452,"tag":2546,"props":4439,"children":4440},{"style":3779},[4441],{"type":2457,"value":4442},"pg",{"type":2452,"tag":2546,"props":4444,"children":4445},{"style":2749},[4446],{"type":2457,"value":3787},{"type":2452,"tag":2546,"props":4448,"children":4449},{"style":3502},[4450],{"type":2457,"value":3792},{"type":2452,"tag":2546,"props":4452,"children":4453},{"style":2749},[4454],{"type":2457,"value":2823},{"type":2452,"tag":2546,"props":4456,"children":4457},{"class":2643,"line":2994},[4458,4463,4468,4472,4477,4481,4485,4490,4494],{"type":2452,"tag":2546,"props":4459,"children":4460},{"style":2726},[4461],{"type":2457,"value":4462},"    await",{"type":2452,"tag":2546,"props":4464,"children":4465},{"style":2743},[4466],{"type":2457,"value":4467}," pg",{"type":2452,"tag":2546,"props":4469,"children":4470},{"style":2749},[4471],{"type":2457,"value":2515},{"type":2452,"tag":2546,"props":4473,"children":4474},{"style":2737},[4475],{"type":2457,"value":4476},"query",{"type":2452,"tag":2546,"props":4478,"children":4479},{"style":2759},[4480],{"type":2457,"value":2746},{"type":2452,"tag":2546,"props":4482,"children":4483},{"style":2749},[4484],{"type":2457,"value":2777},{"type":2452,"tag":2546,"props":4486,"children":4487},{"style":2653},[4488],{"type":2457,"value":4489},"CREATE EXTENSION IF NOT EXISTS vector;",{"type":2452,"tag":2546,"props":4491,"children":4492},{"style":2749},[4493],{"type":2457,"value":2777},{"type":2452,"tag":2546,"props":4495,"children":4496},{"style":2759},[4497],{"type":2457,"value":3014},{"type":2452,"tag":2546,"props":4499,"children":4500},{"class":2643,"line":3003},[4501,4505],{"type":2452,"tag":2546,"props":4502,"children":4503},{"style":2749},[4504],{"type":2457,"value":4373},{"type":2452,"tag":2546,"props":4506,"children":4507},{"style":2759},[4508],{"type":2457,"value":3014},{"type":2452,"tag":2546,"props":4510,"children":4512},{"class":2643,"line":4511},17,[4513,4517],{"type":2452,"tag":2546,"props":4514,"children":4515},{"style":2749},[4516],{"type":2457,"value":3009},{"type":2452,"tag":2546,"props":4518,"children":4519},{"style":2743},[4520],{"type":2457,"value":3014},{"type":2452,"tag":2546,"props":4522,"children":4524},{"class":2643,"line":4523},18,[4525],{"type":2452,"tag":2546,"props":4526,"children":4527},{"emptyLinePlaceholder":2802},[4528],{"type":2457,"value":2805},{"type":2452,"tag":2546,"props":4530,"children":4532},{"class":2643,"line":4531},19,[4533],{"type":2452,"tag":2546,"props":4534,"children":4535},{"style":2972},[4536],{"type":2457,"value":4537},"\u002F\u002F Improve typing for server-side extensions\n",{"type":2452,"tag":2546,"props":4539,"children":4541},{"class":2643,"line":4540},20,[4542,4547,4551,4555,4560,4564],{"type":2452,"tag":2546,"props":4543,"children":4544},{"style":3502},[4545],{"type":2457,"value":4546},"declare",{"type":2452,"tag":2546,"props":4548,"children":4549},{"style":3502},[4550],{"type":2457,"value":2661},{"type":2452,"tag":2546,"props":4552,"children":4553},{"style":2749},[4554],{"type":2457,"value":2875},{"type":2452,"tag":2546,"props":4556,"children":4557},{"style":2653},[4558],{"type":2457,"value":4559},"#pglite-utils",{"type":2452,"tag":2546,"props":4561,"children":4562},{"style":2749},[4563],{"type":2457,"value":2777},{"type":2452,"tag":2546,"props":4565,"children":4566},{"style":2749},[4567],{"type":2457,"value":2823},{"type":2452,"tag":2546,"props":4569,"children":4571},{"class":2643,"line":4570},21,[4572,4577,4582],{"type":2452,"tag":2546,"props":4573,"children":4574},{"style":3502},[4575],{"type":2457,"value":4576},"  interface",{"type":2452,"tag":2546,"props":4578,"children":4579},{"style":2647},[4580],{"type":2457,"value":4581}," PGliteServerExtensions",{"type":2452,"tag":2546,"props":4583,"children":4584},{"style":2749},[4585],{"type":2457,"value":2823},{"type":2452,"tag":2546,"props":4587,"children":4589},{"class":2643,"line":4588},22,[4590,4595,4599,4604],{"type":2452,"tag":2546,"props":4591,"children":4592},{"style":2759},[4593],{"type":2457,"value":4594},"    vector",{"type":2452,"tag":2546,"props":4596,"children":4597},{"style":2749},[4598],{"type":2457,"value":2767},{"type":2452,"tag":2546,"props":4600,"children":4601},{"style":2749},[4602],{"type":2457,"value":4603}," typeof",{"type":2452,"tag":2546,"props":4605,"children":4606},{"style":2743},[4607],{"type":2457,"value":4608}," vector\n",{"type":2452,"tag":2546,"props":4610,"children":4612},{"class":2643,"line":4611},23,[4613,4618,4622,4627,4632,4636],{"type":2452,"tag":2546,"props":4614,"children":4615},{"style":2759},[4616],{"type":2457,"value":4617},"    electric",{"type":2452,"tag":2546,"props":4619,"children":4620},{"style":2749},[4621],{"type":2457,"value":2767},{"type":2452,"tag":2546,"props":4623,"children":4624},{"style":2647},[4625],{"type":2457,"value":4626}," ReturnType",{"type":2452,"tag":2546,"props":4628,"children":4629},{"style":2749},[4630],{"type":2457,"value":4631},"\u003Ctypeof",{"type":2452,"tag":2546,"props":4633,"children":4634},{"style":2743},[4635],{"type":2457,"value":4119},{"type":2452,"tag":2546,"props":4637,"children":4638},{"style":2749},[4639],{"type":2457,"value":3533},{"type":2452,"tag":2546,"props":4641,"children":4643},{"class":2643,"line":4642},24,[4644],{"type":2452,"tag":2546,"props":4645,"children":4646},{"style":2749},[4647],{"type":2457,"value":3979},{"type":2452,"tag":2546,"props":4649,"children":4651},{"class":2643,"line":4650},25,[4652],{"type":2452,"tag":2546,"props":4653,"children":4654},{"style":2749},[4655],{"type":2457,"value":3652},{"type":2452,"tag":2517,"props":4657,"children":4658},{},[4659],{"type":2452,"tag":2459,"props":4660,"children":4661},{},[4662,4666,4669],{"type":2452,"tag":2546,"props":4663,"children":4664},{},[4665],{"type":2457,"value":2550},{"type":2452,"tag":2552,"props":4667,"children":4668},{},[],{"type":2457,"value":4670},"\nThis is currently the only way to type server-side extensions.",{"type":2452,"tag":2678,"props":4672,"children":4674},{"id":4673},"hooking-notes",[4675],{"type":2457,"value":4676},"Hooking Notes",{"type":2452,"tag":2459,"props":4678,"children":4679},{},[4680],{"type":2457,"value":4681},"A few things to consider are that:",{"type":2452,"tag":2526,"props":4683,"children":4684},{},[4685,4736],{"type":2452,"tag":2530,"props":4686,"children":4687},{},[4688,4690,4695,4697,4703,4705],{"type":2457,"value":4689},"we rely on ",{"type":2452,"tag":2579,"props":4691,"children":4693},{"className":4692},[],[4694],{"type":2457,"value":3782},{"type":2457,"value":4696}," hooks for client-side, while ",{"type":2452,"tag":2579,"props":4698,"children":4700},{"className":4699},[],[4701],{"type":2457,"value":4702},"nitroApp",{"type":2457,"value":4704}," for server-side, hooks available are:\n",{"type":2452,"tag":2526,"props":4706,"children":4707},{},[4708,4726],{"type":2452,"tag":2530,"props":4709,"children":4710},{},[4711,4716,4718,4724],{"type":2452,"tag":2579,"props":4712,"children":4714},{"className":4713},[],[4715],{"type":2457,"value":3897},{"type":2457,"value":4717},": provides access to ",{"type":2452,"tag":2579,"props":4719,"children":4721},{"className":4720},[],[4722],{"type":2457,"value":4723},"PGliteOptions",{"type":2457,"value":4725}," before initializing a new PGlite instance.",{"type":2452,"tag":2530,"props":4727,"children":4728},{},[4729,4734],{"type":2452,"tag":2579,"props":4730,"children":4732},{"className":4731},[],[4733],{"type":2457,"value":4420},{"type":2457,"value":4735},": provides access to the initialized PGlite instance.",{"type":2452,"tag":2530,"props":4737,"children":4738},{},[4739,4741,4747,4748,4754],{"type":2457,"value":4740},"To improve types when manually adding extensions we use ",{"type":2452,"tag":2579,"props":4742,"children":4744},{"className":4743},[],[4745],{"type":2457,"value":4746},"PGliteClientExtensions",{"type":2457,"value":2611},{"type":2452,"tag":2579,"props":4749,"children":4751},{"className":4750},[],[4752],{"type":2457,"value":4753},"PGliteServerExtensions",{"type":2457,"value":4755}," for client and server respectively.",{"type":2452,"tag":2565,"props":4757,"children":4759},{"id":4758},"orm-support",[4760],{"type":2457,"value":4761},"ORM support",{"type":2452,"tag":2459,"props":4763,"children":4764},{},[4765],{"type":2457,"value":4766},"Any ORM that accept a PGlite or PGliteWorker instances should be supported both server and client side.",{"type":2452,"tag":2678,"props":4768,"children":4770},{"id":4769},"drizzle",[4771],{"type":2457,"value":4772},"Drizzle",{"type":2452,"tag":2459,"props":4774,"children":4775},{},[4776],{"type":2457,"value":4777},"Drizzle integration for server-side is as simple as:",{"type":2452,"tag":2632,"props":4779,"children":4781},{"className":2714,"code":4780,"language":2716,"meta":2447,"style":2447},"import { drizzle } from 'drizzle-orm\u002Fpglite'\nimport * as schema from '..\u002Fmy-path-to\u002Fschema'\n\nexport function useDB() {\n  const pg = await usePGlite()\n  return drizzle(pg, { schema })\n}\n",[4782],{"type":2452,"tag":2579,"props":4783,"children":4784},{"__ignoreMap":2447},[4785,4822,4862,4869,4895,4924,4965],{"type":2452,"tag":2546,"props":4786,"children":4787},{"class":2643,"line":2440},[4788,4792,4796,4801,4805,4809,4813,4818],{"type":2452,"tag":2546,"props":4789,"children":4790},{"style":2726},[4791],{"type":2457,"value":4071},{"type":2452,"tag":2546,"props":4793,"children":4794},{"style":2749},[4795],{"type":2457,"value":3809},{"type":2452,"tag":2546,"props":4797,"children":4798},{"style":2743},[4799],{"type":2457,"value":4800}," drizzle",{"type":2452,"tag":2546,"props":4802,"children":4803},{"style":2749},[4804],{"type":2457,"value":3819},{"type":2452,"tag":2546,"props":4806,"children":4807},{"style":2726},[4808],{"type":2457,"value":4089},{"type":2452,"tag":2546,"props":4810,"children":4811},{"style":2749},[4812],{"type":2457,"value":2875},{"type":2452,"tag":2546,"props":4814,"children":4815},{"style":2653},[4816],{"type":2457,"value":4817},"drizzle-orm\u002Fpglite",{"type":2452,"tag":2546,"props":4819,"children":4820},{"style":2749},[4821],{"type":2457,"value":4103},{"type":2452,"tag":2546,"props":4823,"children":4824},{"class":2643,"line":2755},[4825,4829,4834,4839,4844,4849,4853,4858],{"type":2452,"tag":2546,"props":4826,"children":4827},{"style":2726},[4828],{"type":2457,"value":4071},{"type":2452,"tag":2546,"props":4830,"children":4831},{"style":2749},[4832],{"type":2457,"value":4833}," *",{"type":2452,"tag":2546,"props":4835,"children":4836},{"style":2726},[4837],{"type":2457,"value":4838}," as",{"type":2452,"tag":2546,"props":4840,"children":4841},{"style":2743},[4842],{"type":2457,"value":4843}," schema ",{"type":2452,"tag":2546,"props":4845,"children":4846},{"style":2726},[4847],{"type":2457,"value":4848},"from",{"type":2452,"tag":2546,"props":4850,"children":4851},{"style":2749},[4852],{"type":2457,"value":2875},{"type":2452,"tag":2546,"props":4854,"children":4855},{"style":2653},[4856],{"type":2457,"value":4857},"..\u002Fmy-path-to\u002Fschema",{"type":2452,"tag":2546,"props":4859,"children":4860},{"style":2749},[4861],{"type":2457,"value":4103},{"type":2452,"tag":2546,"props":4863,"children":4864},{"class":2643,"line":2798},[4865],{"type":2452,"tag":2546,"props":4866,"children":4867},{"emptyLinePlaceholder":2802},[4868],{"type":2457,"value":2805},{"type":2452,"tag":2546,"props":4870,"children":4871},{"class":2643,"line":2808},[4872,4876,4881,4886,4891],{"type":2452,"tag":2546,"props":4873,"children":4874},{"style":2726},[4875],{"type":2457,"value":2729},{"type":2452,"tag":2546,"props":4877,"children":4878},{"style":3502},[4879],{"type":2457,"value":4880}," function",{"type":2452,"tag":2546,"props":4882,"children":4883},{"style":2737},[4884],{"type":2457,"value":4885}," useDB",{"type":2452,"tag":2546,"props":4887,"children":4888},{"style":2749},[4889],{"type":2457,"value":4890},"()",{"type":2452,"tag":2546,"props":4892,"children":4893},{"style":2749},[4894],{"type":2457,"value":2823},{"type":2452,"tag":2546,"props":4896,"children":4897},{"class":2643,"line":2826},[4898,4902,4906,4910,4915,4920],{"type":2452,"tag":2546,"props":4899,"children":4900},{"style":3502},[4901],{"type":2457,"value":3804},{"type":2452,"tag":2546,"props":4903,"children":4904},{"style":2743},[4905],{"type":2457,"value":4467},{"type":2452,"tag":2546,"props":4907,"children":4908},{"style":2749},[4909],{"type":2457,"value":3824},{"type":2452,"tag":2546,"props":4911,"children":4912},{"style":2726},[4913],{"type":2457,"value":4914}," await",{"type":2452,"tag":2546,"props":4916,"children":4917},{"style":2737},[4918],{"type":2457,"value":4919}," usePGlite",{"type":2452,"tag":2546,"props":4921,"children":4922},{"style":2759},[4923],{"type":2457,"value":3834},{"type":2452,"tag":2546,"props":4925,"children":4926},{"class":2643,"line":2843},[4927,4932,4936,4940,4944,4948,4952,4957,4961],{"type":2452,"tag":2546,"props":4928,"children":4929},{"style":2726},[4930],{"type":2457,"value":4931},"  return",{"type":2452,"tag":2546,"props":4933,"children":4934},{"style":2737},[4935],{"type":2457,"value":4800},{"type":2452,"tag":2546,"props":4937,"children":4938},{"style":2759},[4939],{"type":2457,"value":2746},{"type":2452,"tag":2546,"props":4941,"children":4942},{"style":2743},[4943],{"type":2457,"value":4442},{"type":2452,"tag":2546,"props":4945,"children":4946},{"style":2749},[4947],{"type":2457,"value":2969},{"type":2452,"tag":2546,"props":4949,"children":4950},{"style":2749},[4951],{"type":2457,"value":3809},{"type":2452,"tag":2546,"props":4953,"children":4954},{"style":2743},[4955],{"type":2457,"value":4956}," schema",{"type":2452,"tag":2546,"props":4958,"children":4959},{"style":2749},[4960],{"type":2457,"value":3819},{"type":2452,"tag":2546,"props":4962,"children":4963},{"style":2759},[4964],{"type":2457,"value":3014},{"type":2452,"tag":2546,"props":4966,"children":4967},{"class":2643,"line":2860},[4968],{"type":2452,"tag":2546,"props":4969,"children":4970},{"style":2749},[4971],{"type":2457,"value":3652},{"type":2452,"tag":2565,"props":4973,"children":4975},{"id":4974},"contribution",[4976],{"type":2457,"value":1035},{"type":2452,"tag":4978,"props":4979,"children":4980},"details",{},[4981,4983,4989],{"type":2457,"value":4982},"\n  ",{"type":2452,"tag":4984,"props":4985,"children":4986},"summary",{},[4987],{"type":2457,"value":4988},"Local development",{"type":2452,"tag":2632,"props":4990,"children":4992},{"className":2634,"code":4991,"language":2636,"meta":2447,"style":2447},"# Install dependencies\npnpm install\n\n# Generate type stubs\npnpm run dev:prepare\n\n# Develop with the playground\npnpm run dev\n\n# Build the playground\npnpm run dev:build\n\n# Run ESLint\npnpm run lint\n\n# Run Vitest\npnpm run test\npnpm run test:watch\n\n# Release new version\npnpm run release\n",[4993],{"type":2452,"tag":2579,"props":4994,"children":4995},{"__ignoreMap":2447},[4996,5004,5017,5024,5032,5049,5056,5064,5080,5087,5095,5111,5118,5126,5142,5149,5157,5173,5189,5196,5204],{"type":2452,"tag":2546,"props":4997,"children":4998},{"class":2643,"line":2440},[4999],{"type":2452,"tag":2546,"props":5000,"children":5001},{"style":2972},[5002],{"type":2457,"value":5003},"# Install dependencies\n",{"type":2452,"tag":2546,"props":5005,"children":5006},{"class":2643,"line":2755},[5007,5012],{"type":2452,"tag":2546,"props":5008,"children":5009},{"style":2647},[5010],{"type":2457,"value":5011},"pnpm",{"type":2452,"tag":2546,"props":5013,"children":5014},{"style":2653},[5015],{"type":2457,"value":5016}," install\n",{"type":2452,"tag":2546,"props":5018,"children":5019},{"class":2643,"line":2798},[5020],{"type":2452,"tag":2546,"props":5021,"children":5022},{"emptyLinePlaceholder":2802},[5023],{"type":2457,"value":2805},{"type":2452,"tag":2546,"props":5025,"children":5026},{"class":2643,"line":2808},[5027],{"type":2452,"tag":2546,"props":5028,"children":5029},{"style":2972},[5030],{"type":2457,"value":5031},"# Generate type stubs\n",{"type":2452,"tag":2546,"props":5033,"children":5034},{"class":2643,"line":2826},[5035,5039,5044],{"type":2452,"tag":2546,"props":5036,"children":5037},{"style":2647},[5038],{"type":2457,"value":5011},{"type":2452,"tag":2546,"props":5040,"children":5041},{"style":2653},[5042],{"type":2457,"value":5043}," run",{"type":2452,"tag":2546,"props":5045,"children":5046},{"style":2653},[5047],{"type":2457,"value":5048}," dev:prepare\n",{"type":2452,"tag":2546,"props":5050,"children":5051},{"class":2643,"line":2843},[5052],{"type":2452,"tag":2546,"props":5053,"children":5054},{"emptyLinePlaceholder":2802},[5055],{"type":2457,"value":2805},{"type":2452,"tag":2546,"props":5057,"children":5058},{"class":2643,"line":2860},[5059],{"type":2452,"tag":2546,"props":5060,"children":5061},{"style":2972},[5062],{"type":2457,"value":5063},"# Develop with the playground\n",{"type":2452,"tag":2546,"props":5065,"children":5066},{"class":2643,"line":2891},[5067,5071,5075],{"type":2452,"tag":2546,"props":5068,"children":5069},{"style":2647},[5070],{"type":2457,"value":5011},{"type":2452,"tag":2546,"props":5072,"children":5073},{"style":2653},[5074],{"type":2457,"value":5043},{"type":2452,"tag":2546,"props":5076,"children":5077},{"style":2653},[5078],{"type":2457,"value":5079}," dev\n",{"type":2452,"tag":2546,"props":5081,"children":5082},{"class":2643,"line":2900},[5083],{"type":2452,"tag":2546,"props":5084,"children":5085},{"emptyLinePlaceholder":2802},[5086],{"type":2457,"value":2805},{"type":2452,"tag":2546,"props":5088,"children":5089},{"class":2643,"line":2909},[5090],{"type":2452,"tag":2546,"props":5091,"children":5092},{"style":2972},[5093],{"type":2457,"value":5094},"# Build the playground\n",{"type":2452,"tag":2546,"props":5096,"children":5097},{"class":2643,"line":2926},[5098,5102,5106],{"type":2452,"tag":2546,"props":5099,"children":5100},{"style":2647},[5101],{"type":2457,"value":5011},{"type":2452,"tag":2546,"props":5103,"children":5104},{"style":2653},[5105],{"type":2457,"value":5043},{"type":2452,"tag":2546,"props":5107,"children":5108},{"style":2653},[5109],{"type":2457,"value":5110}," dev:build\n",{"type":2452,"tag":2546,"props":5112,"children":5113},{"class":2643,"line":2942},[5114],{"type":2452,"tag":2546,"props":5115,"children":5116},{"emptyLinePlaceholder":2802},[5117],{"type":2457,"value":2805},{"type":2452,"tag":2546,"props":5119,"children":5120},{"class":2643,"line":2978},[5121],{"type":2452,"tag":2546,"props":5122,"children":5123},{"style":2972},[5124],{"type":2457,"value":5125},"# Run ESLint\n",{"type":2452,"tag":2546,"props":5127,"children":5128},{"class":2643,"line":2986},[5129,5133,5137],{"type":2452,"tag":2546,"props":5130,"children":5131},{"style":2647},[5132],{"type":2457,"value":5011},{"type":2452,"tag":2546,"props":5134,"children":5135},{"style":2653},[5136],{"type":2457,"value":5043},{"type":2452,"tag":2546,"props":5138,"children":5139},{"style":2653},[5140],{"type":2457,"value":5141}," lint\n",{"type":2452,"tag":2546,"props":5143,"children":5144},{"class":2643,"line":2994},[5145],{"type":2452,"tag":2546,"props":5146,"children":5147},{"emptyLinePlaceholder":2802},[5148],{"type":2457,"value":2805},{"type":2452,"tag":2546,"props":5150,"children":5151},{"class":2643,"line":3003},[5152],{"type":2452,"tag":2546,"props":5153,"children":5154},{"style":2972},[5155],{"type":2457,"value":5156},"# Run Vitest\n",{"type":2452,"tag":2546,"props":5158,"children":5159},{"class":2643,"line":4511},[5160,5164,5168],{"type":2452,"tag":2546,"props":5161,"children":5162},{"style":2647},[5163],{"type":2457,"value":5011},{"type":2452,"tag":2546,"props":5165,"children":5166},{"style":2653},[5167],{"type":2457,"value":5043},{"type":2452,"tag":2546,"props":5169,"children":5170},{"style":2653},[5171],{"type":2457,"value":5172}," test\n",{"type":2452,"tag":2546,"props":5174,"children":5175},{"class":2643,"line":4523},[5176,5180,5184],{"type":2452,"tag":2546,"props":5177,"children":5178},{"style":2647},[5179],{"type":2457,"value":5011},{"type":2452,"tag":2546,"props":5181,"children":5182},{"style":2653},[5183],{"type":2457,"value":5043},{"type":2452,"tag":2546,"props":5185,"children":5186},{"style":2653},[5187],{"type":2457,"value":5188}," test:watch\n",{"type":2452,"tag":2546,"props":5190,"children":5191},{"class":2643,"line":4531},[5192],{"type":2452,"tag":2546,"props":5193,"children":5194},{"emptyLinePlaceholder":2802},[5195],{"type":2457,"value":2805},{"type":2452,"tag":2546,"props":5197,"children":5198},{"class":2643,"line":4540},[5199],{"type":2452,"tag":2546,"props":5200,"children":5201},{"style":2972},[5202],{"type":2457,"value":5203},"# Release new version\n",{"type":2452,"tag":2546,"props":5205,"children":5206},{"class":2643,"line":4570},[5207,5211,5215],{"type":2452,"tag":2546,"props":5208,"children":5209},{"style":2647},[5210],{"type":2457,"value":5011},{"type":2452,"tag":2546,"props":5212,"children":5213},{"style":2653},[5214],{"type":2457,"value":5043},{"type":2452,"tag":2546,"props":5216,"children":5217},{"style":2653},[5218],{"type":2457,"value":5219}," release\n",{"type":2452,"tag":2565,"props":5221,"children":5223},{"id":5222},"license",[5224],{"type":2457,"value":2490},{"type":2452,"tag":2459,"props":5226,"children":5227},{},[5228,5230,5236],{"type":2457,"value":5229},"Published under the ",{"type":2452,"tag":2463,"props":5231,"children":5233},{"href":5232},"\u002FLICENSE",[5234],{"type":2457,"value":5235},"MIT",{"type":2457,"value":5237}," license.",{"type":2452,"tag":5239,"props":5240,"children":5241},"style",{},[5242],{"type":2457,"value":5243},"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":2447,"searchDepth":2755,"depth":2755,"links":5245},[5246,5247,5251,5252,5257,5260,5261],{"id":2567,"depth":2755,"text":450},{"id":2622,"depth":2755,"text":2625,"children":5248},[5249,5250],{"id":2680,"depth":2798,"text":2683},{"id":3030,"depth":2798,"text":3033},{"id":3250,"depth":2755,"text":3253},{"id":3699,"depth":2755,"text":3702,"children":5253},[5254,5255,5256],{"id":3723,"depth":2798,"text":3718},{"id":4011,"depth":2798,"text":4014},{"id":4673,"depth":2798,"text":4676},{"id":4758,"depth":2755,"text":4761,"children":5258},[5259],{"id":4769,"depth":2798,"text":4772},{"id":4974,"depth":2755,"text":1035},{"id":5222,"depth":2755,"text":2490},{"v5":5263,"v4":5264,"v3":5265,"v2":5266},"5 (nightly)","4.5.2","3.21.11","2.18.1"]