/
home
/
henzagold
/
oldsite
/
node_modules
/
@nuxt
/
schema
/
schema
/
File Upload :
llllll
Current File: /home/henzagold/oldsite/node_modules/@nuxt/schema/schema/config.schema.json
{ "id": "#", "properties": { "components": { "title": "Configure Nuxt component auto-registration.", "description": "Any components in the directories configured here can be used throughout your pages, layouts (and other components) without needing to explicitly import them.", "tags": [ "@default {{ dirs: [`~/components`] }}", "@see [Nuxt 3](https://v3.nuxtjs.org/guide/directory-structure/components) and\n[Nuxt 2](https://nuxtjs.org/docs/directory-structure/components/) documentation", "@version 2", "@version 3" ], "tsType": "boolean | typeof import('../src/types/components').ComponentsOptions | typeof import('../src/types/components').ComponentsOptions['dirs']", "markdownType": "boolean | SrcTypesComponentsComponentsOptions | SrcTypesComponentsComponentsOptions['dirs']", "id": "#components", "default": { "dirs": [ { "path": "~/components/global", "global": true }, "~/components" ] }, "type": "object" }, "autoImports": { "title": "", "description": "", "tags": [ "@deprecated Please use `imports` config." ], "id": "#autoImports", "default": null, "type": "any" }, "imports": { "title": "Configure how Nuxt auto-imports composables into your application.", "description": "", "tags": [ "@see [Nuxt 3 documentation](https://v3.nuxtjs.org/guide/directory-structure/composables)", "@version 3" ], "tsType": "typeof import('../src/types/imports').ImportsOptions", "markdownType": "SrcTypesImportsImportsOptions", "id": "#imports", "properties": { "global": { "type": "boolean", "default": false }, "dirs": { "type": "array", "default": [], "items": { "type": "any" } } }, "default": { "global": false, "dirs": [] }, "type": "object" }, "pages": { "title": "Whether to use the vue-router integration in Nuxt 3. If you do not provide a value it will be enabled if you have a `pages/` directory in your source folder.", "description": "", "tags": [ "@version 3" ], "type": "boolean", "tsType": "boolean", "id": "#pages" }, "telemetry": { "title": "Manually disable nuxt telemetry.", "description": "", "tags": [ "@see [Nuxt Telemetry](https://github.com/nuxt/telemetry) for more information.", "@version 3" ], "type": "boolean", "tsType": "boolean", "id": "#telemetry" }, "vue": { "title": "Vue.js config", "description": "", "tags": [ "@version 2", "@version 3" ], "id": "#vue", "properties": { "config": { "title": "Properties that will be set directly on `Vue.config` for vue@2.", "description": "", "tags": [ "@see [vue@2 Documentation](https://v2.vuejs.org/v2/api/#Global-Config)", "@version 2" ], "tsType": "typeof import('vue/types/vue').VueConfiguration", "markdownType": "VueTypesVueVueConfiguration", "id": "#vue/config", "properties": { "silent": { "id": "#vue/config/silent", "default": true, "type": "boolean" }, "performance": { "id": "#vue/config/performance", "default": false, "type": "boolean" } }, "default": { "silent": true, "performance": false }, "type": "object" }, "compilerOptions": { "title": "Options for the Vue compiler that will be passed at build time.", "description": "", "tags": [ "@see [documentation](https://vuejs.org/api/application.html#app-config-compileroptions)", "@version 3" ], "tsType": "typeof import('@vue/compiler-core').CompilerOptions", "markdownType": "@vueCompilerCoreCompilerOptions", "id": "#vue/compilerOptions", "default": {}, "type": "any" } }, "default": { "config": { "silent": true, "performance": false }, "compilerOptions": {} }, "type": "object" }, "app": { "title": "Nuxt App configuration.", "description": "", "tags": [ "@version 2", "@version 3" ], "id": "#app", "properties": { "baseURL": { "title": "The base path of your Nuxt application.", "description": "This can be set at runtime by setting the NUXT_APP_BASE_URL environment variable.", "tags": [ "@example\n```bash\nNUXT_APP_BASE_URL=/prefix/ node .output/server/index.mjs\n```" ], "id": "#app/baseURL", "default": "/", "type": "string" }, "buildAssetsDir": { "title": "The folder name for the built site assets, relative to `baseURL` (or `cdnURL` if set). This is set at build time and should not be customized at runtime.", "description": "", "tags": [], "id": "#app/buildAssetsDir", "default": "/_nuxt/", "type": "string" }, "assetsPath": { "title": "The folder name for the built site assets, relative to `baseURL` (or `cdnURL` if set).", "description": "", "tags": [ "@deprecated - use `buildAssetsDir` instead", "@version 2" ], "id": "#app/assetsPath", "default": {}, "type": "any" }, "cdnURL": { "title": "An absolute URL to serve the public folder from (production-only).", "description": "This can be set to a different value at runtime by setting the `NUXT_APP_CDN_URL` environment variable.", "tags": [ "@example\n```bash\nNUXT_APP_CDN_URL=https://mycdn.org/ node .output/server/index.mjs\n```" ], "id": "#app/cdnURL", "default": "", "type": "string" }, "head": { "title": "Set default configuration for `<head>` on every page.", "description": "", "tags": [ "@example\n```js\napp: {\n head: {\n meta: [\n // <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n { name: 'viewport', content: 'width=device-width, initial-scale=1' }\n ],\n script: [\n // <script src=\"https://myawesome-lib.js\"></script>\n { src: 'https://awesome-lib.js' }\n ],\n link: [\n // <link rel=\"stylesheet\" href=\"https://myawesome-lib.css\">\n { rel: 'stylesheet', href: 'https://awesome-lib.css' }\n ],\n // please note that this is an area that is likely to change\n style: [\n // <style type=\"text/css\">:root { color: red }</style>\n { children: ':root { color: red }', type: 'text/css' }\n ],\n noscript: [\n // <noscript>Javascript is required</noscript>\n { children: 'Javascript is required' }\n ]\n }\n}\n```", "@version 3" ], "tsType": "typeof import('../src/types/config').NuxtAppConfig['head']", "markdownType": "SrcTypesConfigNuxtAppConfig['head']", "id": "#app/head", "default": { "meta": [], "link": [], "style": [], "script": [], "noscript": [], "charset": "utf-8", "viewport": "width=device-width, initial-scale=1" }, "type": "object" }, "layoutTransition": { "title": "Default values for layout transitions.", "description": "This can be overridden with `definePageMeta` on an individual page. Only JSON-serializable values are allowed.", "tags": [ "@see https://vuejs.org/api/built-in-components.html#transition" ], "tsType": "typeof import('../src/types/config').NuxtAppConfig['layoutTransition']", "markdownType": "SrcTypesConfigNuxtAppConfig['layoutTransition']", "id": "#app/layoutTransition", "properties": { "name": { "type": "string", "default": "layout" }, "mode": { "type": "string", "default": "out-in" } }, "default": { "name": "layout", "mode": "out-in" }, "type": "object" }, "pageTransition": { "title": "Default values for page transitions.", "description": "This can be overridden with `definePageMeta` on an individual page. Only JSON-serializable values are allowed.", "tags": [ "@see https://vuejs.org/api/built-in-components.html#transition" ], "tsType": "typeof import('../src/types/config').NuxtAppConfig['pageTransition']", "markdownType": "SrcTypesConfigNuxtAppConfig['pageTransition']", "id": "#app/pageTransition", "properties": { "name": { "type": "string", "default": "page" }, "mode": { "type": "string", "default": "out-in" } }, "default": { "name": "page", "mode": "out-in" }, "type": "object" }, "keepalive": { "title": "Default values for KeepAlive configuration between pages.", "description": "This can be overridden with `definePageMeta` on an individual page. Only JSON-serializable values are allowed.", "tags": [ "@see https://vuejs.org/api/built-in-components.html#keepalive" ], "tsType": "typeof import('../src/types/config').NuxtAppConfig['keepalive']", "markdownType": "SrcTypesConfigNuxtAppConfig['keepalive']", "id": "#app/keepalive", "default": false, "type": "boolean" } }, "default": { "baseURL": "/", "buildAssetsDir": "/_nuxt/", "assetsPath": {}, "cdnURL": "", "head": { "meta": [], "link": [], "style": [], "script": [], "noscript": [], "charset": "utf-8", "viewport": "width=device-width, initial-scale=1" }, "layoutTransition": { "name": "layout", "mode": "out-in" }, "pageTransition": { "name": "page", "mode": "out-in" }, "keepalive": false }, "type": "object" }, "appTemplatePath": { "title": "The path to an HTML template file for rendering Nuxt responses. Uses `<srcDir>/app.html` if it exists, or the Nuxt's default template if not.", "description": "", "tags": [ "@example\n```html\n<!DOCTYPE html>\n<html {{ HTML_ATTRS }}>\n <head {{ HEAD_ATTRS }}>\n {{ HEAD }}\n </head>\n <body {{ BODY_ATTRS }}>\n {{ APP }}\n </body>\n</html>\n```", "@version 2" ], "id": "#appTemplatePath", "default": "/<rootDir>/.nuxt/views/app.template.html", "type": "string" }, "store": { "title": "Enable or disable Vuex store.", "description": "By default, it is enabled if there is a `store/` directory.", "tags": [ "@version 2" ], "id": "#store", "default": false, "type": "boolean" }, "vueMeta": { "title": "Options to pass directly to `vue-meta`.", "description": "", "tags": [ "@see [documentation](https://vue-meta.nuxtjs.org/api/#plugin-options).", "@version 2" ], "tsType": "typeof import('vue-meta').VueMetaOptions", "markdownType": "VueMetaVueMetaOptions", "id": "#vueMeta", "default": null, "type": "any" }, "head": { "title": "Set default configuration for `<head>` on every page.", "description": "", "tags": [ "@see [documentation](https://vue-meta.nuxtjs.org/api/#metainfo-properties) for specifics.", "@version 2" ], "tsType": "typeof import('vue-meta').MetaInfo", "markdownType": "VueMetaMetaInfo", "id": "#head", "properties": { "meta": { "title": "Each item in the array maps to a newly-created `<meta>` element, where object properties map to attributes.", "description": "", "tags": [], "id": "#head/meta", "default": [], "type": "array", "items": { "type": "any" } }, "link": { "title": "Each item in the array maps to a newly-created `<link>` element, where object properties map to attributes.", "description": "", "tags": [], "id": "#head/link", "default": [], "type": "array", "items": { "type": "any" } }, "style": { "title": "Each item in the array maps to a newly-created `<style>` element, where object properties map to attributes.", "description": "", "tags": [], "id": "#head/style", "default": [], "type": "array", "items": { "type": "any" } }, "script": { "title": "Each item in the array maps to a newly-created `<script>` element, where object properties map to attributes.", "description": "", "tags": [], "id": "#head/script", "default": [], "type": "array", "items": { "type": "any" } } }, "default": { "meta": [], "link": [], "style": [], "script": [] }, "type": "object" }, "meta": { "title": "", "description": "", "tags": [ "@version 3", "@deprecated - use `head` instead" ], "tsType": "typeof import('../src/types/meta').MetaObject", "markdownType": "SrcTypesMetaMetaObject", "id": "#meta", "properties": { "meta": { "type": "array", "default": [], "items": { "type": "any" } }, "link": { "type": "array", "default": [], "items": { "type": "any" } }, "style": { "type": "array", "default": [], "items": { "type": "any" } }, "script": { "type": "array", "default": [], "items": { "type": "any" } } }, "default": { "meta": [], "link": [], "style": [], "script": [] }, "type": "object" }, "fetch": { "title": "Configuration for the Nuxt `fetch()` hook.", "description": "", "tags": [ "@version 2" ], "id": "#fetch", "properties": { "server": { "title": "Whether to enable `fetch()` on the server.", "description": "", "tags": [], "id": "#fetch/server", "default": true, "type": "boolean" }, "client": { "title": "Whether to enable `fetch()` on the client.", "description": "", "tags": [], "id": "#fetch/client", "default": true, "type": "boolean" } }, "default": { "server": true, "client": true }, "type": "object" }, "plugins": { "title": "An array of nuxt app plugins.", "description": "Each plugin can be a string (which can be an absolute or relative path to a file). If it ends with `.client` or `.server` then it will be automatically loaded only in the appropriate context.\nIt can also be an object with `src` and `mode` keys.", "tags": [ "@example\n```js\nplugins: [\n '~/plugins/foo.client.js', // only in client side\n '~/plugins/bar.server.js', // only in server side\n '~/plugins/baz.js', // both client & server\n { src: '~/plugins/both-sides.js' },\n { src: '~/plugins/client-only.js', mode: 'client' }, // only on client side\n { src: '~/plugins/server-only.js', mode: 'server' } // only on server side\n]\n```", "@version 2" ], "tsType": "(typeof import('../src/types/nuxt').NuxtPlugin | string)[]", "markdownType": "(SrcTypesNuxtNuxtPlugin | string)[]", "id": "#plugins", "default": [], "type": "array", "items": { "type": "any" } }, "extendPlugins": { "title": "You may want to extend plugins or change their order. For this, you can pass a function using `extendPlugins`. It accepts an array of plugin objects and should return an array of plugin objects.", "description": "", "tags": [ "@version 2" ], "tsType": "(plugins: Array<{ src: string, mode?: 'client' | 'server' }>) => Array<{ src: string, mode?: 'client' | 'server' }>", "id": "#extendPlugins", "default": null, "type": "any" }, "css": { "title": "You can define the CSS files/modules/libraries you want to set globally (included in every page).", "description": "Nuxt will automatically guess the file type by its extension and use the appropriate pre-processor. You will still need to install the required loader if you need to use them.", "tags": [ "@example\n```js\ncss: [\n // Load a Node.js module directly (here it's a Sass file).\n 'bulma',\n // CSS file in the project\n '@/assets/css/main.css',\n // SCSS file in the project\n '@/assets/css/main.scss'\n]\n```", "@version 2", "@version 3" ], "tsType": "string[]", "id": "#css", "default": [], "type": "array", "items": { "type": "any" } }, "layouts": { "title": "An object where each key name maps to a path to a layout .vue file.", "description": "Normally, there is no need to configure this directly.", "tags": [ "@version 2" ], "tsType": "Record<string, string>", "id": "#layouts", "default": {}, "type": "any" }, "ErrorPage": { "title": "Set a custom error page layout.", "description": "Normally, there is no need to configure this directly.", "tags": [ "@version 2" ], "type": "string", "tsType": "string", "id": "#ErrorPage", "default": null }, "loading": { "title": "Configure the Nuxt loading progress bar component that's shown between routes. Set to `false` to disable. You can also customize it or create your own component.", "description": "", "tags": [ "@version 2" ], "id": "#loading", "properties": { "color": { "title": "CSS color of the progress bar.", "description": "", "tags": [], "id": "#loading/color", "default": "black", "type": "string" }, "failedColor": { "title": "CSS color of the progress bar when an error appended while rendering the route (if data or fetch sent back an error, for example).", "description": "", "tags": [], "id": "#loading/failedColor", "default": "red", "type": "string" }, "height": { "title": "Height of the progress bar (used in the style property of the progress bar).", "description": "", "tags": [], "id": "#loading/height", "default": "2px", "type": "string" }, "throttle": { "title": "In ms, wait for the specified time before displaying the progress bar. Useful for preventing the bar from flashing.", "description": "", "tags": [], "id": "#loading/throttle", "default": 200, "type": "number" }, "duration": { "title": "In ms, the maximum duration of the progress bar, Nuxt assumes that the route will be rendered before 5 seconds.", "description": "", "tags": [], "id": "#loading/duration", "default": 5000, "type": "number" }, "continuous": { "title": "Keep animating progress bar when loading takes longer than duration.", "description": "", "tags": [], "id": "#loading/continuous", "default": false, "type": "boolean" }, "rtl": { "title": "Set the direction of the progress bar from right to left.", "description": "", "tags": [], "id": "#loading/rtl", "default": false, "type": "boolean" }, "css": { "title": "Set to `false` to remove default progress bar styles (and add your own).", "description": "", "tags": [], "id": "#loading/css", "default": true, "type": "boolean" } }, "default": { "color": "black", "failedColor": "red", "height": "2px", "throttle": 200, "duration": 5000, "continuous": false, "rtl": false, "css": true }, "type": "object" }, "loadingIndicator": { "title": "Show a loading spinner while the page is loading (only when `ssr: false`).", "description": "Set to `false` to disable. Alternatively, you can pass a string name or an object for more configuration. The name can refer to an indicator from [SpinKit](https://tobiasahlin.com/spinkit/) or a path to an HTML template of the indicator source code (in this case, all the other options will be passed to the template).", "tags": [ "@version 2" ], "id": "#loadingIndicator", "default": { "name": "default", "color": "black", "color2": "#F5F5F5", "background": "white", "dev": false, "loading": "Loading..." }, "type": "object" }, "pageTransition": { "title": "Used to set the default properties of the page transitions.", "description": "You can either pass a string (the transition name) or an object with properties to bind to the `<Transition>` component that will wrap your pages.", "tags": [ "@see [vue@2 documentation](https://v2.vuejs.org/v2/guide/transitions.html)", "@see [vue@3 documentation](https://vuejs.org/guide/built-ins/transition-group.html#enter-leave-transitions)", "@version 2" ], "id": "#pageTransition", "default": { "name": "page", "mode": "out-in", "appear": false, "appearClass": "appear", "appearActiveClass": "appear-active", "appearToClass": "appear-to" }, "type": "object" }, "layoutTransition": { "title": "Used to set the default properties of the layout transitions.", "description": "You can either pass a string (the transition name) or an object with properties to bind to the `<Transition>` component that will wrap your layouts.", "tags": [ "@see [vue@2 documentation](https://v2.vuejs.org/v2/guide/transitions.html)", "@see [vue@3 documentation](https://vuejs.org/guide/built-ins/transition-group.html#enter-leave-transitions)", "@version 2" ], "id": "#layoutTransition", "default": { "name": "layout", "mode": "out-in" }, "type": "object" }, "features": { "title": "You can disable specific Nuxt features that you do not want.", "description": "", "tags": [ "@version 2" ], "id": "#features", "properties": { "store": { "title": "Set to false to disable Nuxt vuex integration", "description": "", "tags": [], "id": "#features/store", "default": true, "type": "boolean" }, "layouts": { "title": "Set to false to disable layouts", "description": "", "tags": [], "id": "#features/layouts", "default": true, "type": "boolean" }, "meta": { "title": "Set to false to disable Nuxt integration with `vue-meta` and the `head` property", "description": "", "tags": [], "id": "#features/meta", "default": true, "type": "boolean" }, "middleware": { "title": "Set to false to disable middleware", "description": "", "tags": [], "id": "#features/middleware", "default": true, "type": "boolean" }, "transitions": { "title": "Set to false to disable transitions", "description": "", "tags": [], "id": "#features/transitions", "default": true, "type": "boolean" }, "deprecations": { "title": "Set to false to disable support for deprecated features and aliases", "description": "", "tags": [], "id": "#features/deprecations", "default": true, "type": "boolean" }, "validate": { "title": "Set to false to disable the Nuxt `validate()` hook", "description": "", "tags": [], "id": "#features/validate", "default": true, "type": "boolean" }, "useAsyncData": { "title": "Set to false to disable the Nuxt `asyncData()` hook", "description": "", "tags": [], "id": "#features/useAsyncData", "default": true, "type": "boolean" }, "fetch": { "title": "Set to false to disable the Nuxt `fetch()` hook", "description": "", "tags": [], "id": "#features/fetch", "default": true, "type": "boolean" }, "clientOnline": { "title": "Set to false to disable `$nuxt.isOnline`", "description": "", "tags": [], "id": "#features/clientOnline", "default": true, "type": "boolean" }, "clientPrefetch": { "title": "Set to false to disable prefetching behavior in `<NuxtLink>`", "description": "", "tags": [], "id": "#features/clientPrefetch", "default": true, "type": "boolean" }, "componentAliases": { "title": "Set to false to disable extra component aliases like `<NLink>` and `<NChild>`", "description": "", "tags": [], "id": "#features/componentAliases", "default": true, "type": "boolean" }, "componentClientOnly": { "title": "Set to false to disable the `<ClientOnly>` component (see [docs](https://github.com/egoist/vue-client-only))", "description": "", "tags": [], "id": "#features/componentClientOnly", "default": true, "type": "boolean" } }, "default": { "store": true, "layouts": true, "meta": true, "middleware": true, "transitions": true, "deprecations": true, "validate": true, "useAsyncData": true, "fetch": true, "clientOnline": true, "clientPrefetch": true, "componentAliases": true, "componentClientOnly": true }, "type": "object" }, "extends": { "title": "Extend project from multiple local or remote sources.", "description": "Value should be either a string or array of strings pointing to source directories or config path relative to current config.\nYou can use `github:`, `gitlab:`, `bitbucket:` or `https://` to extend from a remote git repository.", "tags": [ "@version 3" ], "tsType": "string|string[]", "id": "#extends", "default": null, "type": "any" }, "theme": { "title": "Extend project from a local or remote source.", "description": "Value should be a string pointing to source directory or config path relative to current config.\nYou can use `github:`, `gitlab:`, `bitbucket:` or `https://` to extend from a remote git repository.", "tags": [ "@version 3" ], "type": "string", "tsType": "string", "id": "#theme", "default": null }, "rootDir": { "title": "Define the root directory of your application.", "description": "This property can be overwritten (for example, running `nuxt ./my-app/` will set the `rootDir` to the absolute path of `./my-app/` from the current/working directory.\nIt is normally not needed to configure this option.", "tags": [ "@version 2", "@version 3" ], "id": "#rootDir", "default": "/<rootDir>", "type": "string" }, "workspaceDir": { "title": "Define the workspace directory of your application.", "description": "Often this is used when in a monorepo setup. Nuxt will attempt to detect your workspace directory automatically, but you can override it here.\nIt is normally not needed to configure this option.", "tags": [ "@version 3" ], "id": "#workspaceDir", "default": "/<rootDir>", "type": "string" }, "srcDir": { "title": "Define the source directory of your Nuxt application.", "description": "If a relative path is specified, it will be relative to the `rootDir`.", "tags": [ "@example\n```js\nexport default {\n srcDir: 'src/'\n}\n```\nThis would work with the following folder structure:\n```bash\n-| app/\n---| node_modules/\n---| nuxt.config.js\n---| package.json\n---| src/\n------| assets/\n------| components/\n------| layouts/\n------| middleware/\n------| pages/\n------| plugins/\n------| static/\n------| store/\n------| server/\n```", "@version 2", "@version 3" ], "id": "#srcDir", "default": "/<rootDir>", "type": "string" }, "buildDir": { "title": "Define the directory where your built Nuxt files will be placed.", "description": "Many tools assume that `.nuxt` is a hidden directory (because it starts with a `.`). If that is a problem, you can use this option to prevent that.", "tags": [ "@example\n```js\nexport default {\n buildDir: 'nuxt-build'\n}\n```", "@version 2", "@version 3" ], "id": "#buildDir", "default": "/<rootDir>/.nuxt", "type": "string" }, "dev": { "title": "Whether Nuxt is running in development mode.", "description": "Normally, you should not need to set this.", "tags": [ "@version 2", "@version 3" ], "id": "#dev", "default": false, "type": "boolean" }, "test": { "title": "Whether your app is being unit tested.", "description": "", "tags": [ "@version 2" ], "id": "#test", "default": false, "type": "boolean" }, "debug": { "title": "Set to `true` to enable debug mode.", "description": "By default, it's only enabled in development mode.", "tags": [ "@version 2" ], "id": "#debug", "default": false, "type": "boolean" }, "env": { "title": "The `env` property defines environment variables that should be available throughout your app (server- and client-side). They can be assigned using server-side environment variables.", "description": "", "tags": [ "@note Nuxt uses webpack's `definePlugin` to define these environment variables.\nThis means that the actual `process` or `process.env` from Node.js is neither\navailable nor defined. Each of the `env` properties defined here is individually\nmapped to `process.env.xxxx` and converted during compilation.", "@note Environment variables starting with `NUXT_ENV_` are automatically injected\ninto the process environment.", "@version 2" ], "id": "#env", "default": {}, "type": "object" }, "createRequire": { "title": "Set the method Nuxt uses to require modules, such as loading `nuxt.config`, server middleware, and so on - defaulting to `jiti` (which has support for TypeScript and ESM syntax).", "description": "", "tags": [ "@see [jiti](https://github.com/unjs/jiti)", "@version 2" ], "tsType": "'jiti' | 'native' | ((p: string | { filename: string }) => NodeRequire)", "id": "#createRequire", "type": "function" }, "target": { "title": "Whether your Nuxt app should be built to be served by the Nuxt server (`server`) or as static HTML files suitable for a CDN or other static file server (`static`).", "description": "This is unrelated to `ssr`.", "tags": [ "@version 2" ], "tsType": "'server' | 'static'", "id": "#target", "default": "server", "type": "string" }, "ssr": { "title": "Whether to enable rendering of HTML - either dynamically (in server mode) or at generate time. If set to `false` and combined with `static` target, generated pages will simply display a loading screen with no content.", "description": "", "tags": [ "@version 2", "@version 3" ], "id": "#ssr", "default": true, "type": "boolean" }, "mode": { "deprecated": "`mode` option is deprecated", "title": "", "description": "", "tags": [ "@deprecated use `ssr` option" ], "id": "#mode", "default": "spa", "type": "string" }, "modern": { "title": "Whether to produce a separate modern build targeting browsers that support ES modules.", "description": "Set to `'server'` to enable server mode, where the Nuxt server checks browser version based on the user agent and serves the correct bundle.\nSet to `'client'` to serve both the modern bundle with `<script type=\"module\">` and the legacy bundle with `<script nomodule>`. It will also provide a `<link rel=\"modulepreload\">` for the modern bundle. Every browser that understands the module type will load the modern bundle while older browsers fall back to the legacy (transpiled) bundle.\nIf you have set `modern: true` and are generating your app or have `ssr: false`, modern will be set to `'client'`.\nIf you have set `modern: true` and are serving your app, modern will be set to `'server'`.", "tags": [ "@see [concept of modern mode](https://philipwalton.com/articles/deploying-es2015-code-in-production-today/)", "@version 2" ], "tsType": "'server' | 'client' | boolean", "id": "#modern", "default": {}, "type": "any" }, "modules": { "title": "Modules are Nuxt extensions which can extend its core functionality and add endless integrations.", "description": "Each module is either a string (which can refer to a package, or be a path to a file), a tuple with the module as first string and the options as a second object, or an inline module function.\nNuxt tries to resolve each item in the modules array using node require path (in `node_modules`) and then will be resolved from project `srcDir` if `~` alias is used.", "tags": [ "@note Modules are executed sequentially so the order is important.", "@example\n```js\nmodules: [\n // Using package name\n '@nuxtjs/axios',\n // Relative to your project srcDir\n '~/modules/awesome.js',\n // Providing options\n ['@nuxtjs/google-analytics', { ua: 'X1234567' }],\n // Inline definition\n function () {}\n]\n```", "@version 2", "@version 3" ], "tsType": "(typeof import('../src/types/module').NuxtModule | string | [typeof import('../src/types/module').NuxtModule | string, Record<string, any>])[]", "markdownType": "(SrcTypesModuleNuxtModule | string | [SrcTypesModuleNuxtModule | string, Record<string, any>])[]", "id": "#modules", "default": [], "type": "array", "items": { "type": "any" } }, "buildModules": { "title": "Modules that are only required during development and build time.", "description": "Modules are Nuxt extensions which can extend its core functionality and add endless integrations.\nEach module is either a string (which can refer to a package, or be a path to a file), a tuple with the module as first string and the options as a second object, or an inline module function.\nNuxt tries to resolve each item in the modules array using node require path (in `node_modules`) and then will be resolved from project `srcDir` if `~` alias is used.", "tags": [ "@note Modules are executed sequentially so the order is important.", "@example\n```js\nmodules: [\n // Using package name\n '@nuxtjs/axios',\n // Relative to your project srcDir\n '~/modules/awesome.js',\n // Providing options\n ['@nuxtjs/google-analytics', { ua: 'X1234567' }],\n // Inline definition\n function () {}\n]\n```", "@note In Nuxt 2, using `buildModules` helps to make production startup faster and also significantly\ndecreases the size of `node_modules` in production deployments. Please refer to each\nmodule's documentation to see if it is recommended to use `modules` or `buildModules`.", "@version 2", "@deprecated This is no longer needed in Nuxt 3 and Nuxt Bridge; all modules should be added to `modules` instead." ], "tsType": "(typeof import('../src/types/module').NuxtModule | string | [typeof import('../src/types/module').NuxtModule | string, Record<string, any>])[]", "markdownType": "(SrcTypesModuleNuxtModule | string | [SrcTypesModuleNuxtModule | string, Record<string, any>])[]", "id": "#buildModules", "default": [], "type": "array", "items": { "type": "any" } }, "_modules": { "title": "Built-in ad-hoc modules.", "description": " @private", "tags": [], "id": "#_modules", "default": [], "type": "array", "items": { "type": "any" } }, "_installedModules": { "title": "Installed module metadata.", "description": "", "tags": [ "@version 3", "@private" ], "id": "#_installedModules", "default": [], "type": "array", "items": { "type": "any" } }, "globalName": { "title": "Allows customizing the global ID used in the main HTML template as well as the main Vue instance name and other options.", "description": "", "tags": [ "@version 2" ], "id": "#globalName", "default": "nuxt", "type": "string" }, "globals": { "title": "Customizes specific global names (they are based on `globalName` by default).", "description": "", "tags": [ "@version 2" ], "id": "#globals", "properties": { "id": { "title": "", "description": "", "tags": [], "tsType": "(globalName: string) => string", "id": "#globals/id", "type": "function" }, "nuxt": { "title": "", "description": "", "tags": [], "tsType": "(globalName: string) => string", "id": "#globals/nuxt", "type": "function" }, "context": { "title": "", "description": "", "tags": [], "tsType": "(globalName: string) => string", "id": "#globals/context", "type": "function" }, "pluginPrefix": { "title": "", "description": "", "tags": [], "tsType": "(globalName: string) => string", "id": "#globals/pluginPrefix", "type": "function" }, "readyCallback": { "title": "", "description": "", "tags": [], "tsType": "(globalName: string) => string", "id": "#globals/readyCallback", "type": "function" }, "loadedCallback": { "title": "", "description": "", "tags": [], "tsType": "(globalName: string) => string", "id": "#globals/loadedCallback", "type": "function" } }, "default": {}, "type": "object" }, "serverMiddleware": { "title": "Server middleware are connect/express/h3-shaped functions that handle server-side requests. They run on the server and before the Vue renderer.", "description": "By adding entries to `serverMiddleware` you can register additional routes without the need for an external server.\nYou can pass a string, which can be the name of a node dependency or a path to a file. You can also pass an object with `path` and `handler` keys (`handler` can be a path or a function).", "tags": [ "@note If you pass a function directly, it will only run in development mode.", "@example\n```js\nserverMiddleware: [\n // Will register redirect-ssl npm package\n 'redirect-ssl',\n // Will register file from project server-middleware directory to handle /server-middleware/* requires\n { path: '/server-middleware', handler: '~/server-middleware/index.js' },\n // We can create custom instances too, but only in development mode, they are ignored for the production bundle.\n { path: '/static2', handler: serveStatic(fileURLToPath(new URL('./static2', import.meta.url))) }\n]\n```", "@note If you don't want middleware to run on all routes you should use the object\nform with a specific path.", "If you pass a string handler, Nuxt will expect that file to export a default function\nthat handles `(req, res, next) => void`.", "@example\n```js\nexport default function (req, res, next) {\n // req is the Node.js http request object\n console.log(req.url)\n // res is the Node.js http response object\n // next is a function to call to invoke the next middleware\n // Don't forget to call next at the end if your middleware is not an endpoint!\n next()\n}\n```", "Alternatively, it can export a connect/express/h3-type app instance.", "@example\n```js\nimport bodyParser from 'body-parser'\nimport createApp from 'express'\nconst app = createApp()\napp.use(bodyParser.json())\napp.all('/getJSON', (req, res) => {\n res.json({ data: 'data' })\n})\nexport default app\n```", "Alternatively, instead of passing an array of `serverMiddleware`, you can pass an object\nwhose keys are the paths and whose values are the handlers (string or function).", "@example\n```js\nexport default {\n serverMiddleware: {\n '/a': '~/server-middleware/a.js',\n '/b': '~/server-middleware/b.js',\n '/c': '~/server-middleware/c.js'\n }\n}\n```", "@version 2", "@deprecated Use `serverHandlers` instead" ], "id": "#serverMiddleware", "default": [], "type": "array", "items": { "type": "any" } }, "modulesDir": { "title": "Used to set the modules directories for path resolving (for example, webpack's `resolveLoading`, `nodeExternals` and `postcss`).", "description": "The configuration path is relative to `options.rootDir` (default is current working directory).\nSetting this field may be necessary if your project is organized as a yarn workspace-styled mono-repository.", "tags": [ "@example\n```js\nexport default {\n modulesDir: ['../../node_modules']\n}\n```", "@version 2" ], "id": "#modulesDir", "default": [ "/<rootDir>/node_modules", "/home/runner/work/framework/framework/packages/schema/node_modules" ], "type": "array", "items": { "type": [ "string" ] } }, "dir": { "title": "Customize default directory structure used by Nuxt.", "description": "It is better to stick with defaults unless needed.", "tags": [ "@version 2", "@version 3" ], "id": "#dir", "properties": { "assets": { "title": "The assets directory (aliased as `~assets` in your build).", "description": "", "tags": [ "@version 2" ], "id": "#dir/assets", "default": "assets", "type": "string" }, "app": { "title": "The directory containing app template files like `app.html` and `router.scrollBehavior.js`", "description": "", "tags": [ "@version 2" ], "id": "#dir/app", "default": "app", "type": "string" }, "layouts": { "title": "The layouts directory, each file of which will be auto-registered as a Nuxt layout.", "description": "", "tags": [ "@version 2", "@version 3" ], "id": "#dir/layouts", "default": "layouts", "type": "string" }, "middleware": { "title": "The middleware directory, each file of which will be auto-registered as a Nuxt middleware.", "description": "", "tags": [ "@version 3", "@version 2" ], "id": "#dir/middleware", "default": "middleware", "type": "string" }, "pages": { "title": "The directory which will be processed to auto-generate your application page routes.", "description": "", "tags": [ "@version 2", "@version 3" ], "id": "#dir/pages", "default": "pages", "type": "string" }, "public": { "title": "The directory containing your static files, which will be directly accessible via the Nuxt server and copied across into your `dist` folder when your app is generated.", "description": "", "tags": [ "@version 3" ], "id": "#dir/public", "default": "public", "type": "string" }, "static": { "deprecated": "use `dir.public` option instead", "title": "", "description": "", "tags": [ "@version 2" ], "id": "#dir/static", "default": "public", "type": "string" }, "store": { "title": "The folder which will be used to auto-generate your Vuex store structure.", "description": "", "tags": [ "@version 2" ], "id": "#dir/store", "default": "store", "type": "string" } }, "default": { "store": "store", "assets": "assets", "app": "app", "layouts": "layouts", "middleware": "middleware", "pages": "pages", "static": "public", "public": "public" }, "type": "object" }, "extensions": { "title": "The extensions that should be resolved by the Nuxt resolver.", "description": "", "tags": [ "@version 2", "@version 3" ], "id": "#extensions", "default": [ ".js", ".jsx", ".mjs", ".ts", ".tsx", ".vue" ], "type": "array", "items": { "type": [ "string" ] } }, "styleExtensions": { "title": "The style extensions that should be resolved by the Nuxt resolver (for example, in `css` property).", "description": "", "tags": [ "@version 2" ], "id": "#styleExtensions", "default": [ ".css", ".pcss", ".postcss", ".styl", ".stylus", ".scss", ".sass", ".less" ], "type": "array", "items": { "type": [ "string" ] } }, "alias": { "title": "You can improve your DX by defining additional aliases to access custom directories within your JavaScript and CSS.", "description": "", "tags": [ "@note Within a webpack context (image sources, CSS - but not JavaScript) you _must_ access\nyour alias by prefixing it with `~`.", "@note These aliases will be automatically added to the generated `.nuxt/tsconfig.json` so you can get full\ntype support and path auto-complete. In case you need to extend options provided by `./.nuxt/tsconfig.json`\nfurther, make sure to add them here or within the `typescript.tsConfig` property in `nuxt.config`.", "@example\n```js\nexport default {\n alias: {\n 'images': fileURLToPath(new URL('./assets/images', import.meta.url)),\n 'style': fileURLToPath(new URL('./assets/style', import.meta.url)),\n 'data': fileURLToPath(new URL('./assets/other/data', import.meta.url))\n }\n}\n```", "```html\n<template>\n <img src=\"~images/main-bg.jpg\">\n</template>\n\n<script>\nimport data from 'data/test.json'\n</script>\n\n<style>\n// Uncomment the below\n//@import '~style/variables.scss';\n//@import '~style/utils.scss';\n//@import '~style/base.scss';\nbody {\n background-image: url('~images/main-bg.jpg');\n}\n</style>\n```", "@version 2", "@version 3" ], "tsType": "Record<string, string>", "id": "#alias", "default": { "~~": "/<rootDir>", "@@": "/<rootDir>", "~": "/<rootDir>", "@": "/<rootDir>", "assets": "/<rootDir>/assets", "public": "/<rootDir>/public" }, "type": "object" }, "ignoreOptions": { "title": "Pass options directly to `node-ignore` (which is used by Nuxt to ignore files).", "description": "", "tags": [ "@see [node-ignore](https://github.com/kaelzhang/node-ignore)", "@example\n```js\nignoreOptions: {\n ignorecase: false\n}\n```", "@version 2", "@version 3" ], "id": "#ignoreOptions", "default": {}, "type": "any" }, "ignorePrefix": { "title": "Any file in `pages/`, `layouts/`, `middleware/` or `store/` will be ignored during building if its filename starts with the prefix specified by `ignorePrefix`.", "description": "", "tags": [ "@version 2", "@version 3" ], "id": "#ignorePrefix", "default": "-", "type": "string" }, "ignore": { "title": "More customizable than `ignorePrefix`: all files matching glob patterns specified inside the `ignore` array will be ignored in building.", "description": "", "tags": [ "@version 2", "@version 3" ], "id": "#ignore", "default": [ "**/*.stories.{js,ts,jsx,tsx}", "**/*.{spec,test}.{js,ts,jsx,tsx}", ".output", "**/-*.*" ], "type": "array", "items": { "type": [ "string" ] } }, "watch": { "title": "The watch property lets you watch custom files for restarting the server.", "description": "`chokidar` is used to set up the watchers. To learn more about its pattern options, see chokidar documentation.", "tags": [ "@see [chokidar](https://github.com/paulmillr/chokidar#api)", "@example\n```js\nwatch: ['~/custom/*.js']\n```", "@version 2" ], "tsType": "string[]", "id": "#watch", "default": [], "type": "array", "items": { "type": "any" } }, "watchers": { "title": "The watchers property lets you overwrite watchers configuration in your `nuxt.config`.", "description": "", "tags": [ "@version 2", "@version 3" ], "id": "#watchers", "properties": { "rewatchOnRawEvents": { "title": "An array of event types, which, when received, will cause the watcher to restart.", "description": "", "tags": [], "id": "#watchers/rewatchOnRawEvents", "default": {}, "type": "any" }, "webpack": { "title": "`watchOptions` to pass directly to webpack.", "description": "", "tags": [ "@see [webpack@4 watch options](https://v4.webpack.js.org/configuration/watch/#watchoptions)." ], "id": "#watchers/webpack", "properties": { "aggregateTimeout": { "type": "number", "default": 1000 } }, "default": { "aggregateTimeout": 1000 }, "type": "object" }, "chokidar": { "title": "Options to pass directly to `chokidar`.", "description": "", "tags": [ "@see [chokidar](https://github.com/paulmillr/chokidar#api)" ], "id": "#watchers/chokidar", "properties": { "ignoreInitial": { "type": "boolean", "default": true } }, "default": { "ignoreInitial": true }, "type": "object" } }, "default": { "rewatchOnRawEvents": {}, "webpack": { "aggregateTimeout": 1000 }, "chokidar": { "ignoreInitial": true } }, "type": "object" }, "editor": { "title": "Your preferred code editor to launch when debugging.", "description": "", "tags": [ "@see [documentation](https://github.com/yyx990803/launch-editor#supported-editors)", "@version 2" ], "type": "string", "tsType": "string", "id": "#editor" }, "hooks": { "title": "Hooks are listeners to Nuxt events that are typically used in modules, but are also available in `nuxt.config`.", "description": "Internally, hooks follow a naming pattern using colons (e.g., build:done).\nFor ease of configuration, you can also structure them as an hierarchical object in `nuxt.config` (as below).", "tags": [ "@example\n```js'node:fs'\nimport fs from 'node:fs'\nimport path from 'node:path'\nexport default {\n hooks: {\n build: {\n done(builder) {\n const extraFilePath = path.join(\n builder.nuxt.options.buildDir,\n 'extra-file'\n )\n fs.writeFileSync(extraFilePath, 'Something extra')\n }\n }\n }\n}\n```", "@version 2", "@version 3" ], "tsType": "typeof import('../src/types/hooks').NuxtHooks", "markdownType": "SrcTypesHooksNuxtHooks", "id": "#hooks", "default": null, "type": "any" }, "runtimeConfig": { "title": "Runtime config allows passing dynamic config and environment variables to the Nuxt app context.", "description": "The value of this object is accessible from server only using `useRuntimeConfig`.\nIt mainly should hold _private_ configuration which is not exposed on the frontend. This could include a reference to your API secret tokens.\nAnything under `public` and `app` will be exposed to the frontend as well.\nValues are automatically replaced by matching env variables at runtime, e.g. setting an environment variable `NUXT_API_KEY=my-api-key NUXT_PUBLIC_BASE_URL=/foo/` would overwrite the two values in the example below.", "tags": [ "@example\n```js\nexport default {\n runtimeConfig: {\n apiKey: '' // Default to an empty string, automatically set at runtime using process.env.NUXT_API_KEY\n public: {\n baseURL: '' // Exposed to the frontend as well.\n }\n }\n}\n```", "@version 3" ], "tsType": "typeof import('../src/types/config').RuntimeConfig", "markdownType": "SrcTypesConfigRuntimeConfig", "id": "#runtimeConfig", "default": { "public": {}, "app": { "baseURL": "/", "buildAssetsDir": "/_nuxt/", "cdnURL": "" } }, "type": "object" }, "privateRuntimeConfig": { "title": "", "description": "", "tags": [ "@version 2", "@version 3", "@deprecated Use `runtimeConfig` option." ], "tsType": "typeof import('../src/types/config').PrivateRuntimeConfig", "markdownType": "SrcTypesConfigPrivateRuntimeConfig", "id": "#privateRuntimeConfig", "default": {}, "type": "any" }, "publicRuntimeConfig": { "title": "", "description": "", "tags": [ "@version 2", "@version 3", "@deprecated Use `runtimeConfig` option with `public` key (`runtimeConfig.public.*`)." ], "tsType": "typeof import('../src/types/config').PublicRuntimeConfig", "markdownType": "SrcTypesConfigPublicRuntimeConfig", "id": "#publicRuntimeConfig", "default": {}, "type": "any" }, "appConfig": { "title": "Additional app configuration", "description": "For programmatic usage and type support, you can directly provide app config with this option. It will be merged with `app.config` file as default value.", "tags": [ "@version 3" ], "tsType": "typeof import('../src/types/config').AppConfig", "markdownType": "SrcTypesConfigAppConfig", "id": "#appConfig", "default": {}, "type": "any" }, "_majorVersion": { "title": "", "description": "", "tags": [ "@private" ], "id": "#_majorVersion", "default": 2, "type": "number" }, "_legacyGenerate": { "title": "", "description": "", "tags": [ "@private" ], "id": "#_legacyGenerate", "default": false, "type": "boolean" }, "_start": { "title": "", "description": "", "tags": [ "@private" ], "id": "#_start", "default": false, "type": "boolean" }, "_build": { "title": "", "description": "", "tags": [ "@private" ], "id": "#_build", "default": false, "type": "boolean" }, "_generate": { "title": "", "description": "", "tags": [ "@private" ], "id": "#_generate", "default": false, "type": "boolean" }, "_prepare": { "title": "", "description": "", "tags": [ "@private" ], "id": "#_prepare", "default": false, "type": "boolean" }, "_cli": { "title": "", "description": "", "tags": [ "@private" ], "id": "#_cli", "default": false, "type": "boolean" }, "_requiredModules": { "title": "", "description": "", "tags": [ "@private" ], "id": "#_requiredModules", "default": {}, "type": "any" }, "_nuxtConfigFile": { "title": "", "description": "", "tags": [ "@private" ], "id": "#_nuxtConfigFile", "default": {}, "type": "any" }, "_nuxtConfigFiles": { "title": "", "description": "", "tags": [ "@private" ], "id": "#_nuxtConfigFiles", "default": [], "type": "array", "items": { "type": "any" } }, "appDir": { "title": "", "description": "", "tags": [ "@private" ], "id": "#appDir", "default": "", "type": "string" }, "postcss": { "title": "", "description": "", "tags": [ "@version 3" ], "id": "#postcss", "properties": { "config": { "title": "Path to postcss config file.", "description": "", "tags": [], "id": "#postcss/config", "default": false, "type": "boolean" }, "plugins": { "title": "Options for configuring PostCSS plugins.", "description": "https://postcss.org/", "tags": [], "tsType": "Record<string, any>", "id": "#postcss/plugins", "properties": { "postcss-import": { "title": "https://github.com/postcss/postcss-import", "description": "", "tags": [], "id": "#postcss/plugins/postcss-import", "default": {}, "type": "object" }, "postcss-url": { "title": "https://github.com/postcss/postcss-url", "description": "", "tags": [], "id": "#postcss/plugins/postcss-url", "default": {}, "type": "any" }, "autoprefixer": { "title": "https://github.com/postcss/autoprefixer", "description": "", "tags": [], "id": "#postcss/plugins/autoprefixer", "default": {}, "type": "any" }, "cssnano": { "id": "#postcss/plugins/cssnano", "default": true, "type": "boolean" } }, "default": { "postcss-import": {}, "postcss-url": {}, "autoprefixer": {}, "cssnano": true }, "type": "object" } }, "default": { "config": false, "plugins": { "postcss-import": {}, "postcss-url": {}, "autoprefixer": {}, "cssnano": true } }, "type": "object" }, "typescript": { "title": "Configuration for Nuxt's TypeScript integration.", "description": "", "tags": [ "@version 2", "@version 3" ], "id": "#typescript", "properties": { "strict": { "title": "TypeScript comes with certain checks to give you more safety and analysis of your program. Once you’ve converted your codebase to TypeScript, you can start enabling these checks for greater safety. [Read More](https://www.typescriptlang.org/docs/handbook/migrating-from-javascript.html#getting-stricter-checks)", "description": "", "tags": [], "id": "#typescript/strict", "default": false, "type": "boolean" }, "typeCheck": { "title": "Enable build-time type checking.", "description": "If set to true, this will type check in development. You can restrict this to build-time type checking by setting it to `build`.", "tags": [], "tsType": "boolean | 'build'", "id": "#typescript/typeCheck", "default": false, "type": "boolean" }, "tsConfig": { "title": "You can extend generated `.nuxt/tsconfig.json` using this option.", "description": "", "tags": [], "tsType": "typeof import('pkg-types')['readPackageJSON']", "markdownType": "PkgTypesReadPackageJSON", "id": "#typescript/tsConfig", "default": {}, "type": "any" }, "shim": { "title": "Generate a `*.vue` shim.", "description": "We recommend instead either enabling [**Take Over Mode**](https://github.com/johnsoncodehk/volar/discussions/471) or adding **TypeScript Vue Plugin (Volar)** 👉 [[Download](https://marketplace.visualstudio.com/items?itemName=johnsoncodehk.vscode-typescript-vue-plugin)].", "tags": [], "id": "#typescript/shim", "default": true, "type": "boolean" } }, "default": { "strict": false, "typeCheck": false, "tsConfig": {}, "shim": true }, "type": "object" }, "vite": { "title": "Configuration that will be passed directly to Vite.", "description": "See https://vitejs.dev/config for more information. Please note that not all vite options are supported in Nuxt.", "tags": [ "@version 3" ], "tsType": "typeof import('../src/types/config').ViteConfig", "markdownType": "SrcTypesConfigViteConfig", "id": "#vite", "properties": { "root": { "id": "#vite/root", "default": "/<rootDir>", "type": "string" }, "mode": { "id": "#vite/mode", "default": "production", "type": "string" }, "logLevel": { "type": "string", "default": "warn" }, "define": { "id": "#vite/define", "default": { "process.dev": false }, "type": "object" }, "resolve": { "id": "#vite/resolve", "properties": { "extensions": { "type": "array", "default": [ ".mjs", ".js", ".ts", ".jsx", ".tsx", ".json", ".vue" ], "items": { "type": [ "string" ] } } }, "default": { "extensions": [ ".mjs", ".js", ".ts", ".jsx", ".tsx", ".json", ".vue" ] }, "type": "object" }, "publicDir": { "id": "#vite/publicDir", "default": "/<rootDir>/public", "type": "string" }, "vue": { "id": "#vite/vue", "properties": { "isProduction": { "id": "#vite/vue/isProduction", "default": true, "type": "boolean" }, "template": { "id": "#vite/vue/template", "properties": { "compilerOptions": { "id": "#vite/vue/template/compilerOptions", "default": {}, "type": "object" } }, "default": { "compilerOptions": {} }, "type": "object" } }, "default": { "isProduction": true, "template": { "compilerOptions": {} } }, "type": "object" }, "optimizeDeps": { "id": "#vite/optimizeDeps", "properties": { "exclude": { "id": "#vite/optimizeDeps/exclude", "default": [ "vue-demi" ], "type": "array", "items": { "type": [ "string" ] } } }, "default": { "exclude": [ "vue-demi" ] }, "type": "object" }, "esbuild": { "id": "#vite/esbuild", "properties": { "jsxFactory": { "type": "string", "default": "h" }, "jsxFragment": { "type": "string", "default": "Fragment" }, "tsconfigRaw": { "type": "string", "default": "{}" } }, "default": { "jsxFactory": "h", "jsxFragment": "Fragment", "tsconfigRaw": "{}" }, "type": "object" }, "clearScreen": { "type": "boolean", "default": false }, "build": { "id": "#vite/build", "properties": { "assetsDir": { "id": "#vite/build/assetsDir", "default": "_nuxt/", "type": "string" }, "emptyOutDir": { "type": "boolean", "default": false } }, "default": { "assetsDir": "_nuxt/", "emptyOutDir": false }, "type": "object" }, "server": { "id": "#vite/server", "properties": { "fs": { "id": "#vite/server/fs", "properties": { "strict": { "type": "boolean", "default": false }, "allow": { "id": "#vite/server/fs/allow", "default": [ "/<rootDir>/.nuxt", "/<rootDir>", "/<rootDir>", "/<rootDir>/node_modules", "/home/runner/work/framework/framework/packages/schema/node_modules" ], "type": "array", "items": { "type": [ "string" ] } } }, "default": { "strict": false, "allow": [ "/<rootDir>/.nuxt", "/<rootDir>", "/<rootDir>", "/<rootDir>/node_modules", "/home/runner/work/framework/framework/packages/schema/node_modules" ] }, "type": "object" } }, "default": { "fs": { "strict": false, "allow": [ "/<rootDir>/.nuxt", "/<rootDir>", "/<rootDir>", "/<rootDir>/node_modules", "/home/runner/work/framework/framework/packages/schema/node_modules" ] } }, "type": "object" } }, "default": { "base": "/", "root": "/<rootDir>", "mode": "production", "logLevel": "warn", "define": { "process.dev": false }, "resolve": { "extensions": [ ".mjs", ".js", ".ts", ".jsx", ".tsx", ".json", ".vue" ] }, "publicDir": "/<rootDir>/public", "vue": { "isProduction": true, "template": { "compilerOptions": {} } }, "optimizeDeps": { "exclude": [ "vue-demi" ] }, "esbuild": { "jsxFactory": "h", "jsxFragment": "Fragment", "tsconfigRaw": "{}" }, "clearScreen": false, "build": { "assetsDir": "_nuxt/", "emptyOutDir": false }, "server": { "fs": { "strict": false, "allow": [ "/<rootDir>/.nuxt", "/<rootDir>", "/<rootDir>", "/<rootDir>/node_modules", "/home/runner/work/framework/framework/packages/schema/node_modules" ] } } }, "type": "object" }, "webpack": { "title": "", "description": "", "tags": [ "@version 3" ], "id": "#webpack", "properties": { "analyze": { "title": "Nuxt uses `webpack-bundle-analyzer` to visualize your bundles and how to optimize them.", "description": "Set to `true` to enable bundle analysis, or pass an object with options: [for webpack](https://github.com/webpack-contrib/webpack-bundle-analyzer#options-for-plugin) or [for vite](https://github.com/btd/rollup-plugin-visualizer#options).", "tags": [ "@example\n```js\nanalyze: {\n analyzerMode: 'static'\n}\n```" ], "tsType": "boolean | typeof import('webpack-bundle-analyzer').BundleAnalyzerPlugin.Options", "markdownType": "boolean | WebpackBundleAnalyzerBundleAnalyzerPluginOptions", "id": "#webpack/analyze", "default": false, "type": "boolean" }, "profile": { "title": "Enable the profiler in webpackbar.", "description": "It is normally enabled by CLI argument `--profile`.", "tags": [ "@see [webpackbar](https://github.com/unjs/webpackbar#profile)." ], "id": "#webpack/profile", "default": false, "type": "boolean" }, "extractCSS": { "title": "Enables Common CSS Extraction using [Vue Server Renderer guidelines](https://ssr.vuejs.org/guide/css.html).", "description": "Using [extract-css-chunks-webpack-plugin](https://github.com/faceyspacey/extract-css-chunks-webpack-plugin/) under the hood, your CSS will be extracted into separate files, usually one per component. This allows caching your CSS and JavaScript separately and is worth trying if you have a lot of global or shared CSS.", "tags": [ "@example\n```js\nexport default {\n webpack: {\n extractCSS: true,\n // or\n extractCSS: {\n ignoreOrder: true\n }\n }\n}\n```", "If you want to extract all your CSS to a single file, there is a workaround for this.\nHowever, note that it is not recommended to extract everything into a single file.\nExtracting into multiple CSS files is better for caching and preload isolation. It\ncan also improve page performance by downloading and resolving only those resources\nthat are needed.", "@example\n```js\nexport default {\n webpack: {\n extractCSS: true,\n optimization: {\n splitChunks: {\n cacheGroups: {\n styles: {\n name: 'styles',\n test: /\\.(css|vue)$/,\n chunks: 'all',\n enforce: true\n }\n }\n }\n }\n }\n}\n```" ], "tsType": "boolean | typeof import('mini-css-extract-plugin').PluginOptions", "markdownType": "boolean | MiniCssExtractPluginPluginOptions", "id": "#webpack/extractCSS", "default": true, "type": "boolean" }, "cssSourceMap": { "title": "Enables CSS source map support (defaults to `true` in development).", "description": "", "tags": [], "id": "#webpack/cssSourceMap", "default": false, "type": "boolean" }, "serverURLPolyfill": { "title": "The polyfill library to load to provide URL and URLSearchParams.", "description": "Defaults to `'url'` ([see package](https://www.npmjs.com/package/url)).", "tags": [], "id": "#webpack/serverURLPolyfill", "default": "url", "type": "string" }, "filenames": { "title": "Customize bundle filenames.", "description": "To understand a bit more about the use of manifests, take a look at [this webpack documentation](https://webpack.js.org/guides/code-splitting/).", "tags": [ "@note Be careful when using non-hashed based filenames in production\nas most browsers will cache the asset and not detect the changes on first load.", "This example changes fancy chunk names to numerical ids:", "@example\n```js\nfilenames: {\n chunk: ({ isDev }) => (isDev ? '[name].js' : '[id].[contenthash].js')\n}\n```" ], "id": "#webpack/filenames", "properties": { "app": { "type": "function" }, "chunk": { "type": "function" }, "css": { "type": "function" }, "img": { "type": "function" }, "font": { "type": "function" }, "video": { "type": "function" } }, "default": {}, "type": "object" }, "loaders": { "title": "Customize the options of Nuxt's integrated webpack loaders.", "description": "", "tags": [], "id": "#webpack/loaders", "properties": { "file": { "id": "#webpack/loaders/file", "properties": { "esModule": { "type": "boolean", "default": false } }, "default": { "esModule": false }, "type": "object" }, "fontUrl": { "id": "#webpack/loaders/fontUrl", "properties": { "esModule": { "type": "boolean", "default": false }, "limit": { "type": "number", "default": 1000 } }, "default": { "esModule": false, "limit": 1000 }, "type": "object" }, "imgUrl": { "id": "#webpack/loaders/imgUrl", "properties": { "esModule": { "type": "boolean", "default": false }, "limit": { "type": "number", "default": 1000 } }, "default": { "esModule": false, "limit": 1000 }, "type": "object" }, "pugPlain": { "id": "#webpack/loaders/pugPlain", "default": {}, "type": "any" }, "vue": { "id": "#webpack/loaders/vue", "properties": { "productionMode": { "id": "#webpack/loaders/vue/productionMode", "default": true, "type": "boolean" }, "transformAssetUrls": { "id": "#webpack/loaders/vue/transformAssetUrls", "properties": { "video": { "type": "string", "default": "src" }, "source": { "type": "string", "default": "src" }, "object": { "type": "string", "default": "src" }, "embed": { "type": "string", "default": "src" } }, "default": { "video": "src", "source": "src", "object": "src", "embed": "src" }, "type": "object" }, "compilerOptions": { "id": "#webpack/loaders/vue/compilerOptions", "default": {}, "type": "object" } }, "default": { "productionMode": true, "transformAssetUrls": { "video": "src", "source": "src", "object": "src", "embed": "src" }, "compilerOptions": {} }, "type": "object" }, "css": { "id": "#webpack/loaders/css", "properties": { "importLoaders": { "type": "number", "default": 0 }, "url": { "id": "#webpack/loaders/css/url", "properties": { "filter": { "type": "function" } }, "default": {}, "type": "object" }, "esModule": { "type": "boolean", "default": false } }, "default": { "importLoaders": 0, "url": {}, "esModule": false, "sourceMap": false }, "type": "object" }, "cssModules": { "id": "#webpack/loaders/cssModules", "properties": { "importLoaders": { "type": "number", "default": 0 }, "url": { "id": "#webpack/loaders/cssModules/url", "properties": { "filter": { "type": "function" } }, "default": {}, "type": "object" }, "esModule": { "type": "boolean", "default": false }, "modules": { "id": "#webpack/loaders/cssModules/modules", "properties": { "localIdentName": { "type": "string", "default": "[local]_[hash:base64:5]" } }, "default": { "localIdentName": "[local]_[hash:base64:5]" }, "type": "object" } }, "default": { "importLoaders": 0, "url": {}, "esModule": false, "modules": { "localIdentName": "[local]_[hash:base64:5]" }, "sourceMap": false }, "type": "object" }, "less": { "id": "#webpack/loaders/less", "default": { "sourceMap": false }, "type": "any" }, "sass": { "id": "#webpack/loaders/sass", "properties": { "sassOptions": { "id": "#webpack/loaders/sass/sassOptions", "properties": { "indentedSyntax": { "type": "boolean", "default": true } }, "default": { "indentedSyntax": true }, "type": "object" } }, "default": { "sassOptions": { "indentedSyntax": true }, "sourceMap": false }, "type": "object" }, "scss": { "id": "#webpack/loaders/scss", "default": { "sourceMap": false }, "type": "any" }, "stylus": { "id": "#webpack/loaders/stylus", "default": { "sourceMap": false }, "type": "any" }, "vueStyle": { "id": "#webpack/loaders/vueStyle", "default": { "sourceMap": false }, "type": "any" } }, "default": { "file": { "esModule": false }, "fontUrl": { "esModule": false, "limit": 1000 }, "imgUrl": { "esModule": false, "limit": 1000 }, "pugPlain": {}, "vue": { "productionMode": true, "transformAssetUrls": { "video": "src", "source": "src", "object": "src", "embed": "src" }, "compilerOptions": {} }, "css": { "importLoaders": 0, "url": {}, "esModule": false, "sourceMap": false }, "cssModules": { "importLoaders": 0, "url": {}, "esModule": false, "modules": { "localIdentName": "[local]_[hash:base64:5]" }, "sourceMap": false }, "less": { "sourceMap": false }, "sass": { "sassOptions": { "indentedSyntax": true }, "sourceMap": false }, "scss": { "sourceMap": false }, "stylus": { "sourceMap": false }, "vueStyle": { "sourceMap": false } }, "type": "object" }, "plugins": { "title": "Add webpack plugins.", "description": "", "tags": [ "@example\n```js\nimport webpack from 'webpack'\nimport { version } from './package.json'\n// ...\nplugins: [\n new webpack.DefinePlugin({\n 'process.VERSION': version\n })\n]\n```" ], "id": "#webpack/plugins", "default": [], "type": "array", "items": { "type": "any" } }, "terser": { "title": "Terser plugin options.", "description": "Set to false to disable this plugin, or pass an object of options.", "tags": [ "@see [terser-webpack-plugin documentation](https://github.com/webpack-contrib/terser-webpack-plugin).", "@note Enabling sourceMap will leave `//# sourceMappingURL` linking comment at\nthe end of each output file if webpack `config.devtool` is set to `source-map`." ], "tsType": "false | typeof import('terser-webpack-plugin').BasePluginOptions & typeof import('terser-webpack-plugin').DefinedDefaultMinimizerAndOptions<any>", "markdownType": "false | TerserWebpackPluginBasePluginOptions & TerserWebpackPluginDefinedDefaultMinimizerAndOptions<any>", "id": "#webpack/terser", "default": {}, "type": "any" }, "aggressiveCodeRemoval": { "title": "Hard-replaces `typeof process`, `typeof window` and `typeof document` to tree-shake bundle.", "description": "", "tags": [], "id": "#webpack/aggressiveCodeRemoval", "default": false, "type": "boolean" }, "optimizeCSS": { "title": "OptimizeCSSAssets plugin options.", "description": "Defaults to true when `extractCSS` is enabled.", "tags": [ "@see [css-minimizer-webpack-plugin documentation](https://github.com/webpack-contrib/css-minimizer-webpack-plugin)." ], "tsType": "false | typeof import('css-minimizer-webpack-plugin').BasePluginOptions & typeof import('css-minimizer-webpack-plugin').DefinedDefaultMinimizerAndOptions<any>", "markdownType": "false | CssMinimizerWebpackPluginBasePluginOptions & CssMinimizerWebpackPluginDefinedDefaultMinimizerAndOptions<any>", "id": "#webpack/optimizeCSS", "default": false, "type": "boolean" }, "optimization": { "title": "Configure [webpack optimization](https://webpack.js.org/configuration/optimization/).", "description": "", "tags": [], "tsType": "false | typeof import('webpack').Configuration['optimization']", "markdownType": "false | WebpackConfiguration['optimization']", "id": "#webpack/optimization", "properties": { "runtimeChunk": { "type": "string", "default": "single" }, "minimize": { "title": "Set minimize to `false` to disable all minimizers. (It is disabled in development by default).", "description": "", "tags": [], "id": "#webpack/optimization/minimize", "default": true, "type": "boolean" }, "minimizer": { "title": "You can set minimizer to a customized array of plugins.", "description": "", "tags": [], "id": "#webpack/optimization/minimizer", "default": {}, "type": "any" }, "splitChunks": { "id": "#webpack/optimization/splitChunks", "properties": { "chunks": { "type": "string", "default": "all" }, "automaticNameDelimiter": { "type": "string", "default": "/" }, "cacheGroups": { "id": "#webpack/optimization/splitChunks/cacheGroups", "default": {}, "type": "any" } }, "default": { "chunks": "all", "automaticNameDelimiter": "/", "cacheGroups": {} }, "type": "object" } }, "default": { "runtimeChunk": "single", "minimize": true, "minimizer": {}, "splitChunks": { "chunks": "all", "automaticNameDelimiter": "/", "cacheGroups": {} } }, "type": "object" }, "postcss": { "title": "Customize PostCSS Loader. Same options as https://github.com/webpack-contrib/postcss-loader#options", "description": "", "tags": [], "id": "#webpack/postcss", "properties": { "execute": {}, "postcssOptions": { "id": "#webpack/postcss/postcssOptions", "properties": { "config": { "id": "#webpack/postcss/postcssOptions/config", "default": false, "type": "boolean" }, "plugins": { "id": "#webpack/postcss/postcssOptions/plugins", "default": { "postcss-import": {}, "postcss-url": {}, "autoprefixer": {}, "cssnano": true }, "type": "object" } }, "default": { "config": false, "plugins": { "postcss-import": {}, "postcss-url": {}, "autoprefixer": {}, "cssnano": true } }, "type": "object" }, "sourceMap": {}, "implementation": {}, "order": { "type": "string", "default": "" } }, "default": { "postcssOptions": { "config": false, "plugins": { "postcss-import": {}, "postcss-url": {}, "autoprefixer": {}, "cssnano": true } }, "order": "" }, "type": "object" }, "devMiddleware": { "title": "See [webpack-dev-middleware](https://github.com/webpack/webpack-dev-middleware) for available options.", "description": "", "tags": [], "tsType": "typeof import('webpack-dev-middleware').Options<typeof import('http').IncomingMessage, typeof import('http').ServerResponse>", "markdownType": "WebpackDevMiddlewareOptions<typeof HttpIncomingMessage, HttpServerResponse>", "id": "#webpack/devMiddleware", "properties": { "stats": { "type": "string", "default": "none" } }, "default": { "stats": "none" }, "type": "object" }, "hotMiddleware": { "title": "See [webpack-hot-middleware](https://github.com/webpack-contrib/webpack-hot-middleware) for available options.", "description": "", "tags": [], "tsType": "typeof import('webpack-hot-middleware').MiddlewareOptions & { client?: typeof import('webpack-hot-middleware').ClientOptions }", "markdownType": "WebpackHotMiddlewareMiddlewareOptions & { client?: WebpackHotMiddlewareClientOptions }", "id": "#webpack/hotMiddleware", "default": {}, "type": "any" }, "friendlyErrors": { "title": "Set to `false` to disable the overlay provided by [FriendlyErrorsWebpackPlugin](https://github.com/nuxt/friendly-errors-webpack-plugin).", "description": "", "tags": [], "id": "#webpack/friendlyErrors", "default": true, "type": "boolean" }, "warningIgnoreFilters": { "title": "Filters to hide build warnings.", "description": "", "tags": [], "tsType": "Array<(warn: typeof import('webpack').WebpackError) => boolean>", "markdownType": "Array<(warn: WebpackWebpackError) => boolean>", "id": "#webpack/warningIgnoreFilters", "default": [], "type": "array", "items": { "type": "any" } } }, "default": { "analyze": false, "profile": false, "extractCSS": true, "cssSourceMap": false, "serverURLPolyfill": "url", "filenames": {}, "loaders": { "file": { "esModule": false }, "fontUrl": { "esModule": false, "limit": 1000 }, "imgUrl": { "esModule": false, "limit": 1000 }, "pugPlain": {}, "vue": { "productionMode": true, "transformAssetUrls": { "video": "src", "source": "src", "object": "src", "embed": "src" }, "compilerOptions": {} }, "css": { "importLoaders": 0, "url": {}, "esModule": false, "sourceMap": false }, "cssModules": { "importLoaders": 0, "url": {}, "esModule": false, "modules": { "localIdentName": "[local]_[hash:base64:5]" }, "sourceMap": false }, "less": { "sourceMap": false }, "sass": { "sassOptions": { "indentedSyntax": true }, "sourceMap": false }, "scss": { "sourceMap": false }, "stylus": { "sourceMap": false }, "vueStyle": { "sourceMap": false } }, "plugins": [], "terser": {}, "aggressiveCodeRemoval": false, "optimizeCSS": false, "optimization": { "runtimeChunk": "single", "minimize": true, "minimizer": {}, "splitChunks": { "chunks": "all", "automaticNameDelimiter": "/", "cacheGroups": {} } }, "postcss": { "postcssOptions": { "config": false, "plugins": { "postcss-import": {}, "postcss-url": {}, "autoprefixer": {}, "cssnano": true } }, "order": "" }, "devMiddleware": { "stats": "none" }, "hotMiddleware": {}, "friendlyErrors": true, "warningIgnoreFilters": [] }, "type": "object" }, "nitro": { "title": "Configuration for Nitro.", "description": "", "tags": [ "@see https://nitro.unjs.io/config/", "@version 2", "@version 3" ], "tsType": "typeof import('nitropack')['NitroConfig']", "markdownType": "NitropackNitroConfig", "id": "#nitro", "default": {}, "type": "any" }, "serverHandlers": { "title": "Nitro server handlers.", "description": "Each handler accepts the following options: - handler: The path to the file defining the handler. - route: The route under which the handler is available. This follows the conventions of https://github.com/unjs/radix3. - method: The HTTP method of requests that should be handled. - middleware: Specifies whether it is a middleware handler. - lazy: Specifies whether to use lazy loading to import the handler.", "tags": [ "@see https://v3.nuxtjs.org/guide/features/server-routes", "@note Files from `server/api`, `server/middleware` and `server/routes` will be automatically registered by Nuxt.", "@example\n```js\nserverHandlers: [\n { route: '/path/foo/**:name', handler: '~/server/foohandler.ts' }\n]\n```", "@version 3" ], "tsType": "typeof import('nitropack')['NitroEventHandler'][]", "markdownType": "NitropackNitroEventHandler[]", "id": "#serverHandlers", "default": [], "type": "array", "items": { "type": "any" } }, "devServerHandlers": { "title": "Nitro development-only server handlers.", "description": "", "tags": [ "@see https://nitro.unjs.io/guide/introduction/routing", "@version 3" ], "tsType": "typeof import('nitropack')['NitroDevEventHandler'][]", "markdownType": "NitropackNitroDevEventHandler[]", "id": "#devServerHandlers", "default": [], "type": "array", "items": { "type": "any" } }, "experimental": { "title": "", "description": "", "tags": [ "@version 3" ], "id": "#experimental", "properties": { "asyncEntry": { "title": "Set to true to generate an async entry point for the Vue bundle (for module federation support).", "description": "", "tags": [], "id": "#experimental/asyncEntry", "default": false, "type": "boolean" }, "reactivityTransform": { "title": "Enable Vue's reactivity transform", "description": "", "tags": [ "@see https://vuejs.org/guide/extras/reactivity-transform.html" ], "id": "#experimental/reactivityTransform", "default": false, "type": "boolean" }, "externalVue": { "title": "Externalize `vue`, `@vue/*` and `vue-router` when building.", "description": "", "tags": [ "@see https://github.com/nuxt/framework/issues/4084" ], "id": "#experimental/externalVue", "default": true, "type": "boolean" }, "treeshakeClientOnly": { "title": "Tree shakes contents of client-only components from server bundle.", "description": "", "tags": [ "@see https://github.com/nuxt/framework/pull/5750" ], "id": "#experimental/treeshakeClientOnly", "default": true, "type": "boolean" }, "viteNode": { "title": "Use vite-node for on-demand server chunk loading", "description": "", "tags": [ "@deprecated use `vite.devBundler: 'vite-node'`" ], "id": "#experimental/viteNode", "default": true, "type": "boolean" }, "viteServerDynamicImports": { "title": "Split server bundle into multiple chunks and dynamically import them.", "description": "", "tags": [ "@see https://github.com/nuxt/framework/issues/6432" ], "id": "#experimental/viteServerDynamicImports", "default": true, "type": "boolean" }, "inlineSSRStyles": { "title": "Inline styles when rendering HTML (currently vite only).", "description": "You can also pass a function that receives the path of a Vue component and returns a boolean indicating whether to inline the styles for that component.", "tags": [], "tsType": "boolean | ((id?: string) => boolean)", "id": "#experimental/inlineSSRStyles", "default": true, "type": "boolean" }, "noScripts": { "title": "Turn off rendering of Nuxt scripts and JS resource hints.", "description": "", "tags": [], "id": "#experimental/noScripts", "default": false, "type": "boolean" }, "payloadExtraction": { "title": "When this option is enabled (by default) payload of pages generated with `nuxt generate` are extracted", "description": "", "tags": [], "id": "#experimental/payloadExtraction", "default": true, "type": "boolean" } }, "default": { "asyncEntry": false, "reactivityTransform": false, "externalVue": true, "treeshakeClientOnly": true, "viteNode": true, "viteServerDynamicImports": true, "inlineSSRStyles": true, "noScripts": false, "payloadExtraction": true }, "type": "object" }, "builder": { "title": "The builder to use for bundling the Vue part of your application.", "description": "", "tags": [ "@version 3" ], "tsType": "'vite' | 'webpack' | { bundle: (nuxt: typeof import('../src/types/nuxt').Nuxt) => Promise<void> }", "markdownType": "'vite' | 'webpack' | { bundle: (nuxt: SrcTypesNuxtNuxt) => Promise<void> }", "id": "#builder", "default": "@nuxt/vite-builder", "type": "string" }, "sourcemap": { "title": "Whether to generate sourcemaps.", "description": "", "tags": [ "@version 3" ], "tsType": "boolean | { server?: boolean, client?: boolean }", "id": "#sourcemap", "default": { "server": true, "client": false }, "type": "object" }, "build": { "title": "Shared build configuration.", "description": "", "tags": [ "@version 2", "@version 3" ], "id": "#build", "properties": { "quiet": { "title": "Suppresses most of the build output log.", "description": "It is enabled by default when a CI or test environment is detected.", "tags": [ "@see [std-env](https://github.com/unjs/std-env)", "@version 2", "@version 3" ], "id": "#build/quiet", "default": true, "type": "boolean" }, "analyze": { "title": "Nuxt uses `webpack-bundle-analyzer` to visualize your bundles and how to optimize them.", "description": "Set to `true` to enable bundle analysis, or pass an object with options: [for webpack](https://github.com/webpack-contrib/webpack-bundle-analyzer#options-for-plugin) or [for vite](https://github.com/btd/rollup-plugin-visualizer#options).", "tags": [ "@example\n```js\nanalyze: {\n analyzerMode: 'static'\n}\n```" ], "tsType": "boolean | typeof import('webpack-bundle-analyzer').BundleAnalyzerPlugin.Options | typeof import('rollup-plugin-visualizer').PluginVisualizerOptions", "markdownType": "boolean | WebpackBundleAnalyzerBundleAnalyzerPluginOptions | RollupPluginVisualizerPluginVisualizerOptions", "id": "#build/analyze", "default": false, "type": "boolean" }, "profile": { "title": "Enable the profiler in webpackbar.", "description": "It is normally enabled by CLI argument `--profile`.", "tags": [ "@see [webpackbar](https://github.com/unjs/webpackbar#profile)", "@version 2" ], "id": "#build/profile", "default": false, "type": "boolean" }, "extractCSS": { "title": "Enables Common CSS Extraction using [Vue Server Renderer guidelines](https://ssr.vuejs.org/guide/css.html).", "description": "Using [extract-css-chunks-webpack-plugin](https://github.com/faceyspacey/extract-css-chunks-webpack-plugin/) under the hood, your CSS will be extracted into separate files, usually one per component. This allows caching your CSS and JavaScript separately and is worth trying if you have a lot of global or shared CSS.", "tags": [ "@example\n```js\nexport default {\n build: {\n extractCSS: true,\n // or\n extractCSS: {\n ignoreOrder: true\n }\n }\n}\n```", "If you want to extract all your CSS to a single file, there is a workaround for this.\nHowever, note that it is not recommended to extract everything into a single file.\nExtracting into multiple CSS files is better for caching and preload isolation. It\ncan also improve page performance by downloading and resolving only those resources\nthat are needed.", "@example\n```js\nexport default {\n build: {\n extractCSS: true,\n optimization: {\n splitChunks: {\n cacheGroups: {\n styles: {\n name: 'styles',\n test: /\\.(css|vue)$/,\n chunks: 'all',\n enforce: true\n }\n }\n }\n }\n }\n}\n```", "@version 2" ], "id": "#build/extractCSS", "default": false, "type": "boolean" }, "cssSourceMap": { "title": "Enables CSS source map support (defaults to true in development)", "description": "", "tags": [ "@version 2" ], "id": "#build/cssSourceMap", "default": false, "type": "boolean" }, "ssr": { "title": "Creates special webpack bundle for SSR renderer. It is normally not necessary to change this value.", "description": "", "tags": [ "@version 2" ], "id": "#build/ssr", "default": {}, "type": "any" }, "parallel": { "title": "Enable [thread-loader](https://github.com/webpack-contrib/thread-loader#thread-loader) when building app with webpack.", "description": "", "tags": [ "@warning This is an unstable feature.", "@version 2" ], "id": "#build/parallel", "default": false, "type": "boolean" }, "cache": { "title": "Enable caching for [`terser-webpack-plugin`](https://github.com/webpack-contrib/terser-webpack-plugin#options) and [`cache-loader`](https://github.com/webpack-contrib/cache-loader#cache-loader).", "description": "", "tags": [ "@warning This is an unstable feature.", "@version 2" ], "id": "#build/cache", "default": false, "type": "boolean" }, "standalone": { "title": "Inline server bundle dependencies.", "description": "This mode bundles `node_modules` that are normally preserved as externals in the server build.", "tags": [ "@warning Runtime dependencies (modules, `nuxt.config`, server middleware and the static directory) are not bundled.\nThis feature only disables use of [webpack-externals](https://webpack.js.org/configuration/externals/) for server-bundle.", "@note You can enable standalone bundling by passing `--standalone` via the command line.", "@see [context](https://github.com/nuxt/nuxt.js/pull/4661)", "@version 2" ], "id": "#build/standalone", "default": false, "type": "boolean" }, "publicPath": { "title": "If you are uploading your dist files to a CDN, you can set the publicPath to your CDN.", "description": "", "tags": [ "@note This is only applied in production.", "The value of this property at runtime will override the configuration of an app that\nhas already been built.", "@example\n```js\nbuild: {\n publicPath: process.env.PUBLIC_PATH || 'https://cdn.nuxtjs.org'\n}\n```", "@version 2" ], "id": "#build/publicPath", "default": {}, "type": "any" }, "serverURLPolyfill": { "title": "The polyfill library to load to provide URL and URLSearchParams.", "description": "Defaults to `'url'` ([see package](https://www.npmjs.com/package/url)).", "tags": [ "@version 2" ], "id": "#build/serverURLPolyfill", "default": "url", "type": "string" }, "filenames": { "title": "Customize bundle filenames.", "description": "To understand a bit more about the use of manifests, take a look at [this webpack documentation](https://webpack.js.org/guides/code-splitting/).", "tags": [ "@note Be careful when using non-hashed based filenames in production\nas most browsers will cache the asset and not detect the changes on first load.", "This example changes fancy chunk names to numerical ids:", "@example\n```js\nfilenames: {\n chunk: ({ isDev }) => (isDev ? '[name].js' : '[id].[contenthash].js')\n}\n```", "@version 2" ], "tsType": "Record<string, ((arg: any) => string)>", "id": "#build/filenames", "properties": { "app": { "type": "function" }, "chunk": { "type": "function" }, "css": { "type": "function" }, "img": { "type": "function" }, "font": { "type": "function" }, "video": { "type": "function" } }, "default": {}, "type": "object" }, "loaders": { "title": "Customize the options of Nuxt's integrated webpack loaders.", "description": "", "tags": [ "@version 2" ], "id": "#build/loaders", "properties": { "file": { "id": "#build/loaders/file", "properties": { "esModule": { "type": "boolean", "default": false } }, "default": { "esModule": false }, "type": "object" }, "fontUrl": { "id": "#build/loaders/fontUrl", "properties": { "esModule": { "type": "boolean", "default": false }, "limit": { "type": "number", "default": 1000 } }, "default": { "esModule": false, "limit": 1000 }, "type": "object" }, "imgUrl": { "id": "#build/loaders/imgUrl", "properties": { "esModule": { "type": "boolean", "default": false }, "limit": { "type": "number", "default": 1000 } }, "default": { "esModule": false, "limit": 1000 }, "type": "object" }, "pugPlain": { "id": "#build/loaders/pugPlain", "default": {}, "type": "any" }, "vue": { "id": "#build/loaders/vue", "properties": { "productionMode": { "id": "#build/loaders/vue/productionMode", "default": true, "type": "boolean" }, "transformAssetUrls": { "id": "#build/loaders/vue/transformAssetUrls", "properties": { "video": { "type": "string", "default": "src" }, "source": { "type": "string", "default": "src" }, "object": { "type": "string", "default": "src" }, "embed": { "type": "string", "default": "src" } }, "default": { "video": "src", "source": "src", "object": "src", "embed": "src" }, "type": "object" }, "compilerOptions": { "id": "#build/loaders/vue/compilerOptions", "default": {}, "type": "object" } }, "default": { "productionMode": true, "transformAssetUrls": { "video": "src", "source": "src", "object": "src", "embed": "src" }, "compilerOptions": {} }, "type": "object" }, "css": { "id": "#build/loaders/css", "properties": { "importLoaders": { "type": "number", "default": 0 }, "esModule": { "type": "boolean", "default": false } }, "default": { "importLoaders": 0, "esModule": false, "sourcemap": false }, "type": "object" }, "cssModules": { "id": "#build/loaders/cssModules", "properties": { "importLoaders": { "type": "number", "default": 0 }, "esModule": { "type": "boolean", "default": false }, "modules": { "id": "#build/loaders/cssModules/modules", "properties": { "localIdentName": { "type": "string", "default": "[local]_[hash:base64:5]" } }, "default": { "localIdentName": "[local]_[hash:base64:5]" }, "type": "object" } }, "default": { "importLoaders": 0, "esModule": false, "modules": { "localIdentName": "[local]_[hash:base64:5]" }, "sourcemap": false }, "type": "object" }, "less": { "id": "#build/loaders/less", "default": { "sourcemap": false }, "type": "any" }, "sass": { "id": "#build/loaders/sass", "properties": { "sassOptions": { "id": "#build/loaders/sass/sassOptions", "properties": { "indentedSyntax": { "type": "boolean", "default": true } }, "default": { "indentedSyntax": true }, "type": "object" } }, "default": { "sassOptions": { "indentedSyntax": true }, "sourcemap": false }, "type": "object" }, "scss": { "id": "#build/loaders/scss", "default": { "sourcemap": false }, "type": "any" }, "stylus": { "id": "#build/loaders/stylus", "default": { "sourcemap": false }, "type": "any" }, "vueStyle": { "id": "#build/loaders/vueStyle", "default": { "sourcemap": false }, "type": "any" } }, "default": { "file": { "esModule": false }, "fontUrl": { "esModule": false, "limit": 1000 }, "imgUrl": { "esModule": false, "limit": 1000 }, "pugPlain": {}, "vue": { "productionMode": true, "transformAssetUrls": { "video": "src", "source": "src", "object": "src", "embed": "src" }, "compilerOptions": {} }, "css": { "importLoaders": 0, "esModule": false, "sourcemap": false }, "cssModules": { "importLoaders": 0, "esModule": false, "modules": { "localIdentName": "[local]_[hash:base64:5]" }, "sourcemap": false }, "less": { "sourcemap": false }, "sass": { "sassOptions": { "indentedSyntax": true }, "sourcemap": false }, "scss": { "sourcemap": false }, "stylus": { "sourcemap": false }, "vueStyle": { "sourcemap": false } }, "type": "object" }, "styleResources": { "title": "", "description": "", "tags": [ "@deprecated Use [style-resources-module](https://github.com/nuxt-community/style-resources-module/)", "@version 2" ], "id": "#build/styleResources", "default": {}, "type": "any" }, "plugins": { "title": "Add webpack plugins.", "description": "", "tags": [ "@example\n```js\nimport webpack from 'webpack'\nimport { version } from './package.json'\n// ...\nplugins: [\n new webpack.DefinePlugin({\n 'process.VERSION': version\n })\n]\n```", "@version 2" ], "id": "#build/plugins", "default": [], "type": "array", "items": { "type": "any" } }, "terser": { "title": "Terser plugin options.", "description": "Set to false to disable this plugin, or pass an object of options.", "tags": [ "@see [terser-webpack-plugin documentation](https://github.com/webpack-contrib/terser-webpack-plugin)", "@note Enabling sourcemap will leave `//# sourcemappingURL` linking comment at\nthe end of each output file if webpack `config.devtool` is set to `source-map`.", "@version 2" ], "id": "#build/terser", "default": {}, "type": "any" }, "hardSource": { "title": "Enables the [HardSourceWebpackPlugin](https://github.com/mzgoddard/hard-source-webpack-plugin) for improved caching.", "description": "", "tags": [ "@warning unstable", "@version 2" ], "id": "#build/hardSource", "default": false, "type": "boolean" }, "aggressiveCodeRemoval": { "title": "Hard-replaces `typeof process`, `typeof window` and `typeof document` to tree-shake bundle.", "description": "", "tags": [ "@version 2" ], "id": "#build/aggressiveCodeRemoval", "default": false, "type": "boolean" }, "optimizeCSS": { "title": "OptimizeCSSAssets plugin options.", "description": "Defaults to true when `extractCSS` is enabled.", "tags": [ "@see [optimize-css-assets-webpack-plugin documentation](https://github.com/NMFR/optimize-css-assets-webpack-plugin).", "@version 2" ], "id": "#build/optimizeCSS", "default": false, "type": "boolean" }, "optimization": { "title": "Configure [webpack optimization](https://webpack.js.org/configuration/optimization/).", "description": "", "tags": [ "@version 2" ], "id": "#build/optimization", "properties": { "runtimeChunk": { "type": "string", "default": "single" }, "minimize": { "title": "Set minimize to false to disable all minimizers. (It is disabled in development by default)", "description": "", "tags": [], "id": "#build/optimization/minimize", "default": true, "type": "boolean" }, "minimizer": { "title": "You can set minimizer to a customized array of plugins.", "description": "", "tags": [], "id": "#build/optimization/minimizer", "default": {}, "type": "any" }, "splitChunks": { "id": "#build/optimization/splitChunks", "properties": { "chunks": { "type": "string", "default": "all" }, "automaticNameDelimiter": { "type": "string", "default": "/" }, "cacheGroups": { "id": "#build/optimization/splitChunks/cacheGroups", "default": {}, "type": "any" } }, "default": { "chunks": "all", "automaticNameDelimiter": "/", "cacheGroups": {} }, "type": "object" } }, "default": { "runtimeChunk": "single", "minimize": true, "minimizer": {}, "splitChunks": { "chunks": "all", "automaticNameDelimiter": "/", "cacheGroups": {} } }, "type": "object" }, "splitChunks": { "title": "Whether to split code for `layout`, `pages` and `commons` chunks.", "description": "Commons libs include `vue`, `vue-loader`, `vue-router`, `vuex`, etc.", "tags": [ "@version 2" ], "id": "#build/splitChunks", "properties": { "layouts": { "type": "boolean", "default": false }, "pages": { "type": "boolean", "default": true }, "commons": { "type": "boolean", "default": true } }, "default": { "layouts": false, "pages": true, "commons": true }, "type": "object" }, "corejs": { "title": "Nuxt will automatically detect the current version of `core-js` in your project (`'auto'`), or you can specify which version you want to use (`2` or `3`).", "description": "", "tags": [ "@version 2" ], "id": "#build/corejs", "default": "auto", "type": "string" }, "babel": { "title": "Customize your Babel configuration.", "description": "See [babel-loader options](https://github.com/babel/babel-loader#options) and [babel options](https://babeljs.io/docs/en/options).", "tags": [ "@note `.babelrc` is ignored by default.", "@version 2" ], "id": "#build/babel", "properties": { "configFile": { "type": "boolean", "default": false }, "babelrc": { "type": "boolean", "default": false }, "plugins": { "title": "An array of Babel plugins to load, or a function that takes webpack context and returns an array of Babel plugins.", "description": "For more information see [Babel plugins options](https://babeljs.io/docs/en/options#plugins) and [babel-loader options](https://github.com/babel/babel-loader#options).", "tags": [], "id": "#build/babel/plugins", "default": [], "type": "array", "items": { "type": "any" } }, "presets": { "title": "The Babel presets to be applied.", "description": "", "tags": [ "@note The presets configured here will be applied to both the client and the server\nbuild. The target will be set by Nuxt accordingly (client/server). If you want to configure\nthe preset differently for the client or the server build, please use presets as a function.", "@warning It is highly recommended to use the default preset instead customizing.", "@example\n```js\nexport default {\n build: {\n babel: {\n presets({ isServer }, [ preset, options ]) {\n // change options directly\n options.targets = isServer ? '...' : '...'\n options.corejs = '...'\n // return nothing\n }\n }\n }\n}\n```", "@example\n```js\nexport default {\n build: {\n babel: {\n presets({ isServer }, [preset, options]) {\n return [\n [\n preset,\n {\n targets: isServer ? '...' : '...',\n ...options\n }\n ],\n [\n // Other presets\n ]\n ]\n }\n }\n }\n}\n```" ], "id": "#build/babel/presets", "default": {}, "type": "any" }, "cacheDirectory": { "id": "#build/babel/cacheDirectory", "default": false, "type": "boolean" } }, "default": { "configFile": false, "babelrc": false, "plugins": [], "presets": {}, "cacheDirectory": false }, "type": "object" }, "transpile": { "title": "If you want to transpile specific dependencies with Babel, you can add them here. Each item in transpile can be a package name, a function, a string or regex object matching the dependency's file name.", "description": "You can also use a function to conditionally transpile. The function will receive an object ({ isDev, isServer, isClient, isModern, isLegacy }).", "tags": [ "@example\n```js\n transpile: [({ isLegacy }) => isLegacy && 'ky']\n```", "@version 2", "@version 3" ], "tsType": "Array<string | RegExp | Function>", "id": "#build/transpile", "default": [], "type": "array", "items": { "type": "any" } }, "postcss": { "title": "Customize PostCSS Loader plugins. Sames options as https://github.com/webpack-contrib/postcss-loader#options", "description": "", "tags": [ "@version 2" ], "id": "#build/postcss", "properties": { "execute": {}, "postcssOptions": { "id": "#build/postcss/postcssOptions", "default": { "config": false, "plugins": { "postcss-import": {}, "postcss-url": {}, "autoprefixer": {}, "cssnano": true } }, "type": "object" }, "sourcemap": {}, "implementation": {}, "order": { "type": "string", "default": "" } }, "default": { "postcssOptions": { "config": false, "plugins": { "postcss-import": {}, "postcss-url": {}, "autoprefixer": {}, "cssnano": true } }, "order": "" }, "type": "object" }, "html": { "title": "", "description": "", "tags": [ "@version 2" ], "id": "#build/html", "properties": { "minify": { "title": "Configuration for the html-minifier plugin used to minify HTML files created during the build process (will be applied for all modes).", "description": "", "tags": [ "@warning If you make changes, they won't be merged with the defaults!", "@example\n```js\nexport default {\n html: {\n minify: {\n collapseBooleanAttributes: true,\n decodeEntities: true,\n minifyCSS: true,\n minifyJS: true,\n processConditionalComments: true,\n removeEmptyAttributes: true,\n removeRedundantAttributes: true,\n trimCustomFragments: true,\n useShortDoctype: true\n }\n }\n}\n```" ], "id": "#build/html/minify", "properties": { "collapseBooleanAttributes": { "type": "boolean", "default": true }, "decodeEntities": { "type": "boolean", "default": true }, "minifyCSS": { "type": "boolean", "default": true }, "minifyJS": { "type": "boolean", "default": true }, "processConditionalComments": { "type": "boolean", "default": true }, "removeEmptyAttributes": { "type": "boolean", "default": true }, "removeRedundantAttributes": { "type": "boolean", "default": true }, "trimCustomFragments": { "type": "boolean", "default": true }, "useShortDoctype": { "type": "boolean", "default": true } }, "default": { "collapseBooleanAttributes": true, "decodeEntities": true, "minifyCSS": true, "minifyJS": true, "processConditionalComments": true, "removeEmptyAttributes": true, "removeRedundantAttributes": true, "trimCustomFragments": true, "useShortDoctype": true }, "type": "object" } }, "default": { "minify": { "collapseBooleanAttributes": true, "decodeEntities": true, "minifyCSS": true, "minifyJS": true, "processConditionalComments": true, "removeEmptyAttributes": true, "removeRedundantAttributes": true, "trimCustomFragments": true, "useShortDoctype": true } }, "type": "object" }, "template": { "title": "Allows setting a different app template (other than `@nuxt/vue-app`)", "description": "", "tags": [ "@version 2" ], "id": "#build/template", "default": {}, "type": "any" }, "templates": { "title": "You can provide your own templates which will be rendered based on Nuxt configuration. This feature is specially useful for using with modules.", "description": "Templates are rendered using [`lodash.template`](https://lodash.com/docs/4.17.15#template).", "tags": [ "@example\n```js\ntemplates: [\n {\n src: '~/modules/support/plugin.js', // `src` can be absolute or relative\n dst: 'support.js', // `dst` is relative to project `.nuxt` dir\n options: {\n // Options are provided to template as `options` key\n live_chat: false\n }\n }\n]\n```", "@version 2", "@version 3" ], "id": "#build/templates", "default": [], "type": "array", "items": { "type": "any" } }, "watch": { "title": "You can provide your custom files to watch and regenerate after changes.", "description": "This feature is especially useful for using with modules.", "tags": [ "@example\n```js\n watch: ['~/.nuxt/support.js']\n```", "@version 2" ], "id": "#build/watch", "default": [], "type": "array", "items": { "type": "any" } }, "devMiddleware": { "title": "See [webpack-dev-middleware](https://github.com/webpack/webpack-dev-middleware) for available options.", "description": "", "tags": [ "@version 2" ], "id": "#build/devMiddleware", "properties": { "stats": { "type": "string", "default": "none" } }, "default": { "stats": "none" }, "type": "object" }, "hotMiddleware": { "title": "See [webpack-hot-middleware](https://github.com/webpack-contrib/webpack-hot-middleware) for available options.", "description": "", "tags": [ "@version 2" ], "id": "#build/hotMiddleware", "default": {}, "type": "any" }, "vendor": { "title": "", "description": "", "tags": [ "@version 2" ], "id": "#build/vendor", "properties": { "$meta": { "id": "#build/vendor/$meta", "properties": { "deprecated": { "type": "string", "default": "vendor has been deprecated since nuxt 2" } }, "default": { "deprecated": "vendor has been deprecated since nuxt 2" }, "type": "object" } }, "default": { "$meta": { "deprecated": "vendor has been deprecated since nuxt 2" } }, "type": "object" }, "stats": { "title": "Set to `'none'` or `false` to disable stats printing out after a build.", "description": "", "tags": [ "@version 2" ], "id": "#build/stats", "properties": { "excludeAssets": { "type": "array", "default": [ {}, {}, {} ], "items": { "type": [ "object" ] } } }, "default": false, "type": "boolean" }, "friendlyErrors": { "title": "Set to `false` to disable the overlay provided by [FriendlyErrorsWebpackPlugin](https://github.com/nuxt/friendly-errors-webpack-plugin).", "description": "", "tags": [ "@version 2" ], "id": "#build/friendlyErrors", "default": true, "type": "boolean" }, "additionalExtensions": { "title": "Additional extensions (beyond `['vue', 'js']` to support in `pages/`, `layouts/`, `middleware/`, etc.)", "description": "", "tags": [ "@version 2" ], "id": "#build/additionalExtensions", "default": [], "type": "array", "items": { "type": "any" } }, "warningIgnoreFilters": { "title": "Filters to hide build warnings.", "description": "", "tags": [ "@version 2" ], "id": "#build/warningIgnoreFilters", "default": [], "type": "array", "items": { "type": "any" } }, "followSymlinks": { "title": "Set to true to scan files within symlinks in the build (such as within `pages/`).", "description": "", "tags": [ "@version 2" ], "id": "#build/followSymlinks", "default": false, "type": "boolean" } }, "default": { "transpile": [], "cssSourceMap": false, "extractCSS": false, "quiet": true, "analyze": false, "profile": false, "ssr": {}, "parallel": false, "cache": false, "standalone": false, "publicPath": {}, "serverURLPolyfill": "url", "filenames": {}, "loaders": { "file": { "esModule": false }, "fontUrl": { "esModule": false, "limit": 1000 }, "imgUrl": { "esModule": false, "limit": 1000 }, "pugPlain": {}, "vue": { "productionMode": true, "transformAssetUrls": { "video": "src", "source": "src", "object": "src", "embed": "src" }, "compilerOptions": {} }, "css": { "importLoaders": 0, "esModule": false, "sourcemap": false }, "cssModules": { "importLoaders": 0, "esModule": false, "modules": { "localIdentName": "[local]_[hash:base64:5]" }, "sourcemap": false }, "less": { "sourcemap": false }, "sass": { "sassOptions": { "indentedSyntax": true }, "sourcemap": false }, "scss": { "sourcemap": false }, "stylus": { "sourcemap": false }, "vueStyle": { "sourcemap": false } }, "styleResources": {}, "plugins": [], "terser": {}, "hardSource": false, "aggressiveCodeRemoval": false, "optimizeCSS": false, "optimization": { "runtimeChunk": "single", "minimize": true, "minimizer": {}, "splitChunks": { "chunks": "all", "automaticNameDelimiter": "/", "cacheGroups": {} } }, "splitChunks": { "layouts": false, "pages": true, "commons": true }, "corejs": "auto", "babel": { "configFile": false, "babelrc": false, "plugins": [], "presets": {}, "cacheDirectory": false }, "postcss": { "postcssOptions": { "config": false, "plugins": { "postcss-import": {}, "postcss-url": {}, "autoprefixer": {}, "cssnano": true } }, "order": "" }, "html": { "minify": { "collapseBooleanAttributes": true, "decodeEntities": true, "minifyCSS": true, "minifyJS": true, "processConditionalComments": true, "removeEmptyAttributes": true, "removeRedundantAttributes": true, "trimCustomFragments": true, "useShortDoctype": true } }, "template": {}, "templates": [], "watch": [], "devMiddleware": { "stats": "none" }, "hotMiddleware": {}, "vendor": { "$meta": { "deprecated": "vendor has been deprecated since nuxt 2" } }, "stats": false, "friendlyErrors": true, "additionalExtensions": [], "warningIgnoreFilters": [], "followSymlinks": false }, "type": "object" }, "messages": { "id": "#messages", "properties": { "loading": { "title": "The text that displays on the Nuxt loading indicator when `ssr: false`.", "description": "", "tags": [], "id": "#messages/loading", "default": "Loading...", "type": "string" }, "error_404": { "title": "The 404 text on the default Nuxt error page.", "description": "", "tags": [], "id": "#messages/error_404", "default": "This page could not be found", "type": "string" }, "server_error": { "title": "The text to display on the default Nuxt error page when there has been a server error.", "description": "", "tags": [], "id": "#messages/server_error", "default": "Server error", "type": "string" }, "nuxtjs": { "title": "The text (linked to nuxtjs.org) that appears on the built-in Nuxt error page.", "description": "", "tags": [], "id": "#messages/nuxtjs", "default": "Nuxt", "type": "string" }, "back_to_home": { "title": "The text (linked to the home page) that appears on the built-in Nuxt error page.", "description": "", "tags": [], "id": "#messages/back_to_home", "default": "Back to the home page", "type": "string" }, "server_error_details": { "title": "The message that will display on a white screen if the built-in Nuxt error page can't be rendered.", "description": "", "tags": [], "id": "#messages/server_error_details", "default": "An error occurred in the application and your page could not be served. If you are the application owner, check your logs for details.", "type": "string" }, "client_error": { "title": "The default error title (if there isn't a specific error message) on the built-in Nuxt error page.", "description": "", "tags": [], "id": "#messages/client_error", "default": "Error", "type": "string" }, "client_error_details": { "title": "The error message (in debug mode) on the built-in Nuxt error page.", "description": "", "tags": [], "id": "#messages/client_error_details", "default": "An error occurred while rendering the page. Check developer tools console for details.", "type": "string" } }, "default": { "loading": "Loading...", "error_404": "This page could not be found", "server_error": "Server error", "nuxtjs": "Nuxt", "back_to_home": "Back to the home page", "server_error_details": "An error occurred in the application and your page could not be served. If you are the application owner, check your logs for details.", "client_error": "Error", "client_error_details": "An error occurred while rendering the page. Check developer tools console for details." }, "type": "object" }, "render": { "id": "#render", "properties": { "bundleRenderer": { "title": "Use this option to customize the Vue SSR bundle renderer. This option is skipped if `ssr: false`.", "description": "Read [docs for Vue 2](https://ssr.vuejs.org/api/#renderer-options) here.", "tags": [], "id": "#render/bundleRenderer", "properties": { "shouldPrefetch": { "type": "function" }, "shouldPreload": { "type": "function" }, "runInNewContext": { "title": "enabled by default for development", "description": "", "tags": [], "id": "#render/bundleRenderer/runInNewContext", "default": false, "type": "boolean" } }, "default": { "runInNewContext": false }, "type": "object" }, "crossorigin": { "title": "Configure the crossorigin attribute on `<link rel=\"stylesheet\">` and `<script>` tags in generated HTML. [More information](https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/crossorigin).", "description": "", "tags": [], "id": "#render/crossorigin", "default": {}, "type": "any" }, "resourceHints": { "title": "Adds prefetch and preload links for faster initial page load time. You probably don't want to disable this option unless you have many pages and routes.", "description": "", "tags": [], "id": "#render/resourceHints", "default": true, "type": "boolean" }, "ssr": { "title": "Whether to enable rendering of HTML - either dynamically (in server mode) or at generate time.", "description": "This option is automatically set based on global SSR value if not provided. This can be useful to dynamically enable/disable SSR at runtime after image builds (with docker, for example).", "tags": [], "id": "#render/ssr", "default": {}, "type": "any" }, "ssrLog": { "title": "Forward server-side logs to the browser for better debugging (only available in development).", "description": "Set to `collapsed` to collapse the logs, or `false` to disable.", "tags": [], "id": "#render/ssrLog", "default": false, "type": "boolean" }, "http2": { "title": "Configuration for HTTP2 push headers.", "description": "", "tags": [], "id": "#render/http2", "properties": { "push": { "title": "Set to true to enable HTTP2 push headers.", "description": "", "tags": [], "id": "#render/http2/push", "default": false, "type": "boolean" }, "shouldPush": { "title": "", "description": "", "tags": [ "@deprecated" ], "id": "#render/http2/shouldPush", "default": null, "type": "any" }, "pushAssets": { "title": "You can control what links to push using this function. It receives `req`, `res`, `publicPath` and a `preloadFiles` array.", "description": "You can add your own assets to the array as well. Using `req` and `res` you can decide what links to push based on the request headers, for example using the cookie with application version.\nAssets will be joined together with `,` and passed as a single `Link` header.", "tags": [ "@example\n```js\npushAssets: (req, res, publicPath, preloadFiles) =>\n preloadFiles\n .filter(f => f.asType === 'script' && f.file === 'runtime.js')\n .map(f => `<${publicPath}${f.file}>; rel=preload; as=${f.asType}`)\n```" ], "id": "#render/http2/pushAssets", "default": null, "type": "any" } }, "default": { "push": false, "shouldPush": null, "pushAssets": null }, "type": "object" }, "static": { "title": "Configure the behavior of the `static/` directory.", "description": "See [serve-static docs](https://github.com/expressjs/serve-static) for possible options.", "tags": [], "id": "#render/static", "properties": { "prefix": { "title": "Whether to add the router base to your static assets.", "description": "", "tags": [ "@note some URL rewrites might not respect the prefix.", "@example\nAssets: favicon.ico\nRouter base: /t\nWith `prefix: true` (default): /t/favicon.ico\nWith `prefix: false`: /favicon.ico" ], "id": "#render/static/prefix", "default": true, "type": "boolean" } }, "default": { "prefix": true }, "type": "object" }, "compressor": { "title": "Configure server compression.", "description": "Set to `false` to disable compression. You can also pass an object of options for [compression middleware](https://www.npmjs.com/package/compression), or use your own middleware by passing it in directly - for example, `otherComp({ myOptions: 'example' })`.", "tags": [], "tsType": "boolean | object | Function", "id": "#render/compressor", "properties": { "threshold": { "type": "number", "default": 0 } }, "default": { "threshold": 0 }, "type": "object" }, "etag": { "title": "To disable etag for pages set `etag: false`. See [etag docs](https://github.com/jshttp/etag) for possible options. You can use your own hash function by specifying etag.hash:", "description": "", "tags": [ "@example\n```js\nimport { murmurHash128 } from 'murmurhash-native'\n\nexport default {\n render: {\n etag: {\n hash: html => murmurHash128(html)\n }\n }\n}\n```\nIn this example we are using `murmurhash-native`, which is faster\nfor larger HTML body sizes. Note that the weak option is ignored\nwhen specifying your own hash function." ], "id": "#render/etag", "properties": { "hash": { "type": "boolean", "default": false }, "weak": { "type": "boolean", "default": false } }, "default": { "hash": false, "weak": false }, "type": "object" }, "csp": { "title": "Use this to configure Content-Security-Policy to load external resources. [Read more](https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP).", "description": "Set to `true` to enable, or you can pass options to fine-tune your CSP options.\n**Prerequisites**: These CSP settings are only effective when using Nuxt with `mode: 'server'` to serve your SSR application.\n**Updating settings**: These settings are read by the Nuxt server directly from `nuxt.config`. This means changes to these settings take effect when the server is restarted. There is no need to rebuild the application to update CSP settings.", "tags": [ "@example\n```js\nexport default {\n render: {\n csp: {\n hashAlgorithm: 'sha256',\n policies: {\n 'script-src': [\n 'https://www.google-analytics.com',\n 'https://name.example.com'\n ],\n 'report-uri': ['https://report.example.com/report-csp-violations']\n },\n addMeta: true\n }\n }\n}\n```", "The following example allows Google Analytics, LogRocket.io, and Sentry.io\nfor logging and analytic tracking.", "Review [this blog on Sentry.io](https://blog.sentry.io/2018/09/04/how-sentry-captures-csp-violations)\nto learn what tracking link you should use.", "@example\n```js\n// PRIMARY_HOSTS = `loc.example-website.com`\nexport default {\n render: {\n csp: {\n reportOnly: true,\n hashAlgorithm: 'sha256',\n policies: {\n 'default-src': [\"'self'\"],\n 'img-src': ['https:', '*.google-analytics.com'],\n 'worker-src': [\"'self'\", `blob:`, PRIMARY_HOSTS, '*.logrocket.io'],\n 'style-src': [\"'self'\", \"'unsafe-inline'\", PRIMARY_HOSTS],\n 'script-src': [\n \"'self'\",\n \"'unsafe-inline'\",\n PRIMARY_HOSTS,\n 'sentry.io',\n '*.sentry-cdn.com',\n '*.google-analytics.com',\n '*.logrocket.io'\n ],\n 'connect-src': [PRIMARY_HOSTS, 'sentry.io', '*.google-analytics.com'],\n 'form-action': [\"'self'\"],\n 'frame-ancestors': [\"'none'\"],\n 'object-src': [\"'none'\"],\n 'base-uri': [PRIMARY_HOSTS],\n 'report-uri': [\n `https://sentry.io/api/<project>/security/?sentry_key=<key>`\n ]\n }\n }\n }\n}\n```" ], "id": "#render/csp", "default": false, "type": "boolean" }, "dist": { "title": "Options used for serving distribution files. Only applicable in production.", "description": "See [serve-static docs](https://www.npmjs.com/package/serve-static) for possible options.", "tags": [], "id": "#render/dist", "properties": { "index": { "type": "boolean", "default": false }, "maxAge": { "type": "string", "default": "1y" } }, "default": { "index": false, "maxAge": "1y" }, "type": "object" }, "fallback": { "title": "Configure fallback behavior for [`serve-placeholder` middleware](https://github.com/nuxt/serve-placeholder).", "description": "Example of allowing `.js` extension for routing (for example, `/repos/nuxt.js`):", "tags": [ "@example\n```js\nexport default {\n render: {\n fallback: {\n static: {\n // Avoid sending 404 for these extensions\n handlers: {\n '.js': false\n }\n }\n }\n }\n}\n```" ], "id": "#render/fallback", "properties": { "dist": { "title": "For routes matching the publicPath (`/_nuxt/*`). Disable by setting to `false`.", "description": "", "tags": [], "id": "#render/fallback/dist", "default": {}, "type": "any" }, "static": { "title": "For all other routes (`/*`). Disable by setting to `false`.", "description": "", "tags": [], "id": "#render/fallback/static", "properties": { "skipUnknown": { "type": "boolean", "default": true }, "handlers": { "id": "#render/fallback/static/handlers", "properties": { ".htm": { "type": "boolean", "default": false }, ".html": { "type": "boolean", "default": false } }, "default": { "": { "htm": false, "html": false } }, "type": "object" } }, "default": { "skipUnknown": true, "handlers": { "": { "htm": false, "html": false } } }, "type": "object" } }, "default": { "dist": {}, "static": { "skipUnknown": true, "handlers": { "": { "htm": false, "html": false } } } }, "type": "object" } }, "default": { "ssr": {}, "bundleRenderer": { "runInNewContext": false }, "crossorigin": {}, "resourceHints": true, "ssrLog": false, "http2": { "push": false, "shouldPush": null, "pushAssets": null }, "static": { "prefix": true }, "compressor": { "threshold": 0 }, "etag": { "hash": false, "weak": false }, "csp": false, "dist": { "index": false, "maxAge": "1y" }, "fallback": { "dist": {}, "static": { "skipUnknown": true, "handlers": { "": { "htm": false, "html": false } } } } }, "type": "object" }, "router": { "id": "#router", "properties": { "options": { "title": "Additional options passed to `vue-router`.", "description": "Note: Only JSON serializable options should be passed by nuxt config.\nFor more control, you can use `app/router.optionts.ts` file.", "tags": [ "@see [documentation](https://router.vuejs.org/api/interfaces/routeroptions.html).", "@version 3" ], "tsType": "import('../src/types/router').RouterConfigSerializable", "markdownType": "SrcTypesRouterRouterConfigSerializable", "id": "#router/options", "default": {}, "type": "any" }, "mode": { "title": "Configure the router mode.", "description": "For server-side rendering it is not recommended to change it.", "tags": [ "@version 2" ], "id": "#router/mode", "default": "history", "type": "string" }, "base": { "title": "The base URL of the app. For example, if the entire single page application is served under `/app/`, then base should use the value `'/app/'`.", "description": "This can be useful if you need to serve Nuxt as a different context root, from within a bigger web site.", "tags": [ "@version 2" ], "id": "#router/base", "default": "/", "type": "string" }, "_routerBaseSpecified": { "title": "", "description": "", "tags": [ "@private" ], "id": "#router/_routerBaseSpecified", "default": true, "type": "boolean" }, "routes": { "title": "", "description": "", "tags": [ "@version 2" ], "id": "#router/routes", "default": [], "type": "array", "items": { "type": "any" } }, "routeNameSplitter": { "title": "This allows changing the separator between route names that Nuxt uses.", "description": "Imagine we have the page file `pages/posts/_id.vue`. Nuxt will generate the route name programmatically, in this case `posts-id`. If you change the routeNameSplitter config to `/` the name will change to `posts/id`.", "tags": [ "@version 2" ], "id": "#router/routeNameSplitter", "default": "-", "type": "string" }, "middleware": { "title": "Set the default(s) middleware for every page of the application.", "description": "", "tags": [ "@version 2" ], "id": "#router/middleware", "default": [], "type": "array", "items": { "type": "any" } }, "linkActiveClass": { "title": "Globally configure `<nuxt-link>` default active class.", "description": "", "tags": [ "@version 2" ], "id": "#router/linkActiveClass", "default": "nuxt-link-active", "type": "string" }, "linkExactActiveClass": { "title": "Globally configure `<nuxt-link>` default exact active class.", "description": "", "tags": [ "@version 2" ], "id": "#router/linkExactActiveClass", "default": "nuxt-link-exact-active", "type": "string" }, "linkPrefetchedClass": { "title": "Globally configure `<nuxt-link>` default prefetch class (feature disabled by default).", "description": "", "tags": [ "@version 2" ], "id": "#router/linkPrefetchedClass", "default": false, "type": "boolean" }, "extendRoutes": { "title": "You can pass a function to extend the routes created by Nuxt.", "description": "", "tags": [ "@example\n```js\nimport { fileURLToPath } from 'url'\nexport default {\n router: {\n extendRoutes(routes, resolve) {\n routes.push({\n name: 'custom',\n path: '*',\n component: fileURLToPath(new URL('./pages/404.vue', import.meta.url))\n })\n }\n }\n}\n```", "@version 2" ], "id": "#router/extendRoutes", "default": null, "type": "any" }, "scrollBehavior": { "deprecated": "router.scrollBehavior` property is deprecated in favor of using `~/app/router.scrollBehavior.js` file, learn more: https://nuxtjs.org/api/configuration-router#scrollbehavior", "title": "The `scrollBehavior` option lets you define a custom behavior for the scroll position between the routes. This method is called every time a page is rendered. To learn more about it, see the `vue-router` documentation.", "description": "", "tags": [ "@see [vue-router `scrollBehavior` documentation](https://router.vuejs.org/guide/advanced/scroll-behavior.html).", "@version 2" ], "id": "#router/scrollBehavior", "default": {}, "type": "any" }, "parseQuery": { "title": "Provide custom query string parse function. Overrides the default.", "description": "", "tags": [ "@version 2" ], "id": "#router/parseQuery", "default": false, "type": "boolean" }, "stringifyQuery": { "title": "Provide custom query string stringify function. Overrides the default.", "description": "", "tags": [ "@version 2" ], "id": "#router/stringifyQuery", "default": false, "type": "boolean" }, "fallback": { "title": "Controls whether the router should fall back to hash mode when the browser does not support history.pushState, but mode is set to history.", "description": "Setting this to `false` essentially makes every router-link navigation a full page refresh in IE9. This is useful when the app is server-rendered and needs to work in IE9, because a hash mode URL does not work with SSR.", "tags": [ "@version 2" ], "id": "#router/fallback", "default": false, "type": "boolean" }, "prefetchLinks": { "title": "Configure `<nuxt-link>` to prefetch the code-splitted page when detected within the viewport. Requires [IntersectionObserver](https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API) to be supported (see [Caniuse](https://caniuse.com/intersectionobserver)).", "description": "", "tags": [ "@version 2" ], "id": "#router/prefetchLinks", "default": true, "type": "boolean" }, "prefetchPayloads": { "title": "When using `nuxt generate` with target: 'static', Nuxt will generate a payload.js for each page.", "description": "With this option enabled, Nuxt will automatically prefetch the payload of the linked page when the `<nuxt-link>` is visible in the viewport, making instant navigation.", "tags": [ "@version 2" ], "id": "#router/prefetchPayloads", "default": true, "type": "boolean" }, "trailingSlash": { "title": "If this option is set to `true`, trailing slashes will be appended to every route. If set to `false`, they'll be removed.", "description": "", "tags": [ "@warning This option should not be set without preparation and has to\nbe tested thoroughly. When setting `trailingSlash` to something else than\n`undefined`, the opposite route will stop working. Thus, 301 redirects should\nbe in place and your internal linking has to be adapted correctly. If you set\n`trailingSlash` to `true`, then only `example.com/abc/` will work, but not\n`example.com/abc`. On `false`, it's vice-versa.", "@version 2" ], "id": "#router/trailingSlash", "default": {}, "type": "any" } }, "default": { "options": {}, "mode": "history", "base": "/", "_routerBaseSpecified": true, "routes": [], "routeNameSplitter": "-", "middleware": [], "linkActiveClass": "nuxt-link-active", "linkExactActiveClass": "nuxt-link-exact-active", "linkPrefetchedClass": false, "extendRoutes": null, "scrollBehavior": {}, "parseQuery": false, "stringifyQuery": false, "fallback": false, "prefetchLinks": true, "prefetchPayloads": true, "trailingSlash": {} }, "type": "object" }, "server": { "id": "#server", "properties": { "https": { "title": "Whether to enable HTTPS.", "description": "", "tags": [ "@example\n```\nimport { fileURLToPath } from 'node:url'\nexport default {\n server: {\n https: {\n key: fs.readFileSync(fileURLToPath(new URL('./server.key', import.meta.url))),\n cert: fs.readFileSync(fileURLToPath(new URL('./server.crt', import.meta.url)))\n }\n }\n}\n```", "@version 2", "@deprecated This option is ignored with Bridge and Nuxt 3" ], "tsType": "false | { key: string; cert: string }", "id": "#server/https", "default": false, "type": "boolean" }, "port": { "title": "", "description": "", "tags": [ "@deprecated This option is ignored with Bridge and Nuxt 3" ], "id": "#server/port", "default": 3000, "type": "number" }, "host": { "title": "", "description": "", "tags": [ "@deprecated This option is ignored with Bridge and Nuxt 3" ], "id": "#server/host", "default": "localhost", "type": "string" }, "socket": { "title": "", "description": "", "tags": [ "@deprecated This option is ignored with Bridge and Nuxt 3" ], "id": "#server/socket", "default": {}, "type": "any" }, "timing": { "title": "Enabling timing adds a middleware to measure the time elapsed during server-side rendering and adds it to the headers as 'Server-Timing'.", "description": "Apart from true/false, this can be an object for providing options. Currently, only `total` is supported (which directly tracks the whole time spent on server-side rendering.", "tags": [ "@deprecated This option is ignored with Bridge and Nuxt 3" ], "id": "#server/timing", "type": "function" }, "url": { "title": "Listening dev server url", "description": "", "tags": [], "id": "#server/url", "default": "http://localhost:3000", "type": "string" } }, "default": { "https": false, "port": 3000, "host": "localhost", "socket": {}, "url": "http://localhost:3000" }, "type": "object" }, "cli": { "id": "#cli", "properties": { "badgeMessages": { "title": "Add a message to the CLI banner by adding a string to this array.", "description": "", "tags": [ "@version 2" ], "tsType": "string[]", "id": "#cli/badgeMessages", "default": [], "type": "array", "items": { "type": "any" } }, "bannerColor": { "title": "Change the color of the 'Nuxt.js' title in the CLI banner.", "description": "", "tags": [ "@version 2" ], "id": "#cli/bannerColor", "default": "green", "type": "string" } }, "default": { "badgeMessages": [], "bannerColor": "green" }, "type": "object" }, "generate": { "id": "#generate", "properties": { "dir": { "title": "Directory name that holds all the assets and generated pages for a `static` build.", "description": "", "tags": [], "id": "#generate/dir", "default": "/<rootDir>/dist", "type": "string" }, "routes": { "title": "The routes to generate.", "description": "If you are using the crawler, this will be only the starting point for route generation. This is often necessary when using dynamic routes.\nIt can be an array or a function.", "tags": [ "@example\n```js\nroutes: ['/users/1', '/users/2', '/users/3']\n```", "You can pass a function that returns a promise or a function that takes a callback. It should\nreturn an array of strings or objects with `route` and (optional) `payload` keys.", "@example\n```js\nexport default {\n generate: {\n async routes() {\n const res = await axios.get('https://my-api/users')\n return res.data.map(user => ({ route: '/users/' + user.id, payload: user }))\n }\n }\n}\n```\nOr instead:\n```js\nexport default {\n generate: {\n routes(callback) {\n axios\n .get('https://my-api/users')\n .then(res => {\n const routes = res.data.map(user => '/users/' + user.id)\n callback(null, routes)\n })\n .catch(callback)\n }\n }\n}\n```", "If `routes()` returns a payload, it can be accessed from the Nuxt context.", "@example\n```js\nexport default {\n async useAsyncData ({ params, error, payload }) {\n if (payload) return { user: payload }\n else return { user: await backend.fetchUser(params.id) }\n }\n}\n```" ], "id": "#generate/routes", "default": [], "type": "array", "items": { "type": "any" } }, "exclude": { "title": "An array of string or regular expressions that will prevent generation of routes matching them. The routes will still be accessible when `fallback` is set.", "description": "", "tags": [], "id": "#generate/exclude", "default": [], "type": "array", "items": { "type": "any" } }, "concurrency": { "title": "The number of routes that are generated concurrently in the same thread.", "description": "", "tags": [], "id": "#generate/concurrency", "default": 500, "type": "number" }, "interval": { "title": "Interval in milliseconds between two render cycles to avoid flooding a potential API with calls.", "description": "", "tags": [], "id": "#generate/interval", "default": 0, "type": "number" }, "subFolders": { "title": "Set to `false` to disable creating a directory + `index.html` for each route.", "description": "", "tags": [ "@example\n```bash\n# subFolders: true\n-| dist/\n---| index.html\n---| about/\n-----| index.html\n---| products/\n-----| item/\n-------| index.html\n\n# subFolders: false\n-| dist/\n---| index.html\n---| about.html\n---| products/\n-----| item.html\n```" ], "id": "#generate/subFolders", "default": true, "type": "boolean" }, "fallback": { "title": "The path to the fallback HTML file.", "description": "Set this as the error page in your static server configuration, so that unknown routes can be rendered (on the client-side) by Nuxt.\n* If unset or set to a falsy value, the name of the fallback HTML file will be `200.html`. * If set to `true`, the filename will be `404.html`. * If you provide a string as a value, it will be used instead.", "tags": [ "@note Multiple services (e.g. Netlify) detect a `404.html` automatically. If\nyou configure your web server on your own, please consult its documentation\nto find out how to set up an error page (and set it to the `404.html` file)." ], "id": "#generate/fallback", "default": "200.html", "type": "string" }, "crawler": { "title": "Set to `false` to disable generating pages discovered through crawling relative links in generated pages.", "description": "", "tags": [], "id": "#generate/crawler", "default": true, "type": "boolean" }, "manifest": { "title": "Set to `false` to disable generating a `manifest.js` with a list of all generated pages.", "description": "", "tags": [], "id": "#generate/manifest", "default": true, "type": "boolean" }, "nojekyll": { "title": "Set to `false` to disable generating a `.nojekyll` file (which aids compatibility with GitHub Pages).", "description": "", "tags": [], "id": "#generate/nojekyll", "default": true, "type": "boolean" }, "cache": { "title": "Configure the cache (used with `static` target to avoid rebuilding when no files have changed).", "description": "Set to `false` to disable completely.", "tags": [], "id": "#generate/cache", "properties": { "ignore": { "title": "An array of files or directories to ignore. (It can also be a function that returns an array.)", "description": "", "tags": [], "id": "#generate/cache/ignore", "default": [], "type": "array", "items": { "type": "any" } }, "globbyOptions": { "title": "Options to pass to [`globby`](https://github.com/sindresorhus/globby), which is used to generate a 'snapshot' of the source files.", "description": "", "tags": [], "id": "#generate/cache/globbyOptions", "properties": { "gitignore": { "type": "boolean", "default": true } }, "default": { "gitignore": true }, "type": "object" } }, "default": { "ignore": [], "globbyOptions": { "gitignore": true } }, "type": "object" }, "staticAssets": { "id": "#generate/staticAssets", "properties": { "dir": { "title": "The directory underneath `/_nuxt/`, where static assets (payload, state and manifest files) will live.", "description": "", "tags": [], "id": "#generate/staticAssets/dir", "default": "static", "type": "string" }, "base": { "title": "The full path to the directory underneath `/_nuxt/` where static assets (payload, state and manifest files) will live.", "description": "", "tags": [], "id": "#generate/staticAssets/base", "default": "/_nuxt/<rootDir>/dist", "type": "string" }, "versionBase": { "title": "The full path to the versioned directory where static assets for the current build are located.", "description": "", "tags": [], "id": "#generate/staticAssets/versionBase", "default": "", "type": "string" }, "version": { "title": "A unique string to uniquely identify payload versions (defaults to the current timestamp).", "description": "", "tags": [], "id": "#generate/staticAssets/version", "default": "1664807129", "type": "string" } }, "default": { "dir": "static", "base": "/_nuxt/<rootDir>/dist", "versionBase": "", "version": "1664807129" }, "type": "object" } }, "default": { "dir": "/<rootDir>/dist", "routes": [], "exclude": [], "concurrency": 500, "interval": 0, "subFolders": true, "fallback": "200.html", "crawler": true, "manifest": true, "nojekyll": true, "cache": { "ignore": [], "globbyOptions": { "gitignore": true } }, "staticAssets": { "dir": "static", "base": "/_nuxt/<rootDir>/dist", "versionBase": "", "version": "1664807129" } }, "type": "object" } }, "default": { "components": { "dirs": [ { "path": "~/components/global", "global": true }, "~/components" ] }, "autoImports": null, "imports": { "global": false, "dirs": [] }, "vue": { "config": { "silent": true, "performance": false }, "compilerOptions": {} }, "app": { "baseURL": "/", "buildAssetsDir": "/_nuxt/", "assetsPath": {}, "cdnURL": "", "head": { "meta": [], "link": [], "style": [], "script": [], "noscript": [], "charset": "utf-8", "viewport": "width=device-width, initial-scale=1" }, "layoutTransition": { "name": "layout", "mode": "out-in" }, "pageTransition": { "name": "page", "mode": "out-in" }, "keepalive": false }, "appTemplatePath": "/<rootDir>/.nuxt/views/app.template.html", "store": false, "vueMeta": null, "head": { "meta": [], "link": [], "style": [], "script": [] }, "meta": { "meta": [], "link": [], "style": [], "script": [] }, "fetch": { "server": true, "client": true }, "plugins": [], "extendPlugins": null, "css": [], "layouts": {}, "ErrorPage": null, "loading": { "color": "black", "failedColor": "red", "height": "2px", "throttle": 200, "duration": 5000, "continuous": false, "rtl": false, "css": true }, "loadingIndicator": { "name": "default", "color": "black", "color2": "#F5F5F5", "background": "white", "dev": false, "loading": "Loading..." }, "pageTransition": { "name": "page", "mode": "out-in", "appear": false, "appearClass": "appear", "appearActiveClass": "appear-active", "appearToClass": "appear-to" }, "layoutTransition": { "name": "layout", "mode": "out-in" }, "features": { "store": true, "layouts": true, "meta": true, "middleware": true, "transitions": true, "deprecations": true, "validate": true, "useAsyncData": true, "fetch": true, "clientOnline": true, "clientPrefetch": true, "componentAliases": true, "componentClientOnly": true }, "extends": null, "theme": null, "rootDir": "/<rootDir>", "workspaceDir": "/<rootDir>", "srcDir": "/<rootDir>", "buildDir": "/<rootDir>/.nuxt", "dev": false, "test": false, "debug": false, "env": {}, "target": "server", "ssr": true, "mode": "spa", "modern": {}, "modules": [], "buildModules": [], "_modules": [], "_installedModules": [], "globalName": "nuxt", "globals": {}, "serverMiddleware": [], "modulesDir": [ "/<rootDir>/node_modules", "/home/runner/work/framework/framework/packages/schema/node_modules" ], "dir": { "store": "store", "assets": "assets", "app": "app", "layouts": "layouts", "middleware": "middleware", "pages": "pages", "static": "public", "public": "public" }, "extensions": [ ".js", ".jsx", ".mjs", ".ts", ".tsx", ".vue" ], "styleExtensions": [ ".css", ".pcss", ".postcss", ".styl", ".stylus", ".scss", ".sass", ".less" ], "alias": { "~~": "/<rootDir>", "@@": "/<rootDir>", "~": "/<rootDir>", "@": "/<rootDir>", "assets": "/<rootDir>/assets", "public": "/<rootDir>/public" }, "ignoreOptions": {}, "ignorePrefix": "-", "ignore": [ "**/*.stories.{js,ts,jsx,tsx}", "**/*.{spec,test}.{js,ts,jsx,tsx}", ".output", "**/-*.*" ], "watch": [], "watchers": { "rewatchOnRawEvents": {}, "webpack": { "aggregateTimeout": 1000 }, "chokidar": { "ignoreInitial": true } }, "hooks": null, "runtimeConfig": { "public": {}, "app": { "baseURL": "/", "buildAssetsDir": "/_nuxt/", "cdnURL": "" } }, "privateRuntimeConfig": {}, "publicRuntimeConfig": {}, "appConfig": {}, "_majorVersion": 2, "_legacyGenerate": false, "_start": false, "_build": false, "_generate": false, "_prepare": false, "_cli": false, "_requiredModules": {}, "_nuxtConfigFile": {}, "_nuxtConfigFiles": [], "appDir": "", "postcss": { "config": false, "plugins": { "postcss-import": {}, "postcss-url": {}, "autoprefixer": {}, "cssnano": true } }, "typescript": { "strict": false, "typeCheck": false, "tsConfig": {}, "shim": true }, "vite": { "base": "/", "root": "/<rootDir>", "mode": "production", "logLevel": "warn", "define": { "process.dev": false }, "resolve": { "extensions": [ ".mjs", ".js", ".ts", ".jsx", ".tsx", ".json", ".vue" ] }, "publicDir": "/<rootDir>/public", "vue": { "isProduction": true, "template": { "compilerOptions": {} } }, "optimizeDeps": { "exclude": [ "vue-demi" ] }, "esbuild": { "jsxFactory": "h", "jsxFragment": "Fragment", "tsconfigRaw": "{}" }, "clearScreen": false, "build": { "assetsDir": "_nuxt/", "emptyOutDir": false }, "server": { "fs": { "strict": false, "allow": [ "/<rootDir>/.nuxt", "/<rootDir>", "/<rootDir>", "/<rootDir>/node_modules", "/home/runner/work/framework/framework/packages/schema/node_modules" ] } } }, "webpack": { "analyze": false, "profile": false, "extractCSS": true, "cssSourceMap": false, "serverURLPolyfill": "url", "filenames": {}, "loaders": { "file": { "esModule": false }, "fontUrl": { "esModule": false, "limit": 1000 }, "imgUrl": { "esModule": false, "limit": 1000 }, "pugPlain": {}, "vue": { "productionMode": true, "transformAssetUrls": { "video": "src", "source": "src", "object": "src", "embed": "src" }, "compilerOptions": {} }, "css": { "importLoaders": 0, "url": {}, "esModule": false, "sourceMap": false }, "cssModules": { "importLoaders": 0, "url": {}, "esModule": false, "modules": { "localIdentName": "[local]_[hash:base64:5]" }, "sourceMap": false }, "less": { "sourceMap": false }, "sass": { "sassOptions": { "indentedSyntax": true }, "sourceMap": false }, "scss": { "sourceMap": false }, "stylus": { "sourceMap": false }, "vueStyle": { "sourceMap": false } }, "plugins": [], "terser": {}, "aggressiveCodeRemoval": false, "optimizeCSS": false, "optimization": { "runtimeChunk": "single", "minimize": true, "minimizer": {}, "splitChunks": { "chunks": "all", "automaticNameDelimiter": "/", "cacheGroups": {} } }, "postcss": { "postcssOptions": { "config": false, "plugins": { "postcss-import": {}, "postcss-url": {}, "autoprefixer": {}, "cssnano": true } }, "order": "" }, "devMiddleware": { "stats": "none" }, "hotMiddleware": {}, "friendlyErrors": true, "warningIgnoreFilters": [] }, "nitro": {}, "serverHandlers": [], "devServerHandlers": [], "experimental": { "asyncEntry": false, "reactivityTransform": false, "externalVue": true, "treeshakeClientOnly": true, "viteNode": true, "viteServerDynamicImports": true, "inlineSSRStyles": true, "noScripts": false, "payloadExtraction": true }, "builder": "@nuxt/vite-builder", "sourcemap": { "server": true, "client": false }, "build": { "transpile": [], "cssSourceMap": false, "extractCSS": false, "quiet": true, "analyze": false, "profile": false, "ssr": {}, "parallel": false, "cache": false, "standalone": false, "publicPath": {}, "serverURLPolyfill": "url", "filenames": {}, "loaders": { "file": { "esModule": false }, "fontUrl": { "esModule": false, "limit": 1000 }, "imgUrl": { "esModule": false, "limit": 1000 }, "pugPlain": {}, "vue": { "productionMode": true, "transformAssetUrls": { "video": "src", "source": "src", "object": "src", "embed": "src" }, "compilerOptions": {} }, "css": { "importLoaders": 0, "esModule": false, "sourcemap": false }, "cssModules": { "importLoaders": 0, "esModule": false, "modules": { "localIdentName": "[local]_[hash:base64:5]" }, "sourcemap": false }, "less": { "sourcemap": false }, "sass": { "sassOptions": { "indentedSyntax": true }, "sourcemap": false }, "scss": { "sourcemap": false }, "stylus": { "sourcemap": false }, "vueStyle": { "sourcemap": false } }, "styleResources": {}, "plugins": [], "terser": {}, "hardSource": false, "aggressiveCodeRemoval": false, "optimizeCSS": false, "optimization": { "runtimeChunk": "single", "minimize": true, "minimizer": {}, "splitChunks": { "chunks": "all", "automaticNameDelimiter": "/", "cacheGroups": {} } }, "splitChunks": { "layouts": false, "pages": true, "commons": true }, "corejs": "auto", "babel": { "configFile": false, "babelrc": false, "plugins": [], "presets": {}, "cacheDirectory": false }, "postcss": { "postcssOptions": { "config": false, "plugins": { "postcss-import": {}, "postcss-url": {}, "autoprefixer": {}, "cssnano": true } }, "order": "" }, "html": { "minify": { "collapseBooleanAttributes": true, "decodeEntities": true, "minifyCSS": true, "minifyJS": true, "processConditionalComments": true, "removeEmptyAttributes": true, "removeRedundantAttributes": true, "trimCustomFragments": true, "useShortDoctype": true } }, "template": {}, "templates": [], "watch": [], "devMiddleware": { "stats": "none" }, "hotMiddleware": {}, "vendor": { "$meta": { "deprecated": "vendor has been deprecated since nuxt 2" } }, "stats": false, "friendlyErrors": true, "additionalExtensions": [], "warningIgnoreFilters": [], "followSymlinks": false }, "messages": { "loading": "Loading...", "error_404": "This page could not be found", "server_error": "Server error", "nuxtjs": "Nuxt", "back_to_home": "Back to the home page", "server_error_details": "An error occurred in the application and your page could not be served. If you are the application owner, check your logs for details.", "client_error": "Error", "client_error_details": "An error occurred while rendering the page. Check developer tools console for details." }, "render": { "ssr": {}, "bundleRenderer": { "runInNewContext": false }, "crossorigin": {}, "resourceHints": true, "ssrLog": false, "http2": { "push": false, "shouldPush": null, "pushAssets": null }, "static": { "prefix": true }, "compressor": { "threshold": 0 }, "etag": { "hash": false, "weak": false }, "csp": false, "dist": { "index": false, "maxAge": "1y" }, "fallback": { "dist": {}, "static": { "skipUnknown": true, "handlers": { "": { "htm": false, "html": false } } } } }, "router": { "options": {}, "mode": "history", "base": "/", "_routerBaseSpecified": true, "routes": [], "routeNameSplitter": "-", "middleware": [], "linkActiveClass": "nuxt-link-active", "linkExactActiveClass": "nuxt-link-exact-active", "linkPrefetchedClass": false, "extendRoutes": null, "scrollBehavior": {}, "parseQuery": false, "stringifyQuery": false, "fallback": false, "prefetchLinks": true, "prefetchPayloads": true, "trailingSlash": {} }, "server": { "https": false, "port": 3000, "host": "localhost", "socket": {}, "url": "http://localhost:3000" }, "cli": { "badgeMessages": [], "bannerColor": "green" }, "generate": { "dir": "/<rootDir>/dist", "routes": [], "exclude": [], "concurrency": 500, "interval": 0, "subFolders": true, "fallback": "200.html", "crawler": true, "manifest": true, "nojekyll": true, "cache": { "ignore": [], "globbyOptions": { "gitignore": true } }, "staticAssets": { "dir": "static", "base": "/_nuxt/<rootDir>/dist", "versionBase": "", "version": "1664807129" } } }, "type": "object" }
Copyright ©2k19 -
Hexid
|
Tex7ure