\r\n\u003C/template>\r\n\r\n\u003Cscript setup lang=\"ts\">\r\nimport { defineProps, defineAsyncComponent } from 'vue';\r\n\r\ninterface Props {\r\n component: {\r\n module: string;\r\n file: string;\r\n };\r\n}\r\n\r\nconst props = defineProps\u003CProps>();\r\n\r\nconst componentLoader = defineAsyncComponent({\r\n loader: () => import(`./modules/${props.component.module}/components/${props.component.file}`),\r\n delay: 100,\r\n});\r\n\u003C/script>\r\n```\r\n\r\nInitialization looks like that.\r\n\r\n```vue\r\n\u003Ctemplate>\r\n \u003Ccomponent-provider :component=\"form\" />\r\n\u003C/template>\r\n\r\n\u003Cscript setup lang=\"ts\">\r\nconst form: DynamicComponent = reactive({\r\n module: 'auth',\r\n file: 'forms/Main.vue'\r\n})\r\n\u003C/script>\r\n```\r\n\r\nBut it ends with an error.\r\n\r\n```\r\nUncaught (in promise) TypeError: Failed to fetch dynamically imported module: http://localhost:4000/_nuxt/modules/base/components/providers/modules/auth/components/forms/Main.vue?import\r\n```\r\n\r\nAnd Vue warn.\r\n\r\n```\r\n[Vue warn]: Unhandled error during execution of async component loader \r\n```\r\n\r\nSo as you can see the path is wrong because it adds `modules/base/components/providers` (which is providers one) at the beginning. \r\n\r\n**Stack**:\r\n* Nuxt `3.0.0-rc.13`\r\n* Node `16.14.2` (npm `8.7.0`)",[3158],{"name":3159,"color":3160},"documentation","5319e7",15448,"Dynamic component imports doesn't work","2024-11-30T16:12:15Z","https://github.com/nuxt/nuxt/issues/15448",0.70766,{"description":3167,"labels":3168,"number":3172,"owner":3149,"repository":3173,"state":3174,"title":3175,"updated_at":3176,"url":3177,"score":3178},"Hello! \r\n\r\nI noticed a problem when using mountSuspended. If a component under test has at least one required property, a typing error occurs.\r\n\r\nCode example below:\r\n\r\n```\r\n// component.vue\r\n\u003Cscript setup lang=\"ts\">\r\ndefineProps\u003C{\r\n title: string\r\n}>()\r\n\u003C/script>\r\n\r\n\u003Ctemplate>\r\n \u003Cdiv>\r\n {{ title }}\r\n \u003C/div>\r\n\u003C/template>\r\n```\r\n\r\n```\r\n// component.spec.ts\r\n\u003Cscript setup lang=\"ts\">\r\nimport { describe, expect, test } from \"vitest\"\r\nimport { mountSuspended } from \"nuxt-vitest/utils\"\r\nimport Component from \"~/components/component.vue\"\r\n\r\ndescribe.concurrent(\"Component\", () => {\r\n test(\"Render\", async () => {\r\n \r\n // TypeError below\r\n const wrapper = await mountSuspended(Component, {\r\n props: {\r\n title: \"title\" ,\r\n },\r\n })\r\n })\r\n})\r\n```\r\n",[3169],{"name":3170,"color":3171},"vitest-environment","b60205",554,"test-utils","closed","Type error in moutSuspended If a component has required properties","2023-12-02T00:17:07Z","https://github.com/nuxt/test-utils/issues/554",0.6727955,{"description":3180,"labels":3181,"number":3188,"owner":3149,"repository":3189,"state":3174,"title":3190,"updated_at":3191,"url":3192,"score":3193},"### Description\n\nI was experimenting with two `UBadge` components and `rounded-e-full`/`rounded-s-full` to achieve a `UButtonGroup` effect, would a `UBagdeGroup` component be to much to ask? :)",[3182,3185],{"name":3183,"color":3184},"enhancement","a2eeef",{"name":3186,"color":3187},"v3","49DCB8",3156,"ui","BadgeGroups!","2025-03-08T12:22:25Z","https://github.com/nuxt/ui/issues/3156",0.67397845,{"description":3195,"labels":3196,"number":3199,"owner":3149,"repository":3200,"state":3174,"title":3201,"updated_at":3202,"url":3203,"score":3204},"",[3197],{"name":3183,"color":3198},"1ad6ff",379,"nuxt.com","[Live collab] Handle case when current file is renamed by a collaborator","2023-02-15T12:31:27Z","https://github.com/nuxt/nuxt.com/issues/379",0.6847031,{"description":3195,"labels":3206,"number":3210,"owner":3149,"repository":3200,"state":3174,"title":3211,"updated_at":3212,"url":3213,"score":3214},[3207],{"name":3208,"color":3209},"marketing","f5c828",716,"[Home] Fill page","2022-11-17T11:47:32Z","https://github.com/nuxt/nuxt.com/issues/716",0.68782705,{"description":3216,"labels":3217,"number":3219,"owner":3149,"repository":3173,"state":3174,"title":3220,"updated_at":3221,"url":3222,"score":3223},"Any usage of NuxtLink lead to an error \r\n\r\n```\r\n[Vue warn]: Failed to resolve component: RouterLink\r\nIf this is a native custom element, make sure to exclude it from component resolution via compilerOptions.isCustomElement. \r\n at \u003CNuxtLink to= { name: 'index', params: { userId: '123' } } class=\"text-neutral-501\" onClick=fn\u003ConLinkClick> > \r\n at \u003CUserLink userId=\"123\" ref=\"VTU_COMPONENT\" > \r\n at \u003CVTUROOT>\r\n```\r\n\r\n[Reproduction](https://stackblitz.com/edit/nuxt-vitest-rgzrs9?file=components%2FUserLink.vue)\r\n\r\n",[3218],{"name":3170,"color":3171},590,"Failed to resolve component: RouterLink","2023-12-02T00:37:12Z","https://github.com/nuxt/test-utils/issues/590",0.69264,{"description":3225,"labels":3226,"number":3228,"owner":3149,"repository":3200,"state":3174,"title":3229,"updated_at":3230,"url":3231,"score":3232},"We can create a component for this that will allow us to use it on modules and agencies",[3227],{"name":3183,"color":3198},1195,"[Agencies]: add not found layout if no result","2023-02-15T12:31:15Z","https://github.com/nuxt/nuxt.com/issues/1195",0.70324165,{"description":3234,"labels":3235,"number":3238,"owner":3149,"repository":3189,"state":3174,"title":3239,"updated_at":3240,"url":3241,"score":3242},"https://www.radix-vue.com/components/select.html#scrollupbutton",[3236,3237],{"name":3183,"color":3184},{"name":3186,"color":3187},2145,"[Select] Handle scroll buttons","2025-04-21T20:05:00Z","https://github.com/nuxt/ui/issues/2145",0.7039155,{"labels":3244,"number":3250,"owner":3149,"repository":3149,"state":3174,"title":3251,"updated_at":3252,"url":3253,"score":3254},[3245,3247],{"name":3183,"color":3246},"8DEF37",{"name":3248,"color":3249},"2.x","d4c5f9",4787,"Allow passing an async function to build.templates","2023-02-14T11:06:19Z","https://github.com/nuxt/nuxt/issues/4787",0.70613587,["Reactive",3256],{},["Set"],["ShallowReactive",3259],{"$fTRc1wZytZ_XrK4EfJfei_Sz-An4H4Yy6syhVxH_PVJc":-1,"$fDTit8WjntESfz3zPPIXAeWIuYeFGPRsQpUbUiNPxbvY":-1},"/nuxt/nuxt.com/715"]