\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```",[3159,3162,3165],{"name":3160,"color":3161},"types","2875C3",{"name":3163,"color":3164},"bug","d73a4a",{"name":3166,"color":3167},"❗ 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.66201395,{"description":3174,"labels":3175,"number":3185,"owner":3141,"repository":3186,"state":3187,"title":3188,"updated_at":3189,"url":3190,"score":3191},"### Description\n\nhi\nafter i upgrade from v2 to v3 i get this error : \n\n[plugin:vite:vue] [@vue/compiler-sfc] Failed to resolve extends base type.\nIf this previously worked in 3.2, you can instruct the compiler to ignore this extend by adding /* @vue-ignore */ before it, for example:\n\ninterface Props extends /* @vue-ignore */ Base {}\n\nNote: both in 3.2 or with the ignore, the properties in the base type are treated as fallthrough attrs at runtime.\n\n/node_modules/@nuxt/ui/dist/runtime/components/Carousel.vue\n151| const appConfig = useAppConfig()\n152| const { dir, t } = useLocale()\n153| const rootProps = useForwardProps(reactivePick(props, 'active', 'align', 'breakpoints', 'containScroll', 'dragFree', 'dragThreshold', 'duration', 'inViewThreshold', 'loop', 'skipSnaps', 'slidesToScroll', 'startIndex', 'watchDrag', 'watchResize', 'watchSlides', 'watchFocus'))\n | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n154| \n155| const prevIcon = computed(() => props.prevIcon || (dir.value === 'rtl' ? appConfig.ui.icons.arrowRight : appConfig.ui.icons.arrowLeft))\n\n\ncan anyone help me ?",[3176,3179,3182],{"name":3177,"color":3178},"question","d876e3",{"name":3180,"color":3181},"needs reproduction","CB47CF",{"name":3183,"color":3184},"v3","49DCB8",3873,"ui","closed","[@vue/compiler-sfc] Failed to resolve extends base type.","2025-05-04T19:06:03Z","https://github.com/nuxt/ui/issues/3873",0.60509694,{"description":3193,"labels":3194,"number":3208,"owner":3141,"repository":3141,"state":3187,"title":3209,"updated_at":3210,"url":3211,"score":3212},"### 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",[3195,3198,3201,3202,3205],{"name":3196,"color":3197},"3.x","29bc7f",{"name":3199,"color":3200},"dx","C39D69",{"name":3163,"color":3164},{"name":3203,"color":3204},"upstream","E8A36D",{"name":3206,"color":3207},"🔨 p3-minor","FBCA04",24533,"External Props extend broken","2023-12-27T10:41:48Z","https://github.com/nuxt/nuxt/issues/24533",0.6177089,{"description":3214,"labels":3215,"number":3217,"owner":3141,"repository":3141,"state":3187,"title":3218,"updated_at":3219,"url":3220,"score":3221},"------------------------------\n- Operating System: Windows_NT\n- Node Version: v20.18.3\n- Nuxt Version: 3.15.4\n- CLI Version: 3.21.1\n- Nitro Version: 2.10.4\n- Package Manager: npm@11.1.0\n- Builder: -\n- User Config: components, css, devtools, modules, vite\n- Runtime Modules: @nuxt/fonts@0.10.3, @nuxt/icon@1.10.3, @vueuse/nuxt@12.7.0\n- Build Modules: -\n------------------------------\n\nI have 2 projects:\n\n```\nnuxt-projects/\n\tapp/\n\tui/\n```\n\nThere is package.json in each project and I did npm install.\n\nIn **app** project, I want to extends **ui**\n\n_ui nuxt.config.ts_\n```typescript\nimport tailwindcss from \"@tailwindcss/vite\";\n\n// https://nuxt.com/docs/api/configuration/nuxt-config\nexport default defineNuxtConfig({\n // compatibilityDate: '2024-11-01',\n components: [\n {\n path: '~/components',\n pathPrefix: false,\n global: true, // useless for important components\n },\n ],\n css: [\"~/assets/css/main.css\"],\n devtools: { enabled: true },\n modules: [\n \"@nuxt/fonts\",\n \"@nuxt/icon\",\n \"@vueuse/nuxt\",\n ], \n vite: {\n plugins: [\n tailwindcss(),\n ],\n },\n})\n```\n\n_app nuxt.config.ts_\n\n```typescript\nimport tailwindcss from \"@tailwindcss/vite\";\n\n// https://nuxt.com/docs/api/configuration/nuxt-config\nexport default defineNuxtConfig({\n // compatibilityDate: '2024-11-01',\n components: [\n {\n path: '../ui/components', // required for import components\n pathPrefix: false,\n },\n {\n path: '~/components',\n pathPrefix: false,\n },\n ],\n\n css: [\"~/assets/css/main.css\"],\n devtools: { enabled: true },\n extends: [\"../ui\"], // useless for import components\n modules: [\n \"@nuxt/fonts\",\n \"@nuxt/icon\",\n \"@nuxt/content\",\n \"@vueuse/nuxt\",\n ],\n\n vite: {\n plugins: [\n tailwindcss(),\n ],\n },\n\n compatibilityDate: \"2025-03-05\",\n})\n```\n\nIf I add only \n\n```typescript\nextends: [\"../ui\"], \n```\n\nextends doesn't work. Ui componenets are not imported. \n\nIf I add \n\n```typescript\ncomponents: [\n {\n path: '../ui/components',\n pathPrefix: false,\n },\n```\n\nIt works but then extends is useless.\n\nCould you explain how to make works extends ?\nThere is a lack of documentation about extends.\n\n\n",[3216],{"name":3138,"color":3139},31221,"Question / Issue with nuxt extends for import components","2025-03-07T21:44:41Z","https://github.com/nuxt/nuxt/issues/31221",0.6537401,{"description":3223,"labels":3224,"number":3232,"owner":3141,"repository":3141,"state":3187,"title":3233,"updated_at":3234,"url":3235,"score":3236},"### Environment\n\n- Operating System: `Darwin`\n- Node Version: `v22.14.0`\n- Nuxt Version: `3.16.2`\n- CLI Version: `3.24.1`\n- Nitro Version: `2.11.9`\n- Package Manager: `pnpm@10.8.0`\n- Builder: `-`\n- User Config: `extends`, `compatibilityDate`\n- Runtime Modules: `-`\n- Build Modules: `-`\n\n### Reproduction\n\nhttps://stackblitz.com/edit/nuxt-starter-trixctth\n\nPlease note: I couldn't replicate the exact same error message in Stackblitz as locally, so if I'm doing something wrong on Stackblitz, you can clone the base-layer and consuming-layer repo's from our GitHub for an exact reproduction:\n- https://github.com/kraftersnl/base-layer\n- https://github.com/kraftersnl/consuming-layer\n\n### Describe the bug\n\nEver since Nuxt 3.16 came out, I have been unable to upgrade our projects that use SSR. It's been a while now, so I set myself to investigate where the problem is coming from. I found there's something going wrong when using `useTemplateRef` when using a component from a Nuxt Layer. The error does not happen when pinning Nuxt to 3.15.4. Only when using Nuxt 3.16.x:\n\n**500 Cannot define property btn, object is not extensible**\n\n```vue\n\n\u003Cscript setup lang=\"ts\">\ndefineProps\u003C{ label: string }>();\n\nconst buttonRef = useTemplateRef('btn');\n\u003C/script>\n\n\u003Ctemplate>\n \u003Cbutton ref=\"btn\">{{ label }}\u003C/button>\n\u003C/template>\n```\n\nCheck out the [Full repro](https://stackblitz.com/edit/nuxt-starter-trixctth?file=base%2Fcomponents%2FBaseButton.vue).\n\n### Additional context\n\n_No response_\n\n### Logs\n\n```shell-script\n\n```",[3225,3226,3229],{"name":3138,"color":3139},{"name":3227,"color":3228},"layers","006B75",{"name":3230,"color":3231},"possible regression","B90A42",31817,"useTemplateRef issue with Nuxt 3.16: Cannot define property, object is not extensible","2025-05-01T13:14:25Z","https://github.com/nuxt/nuxt/issues/31817",0.65670264,{"description":3238,"labels":3239,"number":3246,"owner":3141,"repository":3141,"state":3187,"title":3247,"updated_at":3248,"url":3249,"score":3250},"### Environment\n\n- Operating System: Linux\r\n- Node Version: v18.18.0\r\n- Nuxt Version: 3.8.0\r\n- CLI Version: 3.9.1\r\n- Nitro Version: 2.7.0\r\n- Package Manager: npm@9.4.2\r\n- Builder: -\r\n- User Config: extends\r\n- Runtime Modules: -\r\n- Build Modules: -\n\n### Reproduction\n\nhttps://stackblitz.com/edit/github-bnn6ap?file=nuxt.config.ts\n\n### Describe the bug\n\nUpgrading to Nuxt 3.8 leads to a type issue for me: the `extends` key in `nuxt.config.ts` seems to not accept an array of strings anymore.\n\n### Additional context\n\n_No response_\n\n### Logs\n\n_No response_",[3240,3241,3242,3245],{"name":3160,"color":3161},{"name":3196,"color":3197},{"name":3243,"color":3244},"workaround available","11376d",{"name":3163,"color":3164},23791,"fix: type error on `extends` in v3.8","2023-10-20T15:23:37Z","https://github.com/nuxt/nuxt/issues/23791",0.6584994,{"description":3252,"labels":3253,"number":3258,"owner":3141,"repository":3141,"state":3187,"title":3259,"updated_at":3260,"url":3261,"score":3262},"### Environment\n\nCHILD:\r\n- Operating System: `Darwin`\r\n- Node Version: `v14.21.1`\r\n- Nuxt Version: `3.0.0`\r\n- Nitro Version: `1.0.0`\r\n- Package Manager: `yarn@1.22.19`\r\n- Builder: `vite`\r\n- User Config: `extends`\r\n- Runtime Modules: `-`\r\n- Build Modules: `-`\r\n\r\nPARENT:\r\n- Operating System: `Darwin`\r\n- Node Version: `v14.21.1`\r\n- Nuxt Version: `3.0.0`\r\n- Nitro Version: `1.0.0`\r\n- Package Manager: `yarn@1.22.19`\r\n- Builder: `vite`\r\n- User Config: `modules`\r\n- Runtime Modules: `@vueuse/nuxt@9.11.0`\r\n- Build Modules: `-`\r\n\n\n### Reproduction\n\nhttps://stackblitz.com/edit/github-nzvnvt?file=project/nuxt.config.ts\n\n### Describe the bug\n\nI'm trying to use `extends` to auto import components, modules, composables etc. from another nuxt project in a different directory, however, when the project I'm extending includes a nuxt module module, I get an error that it could not find the module and the build fails.\n\n### Additional context\n\n_No response_\n\n### Logs\n\n_No response_",[3254,3255,3256,3257],{"name":3196,"color":3197},{"name":3163,"color":3164},{"name":3206,"color":3207},{"name":3227,"color":3228},18369,"Using `extends` on a project with nuxt modules causes an error","2024-05-24T10:17:36Z","https://github.com/nuxt/nuxt/issues/18369",0.6596025,{"description":3264,"labels":3265,"number":3270,"owner":3141,"repository":3141,"state":3187,"title":3271,"updated_at":3272,"url":3273,"score":3274},"### Environment\n\n- Operating System: `Linux`\r\n- Node Version: `v16.14.2`\r\n- Nuxt Version: `3.3.3`\r\n- Nitro Version: `2.3.2`\r\n- Package Manager: `npm@7.17.0`\r\n- Builder: `vite`\r\n- User Config: `runtimeConfig`\r\n- Runtime Modules: `-`\r\n- Build Modules: `-`\n\n### Reproduction\n\nhttps://stackblitz.com/edit/github-2l517b\r\n\r\n```\r\n$ npm i\r\n$ npm run typecheck\r\n```\r\n\n\n### Describe the bug\n\n\r\nThe code below gives an error.\r\n\r\n```vue\r\n\u003Ctemplate>\r\n \u003Cdiv>\r\n \u003Ch1>index\u003C/h1>\r\n \u003Cp>{{ $config.public.flag }}\u003C/p>\u003C!-- type error -->\r\n \u003C/div>\r\n\u003C/template>\r\n```\r\n\r\n\r\n```vue\r\n\u003Cscript lang=\"ts\">\r\nexport default defineNuxtComponent({\r\n created() {\r\n console.log(this.$config.public.flag); // type error\r\n },\r\n});\r\n\u003C/script>\r\n```\r\n\r\nI paste the log when type checking at the bottom.\r\n\r\nThis is a problem that occurs from v3.3.3.\r\nIt did not occur with v3.2.3. (https://stackblitz.com/edit/github-2l517b-cwvb5p)\r\n\r\n\n\n### Additional context\n\n_No response_\n\n### Logs\n\n```shell-script\n❯ npm run typecheck\r\n$ nuxt typecheck\r\nNuxi 3.3.3 16:52:14\r\npages/index.vue:4:11 - error TS2339: Property '$config' does not exist on type '{ $: ComponentInternalInstance; $data: {}; $props: Partial\u003C{}> & Omit\u003CReadonly\u003CExtractPropTypes\u003C{}>> & VNodeProps & AllowedComponentProps & ComponentCustomProps, never>; ... 10 more ...; $watch\u003CT extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) => infer R ? (args_0: R, args_1: R) => ...'.\r\n\r\n4 \u003Cp>{{ $config.public.flag }}\u003C/p>\r\n ~~~~~~~\r\n\r\npages/option.vue:4:22 - error TS2339: Property '$config' does not exist on type 'CreateComponentPublicInstance\u003C{}, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, {}, {}, false, {}, OptionTypesType\u003C{}, {}, {}, {}, {}, {}>, ... 5 more ..., {}>'.\r\n\r\n4 console.log(this.$config.public.flag);\r\n ~~~~~~~\r\n\r\npages/option.vue:12:11 - error TS2339: Property '$config' does not exist on type '{ $: ComponentInternalInstance; $data: {}; $props: Partial\u003C{}> & Omit\u003CReadonly\u003CExtractPropTypes\u003C{}>> & VNodeProps & AllowedComponentProps & ComponentCustomProps, never>; ... 10 more ...; $watch\u003CT extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) => infer R ? (args_0: R, args_1: R) => ...'.\r\n\r\n12 \u003Cp>{{ $config.public.flag }}\u003C/p>\r\n ~~~~~~~\r\n\r\n\r\nFound 3 errors in 2 files.\r\n\r\nErrors Files\r\n 1 pages/index.vue:4\r\n 2 pages/option.vue:4\r\n\r\n ERROR Command failed with exit code 2: vue-tsc --noEmit 16:52:17\r\n\r\n at makeError (file://node_modules/nuxi/dist/shared/nuxi.63bda57d.mjs:640:11)\r\n at handlePromise (file://node_modules/nuxi/dist/shared/nuxi.63bda57d.mjs:1129:26)\r\n at async Object.invoke (file://node_modules/nuxi/dist/chunks/typecheck.mjs:69:7)\r\n at async _main (file://node_modules/nuxi/dist/cli.mjs:64:20)\n```\n",[3266,3267,3268,3269],{"name":3160,"color":3161},{"name":3196,"color":3197},{"name":3163,"color":3164},{"name":3206,"color":3207},20069,"`$config` type error","2023-04-04T13:34:42Z","https://github.com/nuxt/nuxt/issues/20069",0.6600252,["Reactive",3276],{},["Set"],["ShallowReactive",3279],{"$fTRc1wZytZ_XrK4EfJfei_Sz-An4H4Yy6syhVxH_PVJc":-1,"$fzyW1XAOTRwNhi15duygdMvcHGtTT0CfnnvUUmALcrJc":-1},"/nuxt/ui/4699"]