\n\t\u003C/div>\n\u003C/template>\n\n```\n\n### Additional context\n\n_No response_\n\n### Logs\n\n```shell-script\n\n```",[3031,3034,3037],{"name":3032,"color":3033},"types","2875C3",{"name":3035,"color":3036},"bug","d73a4a",{"name":3038,"color":3039},"❗ p4-important","D93F0B",30213,"Shared folder types and extending interface in Vue component setup error","2024-12-11T14:19:11Z","https://github.com/nuxt/nuxt/issues/30213",0.6677168,{"description":3046,"labels":3047,"number":3049,"owner":3022,"repository":3022,"state":3023,"title":3050,"updated_at":3051,"url":3052,"score":3053},"### Environment\n\n------------------------------\n- Operating System: Darwin\n- Node Version: v22.13.1\n- Nuxt Version: 3.15.4\n- CLI Version: 3.21.1\n- Nitro Version: 2.10.4\n- Package Manager: bun@1.2.2\n- Builder: -\n- User Config: compatibilityDate, devtools, extends\n- Runtime Modules: -\n- Build Modules: -\n------------------------------\n\n### Reproduction\n\n## The layer\n\n`nuxt.config.ts`\n```ts\nimport { createResolver } from '@nuxt/kit';\n\nconst { resolve } = createResolver(import.meta.url);\n\nexport default defineNuxtConfig({\n compatibilityDate: '2024-11-01',\n devtools: { enabled: true },\n alias: {\n '@base': resolve('./'),\n },\n})\n```\n\n`components/Button.vue`\n```vue\n\u003Cscript lang=\"ts\">\nimport type { ButtonHTMLAttributes } from 'vue';\n\n// NOTE: relative import works...\nimport type { Theme } from '../ui/createTheme'; // WORKS\n\n// BUT: using alias causes issues with the type inference (somehow).\n// import type { Theme } from '@base/ui/createTheme'; // FAILS WHEN USING REMOTE LAYER SOURCE\n\nexport interface ButtonProps extends Theme {\n type?: ButtonHTMLAttributes['type'];\n disabled?: boolean;\n}\n\u003C/script>\n\n\u003Cscript lang=\"ts\" setup>\nwithDefaults(defineProps\u003CButtonProps>(), {\n type: 'button',\n});\n\u003C/script>\n```\n\n`ui/createTheme.ts`\n```ts\nexport interface Theme {\n theme?: string;\n}\n```\n\n## The app\n\n`nuxt.config.ts`\n```ts\n// https://nuxt.com/docs/api/configuration/nuxt-config\nexport default defineNuxtConfig({\n compatibilityDate: '2024-11-01',\n devtools: { enabled: true },\n extends: [\n // ['../nuxt-layer-test-layer', { install: true }],\n ['github:leeovery/nuxt-layer-test-layer', { install: true }]\n ],\n});\n```\n\n`pages/test.vue`\n```vue\n\u003Ctemplate>\n \u003CButton type=\"submit\">hello\u003C/Button>\n\u003C/template>\n```\n\nI have setup two simple repos.\n\nThe app: https://github.com/leeovery/nuxt-layer-test-app\nThe layer: https://github.com/leeovery/nuxt-layer-test-layer\n\nIf you extend from the layer in the app using the local version, everything works fine, whether you use the alias or a relative path to import the type.\n\nHowever, if you import the layer using github (which you can do in the app's nuxt.config.ts), then you will see that using the aliases causes the Vue error regarding failing to resolve base type. If you change the import of the theme type in the Button comp. to be a relative path, then all works as expected.\n\n### Describe the bug\n\nThe issue appears to be when:\n\n* Using a Nuxt path alias to reference the layer's root dirs,\n* then importing a type using that alias,\n* then extending from that type to create your prop definition,\n* and finally \"using\" the layer via a remote source. \n\nThen in the app (extending the later) you will get this overlay error:\n\n\n\nAll these things need to be true (it seems) for this bug to occur.\n\nAt this stage Im not 100% sure this is a bug or a known limitation. But either way hopefully this will help others later who run into the same issue.\n\nAre we meant to be using aliases like this? Is it a bug?\n\nThanks!!\nLee\n\n### Additional context\n\n_No response_\n\n### Logs\n\n```shell-script\n\n```",[3048],{"name":3019,"color":3020},30896,"Nuxt layer - issues with extending type when using nuxt alias and using remote layer source","2025-03-11T06:37:47Z","https://github.com/nuxt/nuxt/issues/30896",0.68924063,{"description":3055,"labels":3056,"number":3057,"owner":3022,"repository":3058,"state":3023,"title":3059,"updated_at":3060,"url":3061,"score":3062},"Installing this module causes the following error with `nuxt prepare`:\r\n```\r\n ERROR [vite:vue] failed to resolve \"extends\":\"./.nuxt/tsconfig.json\" in C:\\Users\\ThatTonybo\\Desktop\\chat-app\\web\\tsconfig.json 14:18:58 \r\nfile: C:/Users/ThatTonybo/Desktop/chat-app/web/node_modules/nuxt-icon/dist/runtime/Icon.vue\r\n```",[],53,"icon","[vite:vue] failed to resolve \"extends\":\"./.nuxt/tsconfig.json\"","2023-02-14T09:26:16Z","https://github.com/nuxt/icon/issues/53",0.6926478,{"description":3064,"labels":3065,"number":3079,"owner":3022,"repository":3022,"state":3080,"title":3081,"updated_at":3082,"url":3083,"score":3084},"### Environment\n\n[6:23:12 PM] Working directory: C:/code/test-app\r\n[6:23:12 PM] Nuxt project info: \r\n\r\n------------------------------\r\n- Operating System: Windows_NT\r\n- Node Version: v20.8.1\r\n- Nuxt Version: 3.8.2\r\n- CLI Version: 3.10.0\r\n- Nitro Version: 2.8.1\r\n- Package Manager: npm@10.1.0\r\n- Builder: -\r\n- User Config: devtools\r\n- Runtime Modules: -\r\n- Build Modules: -\r\n------------------------------\n\n### Reproduction\n\nhttps://stackblitz.com/edit/github-js9bi8-ygsjlv?file=app.vue\n\n### Describe the bug\n\nExtending props from an external file seems to be broken in the latest version (3.8.2). After starting the app you can see the error:\r\n```\r\n[plugin:vite:vue] [@vue/compiler-sfc] Failed to resolve extends base type.\r\nIf this previously worked in 3.2, you can instruct the compiler to ignore this extend by adding /* @vue-ignore */ before it, for example:\r\n\r\ninterface Props extends /* @vue-ignore */ Base {}\r\n```\r\n\r\nI created a new vue app (no nuxt) to see if it was a vite or vue issue but it seemed to work ok without nuxt.\n\n### Additional context\n\n_No response_\n\n### Logs\n\n```shell-script\nat ScriptCompileContext.error (C:\\code\\test-app\\node_modules\\@vue\\compiler-sfc\\dist\\compiler-sfc.cjs.js:15670:11)\r\n at resolveInterfaceMembers (C:\\code\\test-app\\node_modules\\@vue\\compiler-sfc\\dist\\compiler-sfc.cjs.js:17936:13)\r\n at innerResolveTypeElements (C:\\code\\test-app\\node_modules\\@vue\\compiler-sfc\\dist\\compiler-sfc.cjs.js:17762:14)\r\n at resolveTypeElements (C:\\code\\test-app\\node_modules\\@vue\\compiler-sfc\\dist\\compiler-sfc.cjs.js:17750:35)\r\n at innerResolveTypeElements (C:\\code\\test-app\\node_modules\\@vue\\compiler-sfc\\dist\\compiler-sfc.cjs.js:17795:16)\r\n at resolveTypeElements (C:\\code\\test-app\\node_modules\\@vue\\compiler-sfc\\dist\\compiler-sfc.cjs.js:17750:35)\r\n at resolveRuntimePropsFromType (C:\\code\\test-app\\node_modules\\@vue\\compiler-sfc\\dist\\compiler-sfc.cjs.js:19186:20)\r\n at genRuntimePropsFromTypes (C:\\code\\test-app\\node_modules\\@vue\\compiler-sfc\\dist\\compiler-sfc.cjs.js:19162:17)\r\n at genRuntimeProps (C:\\code\\test-app\\node_modules\\@vue\\compiler-sfc\\dist\\compiler-sfc.cjs.js:19152:18)\r\n at Object.compileScript (C:\\code\\test-app\\node_modules\\@vue\\compiler-sfc\\dist\\compiler-sfc.cjs.js:20260:21\n```\n",[3066,3069,3072,3073,3076],{"name":3067,"color":3068},"3.x","29bc7f",{"name":3070,"color":3071},"dx","C39D69",{"name":3035,"color":3036},{"name":3074,"color":3075},"upstream","E8A36D",{"name":3077,"color":3078},"🔨 p3-minor","FBCA04",24533,"closed","External Props extend broken","2023-12-27T10:41:48Z","https://github.com/nuxt/nuxt/issues/24533",0.60857135,{"description":3086,"labels":3087,"number":3091,"owner":3022,"repository":3022,"state":3080,"title":3092,"updated_at":3093,"url":3094,"score":3095},"### Describe the feature\n\n# vueCompilerOptions in nuxt.config.ts\r\n\r\nCurrently, the `defineNuxtConfig`'s `typescript.tsConfig.vueCompilerOptions` property is not officially supported on type-level: the compiler will yell at you if you try to use it.\r\nHowever, the configuration options defined in `vueCompilerOptions` still work as intended.\r\n\r\nEnhancing the `tsConfig` interface locally to include the `vueCompilerOptions` property is a possible workaround (the `VueCompilerOptions` type is currently available and exported from vue's languageModule), but an official solution would be much appreciated.\r\n\r\nYou can find this reproduction [on stackblitz](https://stackblitz.com/edit/github-58xcrx?file=README.md)\r\n\r\n### Prerequisites\r\n\r\n- A minimal Nuxt app started with `npx nuxi@latest init`\r\n- `vue-tsc` and `typescript` installed as dev dependencies (see [Nuxt's TypeScript documentation](https://nuxt.com/docs/guide/concepts/typescript#type-checking))\r\n- A `nuxt.config.ts` file with the `vueCompilerOptions` property added to the `tsConfig` property. To observe the behavior, the easiest way is to add the `strictTemplates` property to the `vueCompilerOptions` object.\r\n\r\n### Steps to reproduce\r\n\r\n1. Create a component and define a prop in the component using the `defineProps` macro and passing it the `Props` type argument\r\n2. Use your new component in a page and pass it the prop you defined (this is not really necessary, but it's a good way to observe the behavior)\r\n3. Pass your component a prop that is not defined in the component's `props`, (e.g. `:nonExistentProp=\"true\"`)\r\n4. Save and run `npx nuxi typecheck`. You l'll get one error from the `nuxt.config.ts` file, saying that the `vueCompilerOptions` property is not allowed, and one from the page where you used the component, saying that `non-existent-prop` is not defined in the component's `Props` type.\r\n\n\n### Additional information\n\n- [X] Would you be willing to help implement this feature?\n- [ ] Could this feature be implemented as a module?\n\n### Final checks\n\n- [X] Read the [contribution guide](https://nuxt.com/docs/community/contribution).\n- [X] Check existing [discussions](https://github.com/nuxt/nuxt/discussions) and [issues](https://github.com/nuxt/nuxt/issues).",[3088,3089,3090],{"name":3032,"color":3033},{"name":3067,"color":3068},{"name":3077,"color":3078},25874,"'vueCompilerOptions' does not exist in type 'tsConfig' in 'defineNuxtConfig'","2024-02-27T15:31:48Z","https://github.com/nuxt/nuxt/issues/25874",0.6740465,{"description":3097,"labels":3098,"number":3101,"owner":3022,"repository":3022,"state":3080,"title":3102,"updated_at":3103,"url":3104,"score":3105},"### Environment\n\n------------------------------\r\n- Operating System: Linux\r\n- Node Version: v18.20.3\r\n- Nuxt Version: 3.13.0-28726360.b1358220\r\n- CLI Version: 3.13.0-1719571044.bca75ab\r\n- Nitro Version: 2.10.0-28726471.af42c19d\r\n- Package Manager: npm@10.2.3\r\n- Builder: -\r\n- User Config: compatibilityDate, devtools\r\n- Runtime Modules: -\r\n- Build Modules: -\r\n------------------------------\n\n### Reproduction\n\n1. https://stackblitz.com/edit/github-dz3tm4?file=pages%2Findex.vue,nuxt.config.ts,app.vue\r\n2. after installation run `npm run typecheck`\r\n3. observer type error `pages/index.vue:5:17 - error TS18046: '__VLS_ctx.$config' is of type 'unknown'.`\n\n### Describe the bug\n\nThis is caused by the changes in https://github.com/nuxt/nuxt/pull/28446 (or more accurately https://github.com/vuejs/router/pull/2295) and actually demonstrates the issue its trying to solve, the mixing of module augmentation causes issues and will likely do the same for modules downstream.\n\n### Additional context\n\nIf we want to continue the route of https://github.com/nuxt/nuxt/pull/28446 then I have [a PR](https://github.com/nuxt/nuxt/pull/28559) that would fix the issue described here. \r\n\r\nI'm in favor to instead only augmenting `vue` to be in line with Vue's guidelines (which https://github.com/nuxt/nuxt/pull/28542 does) but I'm pretty sure this will also cause issues downstream.\n\n### Logs\n\n_No response_",[3099,3100],{"name":3032,"color":3033},{"name":3035,"color":3036},28561,"Module type augmentation conflict breaks types for `$config` property on `ComponentCustomProperties` on nightly release","2024-08-16T08:45:20Z","https://github.com/nuxt/nuxt/issues/28561",0.67612094,{"description":3107,"labels":3108,"number":3112,"owner":3022,"repository":3022,"state":3080,"title":3113,"updated_at":3114,"url":3115,"score":3116},"### Environment\n\n- Operating System: Windows_NT\n- Node Version: v20.16.0\n- Nuxt Version: 3.15.4\n- CLI Version: 3.21.1\n- Nitro Version: 2.10.4\n- Package Manager: npm@10.8.1\n- Builder: -\n- User Config: compatibilityDate, devtools, runtimeConfig, nitro, modules, veeValidate\n- Runtime Modules: @nuxt/eslint@0.7.6, @nuxt/ui@2.21.0, @nuxt/fonts@0.10.3, @nuxtjs/device@3.2.4, @pinia/nuxt@0.9.0, @vee-validate/nuxt@4.15.0\n- Build Modules: -\n\n### Reproduction\n\nJust copy/paste this `nuxt.config.ts`\n\n```ts\nimport PluginVue from '@vitejs/plugin-vue';\n\nexport default defineNuxtConfig({\n compatibilityDate: '2024-04-03',\n devtools: {\n enabled: true,\n },\n runtimeConfig: {\n public: {\n baseURL: process.env.BASE_URL,\n },\n },\n nitro: {\n rollupConfig: {\n plugins: [PluginVue()],\n },\n },\n modules: [\n '@nuxt/eslint',\n '@nuxt/ui',\n '@nuxt/fonts',\n '@nuxtjs/device',\n '@pinia/nuxt',\n '@vee-validate/nuxt',\n ],\n veeValidate: {\n componentNames: {\n Form: 'VeeForm',\n Field: 'VeeField',\n FieldArray: 'VeeFieldArray',\n ErrorMessage: 'VeeErrorMessage',\n },\n },\n});\n\n```\n\n### Describe the bug\n\nWhen using `@vitejs/plugin-vue` in `rollupConfig`, I encounter the following error: **_Type instantiation is excessively deep and possibly infinite_**. I also tried with `nuxi typecheck` and got the same.\n\n\n\n### Additional context\n\nVSCode v1.97.0\n\n### Logs\n\n```shell-script\nnuxt.config.ts:15:16 - error TS2589: Type instantiation is excessively deep and possibly infinite.\n```",[3109,3110],{"name":3019,"color":3020},{"name":3111,"color":3078},"needs reproduction",30919,"Type instantiation is excessively deep and possibly infinite in rollupConfig ❌","2025-02-19T20:42:34Z","https://github.com/nuxt/nuxt/issues/30919",0.67888176,{"description":3118,"labels":3119,"number":3123,"owner":3022,"repository":3058,"state":3080,"title":3124,"updated_at":3125,"url":3126,"score":3127},"Hello,\r\n\r\nI was wondering whether there is a way to allow users to tell whether they want to allow iconify cookies or not. \r\nAfter all, for GDPR they should be able to control this behaviour!",[3120],{"name":3121,"color":3122},"question","d876e3",94,"Iconify cookies","2024-12-21T12:20:21Z","https://github.com/nuxt/icon/issues/94",0.67909694,{"description":3129,"labels":3130,"number":3134,"owner":3022,"repository":3022,"state":3080,"title":3135,"updated_at":3136,"url":3137,"score":3138},"Hi folks, I trying to extend a Vuetify component in a nuxt project (nuxt starter template) but i'm getting errors...\r\n\r\nMy extended component: \r\n```js \r\n// /assets/components/vuetifyExtended/VRadioGroup/VRadioIcon.js\r\n\r\nimport VRadio from 'vuetify/src/components/VRadioGroup/VRadio';\r\n\r\nexport default {\r\n name: 'v-radio-icon',\r\n extends: VRadio,\r\n props: {\r\n iconActive: { type: String, default: 'radio_button_checked' },\r\n iconInactive: { type: String, default: 'radio_button_unchecked' },\r\n },\r\n computed: {\r\n icon() {\r\n return this.isActive ? this.iconActive : this.iconInactive;\r\n },\r\n },\r\n};\r\n```\r\n\r\nThe kind of errors i'm getting:\r\n```sh\r\n[...]\r\n ERROR Failed to compile with 2 errors 08:29:45\r\n\r\nerror in ./node_modules/vuetify/src/util/helpers.js\r\n\r\nModule parse failed: Unexpected token (34:28)\r\nYou may need an appropriate loader to handle this file type.\r\n| context.data.on = context.data.on || {}\r\n| if (!Object.isExtensible(context.data.on)) {\r\n| context.data.on = { ...context.data.on }\r\n| }\r\n|\r\n@ ./node_modules/vuetify/src/components/transitions/index.js 1:0-4:27\r\n@ ./node_modules/vuetify/src/components/VRadioGroup/VRadio.js\r\n[...]\r\n```\r\n\r\nI've seen that [issue](https://github.com/vuetifyjs/vuetify/issues/1840) but the solution did not solved mine. \r\nDoes anyone can help me ? :) thx!\r\n\r\n\n\n\u003C!--cmty-->\u003C!--cmty_prevent_hook-->\n\u003Cdiv align=\"right\">\u003Csub>\u003Cem>This question is available on \u003Ca href=\"https://nuxtjs.cmty.io\">Nuxt.js\u003C/a> community (\u003Ca href=\"https://nuxtjs.cmty.io/nuxt/nuxt.js/issues/c2719\">#c2719\u003C/a>)\u003C/em>\u003C/sub>\u003C/div>",[3131],{"name":3132,"color":3133},"2.x","d4c5f9",3139,"Extending a vuetify component","2023-01-18T16:10:06Z","https://github.com/nuxt/nuxt/issues/3139",0.6792261,["Reactive",3140],{},["Set"],["ShallowReactive",3143],{"$fTRc1wZytZ_XrK4EfJfei_Sz-An4H4Yy6syhVxH_PVJc":-1,"$ft3g2qv1alximRKkObxbrGpdUPNEyLeAaMzw1wSeTL2o":-1},"/nuxt/ui/3873"]