[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$f30r277ag21rfj":3,"module-nuxt-safe-runtime-config":2411,"versions":7728},[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":2412,"icon":2415,"github":2416,"website":2417,"learn_more":2418,"category":2419,"type":2420,"maintainers":2421,"compatibility":2427,"generatedAt":2430,"contributors":2431,"stats":2435,"readme":2443},"nuxt-safe-runtime-config","Validate Nuxt runtime config with Standard Schema at build time","onmax\u002Fnuxt-safe-runtime-config#main","nuxt-safe-runtime-config.svg","https:\u002F\u002Fgithub.com\u002Fonmax\u002Fnuxt-safe-runtime-config","https:\u002F\u002Fnuxt-safe-runtime-config.onmax.me","","Devtools","3rd-party",[2422],{"name":2423,"github":2424,"bluesky":2425,"twitter":2426},"Max","onmax","onmax.bsky.social","_onmax",{"nuxt":2428,"requires":2429},">=3.0.0",{},"2026-08-30T20:33:18.372Z",[2432],{"id":2433,"username":2424,"contributions":2434},22072217,90,{"version":2436,"downloads":2437,"stars":2438,"watchers":2439,"forks":2439,"defaultBranch":2440,"publishedAt":2441,"createdAt":2442},"0.2.1",2858,32,0,"main",1785843325960,1749024934445,{"data":2444,"body":2447,"toc":7698},{"title":2445,"description":2446},"\n  \n  \n  Nuxt Safe Runtime Config","\nValidate Nuxt runtime config at build time using Zod, Valibot, ArkType, or any Standard Schema compatible library.\n",{"type":2448,"children":2449},"root",[2450,2477,2504,2507,2560,2571,2577,2691,2697,2702,2745,2750,2771,2776,2782,2789,2794,3137,3470,3774,3780,4240,4246,4251,4365,4370,4527,4532,4575,4581,4823,4829,4839,4845,4850,5013,5018,5183,5189,5194,5467,5473,5494,5504,5532,5538,5543,5676,5681,5687,5692,5723,5729,5734,5865,5879,5885,5890,6570,6575,6712,6717,6798,6810,6831,6836,6862,6875,6881,6899,6905,6919,6925,6937,7043,7048,7220,7240,7246,7258,7284,7322,7335,7341,7346,7355,7360,7366,7406,7412,7424,7447,7452,7692],{"type":2451,"tag":2452,"props":2453,"children":2455},"element","h1",{"align":2454,"id":2412},"center",[2456,2459,2470,2471,2475],{"type":2457,"value":2458},"text","\n  ",{"type":2451,"tag":2460,"props":2461,"children":2469},"img",{"alt":2462,"loading":2463,"width":2464,"height":2464,"decoding":2465,"dataNimg":2466,"style":2467,"src":2468},"Nuxt safe runtime config logo","lazy",50,"async","1","color:transparent","https:\u002F\u002Fraw.githubusercontent.com\u002Fonmax\u002Fnuxt-safe-runtime-config\u002Frefs\u002Fheads\u002Fmain\u002F.github\u002Flogo.svg",[],{"type":2457,"value":2458},{"type":2451,"tag":2472,"props":2473,"children":2474},"br",{},[],{"type":2457,"value":2476},"\n  Nuxt Safe Runtime Config",{"type":2451,"tag":2478,"props":2479,"children":2480},"p",{"align":2454},[2481,2483,2489,2491,2496,2497,2502],{"type":2457,"value":2482},"\nValidate Nuxt runtime config at build time using ",{"type":2451,"tag":2484,"props":2485,"children":2486},"b",{},[2487],{"type":2457,"value":2488},"Zod",{"type":2457,"value":2490},", ",{"type":2451,"tag":2484,"props":2492,"children":2493},{},[2494],{"type":2457,"value":2495},"Valibot",{"type":2457,"value":2490},{"type":2451,"tag":2484,"props":2498,"children":2499},{},[2500],{"type":2457,"value":2501},"ArkType",{"type":2457,"value":2503},", or any Standard Schema compatible library.\n",{"type":2451,"tag":2472,"props":2505,"children":2506},{},[],{"type":2451,"tag":2478,"props":2508,"children":2509},{"align":2454},[2510,2511,2524,2525,2535,2536,2547,2548,2559],{"type":2457,"value":2458},{"type":2451,"tag":2512,"props":2513,"children":2515},"a",{"href":2514},"https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002Fnuxt-safe-runtime-config",[2516,2518,2523],{"type":2457,"value":2517},"\n    ",{"type":2451,"tag":2460,"props":2519,"children":2522},{"src":2520,"alt":2521},"https:\u002F\u002Fimg.shields.io\u002Fnpm\u002Fv\u002Fnuxt-safe-runtime-config.svg","npm version",[],{"type":2457,"value":2458},{"type":2457,"value":2458},{"type":2451,"tag":2512,"props":2526,"children":2527},{"href":2514},[2528,2529,2534],{"type":2457,"value":2517},{"type":2451,"tag":2460,"props":2530,"children":2533},{"src":2531,"alt":2532},"https:\u002F\u002Fimg.shields.io\u002Fnpm\u002Fdm\u002Fnuxt-safe-runtime-config.svg","npm downloads",[],{"type":2457,"value":2458},{"type":2457,"value":2458},{"type":2451,"tag":2512,"props":2537,"children":2539},{"href":2538},"https:\u002F\u002Fgithub.com\u002Fonmax\u002Fnuxt-safe-runtime-config\u002Fblob\u002Fmain\u002FLICENSE",[2540,2541,2546],{"type":2457,"value":2517},{"type":2451,"tag":2460,"props":2542,"children":2545},{"src":2543,"alt":2544},"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Flicense\u002Fonmax\u002Fnuxt-safe-runtime-config.svg","License",[],{"type":2457,"value":2458},{"type":2457,"value":2458},{"type":2451,"tag":2512,"props":2549,"children":2551},{"href":2550},"https:\u002F\u002Fnuxt.com",[2552,2553,2558],{"type":2457,"value":2517},{"type":2451,"tag":2460,"props":2554,"children":2557},{"src":2555,"alt":2556},"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FNuxt-3%20%7C%204%20%7C%205%20nightly-00DC82.svg","Nuxt compatibility",[],{"type":2457,"value":2458},{"type":2457,"value":2458},{"type":2451,"tag":2478,"props":2561,"children":2562},{"align":2454},[2563,2564,2570],{"type":2457,"value":2517},{"type":2451,"tag":2512,"props":2565,"children":2567},{"href":2566},"https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fnuxt\u002Fdiscussions\u002F32301",[2568],{"type":2457,"value":2569},"\n      🔗 Related Nuxt RFC: Enable Standard Schema Validation in Nuxt Config\n    ",{"type":2457,"value":2458},{"type":2451,"tag":2572,"props":2573,"children":2575},"h2",{"id":2574},"features",[2576],{"type":2457,"value":450},{"type":2451,"tag":2578,"props":2579,"children":2580},"ul",{},[2581,2605,2617,2638,2658,2670],{"type":2451,"tag":2582,"props":2583,"children":2584},"li",{},[2585,2587,2593,2595,2603],{"type":2457,"value":2586},"🔒 ",{"type":2451,"tag":2588,"props":2589,"children":2590},"strong",{},[2591],{"type":2457,"value":2592},"Build-time validation",{"type":2457,"value":2594}," with Zod, Valibot, ArkType, or any ",{"type":2451,"tag":2512,"props":2596,"children":2600},{"href":2597,"rel":2598},"https:\u002F\u002Fstandardschema.dev\u002F",[2599],"nofollow",[2601],{"type":2457,"value":2602},"Standard Schema",{"type":2457,"value":2604}," library",{"type":2451,"tag":2582,"props":2606,"children":2607},{},[2608,2610,2615],{"type":2457,"value":2609},"🚀 ",{"type":2451,"tag":2588,"props":2611,"children":2612},{},[2613],{"type":2457,"value":2614},"Runtime validation",{"type":2457,"value":2616}," (opt-in) validates config when the server starts",{"type":2451,"tag":2582,"props":2618,"children":2619},{},[2620,2622,2627,2629,2636],{"type":2457,"value":2621},"✨ ",{"type":2451,"tag":2588,"props":2623,"children":2624},{},[2625],{"type":2457,"value":2626},"Auto-generated types",{"type":2457,"value":2628}," — ",{"type":2451,"tag":2630,"props":2631,"children":2633},"code",{"className":2632},[],[2634],{"type":2457,"value":2635},"useSafeRuntimeConfig()",{"type":2457,"value":2637}," is fully typed without manual generics",{"type":2451,"tag":2582,"props":2639,"children":2640},{},[2641,2643,2648,2650,2656],{"type":2457,"value":2642},"🛠 ",{"type":2451,"tag":2588,"props":2644,"children":2645},{},[2646],{"type":2457,"value":2647},"ESLint plugin",{"type":2457,"value":2649}," warns when using ",{"type":2451,"tag":2630,"props":2651,"children":2653},{"className":2652},[],[2654],{"type":2457,"value":2655},"useRuntimeConfig()",{"type":2457,"value":2657}," instead of the type-safe composable",{"type":2451,"tag":2582,"props":2659,"children":2660},{},[2661,2663,2668],{"type":2457,"value":2662},"⚡ ",{"type":2451,"tag":2588,"props":2664,"children":2665},{},[2666],{"type":2457,"value":2667},"Zero runtime overhead",{"type":2457,"value":2669}," by default — validation happens at build time only",{"type":2451,"tag":2582,"props":2671,"children":2672},{},[2673,2675,2680,2682,2689],{"type":2457,"value":2674},"🔐 ",{"type":2451,"tag":2588,"props":2676,"children":2677},{},[2678],{"type":2457,"value":2679},"Shelve integration",{"type":2457,"value":2681}," — fetch secrets from ",{"type":2451,"tag":2512,"props":2683,"children":2686},{"href":2684,"rel":2685},"https:\u002F\u002Fshelve.cloud",[2599],[2687],{"type":2457,"value":2688},"Shelve",{"type":2457,"value":2690}," and merge into runtime config",{"type":2451,"tag":2572,"props":2692,"children":2694},{"id":2693},"quick-setup",[2695],{"type":2457,"value":2696},"Quick Setup",{"type":2451,"tag":2478,"props":2698,"children":2699},{},[2700],{"type":2457,"value":2701},"Install the module:",{"type":2451,"tag":2703,"props":2704,"children":2708},"pre",{"className":2705,"code":2706,"language":2707,"meta":2418,"style":2418},"language-bash shiki shiki-themes material-theme-lighter material-theme-lighter material-theme-palenight","npx nuxi module add nuxt-safe-runtime-config\n","bash",[2709],{"type":2451,"tag":2630,"props":2710,"children":2711},{"__ignoreMap":2418},[2712],{"type":2451,"tag":2713,"props":2714,"children":2717},"span",{"class":2715,"line":2716},"line",1,[2718,2724,2730,2735,2740],{"type":2451,"tag":2713,"props":2719,"children":2721},{"style":2720},"--shiki-light:#E2931D;--shiki-default:#E2931D;--shiki-dark:#FFCB6B",[2722],{"type":2457,"value":2723},"npx",{"type":2451,"tag":2713,"props":2725,"children":2727},{"style":2726},"--shiki-light:#91B859;--shiki-default:#91B859;--shiki-dark:#C3E88D",[2728],{"type":2457,"value":2729}," nuxi",{"type":2451,"tag":2713,"props":2731,"children":2732},{"style":2726},[2733],{"type":2457,"value":2734}," module",{"type":2451,"tag":2713,"props":2736,"children":2737},{"style":2726},[2738],{"type":2457,"value":2739}," add",{"type":2451,"tag":2713,"props":2741,"children":2742},{"style":2726},[2743],{"type":2457,"value":2744}," nuxt-safe-runtime-config\n",{"type":2451,"tag":2572,"props":2746,"children":2748},{"id":2747},"compatibility",[2749],{"type":2457,"value":919},{"type":2451,"tag":2478,"props":2751,"children":2752},{},[2753,2755,2761,2763,2769],{"type":2457,"value":2754},"This module supports Nuxt 3 and Nuxt 4. It is also tested against Nuxt 4.2+ with ",{"type":2451,"tag":2630,"props":2756,"children":2758},{"className":2757},[],[2759],{"type":2457,"value":2760},"future.compatibilityVersion: 5",{"type":2457,"value":2762}," and against the Nuxt 5 nightly channel (",{"type":2451,"tag":2630,"props":2764,"children":2766},{"className":2765},[],[2767],{"type":2457,"value":2768},"nuxt-nightly@5x",{"type":2457,"value":2770},").",{"type":2451,"tag":2478,"props":2772,"children":2773},{},[2774],{"type":2457,"value":2775},"Inline runtime schemas are converted to JSON Schema. Importable schema modules can instead execute the original Standard Schema at runtime, including transformations.",{"type":2451,"tag":2572,"props":2777,"children":2779},{"id":2778},"usage",[2780],{"type":2457,"value":2781},"Usage",{"type":2451,"tag":2783,"props":2784,"children":2786},"h3",{"id":2785},"_1-define-your-schema",[2787],{"type":2457,"value":2788},"1. Define your schema",{"type":2451,"tag":2478,"props":2790,"children":2791},{},[2792],{"type":2457,"value":2793},"Use Zod, Valibot, ArkType, or any Standard Schema compatible library:",{"type":2451,"tag":2795,"props":2796,"children":2797},"details",{},[2798,2804],{"type":2451,"tag":2799,"props":2800,"children":2801},"summary",{},[2802],{"type":2457,"value":2803},"With Valibot",{"type":2451,"tag":2703,"props":2805,"children":2809},{"className":2806,"code":2807,"language":2808,"meta":2418,"style":2418},"language-typescript shiki shiki-themes material-theme-lighter material-theme-lighter material-theme-palenight","import { number, object, optional, string } from 'valibot'\n\nconst runtimeConfigSchema = object({\n  public: object({\n    apiBase: string(),\n    appName: optional(string()),\n  }),\n  databaseUrl: string(),\n  secretKey: string(),\n  port: optional(number()),\n})\n","typescript",[2810],{"type":2451,"tag":2630,"props":2811,"children":2812},{"__ignoreMap":2418},[2813,2887,2897,2932,2959,2986,3021,3039,3064,3089,3123],{"type":2451,"tag":2713,"props":2814,"children":2815},{"class":2715,"line":2716},[2816,2822,2828,2834,2839,2844,2848,2853,2857,2862,2867,2872,2877,2882],{"type":2451,"tag":2713,"props":2817,"children":2819},{"style":2818},"--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#39ADB5;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic",[2820],{"type":2457,"value":2821},"import",{"type":2451,"tag":2713,"props":2823,"children":2825},{"style":2824},"--shiki-light:#39ADB5;--shiki-default:#39ADB5;--shiki-dark:#89DDFF",[2826],{"type":2457,"value":2827}," {",{"type":2451,"tag":2713,"props":2829,"children":2831},{"style":2830},"--shiki-light:#90A4AE;--shiki-default:#90A4AE;--shiki-dark:#BABED8",[2832],{"type":2457,"value":2833}," number",{"type":2451,"tag":2713,"props":2835,"children":2836},{"style":2824},[2837],{"type":2457,"value":2838},",",{"type":2451,"tag":2713,"props":2840,"children":2841},{"style":2830},[2842],{"type":2457,"value":2843}," object",{"type":2451,"tag":2713,"props":2845,"children":2846},{"style":2824},[2847],{"type":2457,"value":2838},{"type":2451,"tag":2713,"props":2849,"children":2850},{"style":2830},[2851],{"type":2457,"value":2852}," optional",{"type":2451,"tag":2713,"props":2854,"children":2855},{"style":2824},[2856],{"type":2457,"value":2838},{"type":2451,"tag":2713,"props":2858,"children":2859},{"style":2830},[2860],{"type":2457,"value":2861}," string",{"type":2451,"tag":2713,"props":2863,"children":2864},{"style":2824},[2865],{"type":2457,"value":2866}," }",{"type":2451,"tag":2713,"props":2868,"children":2869},{"style":2818},[2870],{"type":2457,"value":2871}," from",{"type":2451,"tag":2713,"props":2873,"children":2874},{"style":2824},[2875],{"type":2457,"value":2876}," '",{"type":2451,"tag":2713,"props":2878,"children":2879},{"style":2726},[2880],{"type":2457,"value":2881},"valibot",{"type":2451,"tag":2713,"props":2883,"children":2884},{"style":2824},[2885],{"type":2457,"value":2886},"'\n",{"type":2451,"tag":2713,"props":2888,"children":2890},{"class":2715,"line":2889},2,[2891],{"type":2451,"tag":2713,"props":2892,"children":2894},{"emptyLinePlaceholder":2893},true,[2895],{"type":2457,"value":2896},"\n",{"type":2451,"tag":2713,"props":2898,"children":2900},{"class":2715,"line":2899},3,[2901,2907,2912,2917,2922,2927],{"type":2451,"tag":2713,"props":2902,"children":2904},{"style":2903},"--shiki-light:#9C3EDA;--shiki-default:#9C3EDA;--shiki-dark:#C792EA",[2905],{"type":2457,"value":2906},"const",{"type":2451,"tag":2713,"props":2908,"children":2909},{"style":2830},[2910],{"type":2457,"value":2911}," runtimeConfigSchema ",{"type":2451,"tag":2713,"props":2913,"children":2914},{"style":2824},[2915],{"type":2457,"value":2916},"=",{"type":2451,"tag":2713,"props":2918,"children":2920},{"style":2919},"--shiki-light:#6182B8;--shiki-default:#6182B8;--shiki-dark:#82AAFF",[2921],{"type":2457,"value":2843},{"type":2451,"tag":2713,"props":2923,"children":2924},{"style":2830},[2925],{"type":2457,"value":2926},"(",{"type":2451,"tag":2713,"props":2928,"children":2929},{"style":2824},[2930],{"type":2457,"value":2931},"{\n",{"type":2451,"tag":2713,"props":2933,"children":2935},{"class":2715,"line":2934},4,[2936,2942,2947,2951,2955],{"type":2451,"tag":2713,"props":2937,"children":2939},{"style":2938},"--shiki-light:#E53935;--shiki-default:#E53935;--shiki-dark:#F07178",[2940],{"type":2457,"value":2941},"  public",{"type":2451,"tag":2713,"props":2943,"children":2944},{"style":2824},[2945],{"type":2457,"value":2946},":",{"type":2451,"tag":2713,"props":2948,"children":2949},{"style":2919},[2950],{"type":2457,"value":2843},{"type":2451,"tag":2713,"props":2952,"children":2953},{"style":2830},[2954],{"type":2457,"value":2926},{"type":2451,"tag":2713,"props":2956,"children":2957},{"style":2824},[2958],{"type":2457,"value":2931},{"type":2451,"tag":2713,"props":2960,"children":2962},{"class":2715,"line":2961},5,[2963,2968,2972,2976,2981],{"type":2451,"tag":2713,"props":2964,"children":2965},{"style":2938},[2966],{"type":2457,"value":2967},"    apiBase",{"type":2451,"tag":2713,"props":2969,"children":2970},{"style":2824},[2971],{"type":2457,"value":2946},{"type":2451,"tag":2713,"props":2973,"children":2974},{"style":2919},[2975],{"type":2457,"value":2861},{"type":2451,"tag":2713,"props":2977,"children":2978},{"style":2830},[2979],{"type":2457,"value":2980},"()",{"type":2451,"tag":2713,"props":2982,"children":2983},{"style":2824},[2984],{"type":2457,"value":2985},",\n",{"type":2451,"tag":2713,"props":2987,"children":2989},{"class":2715,"line":2988},6,[2990,2995,2999,3003,3007,3012,3017],{"type":2451,"tag":2713,"props":2991,"children":2992},{"style":2938},[2993],{"type":2457,"value":2994},"    appName",{"type":2451,"tag":2713,"props":2996,"children":2997},{"style":2824},[2998],{"type":2457,"value":2946},{"type":2451,"tag":2713,"props":3000,"children":3001},{"style":2919},[3002],{"type":2457,"value":2852},{"type":2451,"tag":2713,"props":3004,"children":3005},{"style":2830},[3006],{"type":2457,"value":2926},{"type":2451,"tag":2713,"props":3008,"children":3009},{"style":2919},[3010],{"type":2457,"value":3011},"string",{"type":2451,"tag":2713,"props":3013,"children":3014},{"style":2830},[3015],{"type":2457,"value":3016},"())",{"type":2451,"tag":2713,"props":3018,"children":3019},{"style":2824},[3020],{"type":2457,"value":2985},{"type":2451,"tag":2713,"props":3022,"children":3024},{"class":2715,"line":3023},7,[3025,3030,3035],{"type":2451,"tag":2713,"props":3026,"children":3027},{"style":2824},[3028],{"type":2457,"value":3029},"  }",{"type":2451,"tag":2713,"props":3031,"children":3032},{"style":2830},[3033],{"type":2457,"value":3034},")",{"type":2451,"tag":2713,"props":3036,"children":3037},{"style":2824},[3038],{"type":2457,"value":2985},{"type":2451,"tag":2713,"props":3040,"children":3042},{"class":2715,"line":3041},8,[3043,3048,3052,3056,3060],{"type":2451,"tag":2713,"props":3044,"children":3045},{"style":2938},[3046],{"type":2457,"value":3047},"  databaseUrl",{"type":2451,"tag":2713,"props":3049,"children":3050},{"style":2824},[3051],{"type":2457,"value":2946},{"type":2451,"tag":2713,"props":3053,"children":3054},{"style":2919},[3055],{"type":2457,"value":2861},{"type":2451,"tag":2713,"props":3057,"children":3058},{"style":2830},[3059],{"type":2457,"value":2980},{"type":2451,"tag":2713,"props":3061,"children":3062},{"style":2824},[3063],{"type":2457,"value":2985},{"type":2451,"tag":2713,"props":3065,"children":3067},{"class":2715,"line":3066},9,[3068,3073,3077,3081,3085],{"type":2451,"tag":2713,"props":3069,"children":3070},{"style":2938},[3071],{"type":2457,"value":3072},"  secretKey",{"type":2451,"tag":2713,"props":3074,"children":3075},{"style":2824},[3076],{"type":2457,"value":2946},{"type":2451,"tag":2713,"props":3078,"children":3079},{"style":2919},[3080],{"type":2457,"value":2861},{"type":2451,"tag":2713,"props":3082,"children":3083},{"style":2830},[3084],{"type":2457,"value":2980},{"type":2451,"tag":2713,"props":3086,"children":3087},{"style":2824},[3088],{"type":2457,"value":2985},{"type":2451,"tag":2713,"props":3090,"children":3092},{"class":2715,"line":3091},10,[3093,3098,3102,3106,3110,3115,3119],{"type":2451,"tag":2713,"props":3094,"children":3095},{"style":2938},[3096],{"type":2457,"value":3097},"  port",{"type":2451,"tag":2713,"props":3099,"children":3100},{"style":2824},[3101],{"type":2457,"value":2946},{"type":2451,"tag":2713,"props":3103,"children":3104},{"style":2919},[3105],{"type":2457,"value":2852},{"type":2451,"tag":2713,"props":3107,"children":3108},{"style":2830},[3109],{"type":2457,"value":2926},{"type":2451,"tag":2713,"props":3111,"children":3112},{"style":2919},[3113],{"type":2457,"value":3114},"number",{"type":2451,"tag":2713,"props":3116,"children":3117},{"style":2830},[3118],{"type":2457,"value":3016},{"type":2451,"tag":2713,"props":3120,"children":3121},{"style":2824},[3122],{"type":2457,"value":2985},{"type":2451,"tag":2713,"props":3124,"children":3126},{"class":2715,"line":3125},11,[3127,3132],{"type":2451,"tag":2713,"props":3128,"children":3129},{"style":2824},[3130],{"type":2457,"value":3131},"}",{"type":2451,"tag":2713,"props":3133,"children":3134},{"style":2830},[3135],{"type":2457,"value":3136},")\n",{"type":2451,"tag":2795,"props":3138,"children":3139},{},[3140,3145],{"type":2451,"tag":2799,"props":3141,"children":3142},{},[3143],{"type":2457,"value":3144},"With Zod",{"type":2451,"tag":2703,"props":3146,"children":3148},{"className":2806,"code":3147,"language":2808,"meta":2418,"style":2418},"import { z } from 'zod'\n\nconst runtimeConfigSchema = z.object({\n  public: z.object({\n    apiBase: z.string(),\n    appName: z.string().optional(),\n  }),\n  databaseUrl: z.string(),\n  secretKey: z.string(),\n  port: z.number().optional(),\n})\n",[3149],{"type":2451,"tag":2630,"props":3150,"children":3151},{"__ignoreMap":2418},[3152,3189,3196,3233,3264,3295,3339,3354,3385,3416,3459],{"type":2451,"tag":2713,"props":3153,"children":3154},{"class":2715,"line":2716},[3155,3159,3163,3168,3172,3176,3180,3185],{"type":2451,"tag":2713,"props":3156,"children":3157},{"style":2818},[3158],{"type":2457,"value":2821},{"type":2451,"tag":2713,"props":3160,"children":3161},{"style":2824},[3162],{"type":2457,"value":2827},{"type":2451,"tag":2713,"props":3164,"children":3165},{"style":2830},[3166],{"type":2457,"value":3167}," z",{"type":2451,"tag":2713,"props":3169,"children":3170},{"style":2824},[3171],{"type":2457,"value":2866},{"type":2451,"tag":2713,"props":3173,"children":3174},{"style":2818},[3175],{"type":2457,"value":2871},{"type":2451,"tag":2713,"props":3177,"children":3178},{"style":2824},[3179],{"type":2457,"value":2876},{"type":2451,"tag":2713,"props":3181,"children":3182},{"style":2726},[3183],{"type":2457,"value":3184},"zod",{"type":2451,"tag":2713,"props":3186,"children":3187},{"style":2824},[3188],{"type":2457,"value":2886},{"type":2451,"tag":2713,"props":3190,"children":3191},{"class":2715,"line":2889},[3192],{"type":2451,"tag":2713,"props":3193,"children":3194},{"emptyLinePlaceholder":2893},[3195],{"type":2457,"value":2896},{"type":2451,"tag":2713,"props":3197,"children":3198},{"class":2715,"line":2899},[3199,3203,3207,3211,3215,3220,3225,3229],{"type":2451,"tag":2713,"props":3200,"children":3201},{"style":2903},[3202],{"type":2457,"value":2906},{"type":2451,"tag":2713,"props":3204,"children":3205},{"style":2830},[3206],{"type":2457,"value":2911},{"type":2451,"tag":2713,"props":3208,"children":3209},{"style":2824},[3210],{"type":2457,"value":2916},{"type":2451,"tag":2713,"props":3212,"children":3213},{"style":2830},[3214],{"type":2457,"value":3167},{"type":2451,"tag":2713,"props":3216,"children":3217},{"style":2824},[3218],{"type":2457,"value":3219},".",{"type":2451,"tag":2713,"props":3221,"children":3222},{"style":2919},[3223],{"type":2457,"value":3224},"object",{"type":2451,"tag":2713,"props":3226,"children":3227},{"style":2830},[3228],{"type":2457,"value":2926},{"type":2451,"tag":2713,"props":3230,"children":3231},{"style":2824},[3232],{"type":2457,"value":2931},{"type":2451,"tag":2713,"props":3234,"children":3235},{"class":2715,"line":2934},[3236,3240,3244,3248,3252,3256,3260],{"type":2451,"tag":2713,"props":3237,"children":3238},{"style":2938},[3239],{"type":2457,"value":2941},{"type":2451,"tag":2713,"props":3241,"children":3242},{"style":2824},[3243],{"type":2457,"value":2946},{"type":2451,"tag":2713,"props":3245,"children":3246},{"style":2830},[3247],{"type":2457,"value":3167},{"type":2451,"tag":2713,"props":3249,"children":3250},{"style":2824},[3251],{"type":2457,"value":3219},{"type":2451,"tag":2713,"props":3253,"children":3254},{"style":2919},[3255],{"type":2457,"value":3224},{"type":2451,"tag":2713,"props":3257,"children":3258},{"style":2830},[3259],{"type":2457,"value":2926},{"type":2451,"tag":2713,"props":3261,"children":3262},{"style":2824},[3263],{"type":2457,"value":2931},{"type":2451,"tag":2713,"props":3265,"children":3266},{"class":2715,"line":2961},[3267,3271,3275,3279,3283,3287,3291],{"type":2451,"tag":2713,"props":3268,"children":3269},{"style":2938},[3270],{"type":2457,"value":2967},{"type":2451,"tag":2713,"props":3272,"children":3273},{"style":2824},[3274],{"type":2457,"value":2946},{"type":2451,"tag":2713,"props":3276,"children":3277},{"style":2830},[3278],{"type":2457,"value":3167},{"type":2451,"tag":2713,"props":3280,"children":3281},{"style":2824},[3282],{"type":2457,"value":3219},{"type":2451,"tag":2713,"props":3284,"children":3285},{"style":2919},[3286],{"type":2457,"value":3011},{"type":2451,"tag":2713,"props":3288,"children":3289},{"style":2830},[3290],{"type":2457,"value":2980},{"type":2451,"tag":2713,"props":3292,"children":3293},{"style":2824},[3294],{"type":2457,"value":2985},{"type":2451,"tag":2713,"props":3296,"children":3297},{"class":2715,"line":2988},[3298,3302,3306,3310,3314,3318,3322,3326,3331,3335],{"type":2451,"tag":2713,"props":3299,"children":3300},{"style":2938},[3301],{"type":2457,"value":2994},{"type":2451,"tag":2713,"props":3303,"children":3304},{"style":2824},[3305],{"type":2457,"value":2946},{"type":2451,"tag":2713,"props":3307,"children":3308},{"style":2830},[3309],{"type":2457,"value":3167},{"type":2451,"tag":2713,"props":3311,"children":3312},{"style":2824},[3313],{"type":2457,"value":3219},{"type":2451,"tag":2713,"props":3315,"children":3316},{"style":2919},[3317],{"type":2457,"value":3011},{"type":2451,"tag":2713,"props":3319,"children":3320},{"style":2830},[3321],{"type":2457,"value":2980},{"type":2451,"tag":2713,"props":3323,"children":3324},{"style":2824},[3325],{"type":2457,"value":3219},{"type":2451,"tag":2713,"props":3327,"children":3328},{"style":2919},[3329],{"type":2457,"value":3330},"optional",{"type":2451,"tag":2713,"props":3332,"children":3333},{"style":2830},[3334],{"type":2457,"value":2980},{"type":2451,"tag":2713,"props":3336,"children":3337},{"style":2824},[3338],{"type":2457,"value":2985},{"type":2451,"tag":2713,"props":3340,"children":3341},{"class":2715,"line":3023},[3342,3346,3350],{"type":2451,"tag":2713,"props":3343,"children":3344},{"style":2824},[3345],{"type":2457,"value":3029},{"type":2451,"tag":2713,"props":3347,"children":3348},{"style":2830},[3349],{"type":2457,"value":3034},{"type":2451,"tag":2713,"props":3351,"children":3352},{"style":2824},[3353],{"type":2457,"value":2985},{"type":2451,"tag":2713,"props":3355,"children":3356},{"class":2715,"line":3041},[3357,3361,3365,3369,3373,3377,3381],{"type":2451,"tag":2713,"props":3358,"children":3359},{"style":2938},[3360],{"type":2457,"value":3047},{"type":2451,"tag":2713,"props":3362,"children":3363},{"style":2824},[3364],{"type":2457,"value":2946},{"type":2451,"tag":2713,"props":3366,"children":3367},{"style":2830},[3368],{"type":2457,"value":3167},{"type":2451,"tag":2713,"props":3370,"children":3371},{"style":2824},[3372],{"type":2457,"value":3219},{"type":2451,"tag":2713,"props":3374,"children":3375},{"style":2919},[3376],{"type":2457,"value":3011},{"type":2451,"tag":2713,"props":3378,"children":3379},{"style":2830},[3380],{"type":2457,"value":2980},{"type":2451,"tag":2713,"props":3382,"children":3383},{"style":2824},[3384],{"type":2457,"value":2985},{"type":2451,"tag":2713,"props":3386,"children":3387},{"class":2715,"line":3066},[3388,3392,3396,3400,3404,3408,3412],{"type":2451,"tag":2713,"props":3389,"children":3390},{"style":2938},[3391],{"type":2457,"value":3072},{"type":2451,"tag":2713,"props":3393,"children":3394},{"style":2824},[3395],{"type":2457,"value":2946},{"type":2451,"tag":2713,"props":3397,"children":3398},{"style":2830},[3399],{"type":2457,"value":3167},{"type":2451,"tag":2713,"props":3401,"children":3402},{"style":2824},[3403],{"type":2457,"value":3219},{"type":2451,"tag":2713,"props":3405,"children":3406},{"style":2919},[3407],{"type":2457,"value":3011},{"type":2451,"tag":2713,"props":3409,"children":3410},{"style":2830},[3411],{"type":2457,"value":2980},{"type":2451,"tag":2713,"props":3413,"children":3414},{"style":2824},[3415],{"type":2457,"value":2985},{"type":2451,"tag":2713,"props":3417,"children":3418},{"class":2715,"line":3091},[3419,3423,3427,3431,3435,3439,3443,3447,3451,3455],{"type":2451,"tag":2713,"props":3420,"children":3421},{"style":2938},[3422],{"type":2457,"value":3097},{"type":2451,"tag":2713,"props":3424,"children":3425},{"style":2824},[3426],{"type":2457,"value":2946},{"type":2451,"tag":2713,"props":3428,"children":3429},{"style":2830},[3430],{"type":2457,"value":3167},{"type":2451,"tag":2713,"props":3432,"children":3433},{"style":2824},[3434],{"type":2457,"value":3219},{"type":2451,"tag":2713,"props":3436,"children":3437},{"style":2919},[3438],{"type":2457,"value":3114},{"type":2451,"tag":2713,"props":3440,"children":3441},{"style":2830},[3442],{"type":2457,"value":2980},{"type":2451,"tag":2713,"props":3444,"children":3445},{"style":2824},[3446],{"type":2457,"value":3219},{"type":2451,"tag":2713,"props":3448,"children":3449},{"style":2919},[3450],{"type":2457,"value":3330},{"type":2451,"tag":2713,"props":3452,"children":3453},{"style":2830},[3454],{"type":2457,"value":2980},{"type":2451,"tag":2713,"props":3456,"children":3457},{"style":2824},[3458],{"type":2457,"value":2985},{"type":2451,"tag":2713,"props":3460,"children":3461},{"class":2715,"line":3125},[3462,3466],{"type":2451,"tag":2713,"props":3463,"children":3464},{"style":2824},[3465],{"type":2457,"value":3131},{"type":2451,"tag":2713,"props":3467,"children":3468},{"style":2830},[3469],{"type":2457,"value":3136},{"type":2451,"tag":2795,"props":3471,"children":3472},{},[3473,3478],{"type":2451,"tag":2799,"props":3474,"children":3475},{},[3476],{"type":2457,"value":3477},"With ArkType",{"type":2451,"tag":2703,"props":3479,"children":3481},{"className":2806,"code":3480,"language":2808,"meta":2418,"style":2418},"import { type } from 'arktype'\n\nconst runtimeConfigSchema = type({\n  'public': {\n    'apiBase': 'string',\n    'appName?': 'string'\n  },\n  'databaseUrl': 'string',\n  'secretKey': 'string',\n  'port?': 'number'\n})\n",[3482],{"type":2451,"tag":2630,"props":3483,"children":3484},{"__ignoreMap":2418},[3485,3522,3529,3556,3582,3619,3651,3659,3695,3731,3763],{"type":2451,"tag":2713,"props":3486,"children":3487},{"class":2715,"line":2716},[3488,3492,3496,3501,3505,3509,3513,3518],{"type":2451,"tag":2713,"props":3489,"children":3490},{"style":2818},[3491],{"type":2457,"value":2821},{"type":2451,"tag":2713,"props":3493,"children":3494},{"style":2824},[3495],{"type":2457,"value":2827},{"type":2451,"tag":2713,"props":3497,"children":3498},{"style":2830},[3499],{"type":2457,"value":3500}," type",{"type":2451,"tag":2713,"props":3502,"children":3503},{"style":2824},[3504],{"type":2457,"value":2866},{"type":2451,"tag":2713,"props":3506,"children":3507},{"style":2818},[3508],{"type":2457,"value":2871},{"type":2451,"tag":2713,"props":3510,"children":3511},{"style":2824},[3512],{"type":2457,"value":2876},{"type":2451,"tag":2713,"props":3514,"children":3515},{"style":2726},[3516],{"type":2457,"value":3517},"arktype",{"type":2451,"tag":2713,"props":3519,"children":3520},{"style":2824},[3521],{"type":2457,"value":2886},{"type":2451,"tag":2713,"props":3523,"children":3524},{"class":2715,"line":2889},[3525],{"type":2451,"tag":2713,"props":3526,"children":3527},{"emptyLinePlaceholder":2893},[3528],{"type":2457,"value":2896},{"type":2451,"tag":2713,"props":3530,"children":3531},{"class":2715,"line":2899},[3532,3536,3540,3544,3548,3552],{"type":2451,"tag":2713,"props":3533,"children":3534},{"style":2903},[3535],{"type":2457,"value":2906},{"type":2451,"tag":2713,"props":3537,"children":3538},{"style":2830},[3539],{"type":2457,"value":2911},{"type":2451,"tag":2713,"props":3541,"children":3542},{"style":2824},[3543],{"type":2457,"value":2916},{"type":2451,"tag":2713,"props":3545,"children":3546},{"style":2919},[3547],{"type":2457,"value":3500},{"type":2451,"tag":2713,"props":3549,"children":3550},{"style":2830},[3551],{"type":2457,"value":2926},{"type":2451,"tag":2713,"props":3553,"children":3554},{"style":2824},[3555],{"type":2457,"value":2931},{"type":2451,"tag":2713,"props":3557,"children":3558},{"class":2715,"line":2934},[3559,3564,3568,3573,3577],{"type":2451,"tag":2713,"props":3560,"children":3561},{"style":2824},[3562],{"type":2457,"value":3563},"  '",{"type":2451,"tag":2713,"props":3565,"children":3566},{"style":2938},[3567],{"type":2457,"value":204},{"type":2451,"tag":2713,"props":3569,"children":3570},{"style":2824},[3571],{"type":2457,"value":3572},"'",{"type":2451,"tag":2713,"props":3574,"children":3575},{"style":2824},[3576],{"type":2457,"value":2946},{"type":2451,"tag":2713,"props":3578,"children":3579},{"style":2824},[3580],{"type":2457,"value":3581}," {\n",{"type":2451,"tag":2713,"props":3583,"children":3584},{"class":2715,"line":2961},[3585,3590,3595,3599,3603,3607,3611,3615],{"type":2451,"tag":2713,"props":3586,"children":3587},{"style":2824},[3588],{"type":2457,"value":3589},"    '",{"type":2451,"tag":2713,"props":3591,"children":3592},{"style":2938},[3593],{"type":2457,"value":3594},"apiBase",{"type":2451,"tag":2713,"props":3596,"children":3597},{"style":2824},[3598],{"type":2457,"value":3572},{"type":2451,"tag":2713,"props":3600,"children":3601},{"style":2824},[3602],{"type":2457,"value":2946},{"type":2451,"tag":2713,"props":3604,"children":3605},{"style":2824},[3606],{"type":2457,"value":2876},{"type":2451,"tag":2713,"props":3608,"children":3609},{"style":2726},[3610],{"type":2457,"value":3011},{"type":2451,"tag":2713,"props":3612,"children":3613},{"style":2824},[3614],{"type":2457,"value":3572},{"type":2451,"tag":2713,"props":3616,"children":3617},{"style":2824},[3618],{"type":2457,"value":2985},{"type":2451,"tag":2713,"props":3620,"children":3621},{"class":2715,"line":2988},[3622,3626,3631,3635,3639,3643,3647],{"type":2451,"tag":2713,"props":3623,"children":3624},{"style":2824},[3625],{"type":2457,"value":3589},{"type":2451,"tag":2713,"props":3627,"children":3628},{"style":2938},[3629],{"type":2457,"value":3630},"appName?",{"type":2451,"tag":2713,"props":3632,"children":3633},{"style":2824},[3634],{"type":2457,"value":3572},{"type":2451,"tag":2713,"props":3636,"children":3637},{"style":2824},[3638],{"type":2457,"value":2946},{"type":2451,"tag":2713,"props":3640,"children":3641},{"style":2824},[3642],{"type":2457,"value":2876},{"type":2451,"tag":2713,"props":3644,"children":3645},{"style":2726},[3646],{"type":2457,"value":3011},{"type":2451,"tag":2713,"props":3648,"children":3649},{"style":2824},[3650],{"type":2457,"value":2886},{"type":2451,"tag":2713,"props":3652,"children":3653},{"class":2715,"line":3023},[3654],{"type":2451,"tag":2713,"props":3655,"children":3656},{"style":2824},[3657],{"type":2457,"value":3658},"  },\n",{"type":2451,"tag":2713,"props":3660,"children":3661},{"class":2715,"line":3041},[3662,3666,3671,3675,3679,3683,3687,3691],{"type":2451,"tag":2713,"props":3663,"children":3664},{"style":2824},[3665],{"type":2457,"value":3563},{"type":2451,"tag":2713,"props":3667,"children":3668},{"style":2938},[3669],{"type":2457,"value":3670},"databaseUrl",{"type":2451,"tag":2713,"props":3672,"children":3673},{"style":2824},[3674],{"type":2457,"value":3572},{"type":2451,"tag":2713,"props":3676,"children":3677},{"style":2824},[3678],{"type":2457,"value":2946},{"type":2451,"tag":2713,"props":3680,"children":3681},{"style":2824},[3682],{"type":2457,"value":2876},{"type":2451,"tag":2713,"props":3684,"children":3685},{"style":2726},[3686],{"type":2457,"value":3011},{"type":2451,"tag":2713,"props":3688,"children":3689},{"style":2824},[3690],{"type":2457,"value":3572},{"type":2451,"tag":2713,"props":3692,"children":3693},{"style":2824},[3694],{"type":2457,"value":2985},{"type":2451,"tag":2713,"props":3696,"children":3697},{"class":2715,"line":3066},[3698,3702,3707,3711,3715,3719,3723,3727],{"type":2451,"tag":2713,"props":3699,"children":3700},{"style":2824},[3701],{"type":2457,"value":3563},{"type":2451,"tag":2713,"props":3703,"children":3704},{"style":2938},[3705],{"type":2457,"value":3706},"secretKey",{"type":2451,"tag":2713,"props":3708,"children":3709},{"style":2824},[3710],{"type":2457,"value":3572},{"type":2451,"tag":2713,"props":3712,"children":3713},{"style":2824},[3714],{"type":2457,"value":2946},{"type":2451,"tag":2713,"props":3716,"children":3717},{"style":2824},[3718],{"type":2457,"value":2876},{"type":2451,"tag":2713,"props":3720,"children":3721},{"style":2726},[3722],{"type":2457,"value":3011},{"type":2451,"tag":2713,"props":3724,"children":3725},{"style":2824},[3726],{"type":2457,"value":3572},{"type":2451,"tag":2713,"props":3728,"children":3729},{"style":2824},[3730],{"type":2457,"value":2985},{"type":2451,"tag":2713,"props":3732,"children":3733},{"class":2715,"line":3091},[3734,3738,3743,3747,3751,3755,3759],{"type":2451,"tag":2713,"props":3735,"children":3736},{"style":2824},[3737],{"type":2457,"value":3563},{"type":2451,"tag":2713,"props":3739,"children":3740},{"style":2938},[3741],{"type":2457,"value":3742},"port?",{"type":2451,"tag":2713,"props":3744,"children":3745},{"style":2824},[3746],{"type":2457,"value":3572},{"type":2451,"tag":2713,"props":3748,"children":3749},{"style":2824},[3750],{"type":2457,"value":2946},{"type":2451,"tag":2713,"props":3752,"children":3753},{"style":2824},[3754],{"type":2457,"value":2876},{"type":2451,"tag":2713,"props":3756,"children":3757},{"style":2726},[3758],{"type":2457,"value":3114},{"type":2451,"tag":2713,"props":3760,"children":3761},{"style":2824},[3762],{"type":2457,"value":2886},{"type":2451,"tag":2713,"props":3764,"children":3765},{"class":2715,"line":3125},[3766,3770],{"type":2451,"tag":2713,"props":3767,"children":3768},{"style":2824},[3769],{"type":2457,"value":3131},{"type":2451,"tag":2713,"props":3771,"children":3772},{"style":2830},[3773],{"type":2457,"value":3136},{"type":2451,"tag":2783,"props":3775,"children":3777},{"id":3776},"_2-configure-in-nuxtconfigts",[3778],{"type":2457,"value":3779},"2. Configure in nuxt.config.ts",{"type":2451,"tag":2703,"props":3781,"children":3783},{"className":2806,"code":3782,"language":2808,"meta":2418,"style":2418},"export default defineNuxtConfig({\n  modules: ['nuxt-safe-runtime-config'],\n\n  runtimeConfig: {\n    databaseUrl: process.env.DATABASE_URL || 'postgresql:\u002F\u002Flocalhost:5432\u002Fmydb',\n    secretKey: process.env.SECRET_KEY || 'default-secret-key',\n    port: Number.parseInt(process.env.PORT || '3000'),\n    public: {\n      apiBase: process.env.PUBLIC_API_BASE || 'https:\u002F\u002Fapi.example.com',\n      appName: 'My Nuxt App',\n    },\n  },\n\n  safeRuntimeConfig: {\n    $schema: runtimeConfigSchema,\n  },\n})\n",[3784],{"type":2451,"tag":2630,"props":3785,"children":3786},{"__ignoreMap":2418},[3787,3813,3851,3858,3874,3931,3985,4058,4074,4128,4157,4165,4173,4181,4198,4220,4228],{"type":2451,"tag":2713,"props":3788,"children":3789},{"class":2715,"line":2716},[3790,3795,3800,3805,3809],{"type":2451,"tag":2713,"props":3791,"children":3792},{"style":2818},[3793],{"type":2457,"value":3794},"export",{"type":2451,"tag":2713,"props":3796,"children":3797},{"style":2818},[3798],{"type":2457,"value":3799}," default",{"type":2451,"tag":2713,"props":3801,"children":3802},{"style":2919},[3803],{"type":2457,"value":3804}," defineNuxtConfig",{"type":2451,"tag":2713,"props":3806,"children":3807},{"style":2830},[3808],{"type":2457,"value":2926},{"type":2451,"tag":2713,"props":3810,"children":3811},{"style":2824},[3812],{"type":2457,"value":2931},{"type":2451,"tag":2713,"props":3814,"children":3815},{"class":2715,"line":2889},[3816,3821,3825,3830,3834,3838,3842,3847],{"type":2451,"tag":2713,"props":3817,"children":3818},{"style":2938},[3819],{"type":2457,"value":3820},"  modules",{"type":2451,"tag":2713,"props":3822,"children":3823},{"style":2824},[3824],{"type":2457,"value":2946},{"type":2451,"tag":2713,"props":3826,"children":3827},{"style":2830},[3828],{"type":2457,"value":3829}," [",{"type":2451,"tag":2713,"props":3831,"children":3832},{"style":2824},[3833],{"type":2457,"value":3572},{"type":2451,"tag":2713,"props":3835,"children":3836},{"style":2726},[3837],{"type":2457,"value":2412},{"type":2451,"tag":2713,"props":3839,"children":3840},{"style":2824},[3841],{"type":2457,"value":3572},{"type":2451,"tag":2713,"props":3843,"children":3844},{"style":2830},[3845],{"type":2457,"value":3846},"]",{"type":2451,"tag":2713,"props":3848,"children":3849},{"style":2824},[3850],{"type":2457,"value":2985},{"type":2451,"tag":2713,"props":3852,"children":3853},{"class":2715,"line":2899},[3854],{"type":2451,"tag":2713,"props":3855,"children":3856},{"emptyLinePlaceholder":2893},[3857],{"type":2457,"value":2896},{"type":2451,"tag":2713,"props":3859,"children":3860},{"class":2715,"line":2934},[3861,3866,3870],{"type":2451,"tag":2713,"props":3862,"children":3863},{"style":2938},[3864],{"type":2457,"value":3865},"  runtimeConfig",{"type":2451,"tag":2713,"props":3867,"children":3868},{"style":2824},[3869],{"type":2457,"value":2946},{"type":2451,"tag":2713,"props":3871,"children":3872},{"style":2824},[3873],{"type":2457,"value":3581},{"type":2451,"tag":2713,"props":3875,"children":3876},{"class":2715,"line":2961},[3877,3882,3886,3891,3895,3900,3904,3909,3914,3918,3923,3927],{"type":2451,"tag":2713,"props":3878,"children":3879},{"style":2938},[3880],{"type":2457,"value":3881},"    databaseUrl",{"type":2451,"tag":2713,"props":3883,"children":3884},{"style":2824},[3885],{"type":2457,"value":2946},{"type":2451,"tag":2713,"props":3887,"children":3888},{"style":2830},[3889],{"type":2457,"value":3890}," process",{"type":2451,"tag":2713,"props":3892,"children":3893},{"style":2824},[3894],{"type":2457,"value":3219},{"type":2451,"tag":2713,"props":3896,"children":3897},{"style":2830},[3898],{"type":2457,"value":3899},"env",{"type":2451,"tag":2713,"props":3901,"children":3902},{"style":2824},[3903],{"type":2457,"value":3219},{"type":2451,"tag":2713,"props":3905,"children":3906},{"style":2830},[3907],{"type":2457,"value":3908},"DATABASE_URL ",{"type":2451,"tag":2713,"props":3910,"children":3911},{"style":2824},[3912],{"type":2457,"value":3913},"||",{"type":2451,"tag":2713,"props":3915,"children":3916},{"style":2824},[3917],{"type":2457,"value":2876},{"type":2451,"tag":2713,"props":3919,"children":3920},{"style":2726},[3921],{"type":2457,"value":3922},"postgresql:\u002F\u002Flocalhost:5432\u002Fmydb",{"type":2451,"tag":2713,"props":3924,"children":3925},{"style":2824},[3926],{"type":2457,"value":3572},{"type":2451,"tag":2713,"props":3928,"children":3929},{"style":2824},[3930],{"type":2457,"value":2985},{"type":2451,"tag":2713,"props":3932,"children":3933},{"class":2715,"line":2988},[3934,3939,3943,3947,3951,3955,3959,3964,3968,3972,3977,3981],{"type":2451,"tag":2713,"props":3935,"children":3936},{"style":2938},[3937],{"type":2457,"value":3938},"    secretKey",{"type":2451,"tag":2713,"props":3940,"children":3941},{"style":2824},[3942],{"type":2457,"value":2946},{"type":2451,"tag":2713,"props":3944,"children":3945},{"style":2830},[3946],{"type":2457,"value":3890},{"type":2451,"tag":2713,"props":3948,"children":3949},{"style":2824},[3950],{"type":2457,"value":3219},{"type":2451,"tag":2713,"props":3952,"children":3953},{"style":2830},[3954],{"type":2457,"value":3899},{"type":2451,"tag":2713,"props":3956,"children":3957},{"style":2824},[3958],{"type":2457,"value":3219},{"type":2451,"tag":2713,"props":3960,"children":3961},{"style":2830},[3962],{"type":2457,"value":3963},"SECRET_KEY ",{"type":2451,"tag":2713,"props":3965,"children":3966},{"style":2824},[3967],{"type":2457,"value":3913},{"type":2451,"tag":2713,"props":3969,"children":3970},{"style":2824},[3971],{"type":2457,"value":2876},{"type":2451,"tag":2713,"props":3973,"children":3974},{"style":2726},[3975],{"type":2457,"value":3976},"default-secret-key",{"type":2451,"tag":2713,"props":3978,"children":3979},{"style":2824},[3980],{"type":2457,"value":3572},{"type":2451,"tag":2713,"props":3982,"children":3983},{"style":2824},[3984],{"type":2457,"value":2985},{"type":2451,"tag":2713,"props":3986,"children":3987},{"class":2715,"line":3023},[3988,3993,3997,4002,4006,4011,4016,4020,4024,4028,4033,4037,4041,4046,4050,4054],{"type":2451,"tag":2713,"props":3989,"children":3990},{"style":2938},[3991],{"type":2457,"value":3992},"    port",{"type":2451,"tag":2713,"props":3994,"children":3995},{"style":2824},[3996],{"type":2457,"value":2946},{"type":2451,"tag":2713,"props":3998,"children":3999},{"style":2830},[4000],{"type":2457,"value":4001}," Number",{"type":2451,"tag":2713,"props":4003,"children":4004},{"style":2824},[4005],{"type":2457,"value":3219},{"type":2451,"tag":2713,"props":4007,"children":4008},{"style":2919},[4009],{"type":2457,"value":4010},"parseInt",{"type":2451,"tag":2713,"props":4012,"children":4013},{"style":2830},[4014],{"type":2457,"value":4015},"(process",{"type":2451,"tag":2713,"props":4017,"children":4018},{"style":2824},[4019],{"type":2457,"value":3219},{"type":2451,"tag":2713,"props":4021,"children":4022},{"style":2830},[4023],{"type":2457,"value":3899},{"type":2451,"tag":2713,"props":4025,"children":4026},{"style":2824},[4027],{"type":2457,"value":3219},{"type":2451,"tag":2713,"props":4029,"children":4030},{"style":2830},[4031],{"type":2457,"value":4032},"PORT ",{"type":2451,"tag":2713,"props":4034,"children":4035},{"style":2824},[4036],{"type":2457,"value":3913},{"type":2451,"tag":2713,"props":4038,"children":4039},{"style":2824},[4040],{"type":2457,"value":2876},{"type":2451,"tag":2713,"props":4042,"children":4043},{"style":2726},[4044],{"type":2457,"value":4045},"3000",{"type":2451,"tag":2713,"props":4047,"children":4048},{"style":2824},[4049],{"type":2457,"value":3572},{"type":2451,"tag":2713,"props":4051,"children":4052},{"style":2830},[4053],{"type":2457,"value":3034},{"type":2451,"tag":2713,"props":4055,"children":4056},{"style":2824},[4057],{"type":2457,"value":2985},{"type":2451,"tag":2713,"props":4059,"children":4060},{"class":2715,"line":3041},[4061,4066,4070],{"type":2451,"tag":2713,"props":4062,"children":4063},{"style":2938},[4064],{"type":2457,"value":4065},"    public",{"type":2451,"tag":2713,"props":4067,"children":4068},{"style":2824},[4069],{"type":2457,"value":2946},{"type":2451,"tag":2713,"props":4071,"children":4072},{"style":2824},[4073],{"type":2457,"value":3581},{"type":2451,"tag":2713,"props":4075,"children":4076},{"class":2715,"line":3066},[4077,4082,4086,4090,4094,4098,4102,4107,4111,4115,4120,4124],{"type":2451,"tag":2713,"props":4078,"children":4079},{"style":2938},[4080],{"type":2457,"value":4081},"      apiBase",{"type":2451,"tag":2713,"props":4083,"children":4084},{"style":2824},[4085],{"type":2457,"value":2946},{"type":2451,"tag":2713,"props":4087,"children":4088},{"style":2830},[4089],{"type":2457,"value":3890},{"type":2451,"tag":2713,"props":4091,"children":4092},{"style":2824},[4093],{"type":2457,"value":3219},{"type":2451,"tag":2713,"props":4095,"children":4096},{"style":2830},[4097],{"type":2457,"value":3899},{"type":2451,"tag":2713,"props":4099,"children":4100},{"style":2824},[4101],{"type":2457,"value":3219},{"type":2451,"tag":2713,"props":4103,"children":4104},{"style":2830},[4105],{"type":2457,"value":4106},"PUBLIC_API_BASE ",{"type":2451,"tag":2713,"props":4108,"children":4109},{"style":2824},[4110],{"type":2457,"value":3913},{"type":2451,"tag":2713,"props":4112,"children":4113},{"style":2824},[4114],{"type":2457,"value":2876},{"type":2451,"tag":2713,"props":4116,"children":4117},{"style":2726},[4118],{"type":2457,"value":4119},"https:\u002F\u002Fapi.example.com",{"type":2451,"tag":2713,"props":4121,"children":4122},{"style":2824},[4123],{"type":2457,"value":3572},{"type":2451,"tag":2713,"props":4125,"children":4126},{"style":2824},[4127],{"type":2457,"value":2985},{"type":2451,"tag":2713,"props":4129,"children":4130},{"class":2715,"line":3091},[4131,4136,4140,4144,4149,4153],{"type":2451,"tag":2713,"props":4132,"children":4133},{"style":2938},[4134],{"type":2457,"value":4135},"      appName",{"type":2451,"tag":2713,"props":4137,"children":4138},{"style":2824},[4139],{"type":2457,"value":2946},{"type":2451,"tag":2713,"props":4141,"children":4142},{"style":2824},[4143],{"type":2457,"value":2876},{"type":2451,"tag":2713,"props":4145,"children":4146},{"style":2726},[4147],{"type":2457,"value":4148},"My Nuxt App",{"type":2451,"tag":2713,"props":4150,"children":4151},{"style":2824},[4152],{"type":2457,"value":3572},{"type":2451,"tag":2713,"props":4154,"children":4155},{"style":2824},[4156],{"type":2457,"value":2985},{"type":2451,"tag":2713,"props":4158,"children":4159},{"class":2715,"line":3125},[4160],{"type":2451,"tag":2713,"props":4161,"children":4162},{"style":2824},[4163],{"type":2457,"value":4164},"    },\n",{"type":2451,"tag":2713,"props":4166,"children":4168},{"class":2715,"line":4167},12,[4169],{"type":2451,"tag":2713,"props":4170,"children":4171},{"style":2824},[4172],{"type":2457,"value":3658},{"type":2451,"tag":2713,"props":4174,"children":4176},{"class":2715,"line":4175},13,[4177],{"type":2451,"tag":2713,"props":4178,"children":4179},{"emptyLinePlaceholder":2893},[4180],{"type":2457,"value":2896},{"type":2451,"tag":2713,"props":4182,"children":4184},{"class":2715,"line":4183},14,[4185,4190,4194],{"type":2451,"tag":2713,"props":4186,"children":4187},{"style":2938},[4188],{"type":2457,"value":4189},"  safeRuntimeConfig",{"type":2451,"tag":2713,"props":4191,"children":4192},{"style":2824},[4193],{"type":2457,"value":2946},{"type":2451,"tag":2713,"props":4195,"children":4196},{"style":2824},[4197],{"type":2457,"value":3581},{"type":2451,"tag":2713,"props":4199,"children":4201},{"class":2715,"line":4200},15,[4202,4207,4211,4216],{"type":2451,"tag":2713,"props":4203,"children":4204},{"style":2938},[4205],{"type":2457,"value":4206},"    $schema",{"type":2451,"tag":2713,"props":4208,"children":4209},{"style":2824},[4210],{"type":2457,"value":2946},{"type":2451,"tag":2713,"props":4212,"children":4213},{"style":2830},[4214],{"type":2457,"value":4215}," runtimeConfigSchema",{"type":2451,"tag":2713,"props":4217,"children":4218},{"style":2824},[4219],{"type":2457,"value":2985},{"type":2451,"tag":2713,"props":4221,"children":4223},{"class":2715,"line":4222},16,[4224],{"type":2451,"tag":2713,"props":4225,"children":4226},{"style":2824},[4227],{"type":2457,"value":3658},{"type":2451,"tag":2713,"props":4229,"children":4231},{"class":2715,"line":4230},17,[4232,4236],{"type":2451,"tag":2713,"props":4233,"children":4234},{"style":2824},[4235],{"type":2457,"value":3131},{"type":2451,"tag":2713,"props":4237,"children":4238},{"style":2830},[4239],{"type":2457,"value":3136},{"type":2451,"tag":2783,"props":4241,"children":4243},{"id":4242},"_3-use-the-type-safe-composable",[4244],{"type":2457,"value":4245},"3. Use the type-safe composable",{"type":2451,"tag":2478,"props":4247,"children":4248},{},[4249],{"type":2457,"value":4250},"Access your validated config with full type safety — types are auto-generated from your schema:",{"type":2451,"tag":2703,"props":4252,"children":4256},{"className":4253,"code":4254,"language":4255,"meta":2418,"style":2418},"language-vue shiki shiki-themes material-theme-lighter material-theme-lighter material-theme-palenight","\u003Cscript setup lang=\"ts\">\nconst config = useSafeRuntimeConfig()\n\u002F\u002F config.public.apiBase is typed as string\n\u002F\u002F config.secretKey is typed as string\n\u003C\u002Fscript>\n","vue",[4257],{"type":2451,"tag":2630,"props":4258,"children":4259},{"__ignoreMap":2418},[4260,4306,4332,4341,4349],{"type":2451,"tag":2713,"props":4261,"children":4262},{"class":2715,"line":2716},[4263,4268,4273,4278,4283,4287,4292,4297,4301],{"type":2451,"tag":2713,"props":4264,"children":4265},{"style":2824},[4266],{"type":2457,"value":4267},"\u003C",{"type":2451,"tag":2713,"props":4269,"children":4270},{"style":2938},[4271],{"type":2457,"value":4272},"script",{"type":2451,"tag":2713,"props":4274,"children":4275},{"style":2903},[4276],{"type":2457,"value":4277}," setup",{"type":2451,"tag":2713,"props":4279,"children":4280},{"style":2903},[4281],{"type":2457,"value":4282}," lang",{"type":2451,"tag":2713,"props":4284,"children":4285},{"style":2824},[4286],{"type":2457,"value":2916},{"type":2451,"tag":2713,"props":4288,"children":4289},{"style":2824},[4290],{"type":2457,"value":4291},"\"",{"type":2451,"tag":2713,"props":4293,"children":4294},{"style":2726},[4295],{"type":2457,"value":4296},"ts",{"type":2451,"tag":2713,"props":4298,"children":4299},{"style":2824},[4300],{"type":2457,"value":4291},{"type":2451,"tag":2713,"props":4302,"children":4303},{"style":2824},[4304],{"type":2457,"value":4305},">\n",{"type":2451,"tag":2713,"props":4307,"children":4308},{"class":2715,"line":2889},[4309,4313,4318,4322,4327],{"type":2451,"tag":2713,"props":4310,"children":4311},{"style":2903},[4312],{"type":2457,"value":2906},{"type":2451,"tag":2713,"props":4314,"children":4315},{"style":2830},[4316],{"type":2457,"value":4317}," config ",{"type":2451,"tag":2713,"props":4319,"children":4320},{"style":2824},[4321],{"type":2457,"value":2916},{"type":2451,"tag":2713,"props":4323,"children":4324},{"style":2919},[4325],{"type":2457,"value":4326}," useSafeRuntimeConfig",{"type":2451,"tag":2713,"props":4328,"children":4329},{"style":2830},[4330],{"type":2457,"value":4331},"()\n",{"type":2451,"tag":2713,"props":4333,"children":4334},{"class":2715,"line":2899},[4335],{"type":2451,"tag":2713,"props":4336,"children":4338},{"style":4337},"--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#90A4AE;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic",[4339],{"type":2457,"value":4340},"\u002F\u002F config.public.apiBase is typed as string\n",{"type":2451,"tag":2713,"props":4342,"children":4343},{"class":2715,"line":2934},[4344],{"type":2451,"tag":2713,"props":4345,"children":4346},{"style":4337},[4347],{"type":2457,"value":4348},"\u002F\u002F config.secretKey is typed as string\n",{"type":2451,"tag":2713,"props":4350,"children":4351},{"class":2715,"line":2961},[4352,4357,4361],{"type":2451,"tag":2713,"props":4353,"children":4354},{"style":2824},[4355],{"type":2457,"value":4356},"\u003C\u002F",{"type":2451,"tag":2713,"props":4358,"children":4359},{"style":2938},[4360],{"type":2457,"value":4272},{"type":2451,"tag":2713,"props":4362,"children":4363},{"style":2824},[4364],{"type":2457,"value":4305},{"type":2451,"tag":2478,"props":4366,"children":4367},{},[4368],{"type":2457,"value":4369},"You can also use the same composable in server code:",{"type":2451,"tag":2703,"props":4371,"children":4374},{"className":4372,"code":4373,"language":4296,"meta":2418,"style":2418},"language-ts shiki shiki-themes material-theme-lighter material-theme-lighter material-theme-palenight","\u002F\u002F server\u002Futils\u002Fconfig.ts\nexport function getPrivateConfig() {\n  const config = useSafeRuntimeConfig()\n  return {\n    secretKey: config.secretKey,\n    apiBase: config.public.apiBase,\n  }\n}\n",[4375],{"type":2451,"tag":2630,"props":4376,"children":4377},{"__ignoreMap":2418},[4378,4386,4411,4437,4449,4476,4511,4519],{"type":2451,"tag":2713,"props":4379,"children":4380},{"class":2715,"line":2716},[4381],{"type":2451,"tag":2713,"props":4382,"children":4383},{"style":4337},[4384],{"type":2457,"value":4385},"\u002F\u002F server\u002Futils\u002Fconfig.ts\n",{"type":2451,"tag":2713,"props":4387,"children":4388},{"class":2715,"line":2889},[4389,4393,4398,4403,4407],{"type":2451,"tag":2713,"props":4390,"children":4391},{"style":2818},[4392],{"type":2457,"value":3794},{"type":2451,"tag":2713,"props":4394,"children":4395},{"style":2903},[4396],{"type":2457,"value":4397}," function",{"type":2451,"tag":2713,"props":4399,"children":4400},{"style":2919},[4401],{"type":2457,"value":4402}," getPrivateConfig",{"type":2451,"tag":2713,"props":4404,"children":4405},{"style":2824},[4406],{"type":2457,"value":2980},{"type":2451,"tag":2713,"props":4408,"children":4409},{"style":2824},[4410],{"type":2457,"value":3581},{"type":2451,"tag":2713,"props":4412,"children":4413},{"class":2715,"line":2899},[4414,4419,4424,4429,4433],{"type":2451,"tag":2713,"props":4415,"children":4416},{"style":2903},[4417],{"type":2457,"value":4418},"  const",{"type":2451,"tag":2713,"props":4420,"children":4421},{"style":2830},[4422],{"type":2457,"value":4423}," config",{"type":2451,"tag":2713,"props":4425,"children":4426},{"style":2824},[4427],{"type":2457,"value":4428}," =",{"type":2451,"tag":2713,"props":4430,"children":4431},{"style":2919},[4432],{"type":2457,"value":4326},{"type":2451,"tag":2713,"props":4434,"children":4435},{"style":2938},[4436],{"type":2457,"value":4331},{"type":2451,"tag":2713,"props":4438,"children":4439},{"class":2715,"line":2934},[4440,4445],{"type":2451,"tag":2713,"props":4441,"children":4442},{"style":2818},[4443],{"type":2457,"value":4444},"  return",{"type":2451,"tag":2713,"props":4446,"children":4447},{"style":2824},[4448],{"type":2457,"value":3581},{"type":2451,"tag":2713,"props":4450,"children":4451},{"class":2715,"line":2961},[4452,4456,4460,4464,4468,4472],{"type":2451,"tag":2713,"props":4453,"children":4454},{"style":2938},[4455],{"type":2457,"value":3938},{"type":2451,"tag":2713,"props":4457,"children":4458},{"style":2824},[4459],{"type":2457,"value":2946},{"type":2451,"tag":2713,"props":4461,"children":4462},{"style":2830},[4463],{"type":2457,"value":4423},{"type":2451,"tag":2713,"props":4465,"children":4466},{"style":2824},[4467],{"type":2457,"value":3219},{"type":2451,"tag":2713,"props":4469,"children":4470},{"style":2830},[4471],{"type":2457,"value":3706},{"type":2451,"tag":2713,"props":4473,"children":4474},{"style":2824},[4475],{"type":2457,"value":2985},{"type":2451,"tag":2713,"props":4477,"children":4478},{"class":2715,"line":2988},[4479,4483,4487,4491,4495,4499,4503,4507],{"type":2451,"tag":2713,"props":4480,"children":4481},{"style":2938},[4482],{"type":2457,"value":2967},{"type":2451,"tag":2713,"props":4484,"children":4485},{"style":2824},[4486],{"type":2457,"value":2946},{"type":2451,"tag":2713,"props":4488,"children":4489},{"style":2830},[4490],{"type":2457,"value":4423},{"type":2451,"tag":2713,"props":4492,"children":4493},{"style":2824},[4494],{"type":2457,"value":3219},{"type":2451,"tag":2713,"props":4496,"children":4497},{"style":2830},[4498],{"type":2457,"value":204},{"type":2451,"tag":2713,"props":4500,"children":4501},{"style":2824},[4502],{"type":2457,"value":3219},{"type":2451,"tag":2713,"props":4504,"children":4505},{"style":2830},[4506],{"type":2457,"value":3594},{"type":2451,"tag":2713,"props":4508,"children":4509},{"style":2824},[4510],{"type":2457,"value":2985},{"type":2451,"tag":2713,"props":4512,"children":4513},{"class":2715,"line":3023},[4514],{"type":2451,"tag":2713,"props":4515,"children":4516},{"style":2824},[4517],{"type":2457,"value":4518},"  }\n",{"type":2451,"tag":2713,"props":4520,"children":4521},{"class":2715,"line":3041},[4522],{"type":2451,"tag":2713,"props":4523,"children":4524},{"style":2824},[4525],{"type":2457,"value":4526},"}\n",{"type":2451,"tag":2478,"props":4528,"children":4529},{},[4530],{"type":2457,"value":4531},"If your editor runs type-checking outside Nuxt's auto-import context, import it explicitly:",{"type":2451,"tag":2703,"props":4533,"children":4535},{"className":4372,"code":4534,"language":4296,"meta":2418,"style":2418},"import { useSafeRuntimeConfig } from '#imports'\n",[4536],{"type":2451,"tag":2630,"props":4537,"children":4538},{"__ignoreMap":2418},[4539],{"type":2451,"tag":2713,"props":4540,"children":4541},{"class":2715,"line":2716},[4542,4546,4550,4554,4558,4562,4566,4571],{"type":2451,"tag":2713,"props":4543,"children":4544},{"style":2818},[4545],{"type":2457,"value":2821},{"type":2451,"tag":2713,"props":4547,"children":4548},{"style":2824},[4549],{"type":2457,"value":2827},{"type":2451,"tag":2713,"props":4551,"children":4552},{"style":2830},[4553],{"type":2457,"value":4326},{"type":2451,"tag":2713,"props":4555,"children":4556},{"style":2824},[4557],{"type":2457,"value":2866},{"type":2451,"tag":2713,"props":4559,"children":4560},{"style":2818},[4561],{"type":2457,"value":2871},{"type":2451,"tag":2713,"props":4563,"children":4564},{"style":2824},[4565],{"type":2457,"value":2876},{"type":2451,"tag":2713,"props":4567,"children":4568},{"style":2726},[4569],{"type":2457,"value":4570},"#imports",{"type":2451,"tag":2713,"props":4572,"children":4573},{"style":2824},[4574],{"type":2457,"value":2886},{"type":2451,"tag":2572,"props":4576,"children":4578},{"id":4577},"configuration-options",[4579],{"type":2457,"value":4580},"Configuration Options",{"type":2451,"tag":4582,"props":4583,"children":4584},"table",{},[4585,4614],{"type":2451,"tag":4586,"props":4587,"children":4588},"thead",{},[4589],{"type":2451,"tag":4590,"props":4591,"children":4592},"tr",{},[4593,4599,4604,4609],{"type":2451,"tag":4594,"props":4595,"children":4596},"th",{},[4597],{"type":2457,"value":4598},"Option",{"type":2451,"tag":4594,"props":4600,"children":4601},{},[4602],{"type":2457,"value":4603},"Type",{"type":2451,"tag":4594,"props":4605,"children":4606},{},[4607],{"type":2457,"value":4608},"Default",{"type":2451,"tag":4594,"props":4610,"children":4611},{},[4612],{"type":2457,"value":4613},"Description",{"type":2451,"tag":4615,"props":4616,"children":4617},"tbody",{},[4618,4650,4685,4719,4754,4788],{"type":2451,"tag":4590,"props":4619,"children":4620},{},[4621,4631,4640,4645],{"type":2451,"tag":4622,"props":4623,"children":4624},"td",{},[4625],{"type":2451,"tag":2630,"props":4626,"children":4628},{"className":4627},[],[4629],{"type":2457,"value":4630},"$schema",{"type":2451,"tag":4622,"props":4632,"children":4633},{},[4634],{"type":2451,"tag":2630,"props":4635,"children":4637},{"className":4636},[],[4638],{"type":2457,"value":4639},"StandardSchemaV1 | string",{"type":2451,"tag":4622,"props":4641,"children":4642},{},[4643],{"type":2457,"value":4644},"—",{"type":2451,"tag":4622,"props":4646,"children":4647},{},[4648],{"type":2457,"value":4649},"Schema or path to its default-export module",{"type":2451,"tag":4590,"props":4651,"children":4652},{},[4653,4662,4671,4680],{"type":2451,"tag":4622,"props":4654,"children":4655},{},[4656],{"type":2451,"tag":2630,"props":4657,"children":4659},{"className":4658},[],[4660],{"type":2457,"value":4661},"validateAtBuild",{"type":2451,"tag":4622,"props":4663,"children":4664},{},[4665],{"type":2451,"tag":2630,"props":4666,"children":4668},{"className":4667},[],[4669],{"type":2457,"value":4670},"boolean",{"type":2451,"tag":4622,"props":4672,"children":4673},{},[4674],{"type":2451,"tag":2630,"props":4675,"children":4677},{"className":4676},[],[4678],{"type":2457,"value":4679},"true",{"type":2451,"tag":4622,"props":4681,"children":4682},{},[4683],{"type":2457,"value":4684},"Validate during dev\u002Fbuild",{"type":2451,"tag":4590,"props":4686,"children":4687},{},[4688,4697,4705,4714],{"type":2451,"tag":4622,"props":4689,"children":4690},{},[4691],{"type":2451,"tag":2630,"props":4692,"children":4694},{"className":4693},[],[4695],{"type":2457,"value":4696},"validateAtRuntime",{"type":2451,"tag":4622,"props":4698,"children":4699},{},[4700],{"type":2451,"tag":2630,"props":4701,"children":4703},{"className":4702},[],[4704],{"type":2457,"value":4670},{"type":2451,"tag":4622,"props":4706,"children":4707},{},[4708],{"type":2451,"tag":2630,"props":4709,"children":4711},{"className":4710},[],[4712],{"type":2457,"value":4713},"false",{"type":2451,"tag":4622,"props":4715,"children":4716},{},[4717],{"type":2457,"value":4718},"Validate when server starts",{"type":2451,"tag":4590,"props":4720,"children":4721},{},[4722,4731,4740,4749],{"type":2451,"tag":4622,"props":4723,"children":4724},{},[4725],{"type":2451,"tag":2630,"props":4726,"children":4728},{"className":4727},[],[4729],{"type":2457,"value":4730},"onError",{"type":2451,"tag":4622,"props":4732,"children":4733},{},[4734],{"type":2451,"tag":2630,"props":4735,"children":4737},{"className":4736},[],[4738],{"type":2457,"value":4739},"'throw' | 'warn' | 'ignore'",{"type":2451,"tag":4622,"props":4741,"children":4742},{},[4743],{"type":2451,"tag":2630,"props":4744,"children":4746},{"className":4745},[],[4747],{"type":2457,"value":4748},"'throw'",{"type":2451,"tag":4622,"props":4750,"children":4751},{},[4752],{"type":2457,"value":4753},"How to handle validation errors",{"type":2451,"tag":4590,"props":4755,"children":4756},{},[4757,4766,4774,4783],{"type":2451,"tag":4622,"props":4758,"children":4759},{},[4760],{"type":2451,"tag":2630,"props":4761,"children":4763},{"className":4762},[],[4764],{"type":2457,"value":4765},"jsonSchemaTarget",{"type":2451,"tag":4622,"props":4767,"children":4768},{},[4769],{"type":2451,"tag":2630,"props":4770,"children":4772},{"className":4771},[],[4773],{"type":2457,"value":3011},{"type":2451,"tag":4622,"props":4775,"children":4776},{},[4777],{"type":2451,"tag":2630,"props":4778,"children":4780},{"className":4779},[],[4781],{"type":2457,"value":4782},"'draft-2020-12'",{"type":2451,"tag":4622,"props":4784,"children":4785},{},[4786],{"type":2457,"value":4787},"JSON Schema version for runtime validation",{"type":2451,"tag":4590,"props":4789,"children":4790},{},[4791,4800,4809,4818],{"type":2451,"tag":4622,"props":4792,"children":4793},{},[4794],{"type":2451,"tag":2630,"props":4795,"children":4797},{"className":4796},[],[4798],{"type":2457,"value":4799},"shelve",{"type":2451,"tag":4622,"props":4801,"children":4802},{},[4803],{"type":2451,"tag":2630,"props":4804,"children":4806},{"className":4805},[],[4807],{"type":2457,"value":4808},"boolean | ShelveOptions",{"type":2451,"tag":4622,"props":4810,"children":4811},{},[4812],{"type":2451,"tag":2630,"props":4813,"children":4815},{"className":4814},[],[4816],{"type":2457,"value":4817},"undefined",{"type":2451,"tag":4622,"props":4819,"children":4820},{},[4821],{"type":2457,"value":4822},"Shelve secrets integration (see below)",{"type":2451,"tag":2572,"props":4824,"children":4826},{"id":4825},"shelve-integration",[4827],{"type":2457,"value":4828},"Shelve Integration",{"type":2451,"tag":2478,"props":4830,"children":4831},{},[4832,4837],{"type":2451,"tag":2512,"props":4833,"children":4835},{"href":2684,"rel":4834},[2599],[4836],{"type":2457,"value":2688},{"type":2457,"value":4838}," is a secrets management service. This module fetches secrets from Shelve at build time and merges them into your runtime config before validation.",{"type":2451,"tag":2783,"props":4840,"children":4842},{"id":4841},"configure-shelve",[4843],{"type":2457,"value":4844},"Configure Shelve",{"type":2451,"tag":2478,"props":4846,"children":4847},{},[4848],{"type":2457,"value":4849},"Configure Shelve directly in your Nuxt config:",{"type":2451,"tag":2703,"props":4851,"children":4853},{"className":4372,"code":4852,"language":4296,"meta":2418,"style":2418},"export default defineNuxtConfig({\n  safeRuntimeConfig: {\n    $schema: runtimeConfigSchema,\n    shelve: {\n      project: 'my-app',\n      slug: 'my-team',\n    },\n  },\n})\n",[4854],{"type":2451,"tag":2630,"props":4855,"children":4856},{"__ignoreMap":2418},[4857,4880,4895,4914,4930,4959,4988,4995,5002],{"type":2451,"tag":2713,"props":4858,"children":4859},{"class":2715,"line":2716},[4860,4864,4868,4872,4876],{"type":2451,"tag":2713,"props":4861,"children":4862},{"style":2818},[4863],{"type":2457,"value":3794},{"type":2451,"tag":2713,"props":4865,"children":4866},{"style":2818},[4867],{"type":2457,"value":3799},{"type":2451,"tag":2713,"props":4869,"children":4870},{"style":2919},[4871],{"type":2457,"value":3804},{"type":2451,"tag":2713,"props":4873,"children":4874},{"style":2830},[4875],{"type":2457,"value":2926},{"type":2451,"tag":2713,"props":4877,"children":4878},{"style":2824},[4879],{"type":2457,"value":2931},{"type":2451,"tag":2713,"props":4881,"children":4882},{"class":2715,"line":2889},[4883,4887,4891],{"type":2451,"tag":2713,"props":4884,"children":4885},{"style":2938},[4886],{"type":2457,"value":4189},{"type":2451,"tag":2713,"props":4888,"children":4889},{"style":2824},[4890],{"type":2457,"value":2946},{"type":2451,"tag":2713,"props":4892,"children":4893},{"style":2824},[4894],{"type":2457,"value":3581},{"type":2451,"tag":2713,"props":4896,"children":4897},{"class":2715,"line":2899},[4898,4902,4906,4910],{"type":2451,"tag":2713,"props":4899,"children":4900},{"style":2938},[4901],{"type":2457,"value":4206},{"type":2451,"tag":2713,"props":4903,"children":4904},{"style":2824},[4905],{"type":2457,"value":2946},{"type":2451,"tag":2713,"props":4907,"children":4908},{"style":2830},[4909],{"type":2457,"value":4215},{"type":2451,"tag":2713,"props":4911,"children":4912},{"style":2824},[4913],{"type":2457,"value":2985},{"type":2451,"tag":2713,"props":4915,"children":4916},{"class":2715,"line":2934},[4917,4922,4926],{"type":2451,"tag":2713,"props":4918,"children":4919},{"style":2938},[4920],{"type":2457,"value":4921},"    shelve",{"type":2451,"tag":2713,"props":4923,"children":4924},{"style":2824},[4925],{"type":2457,"value":2946},{"type":2451,"tag":2713,"props":4927,"children":4928},{"style":2824},[4929],{"type":2457,"value":3581},{"type":2451,"tag":2713,"props":4931,"children":4932},{"class":2715,"line":2961},[4933,4938,4942,4946,4951,4955],{"type":2451,"tag":2713,"props":4934,"children":4935},{"style":2938},[4936],{"type":2457,"value":4937},"      project",{"type":2451,"tag":2713,"props":4939,"children":4940},{"style":2824},[4941],{"type":2457,"value":2946},{"type":2451,"tag":2713,"props":4943,"children":4944},{"style":2824},[4945],{"type":2457,"value":2876},{"type":2451,"tag":2713,"props":4947,"children":4948},{"style":2726},[4949],{"type":2457,"value":4950},"my-app",{"type":2451,"tag":2713,"props":4952,"children":4953},{"style":2824},[4954],{"type":2457,"value":3572},{"type":2451,"tag":2713,"props":4956,"children":4957},{"style":2824},[4958],{"type":2457,"value":2985},{"type":2451,"tag":2713,"props":4960,"children":4961},{"class":2715,"line":2988},[4962,4967,4971,4975,4980,4984],{"type":2451,"tag":2713,"props":4963,"children":4964},{"style":2938},[4965],{"type":2457,"value":4966},"      slug",{"type":2451,"tag":2713,"props":4968,"children":4969},{"style":2824},[4970],{"type":2457,"value":2946},{"type":2451,"tag":2713,"props":4972,"children":4973},{"style":2824},[4974],{"type":2457,"value":2876},{"type":2451,"tag":2713,"props":4976,"children":4977},{"style":2726},[4978],{"type":2457,"value":4979},"my-team",{"type":2451,"tag":2713,"props":4981,"children":4982},{"style":2824},[4983],{"type":2457,"value":3572},{"type":2451,"tag":2713,"props":4985,"children":4986},{"style":2824},[4987],{"type":2457,"value":2985},{"type":2451,"tag":2713,"props":4989,"children":4990},{"class":2715,"line":3023},[4991],{"type":2451,"tag":2713,"props":4992,"children":4993},{"style":2824},[4994],{"type":2457,"value":4164},{"type":2451,"tag":2713,"props":4996,"children":4997},{"class":2715,"line":3041},[4998],{"type":2451,"tag":2713,"props":4999,"children":5000},{"style":2824},[5001],{"type":2457,"value":3658},{"type":2451,"tag":2713,"props":5003,"children":5004},{"class":2715,"line":3066},[5005,5009],{"type":2451,"tag":2713,"props":5006,"children":5007},{"style":2824},[5008],{"type":2457,"value":3131},{"type":2451,"tag":2713,"props":5010,"children":5011},{"style":2830},[5012],{"type":2457,"value":3136},{"type":2451,"tag":2478,"props":5014,"children":5015},{},[5016],{"type":2457,"value":5017},"The module resolves configuration from multiple sources (highest priority first):",{"type":2451,"tag":4582,"props":5019,"children":5020},{},[5021,5037],{"type":2451,"tag":4586,"props":5022,"children":5023},{},[5024],{"type":2451,"tag":4590,"props":5025,"children":5026},{},[5027,5032],{"type":2451,"tag":4594,"props":5028,"children":5029},{},[5030],{"type":2457,"value":5031},"Config",{"type":2451,"tag":4594,"props":5033,"children":5034},{},[5035],{"type":2457,"value":5036},"Sources",{"type":2451,"tag":4615,"props":5038,"children":5039},{},[5040,5073,5104,5129,5159],{"type":2451,"tag":4590,"props":5041,"children":5042},{},[5043,5048],{"type":2451,"tag":4622,"props":5044,"children":5045},{},[5046],{"type":2457,"value":5047},"project",{"type":2451,"tag":4622,"props":5049,"children":5050},{},[5051,5057,5059,5065,5066,5071],{"type":2451,"tag":2630,"props":5052,"children":5054},{"className":5053},[],[5055],{"type":2457,"value":5056},"nuxt.config",{"type":2457,"value":5058}," → ",{"type":2451,"tag":2630,"props":5060,"children":5062},{"className":5061},[],[5063],{"type":2457,"value":5064},"SHELVE_PROJECT",{"type":2457,"value":5058},{"type":2451,"tag":2630,"props":5067,"children":5069},{"className":5068},[],[5070],{"type":2457,"value":249},{"type":2457,"value":5072}," name",{"type":2451,"tag":4590,"props":5074,"children":5075},{},[5076,5081],{"type":2451,"tag":4622,"props":5077,"children":5078},{},[5079],{"type":2457,"value":5080},"slug",{"type":2451,"tag":4622,"props":5082,"children":5083},{},[5084,5090,5091,5097,5098],{"type":2451,"tag":2630,"props":5085,"children":5087},{"className":5086},[],[5088],{"type":2457,"value":5089},"nuxt.config.slug\u002Fteam",{"type":2457,"value":5058},{"type":2451,"tag":2630,"props":5092,"children":5094},{"className":5093},[],[5095],{"type":2457,"value":5096},"SHELVE_TEAM",{"type":2457,"value":5058},{"type":2451,"tag":2630,"props":5099,"children":5101},{"className":5100},[],[5102],{"type":2457,"value":5103},"SHELVE_TEAM_SLUG",{"type":2451,"tag":4590,"props":5105,"children":5106},{},[5107,5112],{"type":2451,"tag":4622,"props":5108,"children":5109},{},[5110],{"type":2457,"value":5111},"environment",{"type":2451,"tag":4622,"props":5113,"children":5114},{},[5115,5120,5121,5127],{"type":2451,"tag":2630,"props":5116,"children":5118},{"className":5117},[],[5119],{"type":2457,"value":5056},{"type":2457,"value":5058},{"type":2451,"tag":2630,"props":5122,"children":5124},{"className":5123},[],[5125],{"type":2457,"value":5126},"SHELVE_ENV",{"type":2457,"value":5128}," → dev mode auto",{"type":2451,"tag":4590,"props":5130,"children":5131},{},[5132,5137],{"type":2451,"tag":4622,"props":5133,"children":5134},{},[5135],{"type":2457,"value":5136},"url",{"type":2451,"tag":4622,"props":5138,"children":5139},{},[5140,5145,5146,5152,5153],{"type":2451,"tag":2630,"props":5141,"children":5143},{"className":5142},[],[5144],{"type":2457,"value":5056},{"type":2457,"value":5058},{"type":2451,"tag":2630,"props":5147,"children":5149},{"className":5148},[],[5150],{"type":2457,"value":5151},"SHELVE_URL",{"type":2457,"value":5058},{"type":2451,"tag":2630,"props":5154,"children":5156},{"className":5155},[],[5157],{"type":2457,"value":5158},"https:\u002F\u002Fapp.shelve.cloud",{"type":2451,"tag":4590,"props":5160,"children":5161},{},[5162,5167],{"type":2451,"tag":4622,"props":5163,"children":5164},{},[5165],{"type":2457,"value":5166},"token",{"type":2451,"tag":4622,"props":5168,"children":5169},{},[5170,5176,5177],{"type":2451,"tag":2630,"props":5171,"children":5173},{"className":5172},[],[5174],{"type":2457,"value":5175},"SHELVE_TOKEN",{"type":2457,"value":5058},{"type":2451,"tag":2630,"props":5178,"children":5180},{"className":5179},[],[5181],{"type":2457,"value":5182},"~\u002F.shelve",{"type":2451,"tag":2783,"props":5184,"children":5186},{"id":5185},"explicit-configuration",[5187],{"type":2457,"value":5188},"Explicit Configuration",{"type":2451,"tag":2478,"props":5190,"children":5191},{},[5192],{"type":2457,"value":5193},"You can override any auto-detected value:",{"type":2451,"tag":2703,"props":5195,"children":5197},{"className":4372,"code":5196,"language":4296,"meta":2418,"style":2418},"export default defineNuxtConfig({\n  safeRuntimeConfig: {\n    $schema: runtimeConfigSchema,\n    shelve: {\n      project: 'my-app',\n      slug: 'my-team',\n      environment: 'production',\n      url: 'https:\u002F\u002Fapp.shelve.cloud', \u002F\u002F Self-hosted Shelve\n      fetchAtBuild: true, \u002F\u002F Default: fetch at build time\n      fetchAtRuntime: false, \u002F\u002F Opt-in: fetch on server cold start\n    },\n  },\n})\n",[5198],{"type":2451,"tag":2630,"props":5199,"children":5200},{"__ignoreMap":2418},[5201,5224,5239,5258,5273,5300,5327,5356,5389,5416,5442,5449,5456],{"type":2451,"tag":2713,"props":5202,"children":5203},{"class":2715,"line":2716},[5204,5208,5212,5216,5220],{"type":2451,"tag":2713,"props":5205,"children":5206},{"style":2818},[5207],{"type":2457,"value":3794},{"type":2451,"tag":2713,"props":5209,"children":5210},{"style":2818},[5211],{"type":2457,"value":3799},{"type":2451,"tag":2713,"props":5213,"children":5214},{"style":2919},[5215],{"type":2457,"value":3804},{"type":2451,"tag":2713,"props":5217,"children":5218},{"style":2830},[5219],{"type":2457,"value":2926},{"type":2451,"tag":2713,"props":5221,"children":5222},{"style":2824},[5223],{"type":2457,"value":2931},{"type":2451,"tag":2713,"props":5225,"children":5226},{"class":2715,"line":2889},[5227,5231,5235],{"type":2451,"tag":2713,"props":5228,"children":5229},{"style":2938},[5230],{"type":2457,"value":4189},{"type":2451,"tag":2713,"props":5232,"children":5233},{"style":2824},[5234],{"type":2457,"value":2946},{"type":2451,"tag":2713,"props":5236,"children":5237},{"style":2824},[5238],{"type":2457,"value":3581},{"type":2451,"tag":2713,"props":5240,"children":5241},{"class":2715,"line":2899},[5242,5246,5250,5254],{"type":2451,"tag":2713,"props":5243,"children":5244},{"style":2938},[5245],{"type":2457,"value":4206},{"type":2451,"tag":2713,"props":5247,"children":5248},{"style":2824},[5249],{"type":2457,"value":2946},{"type":2451,"tag":2713,"props":5251,"children":5252},{"style":2830},[5253],{"type":2457,"value":4215},{"type":2451,"tag":2713,"props":5255,"children":5256},{"style":2824},[5257],{"type":2457,"value":2985},{"type":2451,"tag":2713,"props":5259,"children":5260},{"class":2715,"line":2934},[5261,5265,5269],{"type":2451,"tag":2713,"props":5262,"children":5263},{"style":2938},[5264],{"type":2457,"value":4921},{"type":2451,"tag":2713,"props":5266,"children":5267},{"style":2824},[5268],{"type":2457,"value":2946},{"type":2451,"tag":2713,"props":5270,"children":5271},{"style":2824},[5272],{"type":2457,"value":3581},{"type":2451,"tag":2713,"props":5274,"children":5275},{"class":2715,"line":2961},[5276,5280,5284,5288,5292,5296],{"type":2451,"tag":2713,"props":5277,"children":5278},{"style":2938},[5279],{"type":2457,"value":4937},{"type":2451,"tag":2713,"props":5281,"children":5282},{"style":2824},[5283],{"type":2457,"value":2946},{"type":2451,"tag":2713,"props":5285,"children":5286},{"style":2824},[5287],{"type":2457,"value":2876},{"type":2451,"tag":2713,"props":5289,"children":5290},{"style":2726},[5291],{"type":2457,"value":4950},{"type":2451,"tag":2713,"props":5293,"children":5294},{"style":2824},[5295],{"type":2457,"value":3572},{"type":2451,"tag":2713,"props":5297,"children":5298},{"style":2824},[5299],{"type":2457,"value":2985},{"type":2451,"tag":2713,"props":5301,"children":5302},{"class":2715,"line":2988},[5303,5307,5311,5315,5319,5323],{"type":2451,"tag":2713,"props":5304,"children":5305},{"style":2938},[5306],{"type":2457,"value":4966},{"type":2451,"tag":2713,"props":5308,"children":5309},{"style":2824},[5310],{"type":2457,"value":2946},{"type":2451,"tag":2713,"props":5312,"children":5313},{"style":2824},[5314],{"type":2457,"value":2876},{"type":2451,"tag":2713,"props":5316,"children":5317},{"style":2726},[5318],{"type":2457,"value":4979},{"type":2451,"tag":2713,"props":5320,"children":5321},{"style":2824},[5322],{"type":2457,"value":3572},{"type":2451,"tag":2713,"props":5324,"children":5325},{"style":2824},[5326],{"type":2457,"value":2985},{"type":2451,"tag":2713,"props":5328,"children":5329},{"class":2715,"line":3023},[5330,5335,5339,5343,5348,5352],{"type":2451,"tag":2713,"props":5331,"children":5332},{"style":2938},[5333],{"type":2457,"value":5334},"      environment",{"type":2451,"tag":2713,"props":5336,"children":5337},{"style":2824},[5338],{"type":2457,"value":2946},{"type":2451,"tag":2713,"props":5340,"children":5341},{"style":2824},[5342],{"type":2457,"value":2876},{"type":2451,"tag":2713,"props":5344,"children":5345},{"style":2726},[5346],{"type":2457,"value":5347},"production",{"type":2451,"tag":2713,"props":5349,"children":5350},{"style":2824},[5351],{"type":2457,"value":3572},{"type":2451,"tag":2713,"props":5353,"children":5354},{"style":2824},[5355],{"type":2457,"value":2985},{"type":2451,"tag":2713,"props":5357,"children":5358},{"class":2715,"line":3041},[5359,5364,5368,5372,5376,5380,5384],{"type":2451,"tag":2713,"props":5360,"children":5361},{"style":2938},[5362],{"type":2457,"value":5363},"      url",{"type":2451,"tag":2713,"props":5365,"children":5366},{"style":2824},[5367],{"type":2457,"value":2946},{"type":2451,"tag":2713,"props":5369,"children":5370},{"style":2824},[5371],{"type":2457,"value":2876},{"type":2451,"tag":2713,"props":5373,"children":5374},{"style":2726},[5375],{"type":2457,"value":5158},{"type":2451,"tag":2713,"props":5377,"children":5378},{"style":2824},[5379],{"type":2457,"value":3572},{"type":2451,"tag":2713,"props":5381,"children":5382},{"style":2824},[5383],{"type":2457,"value":2838},{"type":2451,"tag":2713,"props":5385,"children":5386},{"style":4337},[5387],{"type":2457,"value":5388}," \u002F\u002F Self-hosted Shelve\n",{"type":2451,"tag":2713,"props":5390,"children":5391},{"class":2715,"line":3066},[5392,5397,5401,5407,5411],{"type":2451,"tag":2713,"props":5393,"children":5394},{"style":2938},[5395],{"type":2457,"value":5396},"      fetchAtBuild",{"type":2451,"tag":2713,"props":5398,"children":5399},{"style":2824},[5400],{"type":2457,"value":2946},{"type":2451,"tag":2713,"props":5402,"children":5404},{"style":5403},"--shiki-light:#FF5370;--shiki-default:#FF5370;--shiki-dark:#FF9CAC",[5405],{"type":2457,"value":5406}," true",{"type":2451,"tag":2713,"props":5408,"children":5409},{"style":2824},[5410],{"type":2457,"value":2838},{"type":2451,"tag":2713,"props":5412,"children":5413},{"style":4337},[5414],{"type":2457,"value":5415}," \u002F\u002F Default: fetch at build time\n",{"type":2451,"tag":2713,"props":5417,"children":5418},{"class":2715,"line":3091},[5419,5424,5428,5433,5437],{"type":2451,"tag":2713,"props":5420,"children":5421},{"style":2938},[5422],{"type":2457,"value":5423},"      fetchAtRuntime",{"type":2451,"tag":2713,"props":5425,"children":5426},{"style":2824},[5427],{"type":2457,"value":2946},{"type":2451,"tag":2713,"props":5429,"children":5430},{"style":5403},[5431],{"type":2457,"value":5432}," false",{"type":2451,"tag":2713,"props":5434,"children":5435},{"style":2824},[5436],{"type":2457,"value":2838},{"type":2451,"tag":2713,"props":5438,"children":5439},{"style":4337},[5440],{"type":2457,"value":5441}," \u002F\u002F Opt-in: fetch on server cold start\n",{"type":2451,"tag":2713,"props":5443,"children":5444},{"class":2715,"line":3125},[5445],{"type":2451,"tag":2713,"props":5446,"children":5447},{"style":2824},[5448],{"type":2457,"value":4164},{"type":2451,"tag":2713,"props":5450,"children":5451},{"class":2715,"line":4167},[5452],{"type":2451,"tag":2713,"props":5453,"children":5454},{"style":2824},[5455],{"type":2457,"value":3658},{"type":2451,"tag":2713,"props":5457,"children":5458},{"class":2715,"line":4175},[5459,5463],{"type":2451,"tag":2713,"props":5460,"children":5461},{"style":2824},[5462],{"type":2457,"value":3131},{"type":2451,"tag":2713,"props":5464,"children":5465},{"style":2830},[5466],{"type":2457,"value":3136},{"type":2451,"tag":2783,"props":5468,"children":5470},{"id":5469},"variable-transformation",[5471],{"type":2457,"value":5472},"Variable Transformation",{"type":2451,"tag":2478,"props":5474,"children":5475},{},[5476,5478,5484,5486,5492],{"type":2457,"value":5477},"Shelve variables transform from ",{"type":2451,"tag":2630,"props":5479,"children":5481},{"className":5480},[],[5482],{"type":2457,"value":5483},"SCREAMING_SNAKE_CASE",{"type":2457,"value":5485}," to ",{"type":2451,"tag":2630,"props":5487,"children":5489},{"className":5488},[],[5490],{"type":2457,"value":5491},"camelCase",{"type":2457,"value":5493}," with smart grouping:",{"type":2451,"tag":2703,"props":5495,"children":5499},{"className":5496,"code":5498,"language":2457},[5497],"language-text","DATABASE_URL           → databaseUrl\nGITHUB_CLIENT_ID       → github.clientId (grouped)\nGITHUB_CLIENT_SECRET   → github.clientSecret (grouped)\nPUBLIC_API_URL         → public.apiUrl\n",[5500],{"type":2451,"tag":2630,"props":5501,"children":5502},{"__ignoreMap":2418},[5503],{"type":2457,"value":5498},{"type":2451,"tag":2478,"props":5505,"children":5506},{},[5507,5509,5515,5517,5523,5525,5531],{"type":2457,"value":5508},"Variables with repeated prefixes (2+ keys) nest automatically. ",{"type":2451,"tag":2630,"props":5510,"children":5512},{"className":5511},[],[5513],{"type":2457,"value":5514},"PUBLIC_*",{"type":2457,"value":5516}," and ",{"type":2451,"tag":2630,"props":5518,"children":5520},{"className":5519},[],[5521],{"type":2457,"value":5522},"NUXT_PUBLIC_*",{"type":2457,"value":5524}," map to ",{"type":2451,"tag":2630,"props":5526,"children":5528},{"className":5527},[],[5529],{"type":2457,"value":5530},"runtimeConfig.public",{"type":2457,"value":3219},{"type":2451,"tag":2783,"props":5533,"children":5535},{"id":5534},"runtime-fetch-opt-in",[5536],{"type":2457,"value":5537},"Runtime Fetch (Opt-in)",{"type":2451,"tag":2478,"props":5539,"children":5540},{},[5541],{"type":2457,"value":5542},"For dynamic environments or secret rotation, enable runtime fetching:",{"type":2451,"tag":2703,"props":5544,"children":5546},{"className":4372,"code":5545,"language":4296,"meta":2418,"style":2418},"export default defineNuxtConfig({\n  safeRuntimeConfig: {\n    shelve: {\n      fetchAtBuild: true, \u002F\u002F Bake secrets into build\n      fetchAtRuntime: true, \u002F\u002F Also refresh on cold start\n    },\n  },\n})\n",[5547],{"type":2451,"tag":2630,"props":5548,"children":5549},{"__ignoreMap":2418},[5550,5573,5588,5603,5627,5651,5658,5665],{"type":2451,"tag":2713,"props":5551,"children":5552},{"class":2715,"line":2716},[5553,5557,5561,5565,5569],{"type":2451,"tag":2713,"props":5554,"children":5555},{"style":2818},[5556],{"type":2457,"value":3794},{"type":2451,"tag":2713,"props":5558,"children":5559},{"style":2818},[5560],{"type":2457,"value":3799},{"type":2451,"tag":2713,"props":5562,"children":5563},{"style":2919},[5564],{"type":2457,"value":3804},{"type":2451,"tag":2713,"props":5566,"children":5567},{"style":2830},[5568],{"type":2457,"value":2926},{"type":2451,"tag":2713,"props":5570,"children":5571},{"style":2824},[5572],{"type":2457,"value":2931},{"type":2451,"tag":2713,"props":5574,"children":5575},{"class":2715,"line":2889},[5576,5580,5584],{"type":2451,"tag":2713,"props":5577,"children":5578},{"style":2938},[5579],{"type":2457,"value":4189},{"type":2451,"tag":2713,"props":5581,"children":5582},{"style":2824},[5583],{"type":2457,"value":2946},{"type":2451,"tag":2713,"props":5585,"children":5586},{"style":2824},[5587],{"type":2457,"value":3581},{"type":2451,"tag":2713,"props":5589,"children":5590},{"class":2715,"line":2899},[5591,5595,5599],{"type":2451,"tag":2713,"props":5592,"children":5593},{"style":2938},[5594],{"type":2457,"value":4921},{"type":2451,"tag":2713,"props":5596,"children":5597},{"style":2824},[5598],{"type":2457,"value":2946},{"type":2451,"tag":2713,"props":5600,"children":5601},{"style":2824},[5602],{"type":2457,"value":3581},{"type":2451,"tag":2713,"props":5604,"children":5605},{"class":2715,"line":2934},[5606,5610,5614,5618,5622],{"type":2451,"tag":2713,"props":5607,"children":5608},{"style":2938},[5609],{"type":2457,"value":5396},{"type":2451,"tag":2713,"props":5611,"children":5612},{"style":2824},[5613],{"type":2457,"value":2946},{"type":2451,"tag":2713,"props":5615,"children":5616},{"style":5403},[5617],{"type":2457,"value":5406},{"type":2451,"tag":2713,"props":5619,"children":5620},{"style":2824},[5621],{"type":2457,"value":2838},{"type":2451,"tag":2713,"props":5623,"children":5624},{"style":4337},[5625],{"type":2457,"value":5626}," \u002F\u002F Bake secrets into build\n",{"type":2451,"tag":2713,"props":5628,"children":5629},{"class":2715,"line":2961},[5630,5634,5638,5642,5646],{"type":2451,"tag":2713,"props":5631,"children":5632},{"style":2938},[5633],{"type":2457,"value":5423},{"type":2451,"tag":2713,"props":5635,"children":5636},{"style":2824},[5637],{"type":2457,"value":2946},{"type":2451,"tag":2713,"props":5639,"children":5640},{"style":5403},[5641],{"type":2457,"value":5406},{"type":2451,"tag":2713,"props":5643,"children":5644},{"style":2824},[5645],{"type":2457,"value":2838},{"type":2451,"tag":2713,"props":5647,"children":5648},{"style":4337},[5649],{"type":2457,"value":5650}," \u002F\u002F Also refresh on cold start\n",{"type":2451,"tag":2713,"props":5652,"children":5653},{"class":2715,"line":2988},[5654],{"type":2451,"tag":2713,"props":5655,"children":5656},{"style":2824},[5657],{"type":2457,"value":4164},{"type":2451,"tag":2713,"props":5659,"children":5660},{"class":2715,"line":3023},[5661],{"type":2451,"tag":2713,"props":5662,"children":5663},{"style":2824},[5664],{"type":2457,"value":3658},{"type":2451,"tag":2713,"props":5666,"children":5667},{"class":2715,"line":3041},[5668,5672],{"type":2451,"tag":2713,"props":5669,"children":5670},{"style":2824},[5671],{"type":2457,"value":3131},{"type":2451,"tag":2713,"props":5673,"children":5674},{"style":2830},[5675],{"type":2457,"value":3136},{"type":2451,"tag":2478,"props":5677,"children":5678},{},[5679],{"type":2457,"value":5680},"The runtime plugin runs before validation, so freshly fetched secrets are validated against your schema.",{"type":2451,"tag":2783,"props":5682,"children":5684},{"id":5683},"install-wizard-ux",[5685],{"type":2457,"value":5686},"Install Wizard UX",{"type":2451,"tag":2478,"props":5688,"children":5689},{},[5690],{"type":2457,"value":5691},"On module install, an interactive setup wizard can help bootstrap validation and Shelve config. The wizard now:",{"type":2451,"tag":2578,"props":5693,"children":5694},{},[5695,5713,5718],{"type":2451,"tag":2582,"props":5696,"children":5697},{},[5698,5700,5705,5707,5712],{"type":2457,"value":5699},"shows a preview of planned actions first (install deps, write ",{"type":2451,"tag":2630,"props":5701,"children":5703},{"className":5702},[],[5704],{"type":2457,"value":5182},{"type":2457,"value":5706},", edit ",{"type":2451,"tag":2630,"props":5708,"children":5710},{"className":5709},[],[5711],{"type":2457,"value":5056},{"type":2457,"value":3034},{"type":2451,"tag":2582,"props":5714,"children":5715},{},[5716],{"type":2457,"value":5717},"asks for a final confirmation before applying any change",{"type":2451,"tag":2582,"props":5719,"children":5720},{},[5721],{"type":2457,"value":5722},"skips automatically in CI and non-interactive terminals (non-TTY)",{"type":2451,"tag":2572,"props":5724,"children":5726},{"id":5725},"runtime-validation",[5727],{"type":2457,"value":5728},"Runtime Validation",{"type":2451,"tag":2478,"props":5730,"children":5731},{},[5732],{"type":2457,"value":5733},"By default, validation only runs at build time. Inline schemas can opt into JSON Schema validation when the server starts:",{"type":2451,"tag":2703,"props":5735,"children":5737},{"className":4372,"code":5736,"filename":244,"language":4296,"meta":2418,"style":2418},"export default defineNuxtConfig({\n  safeRuntimeConfig: {\n    $schema: runtimeConfigSchema,\n    validateAtRuntime: true,\n    onError: 'throw',\n  },\n})\n",[5738],{"type":2451,"tag":2630,"props":5739,"children":5740},{"__ignoreMap":2418},[5741,5764,5779,5798,5818,5847,5854],{"type":2451,"tag":2713,"props":5742,"children":5743},{"class":2715,"line":2716},[5744,5748,5752,5756,5760],{"type":2451,"tag":2713,"props":5745,"children":5746},{"style":2818},[5747],{"type":2457,"value":3794},{"type":2451,"tag":2713,"props":5749,"children":5750},{"style":2818},[5751],{"type":2457,"value":3799},{"type":2451,"tag":2713,"props":5753,"children":5754},{"style":2919},[5755],{"type":2457,"value":3804},{"type":2451,"tag":2713,"props":5757,"children":5758},{"style":2830},[5759],{"type":2457,"value":2926},{"type":2451,"tag":2713,"props":5761,"children":5762},{"style":2824},[5763],{"type":2457,"value":2931},{"type":2451,"tag":2713,"props":5765,"children":5766},{"class":2715,"line":2889},[5767,5771,5775],{"type":2451,"tag":2713,"props":5768,"children":5769},{"style":2938},[5770],{"type":2457,"value":4189},{"type":2451,"tag":2713,"props":5772,"children":5773},{"style":2824},[5774],{"type":2457,"value":2946},{"type":2451,"tag":2713,"props":5776,"children":5777},{"style":2824},[5778],{"type":2457,"value":3581},{"type":2451,"tag":2713,"props":5780,"children":5781},{"class":2715,"line":2899},[5782,5786,5790,5794],{"type":2451,"tag":2713,"props":5783,"children":5784},{"style":2938},[5785],{"type":2457,"value":4206},{"type":2451,"tag":2713,"props":5787,"children":5788},{"style":2824},[5789],{"type":2457,"value":2946},{"type":2451,"tag":2713,"props":5791,"children":5792},{"style":2830},[5793],{"type":2457,"value":4215},{"type":2451,"tag":2713,"props":5795,"children":5796},{"style":2824},[5797],{"type":2457,"value":2985},{"type":2451,"tag":2713,"props":5799,"children":5800},{"class":2715,"line":2934},[5801,5806,5810,5814],{"type":2451,"tag":2713,"props":5802,"children":5803},{"style":2938},[5804],{"type":2457,"value":5805},"    validateAtRuntime",{"type":2451,"tag":2713,"props":5807,"children":5808},{"style":2824},[5809],{"type":2457,"value":2946},{"type":2451,"tag":2713,"props":5811,"children":5812},{"style":5403},[5813],{"type":2457,"value":5406},{"type":2451,"tag":2713,"props":5815,"children":5816},{"style":2824},[5817],{"type":2457,"value":2985},{"type":2451,"tag":2713,"props":5819,"children":5820},{"class":2715,"line":2961},[5821,5826,5830,5834,5839,5843],{"type":2451,"tag":2713,"props":5822,"children":5823},{"style":2938},[5824],{"type":2457,"value":5825},"    onError",{"type":2451,"tag":2713,"props":5827,"children":5828},{"style":2824},[5829],{"type":2457,"value":2946},{"type":2451,"tag":2713,"props":5831,"children":5832},{"style":2824},[5833],{"type":2457,"value":2876},{"type":2451,"tag":2713,"props":5835,"children":5836},{"style":2726},[5837],{"type":2457,"value":5838},"throw",{"type":2451,"tag":2713,"props":5840,"children":5841},{"style":2824},[5842],{"type":2457,"value":3572},{"type":2451,"tag":2713,"props":5844,"children":5845},{"style":2824},[5846],{"type":2457,"value":2985},{"type":2451,"tag":2713,"props":5848,"children":5849},{"class":2715,"line":2988},[5850],{"type":2451,"tag":2713,"props":5851,"children":5852},{"style":2824},[5853],{"type":2457,"value":3658},{"type":2451,"tag":2713,"props":5855,"children":5856},{"class":2715,"line":3023},[5857,5861],{"type":2451,"tag":2713,"props":5858,"children":5859},{"style":2824},[5860],{"type":2457,"value":3131},{"type":2451,"tag":2713,"props":5862,"children":5863},{"style":2830},[5864],{"type":2457,"value":3136},{"type":2451,"tag":2478,"props":5866,"children":5867},{},[5868,5870,5877],{"type":2457,"value":5869},"This path uses ",{"type":2451,"tag":2512,"props":5871,"children":5874},{"href":5872,"rel":5873},"https:\u002F\u002Fgithub.com\u002Fcfworker\u002Fcfworker\u002Ftree\u002Fmain\u002Fpackages\u002Fjson-schema",[2599],[5875],{"type":2457,"value":5876},"@cfworker\u002Fjson-schema",{"type":2457,"value":5878}," after Nitro applies environment overrides. JSON Schema validates the resulting shape, but it cannot execute Standard Schema transformations.",{"type":2451,"tag":2783,"props":5880,"children":5882},{"id":5881},"preserve-runtime-transformations",[5883],{"type":2457,"value":5884},"Preserve Runtime Transformations",{"type":2451,"tag":2478,"props":5886,"children":5887},{},[5888],{"type":2457,"value":5889},"Runtime environment overrides often arrive as strings. Move the schema into a default-exported module when the validated output must contain canonical booleans, numbers, or other transformed values:",{"type":2451,"tag":2703,"props":5891,"children":5894},{"className":4372,"code":5892,"filename":5893,"language":4296,"meta":2418,"style":2418},"import * as v from 'valibot'\n\nconst runtimeBoolean = v.pipe(\n  v.union([v.boolean(), v.picklist(['true', 'false'])]),\n  v.transform(value => value === true || value === 'true'),\n  v.boolean(),\n)\n\nconst runtimeNumber = v.union([\n  v.number(),\n  v.pipe(v.string(), v.decimal(), v.transform(Number), v.number()),\n])\n\nexport default v.object({\n  perfTrace: v.object({\n    enabled: runtimeBoolean,\n    token: v.string(),\n  }),\n  public: v.object({\n    replaySampleRate: runtimeNumber,\n  }),\n})\n","runtime-config.schema.ts",[5895],{"type":2451,"tag":2630,"props":5896,"children":5897},{"__ignoreMap":2418},[5898,5937,5944,5979,6072,6150,6173,6180,6187,6220,6243,6341,6349,6356,6387,6419,6440,6472,6488,6520,6542,6558],{"type":2451,"tag":2713,"props":5899,"children":5900},{"class":2715,"line":2716},[5901,5905,5910,5915,5920,5925,5929,5933],{"type":2451,"tag":2713,"props":5902,"children":5903},{"style":2818},[5904],{"type":2457,"value":2821},{"type":2451,"tag":2713,"props":5906,"children":5907},{"style":2824},[5908],{"type":2457,"value":5909}," *",{"type":2451,"tag":2713,"props":5911,"children":5912},{"style":2818},[5913],{"type":2457,"value":5914}," as",{"type":2451,"tag":2713,"props":5916,"children":5917},{"style":2830},[5918],{"type":2457,"value":5919}," v ",{"type":2451,"tag":2713,"props":5921,"children":5922},{"style":2818},[5923],{"type":2457,"value":5924},"from",{"type":2451,"tag":2713,"props":5926,"children":5927},{"style":2824},[5928],{"type":2457,"value":2876},{"type":2451,"tag":2713,"props":5930,"children":5931},{"style":2726},[5932],{"type":2457,"value":2881},{"type":2451,"tag":2713,"props":5934,"children":5935},{"style":2824},[5936],{"type":2457,"value":2886},{"type":2451,"tag":2713,"props":5938,"children":5939},{"class":2715,"line":2889},[5940],{"type":2451,"tag":2713,"props":5941,"children":5942},{"emptyLinePlaceholder":2893},[5943],{"type":2457,"value":2896},{"type":2451,"tag":2713,"props":5945,"children":5946},{"class":2715,"line":2899},[5947,5951,5956,5960,5965,5969,5974],{"type":2451,"tag":2713,"props":5948,"children":5949},{"style":2903},[5950],{"type":2457,"value":2906},{"type":2451,"tag":2713,"props":5952,"children":5953},{"style":2830},[5954],{"type":2457,"value":5955}," runtimeBoolean ",{"type":2451,"tag":2713,"props":5957,"children":5958},{"style":2824},[5959],{"type":2457,"value":2916},{"type":2451,"tag":2713,"props":5961,"children":5962},{"style":2830},[5963],{"type":2457,"value":5964}," v",{"type":2451,"tag":2713,"props":5966,"children":5967},{"style":2824},[5968],{"type":2457,"value":3219},{"type":2451,"tag":2713,"props":5970,"children":5971},{"style":2919},[5972],{"type":2457,"value":5973},"pipe",{"type":2451,"tag":2713,"props":5975,"children":5976},{"style":2830},[5977],{"type":2457,"value":5978},"(\n",{"type":2451,"tag":2713,"props":5980,"children":5981},{"class":2715,"line":2934},[5982,5987,5991,5996,6001,6005,6009,6013,6017,6021,6025,6030,6035,6039,6043,6047,6051,6055,6059,6063,6068],{"type":2451,"tag":2713,"props":5983,"children":5984},{"style":2830},[5985],{"type":2457,"value":5986},"  v",{"type":2451,"tag":2713,"props":5988,"children":5989},{"style":2824},[5990],{"type":2457,"value":3219},{"type":2451,"tag":2713,"props":5992,"children":5993},{"style":2919},[5994],{"type":2457,"value":5995},"union",{"type":2451,"tag":2713,"props":5997,"children":5998},{"style":2830},[5999],{"type":2457,"value":6000},"([v",{"type":2451,"tag":2713,"props":6002,"children":6003},{"style":2824},[6004],{"type":2457,"value":3219},{"type":2451,"tag":2713,"props":6006,"children":6007},{"style":2919},[6008],{"type":2457,"value":4670},{"type":2451,"tag":2713,"props":6010,"children":6011},{"style":2830},[6012],{"type":2457,"value":2980},{"type":2451,"tag":2713,"props":6014,"children":6015},{"style":2824},[6016],{"type":2457,"value":2838},{"type":2451,"tag":2713,"props":6018,"children":6019},{"style":2830},[6020],{"type":2457,"value":5964},{"type":2451,"tag":2713,"props":6022,"children":6023},{"style":2824},[6024],{"type":2457,"value":3219},{"type":2451,"tag":2713,"props":6026,"children":6027},{"style":2919},[6028],{"type":2457,"value":6029},"picklist",{"type":2451,"tag":2713,"props":6031,"children":6032},{"style":2830},[6033],{"type":2457,"value":6034},"([",{"type":2451,"tag":2713,"props":6036,"children":6037},{"style":2824},[6038],{"type":2457,"value":3572},{"type":2451,"tag":2713,"props":6040,"children":6041},{"style":2726},[6042],{"type":2457,"value":4679},{"type":2451,"tag":2713,"props":6044,"children":6045},{"style":2824},[6046],{"type":2457,"value":3572},{"type":2451,"tag":2713,"props":6048,"children":6049},{"style":2824},[6050],{"type":2457,"value":2838},{"type":2451,"tag":2713,"props":6052,"children":6053},{"style":2824},[6054],{"type":2457,"value":2876},{"type":2451,"tag":2713,"props":6056,"children":6057},{"style":2726},[6058],{"type":2457,"value":4713},{"type":2451,"tag":2713,"props":6060,"children":6061},{"style":2824},[6062],{"type":2457,"value":3572},{"type":2451,"tag":2713,"props":6064,"children":6065},{"style":2830},[6066],{"type":2457,"value":6067},"])])",{"type":2451,"tag":2713,"props":6069,"children":6070},{"style":2824},[6071],{"type":2457,"value":2985},{"type":2451,"tag":2713,"props":6073,"children":6074},{"class":2715,"line":2961},[6075,6079,6083,6088,6092,6098,6103,6108,6113,6117,6122,6126,6130,6134,6138,6142,6146],{"type":2451,"tag":2713,"props":6076,"children":6077},{"style":2830},[6078],{"type":2457,"value":5986},{"type":2451,"tag":2713,"props":6080,"children":6081},{"style":2824},[6082],{"type":2457,"value":3219},{"type":2451,"tag":2713,"props":6084,"children":6085},{"style":2919},[6086],{"type":2457,"value":6087},"transform",{"type":2451,"tag":2713,"props":6089,"children":6090},{"style":2830},[6091],{"type":2457,"value":2926},{"type":2451,"tag":2713,"props":6093,"children":6095},{"style":6094},"--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#90A4AE;--shiki-default-font-style:italic;--shiki-dark:#BABED8;--shiki-dark-font-style:italic",[6096],{"type":2457,"value":6097},"value",{"type":2451,"tag":2713,"props":6099,"children":6100},{"style":2903},[6101],{"type":2457,"value":6102}," =>",{"type":2451,"tag":2713,"props":6104,"children":6105},{"style":2830},[6106],{"type":2457,"value":6107}," value ",{"type":2451,"tag":2713,"props":6109,"children":6110},{"style":2824},[6111],{"type":2457,"value":6112},"===",{"type":2451,"tag":2713,"props":6114,"children":6115},{"style":5403},[6116],{"type":2457,"value":5406},{"type":2451,"tag":2713,"props":6118,"children":6119},{"style":2824},[6120],{"type":2457,"value":6121}," ||",{"type":2451,"tag":2713,"props":6123,"children":6124},{"style":2830},[6125],{"type":2457,"value":6107},{"type":2451,"tag":2713,"props":6127,"children":6128},{"style":2824},[6129],{"type":2457,"value":6112},{"type":2451,"tag":2713,"props":6131,"children":6132},{"style":2824},[6133],{"type":2457,"value":2876},{"type":2451,"tag":2713,"props":6135,"children":6136},{"style":2726},[6137],{"type":2457,"value":4679},{"type":2451,"tag":2713,"props":6139,"children":6140},{"style":2824},[6141],{"type":2457,"value":3572},{"type":2451,"tag":2713,"props":6143,"children":6144},{"style":2830},[6145],{"type":2457,"value":3034},{"type":2451,"tag":2713,"props":6147,"children":6148},{"style":2824},[6149],{"type":2457,"value":2985},{"type":2451,"tag":2713,"props":6151,"children":6152},{"class":2715,"line":2988},[6153,6157,6161,6165,6169],{"type":2451,"tag":2713,"props":6154,"children":6155},{"style":2830},[6156],{"type":2457,"value":5986},{"type":2451,"tag":2713,"props":6158,"children":6159},{"style":2824},[6160],{"type":2457,"value":3219},{"type":2451,"tag":2713,"props":6162,"children":6163},{"style":2919},[6164],{"type":2457,"value":4670},{"type":2451,"tag":2713,"props":6166,"children":6167},{"style":2830},[6168],{"type":2457,"value":2980},{"type":2451,"tag":2713,"props":6170,"children":6171},{"style":2824},[6172],{"type":2457,"value":2985},{"type":2451,"tag":2713,"props":6174,"children":6175},{"class":2715,"line":3023},[6176],{"type":2451,"tag":2713,"props":6177,"children":6178},{"style":2830},[6179],{"type":2457,"value":3136},{"type":2451,"tag":2713,"props":6181,"children":6182},{"class":2715,"line":3041},[6183],{"type":2451,"tag":2713,"props":6184,"children":6185},{"emptyLinePlaceholder":2893},[6186],{"type":2457,"value":2896},{"type":2451,"tag":2713,"props":6188,"children":6189},{"class":2715,"line":3066},[6190,6194,6199,6203,6207,6211,6215],{"type":2451,"tag":2713,"props":6191,"children":6192},{"style":2903},[6193],{"type":2457,"value":2906},{"type":2451,"tag":2713,"props":6195,"children":6196},{"style":2830},[6197],{"type":2457,"value":6198}," runtimeNumber ",{"type":2451,"tag":2713,"props":6200,"children":6201},{"style":2824},[6202],{"type":2457,"value":2916},{"type":2451,"tag":2713,"props":6204,"children":6205},{"style":2830},[6206],{"type":2457,"value":5964},{"type":2451,"tag":2713,"props":6208,"children":6209},{"style":2824},[6210],{"type":2457,"value":3219},{"type":2451,"tag":2713,"props":6212,"children":6213},{"style":2919},[6214],{"type":2457,"value":5995},{"type":2451,"tag":2713,"props":6216,"children":6217},{"style":2830},[6218],{"type":2457,"value":6219},"([\n",{"type":2451,"tag":2713,"props":6221,"children":6222},{"class":2715,"line":3091},[6223,6227,6231,6235,6239],{"type":2451,"tag":2713,"props":6224,"children":6225},{"style":2830},[6226],{"type":2457,"value":5986},{"type":2451,"tag":2713,"props":6228,"children":6229},{"style":2824},[6230],{"type":2457,"value":3219},{"type":2451,"tag":2713,"props":6232,"children":6233},{"style":2919},[6234],{"type":2457,"value":3114},{"type":2451,"tag":2713,"props":6236,"children":6237},{"style":2830},[6238],{"type":2457,"value":2980},{"type":2451,"tag":2713,"props":6240,"children":6241},{"style":2824},[6242],{"type":2457,"value":2985},{"type":2451,"tag":2713,"props":6244,"children":6245},{"class":2715,"line":3125},[6246,6250,6254,6258,6263,6267,6271,6275,6279,6283,6287,6292,6296,6300,6304,6308,6312,6317,6321,6325,6329,6333,6337],{"type":2451,"tag":2713,"props":6247,"children":6248},{"style":2830},[6249],{"type":2457,"value":5986},{"type":2451,"tag":2713,"props":6251,"children":6252},{"style":2824},[6253],{"type":2457,"value":3219},{"type":2451,"tag":2713,"props":6255,"children":6256},{"style":2919},[6257],{"type":2457,"value":5973},{"type":2451,"tag":2713,"props":6259,"children":6260},{"style":2830},[6261],{"type":2457,"value":6262},"(v",{"type":2451,"tag":2713,"props":6264,"children":6265},{"style":2824},[6266],{"type":2457,"value":3219},{"type":2451,"tag":2713,"props":6268,"children":6269},{"style":2919},[6270],{"type":2457,"value":3011},{"type":2451,"tag":2713,"props":6272,"children":6273},{"style":2830},[6274],{"type":2457,"value":2980},{"type":2451,"tag":2713,"props":6276,"children":6277},{"style":2824},[6278],{"type":2457,"value":2838},{"type":2451,"tag":2713,"props":6280,"children":6281},{"style":2830},[6282],{"type":2457,"value":5964},{"type":2451,"tag":2713,"props":6284,"children":6285},{"style":2824},[6286],{"type":2457,"value":3219},{"type":2451,"tag":2713,"props":6288,"children":6289},{"style":2919},[6290],{"type":2457,"value":6291},"decimal",{"type":2451,"tag":2713,"props":6293,"children":6294},{"style":2830},[6295],{"type":2457,"value":2980},{"type":2451,"tag":2713,"props":6297,"children":6298},{"style":2824},[6299],{"type":2457,"value":2838},{"type":2451,"tag":2713,"props":6301,"children":6302},{"style":2830},[6303],{"type":2457,"value":5964},{"type":2451,"tag":2713,"props":6305,"children":6306},{"style":2824},[6307],{"type":2457,"value":3219},{"type":2451,"tag":2713,"props":6309,"children":6310},{"style":2919},[6311],{"type":2457,"value":6087},{"type":2451,"tag":2713,"props":6313,"children":6314},{"style":2830},[6315],{"type":2457,"value":6316},"(Number)",{"type":2451,"tag":2713,"props":6318,"children":6319},{"style":2824},[6320],{"type":2457,"value":2838},{"type":2451,"tag":2713,"props":6322,"children":6323},{"style":2830},[6324],{"type":2457,"value":5964},{"type":2451,"tag":2713,"props":6326,"children":6327},{"style":2824},[6328],{"type":2457,"value":3219},{"type":2451,"tag":2713,"props":6330,"children":6331},{"style":2919},[6332],{"type":2457,"value":3114},{"type":2451,"tag":2713,"props":6334,"children":6335},{"style":2830},[6336],{"type":2457,"value":3016},{"type":2451,"tag":2713,"props":6338,"children":6339},{"style":2824},[6340],{"type":2457,"value":2985},{"type":2451,"tag":2713,"props":6342,"children":6343},{"class":2715,"line":4167},[6344],{"type":2451,"tag":2713,"props":6345,"children":6346},{"style":2830},[6347],{"type":2457,"value":6348},"])\n",{"type":2451,"tag":2713,"props":6350,"children":6351},{"class":2715,"line":4175},[6352],{"type":2451,"tag":2713,"props":6353,"children":6354},{"emptyLinePlaceholder":2893},[6355],{"type":2457,"value":2896},{"type":2451,"tag":2713,"props":6357,"children":6358},{"class":2715,"line":4183},[6359,6363,6367,6371,6375,6379,6383],{"type":2451,"tag":2713,"props":6360,"children":6361},{"style":2818},[6362],{"type":2457,"value":3794},{"type":2451,"tag":2713,"props":6364,"children":6365},{"style":2818},[6366],{"type":2457,"value":3799},{"type":2451,"tag":2713,"props":6368,"children":6369},{"style":2830},[6370],{"type":2457,"value":5964},{"type":2451,"tag":2713,"props":6372,"children":6373},{"style":2824},[6374],{"type":2457,"value":3219},{"type":2451,"tag":2713,"props":6376,"children":6377},{"style":2919},[6378],{"type":2457,"value":3224},{"type":2451,"tag":2713,"props":6380,"children":6381},{"style":2830},[6382],{"type":2457,"value":2926},{"type":2451,"tag":2713,"props":6384,"children":6385},{"style":2824},[6386],{"type":2457,"value":2931},{"type":2451,"tag":2713,"props":6388,"children":6389},{"class":2715,"line":4200},[6390,6395,6399,6403,6407,6411,6415],{"type":2451,"tag":2713,"props":6391,"children":6392},{"style":2938},[6393],{"type":2457,"value":6394},"  perfTrace",{"type":2451,"tag":2713,"props":6396,"children":6397},{"style":2824},[6398],{"type":2457,"value":2946},{"type":2451,"tag":2713,"props":6400,"children":6401},{"style":2830},[6402],{"type":2457,"value":5964},{"type":2451,"tag":2713,"props":6404,"children":6405},{"style":2824},[6406],{"type":2457,"value":3219},{"type":2451,"tag":2713,"props":6408,"children":6409},{"style":2919},[6410],{"type":2457,"value":3224},{"type":2451,"tag":2713,"props":6412,"children":6413},{"style":2830},[6414],{"type":2457,"value":2926},{"type":2451,"tag":2713,"props":6416,"children":6417},{"style":2824},[6418],{"type":2457,"value":2931},{"type":2451,"tag":2713,"props":6420,"children":6421},{"class":2715,"line":4222},[6422,6427,6431,6436],{"type":2451,"tag":2713,"props":6423,"children":6424},{"style":2938},[6425],{"type":2457,"value":6426},"    enabled",{"type":2451,"tag":2713,"props":6428,"children":6429},{"style":2824},[6430],{"type":2457,"value":2946},{"type":2451,"tag":2713,"props":6432,"children":6433},{"style":2830},[6434],{"type":2457,"value":6435}," runtimeBoolean",{"type":2451,"tag":2713,"props":6437,"children":6438},{"style":2824},[6439],{"type":2457,"value":2985},{"type":2451,"tag":2713,"props":6441,"children":6442},{"class":2715,"line":4230},[6443,6448,6452,6456,6460,6464,6468],{"type":2451,"tag":2713,"props":6444,"children":6445},{"style":2938},[6446],{"type":2457,"value":6447},"    token",{"type":2451,"tag":2713,"props":6449,"children":6450},{"style":2824},[6451],{"type":2457,"value":2946},{"type":2451,"tag":2713,"props":6453,"children":6454},{"style":2830},[6455],{"type":2457,"value":5964},{"type":2451,"tag":2713,"props":6457,"children":6458},{"style":2824},[6459],{"type":2457,"value":3219},{"type":2451,"tag":2713,"props":6461,"children":6462},{"style":2919},[6463],{"type":2457,"value":3011},{"type":2451,"tag":2713,"props":6465,"children":6466},{"style":2830},[6467],{"type":2457,"value":2980},{"type":2451,"tag":2713,"props":6469,"children":6470},{"style":2824},[6471],{"type":2457,"value":2985},{"type":2451,"tag":2713,"props":6473,"children":6475},{"class":2715,"line":6474},18,[6476,6480,6484],{"type":2451,"tag":2713,"props":6477,"children":6478},{"style":2824},[6479],{"type":2457,"value":3029},{"type":2451,"tag":2713,"props":6481,"children":6482},{"style":2830},[6483],{"type":2457,"value":3034},{"type":2451,"tag":2713,"props":6485,"children":6486},{"style":2824},[6487],{"type":2457,"value":2985},{"type":2451,"tag":2713,"props":6489,"children":6491},{"class":2715,"line":6490},19,[6492,6496,6500,6504,6508,6512,6516],{"type":2451,"tag":2713,"props":6493,"children":6494},{"style":2938},[6495],{"type":2457,"value":2941},{"type":2451,"tag":2713,"props":6497,"children":6498},{"style":2824},[6499],{"type":2457,"value":2946},{"type":2451,"tag":2713,"props":6501,"children":6502},{"style":2830},[6503],{"type":2457,"value":5964},{"type":2451,"tag":2713,"props":6505,"children":6506},{"style":2824},[6507],{"type":2457,"value":3219},{"type":2451,"tag":2713,"props":6509,"children":6510},{"style":2919},[6511],{"type":2457,"value":3224},{"type":2451,"tag":2713,"props":6513,"children":6514},{"style":2830},[6515],{"type":2457,"value":2926},{"type":2451,"tag":2713,"props":6517,"children":6518},{"style":2824},[6519],{"type":2457,"value":2931},{"type":2451,"tag":2713,"props":6521,"children":6523},{"class":2715,"line":6522},20,[6524,6529,6533,6538],{"type":2451,"tag":2713,"props":6525,"children":6526},{"style":2938},[6527],{"type":2457,"value":6528},"    replaySampleRate",{"type":2451,"tag":2713,"props":6530,"children":6531},{"style":2824},[6532],{"type":2457,"value":2946},{"type":2451,"tag":2713,"props":6534,"children":6535},{"style":2830},[6536],{"type":2457,"value":6537}," runtimeNumber",{"type":2451,"tag":2713,"props":6539,"children":6540},{"style":2824},[6541],{"type":2457,"value":2985},{"type":2451,"tag":2713,"props":6543,"children":6545},{"class":2715,"line":6544},21,[6546,6550,6554],{"type":2451,"tag":2713,"props":6547,"children":6548},{"style":2824},[6549],{"type":2457,"value":3029},{"type":2451,"tag":2713,"props":6551,"children":6552},{"style":2830},[6553],{"type":2457,"value":3034},{"type":2451,"tag":2713,"props":6555,"children":6556},{"style":2824},[6557],{"type":2457,"value":2985},{"type":2451,"tag":2713,"props":6559,"children":6561},{"class":2715,"line":6560},22,[6562,6566],{"type":2451,"tag":2713,"props":6563,"children":6564},{"style":2824},[6565],{"type":2457,"value":3131},{"type":2451,"tag":2713,"props":6567,"children":6568},{"style":2830},[6569],{"type":2457,"value":3136},{"type":2451,"tag":2478,"props":6571,"children":6572},{},[6573],{"type":2457,"value":6574},"Pass the project-relative module path instead of the inline schema object:",{"type":2451,"tag":2703,"props":6576,"children":6578},{"className":4372,"code":6577,"filename":244,"language":4296,"meta":2418,"style":2418},"export default defineNuxtConfig({\n  safeRuntimeConfig: {\n    $schema: '.\u002Fruntime-config.schema',\n    validateAtRuntime: true,\n    onError: 'throw',\n  },\n})\n",[6579],{"type":2451,"tag":2630,"props":6580,"children":6581},{"__ignoreMap":2418},[6582,6605,6620,6648,6667,6694,6701],{"type":2451,"tag":2713,"props":6583,"children":6584},{"class":2715,"line":2716},[6585,6589,6593,6597,6601],{"type":2451,"tag":2713,"props":6586,"children":6587},{"style":2818},[6588],{"type":2457,"value":3794},{"type":2451,"tag":2713,"props":6590,"children":6591},{"style":2818},[6592],{"type":2457,"value":3799},{"type":2451,"tag":2713,"props":6594,"children":6595},{"style":2919},[6596],{"type":2457,"value":3804},{"type":2451,"tag":2713,"props":6598,"children":6599},{"style":2830},[6600],{"type":2457,"value":2926},{"type":2451,"tag":2713,"props":6602,"children":6603},{"style":2824},[6604],{"type":2457,"value":2931},{"type":2451,"tag":2713,"props":6606,"children":6607},{"class":2715,"line":2889},[6608,6612,6616],{"type":2451,"tag":2713,"props":6609,"children":6610},{"style":2938},[6611],{"type":2457,"value":4189},{"type":2451,"tag":2713,"props":6613,"children":6614},{"style":2824},[6615],{"type":2457,"value":2946},{"type":2451,"tag":2713,"props":6617,"children":6618},{"style":2824},[6619],{"type":2457,"value":3581},{"type":2451,"tag":2713,"props":6621,"children":6622},{"class":2715,"line":2899},[6623,6627,6631,6635,6640,6644],{"type":2451,"tag":2713,"props":6624,"children":6625},{"style":2938},[6626],{"type":2457,"value":4206},{"type":2451,"tag":2713,"props":6628,"children":6629},{"style":2824},[6630],{"type":2457,"value":2946},{"type":2451,"tag":2713,"props":6632,"children":6633},{"style":2824},[6634],{"type":2457,"value":2876},{"type":2451,"tag":2713,"props":6636,"children":6637},{"style":2726},[6638],{"type":2457,"value":6639},".\u002Fruntime-config.schema",{"type":2451,"tag":2713,"props":6641,"children":6642},{"style":2824},[6643],{"type":2457,"value":3572},{"type":2451,"tag":2713,"props":6645,"children":6646},{"style":2824},[6647],{"type":2457,"value":2985},{"type":2451,"tag":2713,"props":6649,"children":6650},{"class":2715,"line":2934},[6651,6655,6659,6663],{"type":2451,"tag":2713,"props":6652,"children":6653},{"style":2938},[6654],{"type":2457,"value":5805},{"type":2451,"tag":2713,"props":6656,"children":6657},{"style":2824},[6658],{"type":2457,"value":2946},{"type":2451,"tag":2713,"props":6660,"children":6661},{"style":5403},[6662],{"type":2457,"value":5406},{"type":2451,"tag":2713,"props":6664,"children":6665},{"style":2824},[6666],{"type":2457,"value":2985},{"type":2451,"tag":2713,"props":6668,"children":6669},{"class":2715,"line":2961},[6670,6674,6678,6682,6686,6690],{"type":2451,"tag":2713,"props":6671,"children":6672},{"style":2938},[6673],{"type":2457,"value":5825},{"type":2451,"tag":2713,"props":6675,"children":6676},{"style":2824},[6677],{"type":2457,"value":2946},{"type":2451,"tag":2713,"props":6679,"children":6680},{"style":2824},[6681],{"type":2457,"value":2876},{"type":2451,"tag":2713,"props":6683,"children":6684},{"style":2726},[6685],{"type":2457,"value":5838},{"type":2451,"tag":2713,"props":6687,"children":6688},{"style":2824},[6689],{"type":2457,"value":3572},{"type":2451,"tag":2713,"props":6691,"children":6692},{"style":2824},[6693],{"type":2457,"value":2985},{"type":2451,"tag":2713,"props":6695,"children":6696},{"class":2715,"line":2988},[6697],{"type":2451,"tag":2713,"props":6698,"children":6699},{"style":2824},[6700],{"type":2457,"value":3658},{"type":2451,"tag":2713,"props":6702,"children":6703},{"class":2715,"line":3023},[6704,6708],{"type":2451,"tag":2713,"props":6705,"children":6706},{"style":2824},[6707],{"type":2457,"value":3131},{"type":2451,"tag":2713,"props":6709,"children":6710},{"style":2830},[6711],{"type":2457,"value":3136},{"type":2451,"tag":2478,"props":6713,"children":6714},{},[6715],{"type":2457,"value":6716},"Consumers receive the transformed output and do not need to repeat coercion:",{"type":2451,"tag":2703,"props":6718,"children":6721},{"className":4372,"code":6719,"filename":6720,"language":4296,"meta":2418,"style":2418},"const config = useSafeRuntimeConfig()\n\nif (config.perfTrace.enabled)\n  startTracing()\n","server\u002Fplugins\u002Fperf-trace.ts",[6722],{"type":2451,"tag":2630,"props":6723,"children":6724},{"__ignoreMap":2418},[6725,6748,6755,6786],{"type":2451,"tag":2713,"props":6726,"children":6727},{"class":2715,"line":2716},[6728,6732,6736,6740,6744],{"type":2451,"tag":2713,"props":6729,"children":6730},{"style":2903},[6731],{"type":2457,"value":2906},{"type":2451,"tag":2713,"props":6733,"children":6734},{"style":2830},[6735],{"type":2457,"value":4317},{"type":2451,"tag":2713,"props":6737,"children":6738},{"style":2824},[6739],{"type":2457,"value":2916},{"type":2451,"tag":2713,"props":6741,"children":6742},{"style":2919},[6743],{"type":2457,"value":4326},{"type":2451,"tag":2713,"props":6745,"children":6746},{"style":2830},[6747],{"type":2457,"value":4331},{"type":2451,"tag":2713,"props":6749,"children":6750},{"class":2715,"line":2889},[6751],{"type":2451,"tag":2713,"props":6752,"children":6753},{"emptyLinePlaceholder":2893},[6754],{"type":2457,"value":2896},{"type":2451,"tag":2713,"props":6756,"children":6757},{"class":2715,"line":2899},[6758,6763,6768,6772,6777,6781],{"type":2451,"tag":2713,"props":6759,"children":6760},{"style":2818},[6761],{"type":2457,"value":6762},"if",{"type":2451,"tag":2713,"props":6764,"children":6765},{"style":2830},[6766],{"type":2457,"value":6767}," (config",{"type":2451,"tag":2713,"props":6769,"children":6770},{"style":2824},[6771],{"type":2457,"value":3219},{"type":2451,"tag":2713,"props":6773,"children":6774},{"style":2830},[6775],{"type":2457,"value":6776},"perfTrace",{"type":2451,"tag":2713,"props":6778,"children":6779},{"style":2824},[6780],{"type":2457,"value":3219},{"type":2451,"tag":2713,"props":6782,"children":6783},{"style":2830},[6784],{"type":2457,"value":6785},"enabled)\n",{"type":2451,"tag":2713,"props":6787,"children":6788},{"class":2715,"line":2934},[6789,6794],{"type":2451,"tag":2713,"props":6790,"children":6791},{"style":2919},[6792],{"type":2457,"value":6793},"  startTracing",{"type":2451,"tag":2713,"props":6795,"children":6796},{"style":2830},[6797],{"type":2457,"value":4331},{"type":2451,"tag":2478,"props":6799,"children":6800},{},[6801,6803,6808],{"type":2457,"value":6802},"The server executes the schema once after Nitro applies runtime overrides. Request handlers wait for asynchronous schemas, and transformed ",{"type":2451,"tag":2630,"props":6804,"children":6806},{"className":6805},[],[6807],{"type":2457,"value":204},{"type":2457,"value":6809}," values are serialized into the Nuxt client payload.",{"type":2451,"tag":6811,"props":6812,"children":6813},"blockquote",{},[6814],{"type":2451,"tag":2478,"props":6815,"children":6816},{},[6817,6822,6824,6829],{"type":2451,"tag":2713,"props":6818,"children":6819},{},[6820],{"type":2457,"value":6821},"!IMPORTANT",{"type":2457,"value":6823},"\nUse a string ",{"type":2451,"tag":2630,"props":6825,"children":6827},{"className":6826},[],[6828],{"type":2457,"value":4630},{"type":2457,"value":6830}," path when runtime behavior depends on transformations. Inline schemas retain the JSON Schema validation path for backward compatibility and do not execute transformations.",{"type":2451,"tag":2478,"props":6832,"children":6833},{},[6834],{"type":2457,"value":6835},"Runtime validation catches:",{"type":2451,"tag":2578,"props":6837,"children":6838},{},[6839,6852,6857],{"type":2451,"tag":2582,"props":6840,"children":6841},{},[6842,6844,6850],{"type":2457,"value":6843},"Environment variables with wrong types (e.g., ",{"type":2451,"tag":2630,"props":6845,"children":6847},{"className":6846},[],[6848],{"type":2457,"value":6849},"NUXT_PORT=abc",{"type":2457,"value":6851}," when expecting a number)",{"type":2451,"tag":2582,"props":6853,"children":6854},{},[6855],{"type":2457,"value":6856},"Missing required environment variables in production",{"type":2451,"tag":2582,"props":6858,"children":6859},{},[6860],{"type":2457,"value":6861},"Invalid values that pass build-time checks but fail at runtime",{"type":2451,"tag":2478,"props":6863,"children":6864},{},[6865,6867,6873],{"type":2457,"value":6866},"Shelve runtime fetching is separate from validation ownership. If ",{"type":2451,"tag":2630,"props":6868,"children":6870},{"className":6869},[],[6871],{"type":2457,"value":6872},"shelve.fetchAtRuntime",{"type":2457,"value":6874}," is enabled, the Shelve runtime plugin runs before validation so fetched secrets are included in the validated config.",{"type":2451,"tag":2572,"props":6876,"children":6878},{"id":6877},"eslint-integration",[6879],{"type":2457,"value":6880},"ESLint Integration",{"type":2451,"tag":2478,"props":6882,"children":6883},{},[6884,6886,6891,6893,6898],{"type":2457,"value":6885},"The module includes an ESLint plugin that warns when using ",{"type":2451,"tag":2630,"props":6887,"children":6889},{"className":6888},[],[6890],{"type":2457,"value":2655},{"type":2457,"value":6892}," instead of ",{"type":2451,"tag":2630,"props":6894,"children":6896},{"className":6895},[],[6897],{"type":2457,"value":2635},{"type":2457,"value":3219},{"type":2451,"tag":2783,"props":6900,"children":6902},{"id":6901},"with-nuxteslint-automatic",[6903],{"type":2457,"value":6904},"With @nuxt\u002Feslint (Automatic)",{"type":2451,"tag":2478,"props":6906,"children":6907},{},[6908,6910,6917],{"type":2457,"value":6909},"If you use ",{"type":2451,"tag":2512,"props":6911,"children":6914},{"href":6912,"rel":6913},"https:\u002F\u002Feslint.nuxt.com",[2599],[6915],{"type":2457,"value":6916},"@nuxt\u002Feslint",{"type":2457,"value":6918},", the rule is auto-registered. No configuration needed.",{"type":2451,"tag":2783,"props":6920,"children":6922},{"id":6921},"manual-setup",[6923],{"type":2457,"value":6924},"Manual Setup",{"type":2451,"tag":2478,"props":6926,"children":6927},{},[6928,6930,6936],{"type":2457,"value":6929},"Add to your ",{"type":2451,"tag":2630,"props":6931,"children":6933},{"className":6932},[],[6934],{"type":2457,"value":6935},"eslint.config.mjs",{"type":2457,"value":2946},{"type":2451,"tag":2703,"props":6938,"children":6942},{"className":6939,"code":6940,"language":6941,"meta":2418,"style":2418},"language-javascript shiki shiki-themes material-theme-lighter material-theme-lighter material-theme-palenight","import { configs } from 'nuxt-safe-runtime-config\u002Feslint'\n\nexport default [\n  configs.recommended,\n  \u002F\u002F ... your other configs\n]\n","javascript",[6943],{"type":2451,"tag":2630,"props":6944,"children":6945},{"__ignoreMap":2418},[6946,6983,6990,7006,7027,7035],{"type":2451,"tag":2713,"props":6947,"children":6948},{"class":2715,"line":2716},[6949,6953,6957,6962,6966,6970,6974,6979],{"type":2451,"tag":2713,"props":6950,"children":6951},{"style":2818},[6952],{"type":2457,"value":2821},{"type":2451,"tag":2713,"props":6954,"children":6955},{"style":2824},[6956],{"type":2457,"value":2827},{"type":2451,"tag":2713,"props":6958,"children":6959},{"style":2830},[6960],{"type":2457,"value":6961}," configs",{"type":2451,"tag":2713,"props":6963,"children":6964},{"style":2824},[6965],{"type":2457,"value":2866},{"type":2451,"tag":2713,"props":6967,"children":6968},{"style":2818},[6969],{"type":2457,"value":2871},{"type":2451,"tag":2713,"props":6971,"children":6972},{"style":2824},[6973],{"type":2457,"value":2876},{"type":2451,"tag":2713,"props":6975,"children":6976},{"style":2726},[6977],{"type":2457,"value":6978},"nuxt-safe-runtime-config\u002Feslint",{"type":2451,"tag":2713,"props":6980,"children":6981},{"style":2824},[6982],{"type":2457,"value":2886},{"type":2451,"tag":2713,"props":6984,"children":6985},{"class":2715,"line":2889},[6986],{"type":2451,"tag":2713,"props":6987,"children":6988},{"emptyLinePlaceholder":2893},[6989],{"type":2457,"value":2896},{"type":2451,"tag":2713,"props":6991,"children":6992},{"class":2715,"line":2899},[6993,6997,7001],{"type":2451,"tag":2713,"props":6994,"children":6995},{"style":2818},[6996],{"type":2457,"value":3794},{"type":2451,"tag":2713,"props":6998,"children":6999},{"style":2818},[7000],{"type":2457,"value":3799},{"type":2451,"tag":2713,"props":7002,"children":7003},{"style":2830},[7004],{"type":2457,"value":7005}," [\n",{"type":2451,"tag":2713,"props":7007,"children":7008},{"class":2715,"line":2934},[7009,7014,7018,7023],{"type":2451,"tag":2713,"props":7010,"children":7011},{"style":2830},[7012],{"type":2457,"value":7013},"  configs",{"type":2451,"tag":2713,"props":7015,"children":7016},{"style":2824},[7017],{"type":2457,"value":3219},{"type":2451,"tag":2713,"props":7019,"children":7020},{"style":2830},[7021],{"type":2457,"value":7022},"recommended",{"type":2451,"tag":2713,"props":7024,"children":7025},{"style":2824},[7026],{"type":2457,"value":2985},{"type":2451,"tag":2713,"props":7028,"children":7029},{"class":2715,"line":2961},[7030],{"type":2451,"tag":2713,"props":7031,"children":7032},{"style":4337},[7033],{"type":2457,"value":7034},"  \u002F\u002F ... your other configs\n",{"type":2451,"tag":2713,"props":7036,"children":7037},{"class":2715,"line":2988},[7038],{"type":2451,"tag":2713,"props":7039,"children":7040},{"style":2830},[7041],{"type":2457,"value":7042},"]\n",{"type":2451,"tag":2478,"props":7044,"children":7045},{},[7046],{"type":2457,"value":7047},"Or configure manually:",{"type":2451,"tag":2703,"props":7049,"children":7051},{"className":6939,"code":7050,"language":6941,"meta":2418,"style":2418},"import plugin from 'nuxt-safe-runtime-config\u002Feslint'\n\nexport default [\n  {\n    plugins: { 'safe-runtime-config': plugin },\n    rules: { 'safe-runtime-config\u002Fprefer-safe-runtime-config': 'warn' },\n  },\n]\n",[7052],{"type":2451,"tag":2630,"props":7053,"children":7054},{"__ignoreMap":2418},[7055,7083,7090,7105,7113,7155,7206,7213],{"type":2451,"tag":2713,"props":7056,"children":7057},{"class":2715,"line":2716},[7058,7062,7067,7071,7075,7079],{"type":2451,"tag":2713,"props":7059,"children":7060},{"style":2818},[7061],{"type":2457,"value":2821},{"type":2451,"tag":2713,"props":7063,"children":7064},{"style":2830},[7065],{"type":2457,"value":7066}," plugin ",{"type":2451,"tag":2713,"props":7068,"children":7069},{"style":2818},[7070],{"type":2457,"value":5924},{"type":2451,"tag":2713,"props":7072,"children":7073},{"style":2824},[7074],{"type":2457,"value":2876},{"type":2451,"tag":2713,"props":7076,"children":7077},{"style":2726},[7078],{"type":2457,"value":6978},{"type":2451,"tag":2713,"props":7080,"children":7081},{"style":2824},[7082],{"type":2457,"value":2886},{"type":2451,"tag":2713,"props":7084,"children":7085},{"class":2715,"line":2889},[7086],{"type":2451,"tag":2713,"props":7087,"children":7088},{"emptyLinePlaceholder":2893},[7089],{"type":2457,"value":2896},{"type":2451,"tag":2713,"props":7091,"children":7092},{"class":2715,"line":2899},[7093,7097,7101],{"type":2451,"tag":2713,"props":7094,"children":7095},{"style":2818},[7096],{"type":2457,"value":3794},{"type":2451,"tag":2713,"props":7098,"children":7099},{"style":2818},[7100],{"type":2457,"value":3799},{"type":2451,"tag":2713,"props":7102,"children":7103},{"style":2830},[7104],{"type":2457,"value":7005},{"type":2451,"tag":2713,"props":7106,"children":7107},{"class":2715,"line":2934},[7108],{"type":2451,"tag":2713,"props":7109,"children":7110},{"style":2824},[7111],{"type":2457,"value":7112},"  {\n",{"type":2451,"tag":2713,"props":7114,"children":7115},{"class":2715,"line":2961},[7116,7121,7125,7129,7133,7138,7142,7146,7150],{"type":2451,"tag":2713,"props":7117,"children":7118},{"style":2938},[7119],{"type":2457,"value":7120},"    plugins",{"type":2451,"tag":2713,"props":7122,"children":7123},{"style":2824},[7124],{"type":2457,"value":2946},{"type":2451,"tag":2713,"props":7126,"children":7127},{"style":2824},[7128],{"type":2457,"value":2827},{"type":2451,"tag":2713,"props":7130,"children":7131},{"style":2824},[7132],{"type":2457,"value":2876},{"type":2451,"tag":2713,"props":7134,"children":7135},{"style":2938},[7136],{"type":2457,"value":7137},"safe-runtime-config",{"type":2451,"tag":2713,"props":7139,"children":7140},{"style":2824},[7141],{"type":2457,"value":3572},{"type":2451,"tag":2713,"props":7143,"children":7144},{"style":2824},[7145],{"type":2457,"value":2946},{"type":2451,"tag":2713,"props":7147,"children":7148},{"style":2830},[7149],{"type":2457,"value":7066},{"type":2451,"tag":2713,"props":7151,"children":7152},{"style":2824},[7153],{"type":2457,"value":7154},"},\n",{"type":2451,"tag":2713,"props":7156,"children":7157},{"class":2715,"line":2988},[7158,7163,7167,7171,7175,7180,7184,7188,7192,7197,7201],{"type":2451,"tag":2713,"props":7159,"children":7160},{"style":2938},[7161],{"type":2457,"value":7162},"    rules",{"type":2451,"tag":2713,"props":7164,"children":7165},{"style":2824},[7166],{"type":2457,"value":2946},{"type":2451,"tag":2713,"props":7168,"children":7169},{"style":2824},[7170],{"type":2457,"value":2827},{"type":2451,"tag":2713,"props":7172,"children":7173},{"style":2824},[7174],{"type":2457,"value":2876},{"type":2451,"tag":2713,"props":7176,"children":7177},{"style":2938},[7178],{"type":2457,"value":7179},"safe-runtime-config\u002Fprefer-safe-runtime-config",{"type":2451,"tag":2713,"props":7181,"children":7182},{"style":2824},[7183],{"type":2457,"value":3572},{"type":2451,"tag":2713,"props":7185,"children":7186},{"style":2824},[7187],{"type":2457,"value":2946},{"type":2451,"tag":2713,"props":7189,"children":7190},{"style":2824},[7191],{"type":2457,"value":2876},{"type":2451,"tag":2713,"props":7193,"children":7194},{"style":2726},[7195],{"type":2457,"value":7196},"warn",{"type":2451,"tag":2713,"props":7198,"children":7199},{"style":2824},[7200],{"type":2457,"value":3572},{"type":2451,"tag":2713,"props":7202,"children":7203},{"style":2824},[7204],{"type":2457,"value":7205}," },\n",{"type":2451,"tag":2713,"props":7207,"children":7208},{"class":2715,"line":3023},[7209],{"type":2451,"tag":2713,"props":7210,"children":7211},{"style":2824},[7212],{"type":2457,"value":3658},{"type":2451,"tag":2713,"props":7214,"children":7215},{"class":2715,"line":3041},[7216],{"type":2451,"tag":2713,"props":7217,"children":7218},{"style":2830},[7219],{"type":2457,"value":7042},{"type":2451,"tag":2478,"props":7221,"children":7222},{},[7223,7225,7231,7233,7238],{"type":2457,"value":7224},"The rule includes auto-fix support — run ",{"type":2451,"tag":2630,"props":7226,"children":7228},{"className":7227},[],[7229],{"type":2457,"value":7230},"eslint --fix",{"type":2457,"value":7232}," to automatically replace ",{"type":2451,"tag":2630,"props":7234,"children":7236},{"className":7235},[],[7237],{"type":2457,"value":2655},{"type":2457,"value":7239}," calls.",{"type":2451,"tag":2572,"props":7241,"children":7243},{"id":7242},"type-safety",[7244],{"type":2457,"value":7245},"Type Safety",{"type":2451,"tag":2478,"props":7247,"children":7248},{},[7249,7251,7256],{"type":2457,"value":7250},"Types are generated from JSON Schema for inline schemas. Schema modules use their Standard Schema input type for build-only validation and switch to the output type when ",{"type":2451,"tag":2630,"props":7252,"children":7254},{"className":7253},[],[7255],{"type":2457,"value":4696},{"type":2457,"value":7257}," is enabled. Build-only consumers therefore account for untransformed overrides, while successful runtime validation exposes the transformed output type.",{"type":2451,"tag":2478,"props":7259,"children":7260},{},[7261,7263,7268,7269,7275,7276,7282],{"type":2457,"value":7262},"The composable returns a fully typed object in both app and server contexts (",{"type":2451,"tag":2630,"props":7264,"children":7266},{"className":7265},[],[7267],{"type":2457,"value":169},{"type":2457,"value":2490},{"type":2451,"tag":2630,"props":7270,"children":7272},{"className":7271},[],[7273],{"type":2457,"value":7274},"server\u002Fapi",{"type":2457,"value":2490},{"type":2451,"tag":2630,"props":7277,"children":7279},{"className":7278},[],[7280],{"type":2457,"value":7281},"server\u002Futils",{"type":2457,"value":7283},") without manual generics:",{"type":2451,"tag":2703,"props":7285,"children":7287},{"className":4372,"code":7286,"language":4296,"meta":2418,"style":2418},"const config = useSafeRuntimeConfig()\n\u002F\u002F config is fully typed based on your schema\n",[7288],{"type":2451,"tag":2630,"props":7289,"children":7290},{"__ignoreMap":2418},[7291,7314],{"type":2451,"tag":2713,"props":7292,"children":7293},{"class":2715,"line":2716},[7294,7298,7302,7306,7310],{"type":2451,"tag":2713,"props":7295,"children":7296},{"style":2903},[7297],{"type":2457,"value":2906},{"type":2451,"tag":2713,"props":7299,"children":7300},{"style":2830},[7301],{"type":2457,"value":4317},{"type":2451,"tag":2713,"props":7303,"children":7304},{"style":2824},[7305],{"type":2457,"value":2916},{"type":2451,"tag":2713,"props":7307,"children":7308},{"style":2919},[7309],{"type":2457,"value":4326},{"type":2451,"tag":2713,"props":7311,"children":7312},{"style":2830},[7313],{"type":2457,"value":4331},{"type":2451,"tag":2713,"props":7315,"children":7316},{"class":2715,"line":2889},[7317],{"type":2451,"tag":2713,"props":7318,"children":7319},{"style":4337},[7320],{"type":2457,"value":7321},"\u002F\u002F config is fully typed based on your schema\n",{"type":2451,"tag":2478,"props":7323,"children":7324},{},[7325,7327,7333],{"type":2457,"value":7326},"Generated types are stored in ",{"type":2451,"tag":2630,"props":7328,"children":7330},{"className":7329},[],[7331],{"type":2457,"value":7332},".nuxt\u002Ftypes\u002Fsafe-runtime-config.d.ts",{"type":2457,"value":7334}," and automatically included in your project.",{"type":2451,"tag":2572,"props":7336,"children":7338},{"id":7337},"error-messages",[7339],{"type":2457,"value":7340},"Error Messages",{"type":2451,"tag":2478,"props":7342,"children":7343},{},[7344],{"type":2457,"value":7345},"When validation fails, you see detailed error messages:",{"type":2451,"tag":2703,"props":7347,"children":7350},{"className":7348,"code":7349,"language":2457},[5497],"[safe-runtime-config] Validation failed!\n  1. databaseUrl: Invalid type: Expected string but received undefined\n  2. public.apiBase: Invalid type: Expected string but received undefined\n  3. port: Invalid type: Expected number but received string\n",[7351],{"type":2451,"tag":2630,"props":7352,"children":7353},{"__ignoreMap":2418},[7354],{"type":2457,"value":7349},{"type":2451,"tag":2478,"props":7356,"children":7357},{},[7358],{"type":2457,"value":7359},"The module stops the build process until all validation errors are resolved.",{"type":2451,"tag":2572,"props":7361,"children":7363},{"id":7362},"upcoming-major-release-notes",[7364],{"type":2457,"value":7365},"Upcoming Major Release Notes",{"type":2451,"tag":2578,"props":7367,"children":7368},{},[7369,7396,7401],{"type":2451,"tag":2582,"props":7370,"children":7371},{},[7372,7374,7380,7382,7387,7389,7394],{"type":2457,"value":7373},"Shelve setup no longer documents ",{"type":2451,"tag":2630,"props":7375,"children":7377},{"className":7376},[],[7378],{"type":2457,"value":7379},"shelve.json",{"type":2457,"value":7381}," auto-enablement; supported sources are ",{"type":2451,"tag":2630,"props":7383,"children":7385},{"className":7384},[],[7386],{"type":2457,"value":5056},{"type":2457,"value":7388},", env vars, and ",{"type":2451,"tag":2630,"props":7390,"children":7392},{"className":7391},[],[7393],{"type":2457,"value":249},{"type":2457,"value":7395}," fallback for project name.",{"type":2451,"tag":2582,"props":7397,"children":7398},{},[7399],{"type":2457,"value":7400},"The install wizard now previews actions and requires explicit confirmation before mutating files or writing credentials.",{"type":2451,"tag":2582,"props":7402,"children":7403},{},[7404],{"type":2457,"value":7405},"Runtime and wizard key-shaping now use the same env-key mapping rules to avoid schema\u002Fruntime drift.",{"type":2451,"tag":2572,"props":7407,"children":7409},{"id":7408},"why-this-module",[7410],{"type":2457,"value":7411},"Why This Module?",{"type":2451,"tag":2478,"props":7413,"children":7414},{},[7415,7417,7422],{"type":2457,"value":7416},"Nuxt's built-in schema validation is designed for module authors and broader configuration. This module focuses specifically on ",{"type":2451,"tag":2588,"props":7418,"children":7419},{},[7420],{"type":2457,"value":7421},"runtime config validation",{"type":2457,"value":7423}," using Standard Schema, allowing you to:",{"type":2451,"tag":2578,"props":7425,"children":7426},{},[7427,7432,7437,7442],{"type":2451,"tag":2582,"props":7428,"children":7429},{},[7430],{"type":2457,"value":7431},"Use your preferred validation library (Valibot, Zod, ArkType)",{"type":2451,"tag":2582,"props":7433,"children":7434},{},[7435],{"type":2457,"value":7436},"Catch configuration errors at build time",{"type":2451,"tag":2582,"props":7438,"children":7439},{},[7440],{"type":2457,"value":7441},"Optionally validate at runtime for environment variable issues",{"type":2451,"tag":2582,"props":7443,"children":7444},{},[7445],{"type":2457,"value":7446},"Get full type safety in your components",{"type":2451,"tag":2572,"props":7448,"children":7450},{"id":7449},"contribution",[7451],{"type":2457,"value":1035},{"type":2451,"tag":2795,"props":7453,"children":7454},{},[7455,7456,7461],{"type":2457,"value":2458},{"type":2451,"tag":2799,"props":7457,"children":7458},{},[7459],{"type":2457,"value":7460},"Local development",{"type":2451,"tag":2703,"props":7462,"children":7464},{"className":2705,"code":7463,"language":2707,"meta":2418,"style":2418},"# 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",[7465],{"type":2451,"tag":2630,"props":7466,"children":7467},{"__ignoreMap":2418},[7468,7476,7489,7496,7504,7521,7528,7536,7552,7559,7567,7583,7590,7598,7614,7621,7629,7645,7661,7668,7676],{"type":2451,"tag":2713,"props":7469,"children":7470},{"class":2715,"line":2716},[7471],{"type":2451,"tag":2713,"props":7472,"children":7473},{"style":4337},[7474],{"type":2457,"value":7475},"# Install dependencies\n",{"type":2451,"tag":2713,"props":7477,"children":7478},{"class":2715,"line":2889},[7479,7484],{"type":2451,"tag":2713,"props":7480,"children":7481},{"style":2720},[7482],{"type":2457,"value":7483},"pnpm",{"type":2451,"tag":2713,"props":7485,"children":7486},{"style":2726},[7487],{"type":2457,"value":7488}," install\n",{"type":2451,"tag":2713,"props":7490,"children":7491},{"class":2715,"line":2899},[7492],{"type":2451,"tag":2713,"props":7493,"children":7494},{"emptyLinePlaceholder":2893},[7495],{"type":2457,"value":2896},{"type":2451,"tag":2713,"props":7497,"children":7498},{"class":2715,"line":2934},[7499],{"type":2451,"tag":2713,"props":7500,"children":7501},{"style":4337},[7502],{"type":2457,"value":7503},"# Generate type stubs\n",{"type":2451,"tag":2713,"props":7505,"children":7506},{"class":2715,"line":2961},[7507,7511,7516],{"type":2451,"tag":2713,"props":7508,"children":7509},{"style":2720},[7510],{"type":2457,"value":7483},{"type":2451,"tag":2713,"props":7512,"children":7513},{"style":2726},[7514],{"type":2457,"value":7515}," run",{"type":2451,"tag":2713,"props":7517,"children":7518},{"style":2726},[7519],{"type":2457,"value":7520}," dev:prepare\n",{"type":2451,"tag":2713,"props":7522,"children":7523},{"class":2715,"line":2988},[7524],{"type":2451,"tag":2713,"props":7525,"children":7526},{"emptyLinePlaceholder":2893},[7527],{"type":2457,"value":2896},{"type":2451,"tag":2713,"props":7529,"children":7530},{"class":2715,"line":3023},[7531],{"type":2451,"tag":2713,"props":7532,"children":7533},{"style":4337},[7534],{"type":2457,"value":7535},"# Develop with the playground\n",{"type":2451,"tag":2713,"props":7537,"children":7538},{"class":2715,"line":3041},[7539,7543,7547],{"type":2451,"tag":2713,"props":7540,"children":7541},{"style":2720},[7542],{"type":2457,"value":7483},{"type":2451,"tag":2713,"props":7544,"children":7545},{"style":2726},[7546],{"type":2457,"value":7515},{"type":2451,"tag":2713,"props":7548,"children":7549},{"style":2726},[7550],{"type":2457,"value":7551}," dev\n",{"type":2451,"tag":2713,"props":7553,"children":7554},{"class":2715,"line":3066},[7555],{"type":2451,"tag":2713,"props":7556,"children":7557},{"emptyLinePlaceholder":2893},[7558],{"type":2457,"value":2896},{"type":2451,"tag":2713,"props":7560,"children":7561},{"class":2715,"line":3091},[7562],{"type":2451,"tag":2713,"props":7563,"children":7564},{"style":4337},[7565],{"type":2457,"value":7566},"# Build the playground\n",{"type":2451,"tag":2713,"props":7568,"children":7569},{"class":2715,"line":3125},[7570,7574,7578],{"type":2451,"tag":2713,"props":7571,"children":7572},{"style":2720},[7573],{"type":2457,"value":7483},{"type":2451,"tag":2713,"props":7575,"children":7576},{"style":2726},[7577],{"type":2457,"value":7515},{"type":2451,"tag":2713,"props":7579,"children":7580},{"style":2726},[7581],{"type":2457,"value":7582}," dev:build\n",{"type":2451,"tag":2713,"props":7584,"children":7585},{"class":2715,"line":4167},[7586],{"type":2451,"tag":2713,"props":7587,"children":7588},{"emptyLinePlaceholder":2893},[7589],{"type":2457,"value":2896},{"type":2451,"tag":2713,"props":7591,"children":7592},{"class":2715,"line":4175},[7593],{"type":2451,"tag":2713,"props":7594,"children":7595},{"style":4337},[7596],{"type":2457,"value":7597},"# Run ESLint\n",{"type":2451,"tag":2713,"props":7599,"children":7600},{"class":2715,"line":4183},[7601,7605,7609],{"type":2451,"tag":2713,"props":7602,"children":7603},{"style":2720},[7604],{"type":2457,"value":7483},{"type":2451,"tag":2713,"props":7606,"children":7607},{"style":2726},[7608],{"type":2457,"value":7515},{"type":2451,"tag":2713,"props":7610,"children":7611},{"style":2726},[7612],{"type":2457,"value":7613}," lint\n",{"type":2451,"tag":2713,"props":7615,"children":7616},{"class":2715,"line":4200},[7617],{"type":2451,"tag":2713,"props":7618,"children":7619},{"emptyLinePlaceholder":2893},[7620],{"type":2457,"value":2896},{"type":2451,"tag":2713,"props":7622,"children":7623},{"class":2715,"line":4222},[7624],{"type":2451,"tag":2713,"props":7625,"children":7626},{"style":4337},[7627],{"type":2457,"value":7628},"# Run Vitest\n",{"type":2451,"tag":2713,"props":7630,"children":7631},{"class":2715,"line":4230},[7632,7636,7640],{"type":2451,"tag":2713,"props":7633,"children":7634},{"style":2720},[7635],{"type":2457,"value":7483},{"type":2451,"tag":2713,"props":7637,"children":7638},{"style":2726},[7639],{"type":2457,"value":7515},{"type":2451,"tag":2713,"props":7641,"children":7642},{"style":2726},[7643],{"type":2457,"value":7644}," test\n",{"type":2451,"tag":2713,"props":7646,"children":7647},{"class":2715,"line":6474},[7648,7652,7656],{"type":2451,"tag":2713,"props":7649,"children":7650},{"style":2720},[7651],{"type":2457,"value":7483},{"type":2451,"tag":2713,"props":7653,"children":7654},{"style":2726},[7655],{"type":2457,"value":7515},{"type":2451,"tag":2713,"props":7657,"children":7658},{"style":2726},[7659],{"type":2457,"value":7660}," test:watch\n",{"type":2451,"tag":2713,"props":7662,"children":7663},{"class":2715,"line":6490},[7664],{"type":2451,"tag":2713,"props":7665,"children":7666},{"emptyLinePlaceholder":2893},[7667],{"type":2457,"value":2896},{"type":2451,"tag":2713,"props":7669,"children":7670},{"class":2715,"line":6522},[7671],{"type":2451,"tag":2713,"props":7672,"children":7673},{"style":4337},[7674],{"type":2457,"value":7675},"# Release new version\n",{"type":2451,"tag":2713,"props":7677,"children":7678},{"class":2715,"line":6544},[7679,7683,7687],{"type":2451,"tag":2713,"props":7680,"children":7681},{"style":2720},[7682],{"type":2457,"value":7483},{"type":2451,"tag":2713,"props":7684,"children":7685},{"style":2726},[7686],{"type":2457,"value":7515},{"type":2451,"tag":2713,"props":7688,"children":7689},{"style":2726},[7690],{"type":2457,"value":7691}," release\n",{"type":2451,"tag":7693,"props":7694,"children":7695},"style",{},[7696],{"type":2457,"value":7697},"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":2418,"searchDepth":2889,"depth":2889,"links":7699},[7700,7701,7702,7703,7708,7709,7716,7719,7723,7724,7725,7726,7727],{"id":2574,"depth":2889,"text":450},{"id":2693,"depth":2889,"text":2696},{"id":2747,"depth":2889,"text":919},{"id":2778,"depth":2889,"text":2781,"children":7704},[7705,7706,7707],{"id":2785,"depth":2899,"text":2788},{"id":3776,"depth":2899,"text":3779},{"id":4242,"depth":2899,"text":4245},{"id":4577,"depth":2889,"text":4580},{"id":4825,"depth":2889,"text":4828,"children":7710},[7711,7712,7713,7714,7715],{"id":4841,"depth":2899,"text":4844},{"id":5185,"depth":2899,"text":5188},{"id":5469,"depth":2899,"text":5472},{"id":5534,"depth":2899,"text":5537},{"id":5683,"depth":2899,"text":5686},{"id":5725,"depth":2889,"text":5728,"children":7717},[7718],{"id":5881,"depth":2899,"text":5884},{"id":6877,"depth":2889,"text":6880,"children":7720},[7721,7722],{"id":6901,"depth":2899,"text":6904},{"id":6921,"depth":2899,"text":6924},{"id":7242,"depth":2889,"text":7245},{"id":7337,"depth":2889,"text":7340},{"id":7362,"depth":2889,"text":7365},{"id":7408,"depth":2889,"text":7411},{"id":7449,"depth":2889,"text":1035},{"v5":7729,"v4":7730,"v3":7731,"v2":7732},"5 (nightly)","4.5.2","3.21.11","2.18.1"]