\n \u003C/template>\n ```\n5. Restart the server\n6. Open the app in the browser. You’ll see this error: `[@vue/compiler-sfc] Unresolvable type reference or unsupported built-in utility type`\n\n### Additional context\n\nThe issue was not reproducible in a Vite + Vue environment. Is there any custom compiler behavior specific to Nuxt?\n\n### Logs\n\n```shell-script\nFor convenience, SSR was set to false and the logs were collected.\n\n\n ERROR Pre-transform error: [@vue/compiler-sfc] Unresolvable type reference or unsupported built-in utility type 2:52:01 PM\n\n/Users/fly/Documents/nuxt-prop-type-issue/app/components/Comp.vue\n2 | import type { CompProps } from '#imports';\n3 | \n4 | defineProps\u003CPick\u003CCompProps, 'text'>>();\n | ^^^^^^^^^\n5 | \u003C/script>\n6 | \n Plugin: vite:vue\n File: /Users/fly/Documents/nuxt-prop-type-issue/app/components/Comp.vue\n\n\n ERROR Internal server error: [@vue/compiler-sfc] Unresolvable type reference or unsupported built-in utility type 2:52:01 PM\n\n/Users/fly/Documents/nuxt-prop-type-issue/app/components/Comp.vue\n2 | import type { CompProps } from '#imports';\n3 | \n4 | defineProps\u003CPick\u003CCompProps, 'text'>>();\n | ^^^^^^^^^\n5 | \u003C/script>\n6 | \n Plugin: vite:vue\n File: /Users/fly/Documents/nuxt-prop-type-issue/app/components/Comp.vue\n at ScriptCompileContext.error (/Users/fly/Documents/nuxt-prop-type-issue/node_modules/.pnpm/@vue+compiler-sfc@3.5.21/node_modules/@vue/compiler-sfc/dist/compiler-sfc.cjs.js:19759:11)\n at innerResolveTypeElements (/Users/fly/Documents/nuxt-prop-type-issue/node_modules/.pnpm/@vue+compiler-sfc@3.5.21/node_modules/@vue/compiler-sfc/dist/compiler-sfc.cjs.js:22080:20)\n at resolveTypeElements (/Users/fly/Documents/nuxt-prop-type-issue/node_modules/.pnpm/@vue+compiler-sfc@3.5.21/node_modules/@vue/compiler-sfc/dist/compiler-sfc.cjs.js:21971:20)\n at resolveBuiltin (/Users/fly/Documents/nuxt-prop-type-issue/node_modules/.pnpm/@vue+compiler-sfc@3.5.21/node_modules/@vue/compiler-sfc/dist/compiler-sfc.cjs.js:22389:13)\n at innerResolveTypeElements (/Users/fly/Documents/nuxt-prop-type-issue/node_modules/.pnpm/@vue+compiler-sfc@3.5.21/node_modules/@vue/compiler-sfc/dist/compiler-sfc.cjs.js:22062:20)\n at resolveTypeElements (/Users/fly/Documents/nuxt-prop-type-issue/node_modules/.pnpm/@vue+compiler-sfc@3.5.21/node_modules/@vue/compiler-sfc/dist/compiler-sfc.cjs.js:21971:20)\n at resolveRuntimePropsFromType (/Users/fly/Documents/nuxt-prop-type-issue/node_modules/.pnpm/@vue+compiler-sfc@3.5.21/node_modules/@vue/compiler-sfc/dist/compiler-sfc.cjs.js:23678:20)\n at extractRuntimeProps (/Users/fly/Documents/nuxt-prop-type-issue/node_modules/.pnpm/@vue+compiler-sfc@3.5.21/node_modules/@vue/compiler-sfc/dist/compiler-sfc.cjs.js:23654:17)\n at genRuntimeProps (/Users/fly/Documents/nuxt-prop-type-issue/node_modules/.pnpm/@vue+compiler-sfc@3.5.21/node_modules/@vue/compiler-sfc/dist/compiler-sfc.cjs.js:23642:18)\n at Object.compileScript (/Users/fly/Documents/nuxt-prop-type-issue/node_modules/.pnpm/@vue+compiler-sfc@3.5.21/node_modules/@vue/compiler-sfc/dist/compiler-sfc.cjs.js:24762:21)\n at resolveScript (file:///Users/fly/Documents/nuxt-prop-type-issue/node_modules/.pnpm/@vitejs+plugin-vue@6.0.1_vite@7.1.5_jiti@2.5.1_terser@5.44.0_yaml@2.8.1__vue@3.5.21_typescript@5.9.2_/node_modules/@vitejs/plugin-vue/dist/index.js:309:36)\n at genScriptCode (file:///Users/fly/Documents/nuxt-prop-type-issue/node_modules/.pnpm/@vitejs+plugin-vue@6.0.1_vite@7.1.5_jiti@2.5.1_terser@5.44.0_yaml@2.8.1__vue@3.5.21_typescript@5.9.2_/node_modules/@vitejs/plugin-vue/dist/index.js:1755:17)\n at transformMain (file:///Users/fly/Documents/nuxt-prop-type-issue/node_modules/.pnpm/@vitejs+plugin-vue@6.0.1_vite@7.1.5_jiti@2.5.1_terser@5.44.0_yaml@2.8.1__vue@3.5.21_typescript@5.9.2_/node_modules/@vitejs/plugin-vue/dist/index.js:1641:53)\n at TransformPluginContext.handler (file:///Users/fly/Documents/nuxt-prop-type-issue/node_modules/.pnpm/@vitejs+plugin-vue@6.0.1_vite@7.1.5_jiti@2.5.1_terser@5.44.0_yaml@2.8.1__vue@3.5.21_typescript@5.9.2_/node_modules/@vitejs/plugin-vue/dist/index.js:2045:27)\n at file:///Users/fly/Documents/nuxt-prop-type-issue/node_modules/.pnpm/vite-plugin-inspect@11.3.3_@nuxt+kit@3.19.2_magicast@0.3.5__vite@7.1.5_jiti@2.5.1_terser@5.44.0_yaml@2.8.1_/node_modules/vite-plugin-inspect/dist/shared/vite-plugin-inspect.BzUKaD4x.mjs:403:26\n at hook.handler (file:///Users/fly/Documents/nuxt-prop-type-issue/node_modules/.pnpm/vite-plugin-inspect@11.3.3_@nuxt+kit@3.19.2_magicast@0.3.5__vite@7.1.5_jiti@2.5.1_terser@5.44.0_yaml@2.8.1_/node_modules/vite-plugin-inspect/dist/shared/vite-plugin-inspect.BzUKaD4x.mjs:376:14)\n at EnvironmentPluginContainer.transform (file:///Users/fly/Documents/nuxt-prop-type-issue/node_modules/.pnpm/vite@7.1.5_jiti@2.5.1_terser@5.44.0_yaml@2.8.1/node_modules/vite/dist/node/chunks/dep-M_KD0XSK.js:31325:51)\n at async loadAndTransform (file:///Users/fly/Documents/nuxt-prop-type-issue/node_modules/.pnpm/vite@7.1.5_jiti@2.5.1_terser@5.44.0_yaml@2.8.1/node_modules/vite/dist/node/chunks/dep-M_KD0XSK.js:26407:26)\n at async viteTransformMiddleware (file:///Users/fly/Documents/nuxt-prop-type-issue/node_modules/.pnpm/vite@7.1.5_jiti@2.5.1_terser@5.44.0_yaml@2.8.1/node_modules/vite/dist/node/chunks/dep-M_KD0XSK.js:27492:20)\n```",[3187],{"name":3188,"color":3189},"pending triage","E99695",33244,"nuxt","open","Compiler error when using utility types in prop definitions","2025-09-25T05:00:16Z","https://github.com/nuxt/nuxt/issues/33244",0.7031674,{"description":3198,"labels":3199,"number":3218,"owner":3191,"repository":3219,"state":3220,"title":3221,"updated_at":3222,"url":3223,"score":3224},"### Environment\n\n- Operating System - Ubuntu 22\n- Node Version: 22\n- Nuxt Version: 3.17.5\n- CLI Version: 3.25.1\n- Package Manager: pnpm@10.9.0\n\n### Is this bug related to Nuxt or Vue?\n\nNuxt\n\n### Version\n\n3.17.5\n\n### Reproduction\n\n```javascript\nconst fields = ref([\n {\n name: 'code',\n type: 'otp',\n placeholder: 'Enter 6-digit code',\n otp: {\n length: 6,\n placeholder: '●',\n },\n },\n])\n\nconst submitButtonOptions = computed(() => ({\n label: 'Verify Code',\n loading: loading.value,\n}))\n\u003C/script>\n\n\u003Ctemplate>\n \u003Cdiv class=\"flex min-h-screen items-center justify-center p-4\">\n \u003CUPageCard class=\"w-full max-w-md\">\n \u003CUAuthForm\n :schema=\"schema\"\n :state=\"credentials\"\n :fields=\"fields\"\n :loading=\"loading\"\n title=\"Multi-Factor Authentication\"\n subtitle=\"Enter the 6-digit code from your authenticator app to continue.\"\n :submit=\"submitButtonOptions\"\n @submit=\"verifyMFA\"\n >\n \u003Ctemplate #header>\n \u003CNuxtImg\n src=\"/thinkrocket-logo.png\"\n alt=\"ThinkRocket Logo\"\n width=\"100\"\n class=\"mx-auto\"\n preset=\"contain\"\n />\n \u003C/template>\n\n \u003Ctemplate #validation>\n \u003CUAlert\n v-if=\"mfaError\"\n color=\"error\"\n icon=\"i-lucide-alert-circle\"\n :title=\"mfaError\"\n class=\"mb-4\"\n />\n \u003C/template>\n\n \u003Ctemplate #footer>\n \u003Cdiv class=\"text-center space-y-2\">\n \u003Cp class=\"text-sm text-gray-600 dark:text-gray-300\">\n Check your authenticator app for the current code.\n \u003C/p>\n \u003CUButton variant=\"ghost\" size=\"sm\" :loading=\"loading\" @click=\"refreshChallenge\">\n \u003CUIcon name=\"i-lucide-refresh-cw\" class=\"h-4 w-4 mr-1\" />\n Get New Code\n \u003C/UButton>\n \u003C/div>\n \u003C/template>\n \u003C/UAuthForm>\n \u003C/UPageCard>\n \u003C/div>\n\u003C/template>\n```\n\n### Description\n\n`:fields` is throwing typescript error. Only an issue with `otp`. Looking in\n\n- `node_modules/.pnpm/@nuxt+ui-pro@3.1.3_@babel+parser@7.27.5_db0@0.3.2_better-sqlite3@11.10.0__embla-carouse_48b559106e80aa1b3007fc5d3af2ab7f/node_modules/@nuxt/ui-pro/dist/runtime/components/AuthForm.vue.d.ts`\n- `node_modules/.pnpm/@nuxt+ui@3.1.3_@babel+parser@7.27.5_db0@0.3.2_better-sqlite3@11.10.0__embla-carousel@8._6f36fdd0332a5dab432a961d27814af8/node_modules/@nuxt/ui/dist/runtime/components/PinInput.vue.d.ts`\n- `node_modules/.pnpm/reka-ui@2.3.1_typescript@5.8.3_vue@3.5.16_typescript@5.8.3_/node_modules/reka-ui/dist/index.d.ts`\n \nI'm not seeing what I'm missing. The [docs](https://ui.nuxt.com/components/auth-form#props) don't give any other details than the example.\n\n```\nVue: Type\n{\n name: string;\n type: string;\n placeholder: string;\n otp: {\n length: number;\n placeholder: string;\n };\n}[]\nis not assignable to type AuthFormField[]\nType\n{\n name: string;\n type: string;\n placeholder: string;\n otp: {\n length: number;\n placeholder: string;\n };\n}\nis not assignable to type AuthFormField\n```\n\n### Additional context\n\n_No response_\n\n### Logs\n\n```shell-script\n\n```",[3200,3203,3206,3209,3212,3215],{"name":3201,"color":3202},"bug","d73a4a",{"name":3204,"color":3205},"needs reproduction","CB47CF",{"name":3207,"color":3208},"v3","49DCB8",{"name":3210,"color":3211},"nuxt/ui-pro","00dc82",{"name":3213,"color":3214},"triage","ffffff",{"name":3216,"color":3217},"closed-by-bot","ededed",4317,"ui","closed","UAuthForm otp typescript error","2025-06-18T02:14:57Z","https://github.com/nuxt/ui/issues/4317",0.63437444,{"description":3226,"labels":3227,"number":3231,"owner":3191,"repository":3219,"state":3220,"title":3232,"updated_at":3233,"url":3234,"score":3235},"### Environment\n\n- Operating System: Windows_NT\n- Node Version: v24.2.0\n- Nuxt Version: 3.17.7\n- CLI Version: 3.25.1\n- Nitro Version: 2.11.13\n- Package Manager: bun@1.2.17\n- Builder: -\n- User Config: future, experimental, css, modules, nitro, i18n, imports, runtimeConfig, icon, compatibilityDate\n- Runtime Modules: @nuxtjs/i18n@9.5.6, @nuxt/ui-pro@3.2.0, @nuxt/eslint@1.5.2, @nuxtjs/html-validator@2.1.0, @nuxt/image@1.10.0, @vueuse/nuxt@13.5.0, @artmizu/nuxt-prometheus@2.5.0, @nuxtjs/seo@3.1.0\n- Build Modules: -\n\n### Is this bug related to Nuxt or Vue?\n\nNuxt\n\n### Version\n\nv3.2.0\n\n### Reproduction\n\nThe issue is really straight-forward, example code: \n\n```vue\n\u003Cscript lang=\"ts\" setup>\nconst value = ref(\"\");\nconst items = [\"Item 1\", \"Item 2\", \"Item 3\"];\n\u003C/script>\n\n\u003Ctemplate>\n \u003Cdiv class=\"space-y-4\">\n \u003CUFormField label=\"USelectMenu\">\n \u003CUSelectMenu v-model=\"value\" placeholder=\"Placeholder\" :items />\n \u003C/UFormField>\n \u003CUFormField label=\"USelect\">\n \u003CUSelect v-model=\"value\" placeholder=\"Placeholder\" :items />\n \u003C/UFormField>\n \u003C/div>\n\u003C/template>\n\n```\n\n### Description\n\nIf the model-value is an empty string, the USelectMenu placeholder doesn't show. This behavior is different than the USelect component, where the placeholder is shown without having to use `undefined` as the v-model's value. \n\n### Additional context\n\nI know I could use `undefined` for the value here, however in my real code the v-model is bound to a non-optional value, so if I were to initialize it as `undefined`, TypeScript would freak out. Also, because these components are really similar, these behaviors shouldn't differ in my opinion. \n\n\u003Cimg width=\"200\" height=\"143\" alt=\"Image\" src=\"https://github.com/user-attachments/assets/49a5d11d-2212-41d7-81b3-202692a20a8a\" />\n\n### Logs\n\n```shell-script\n\n```",[3228,3229,3230],{"name":3201,"color":3202},{"name":3207,"color":3208},{"name":3213,"color":3214},4528,"[SelectMenu]: Placeholder value not shown if v-model is an empty string","2025-07-16T10:43:41Z","https://github.com/nuxt/ui/issues/4528",0.67417943,{"description":3237,"labels":3238,"number":3242,"owner":3191,"repository":3219,"state":3220,"title":3243,"updated_at":3244,"url":3245,"score":3246},"### Environment\n\n- Operating System: Darwin\n- Node Version: v23.9.0\n- Nuxt Version: -\n- CLI Version: 3.28.0\n- Nitro Version: -\n- Package Manager: npm@11.3.0\n- Builder: -\n- User Config: -\n- Runtime Modules: -\n- Build Modules: -\n\n### Is this bug related to Nuxt or Vue?\n\nNuxt\n\n### Version\n\n4.0.1\n\n### Reproduction\n\nhttps://github.com/awais019/nuxt-ui-extend-bug\n\n### Description\n\nI am trying to create a custom type for my generic Form component. But when I try to use it in defineProps. It gives me this error.\n\n```\n[@vue/compiler-sfc] Failed to resolve extends base type.\n If this previously worked in 3.2, you can instruct the compiler \nto ignore this extend by adding /* @vue-ignore */ \nbefore it, for example: interface Props extends /* @vue-ignore \n*/ Base {} Note: both in 3.2 or with the ignore, the properties in \nthe base type are treated as fallthrough attrs \n14 | \u003Ctemplate> 15 | \u003Cdiv>Form\u003C/div> 16 | \u003C/template> | ^ 17 |\n```\n\n### Additional context\n\n_No response_\n\n### Logs\n\n```shell-script\n\n```",[3239,3240,3241],{"name":3201,"color":3202},{"name":3207,"color":3208},{"name":3213,"color":3214},4699,"Not able to extend `FormProps`.","2025-08-11T10:24:22Z","https://github.com/nuxt/ui/issues/4699",0.6755306,{"description":3248,"labels":3249,"number":3252,"owner":3191,"repository":3219,"state":3220,"title":3253,"updated_at":3254,"url":3255,"score":3256},"### Environment\n\n- Operating System: Windows_NT\n- Node Version: v24.2.0\n- Nuxt Version: 4.0.3\n- CLI Version: 3.28.0\n- Nitro Version: 2.12.4\n- Package Manager: bun@1.2.17\n- Builder: -\n- User Config: css, modules, nitro, i18n, imports, runtimeConfig, icon, compatibilityDate\n- Runtime Modules: @nuxtjs/i18n@10.0.6, @nuxt/ui-pro@3.3.1, @nuxt/eslint@1.9.0, @nuxtjs/html-validator@2.1.0, @nuxt/image@1.11.0, @vueuse/nuxt@13.7.0, @artmizu/nuxt-prometheus@2.5.2, @nuxtjs/seo@3.1.0\n- Build Modules: -\n\n### Is this bug related to Nuxt or Vue?\n\nNuxt\n\n### Version\n\nv3.3.1\n\n### Reproduction\n\n```vue\n\u003Cscript lang=\"ts\" setup>\nconst value = ref(\"\");\nconst items: Array\u003Cstring | number> = [1, \"2\", 3];\n\u003C/script>\n\n\u003Ctemplate>\n \u003CUForm :state=\"value\" class=\"flex max-w-72 flex-col space-y-4 py-8\">\n \u003CUFormField label=\"UInputMenu\">\n \u003CUInputMenu v-model=\"value\" :items placeholder=\"UInputMenu\" />\n \u003C/UFormField>\n \u003CUFormField label=\"USelect\">\n \u003CUSelect v-model=\"value\" :items placeholder=\"USelect\" />\n \u003C/UFormField>\n \u003CUFormField label=\"USelectMenu\">\n \u003CUSelectMenu v-model=\"value\" :items placeholder=\"USelectMenu\" />\n \u003C/UFormField>\n \u003C/UForm>\n\u003C/template>\n```\n\n### Description\n\nAfter updating to version 3.3.1, the InputMenu, Select and SelectMenu component's placeholder value is not shown, if the value is not found in the items array. In version 3.3.0 the placeholder correctly shows up.\n\nNuxt UI 3.3.0\n\u003Cimg width=\"350\" height=\"300\" alt=\"Image\" src=\"https://github.com/user-attachments/assets/2b0937d4-7640-4277-8169-ff192bc01d97\" />\n\nNuxt UI 3.3.1\n\u003Cimg width=\"410\" height=\"285\" alt=\"Image\" src=\"https://github.com/user-attachments/assets/3d744e11-748b-4b3c-a236-fcee8fdcd765\" />\n\n\u003Cimg width=\"395\" height=\"298\" alt=\"Image\" src=\"https://github.com/user-attachments/assets/ac7be307-ca5c-4957-a2fb-5721eebdea07\" />\n\nIf the v-model is `undefined` it works just like in 3.3.0, however in my projects I feel like that's not always achievable because of type definitions.\nI know I could set the default value to one of the items' values, but what if I don't want to populate the component by default and just show the placeholder? \nFor this to work in version 3.3.1 I'd have to loosen up the type definitions, so that required fields are not required anymore, which is wrong and I don't feel like I should have to do to keep the behavior of a UI component. \n\nShouldn't we have an exception for falsy values that are sometimes used as default values (empty string, 0...), so the placeholder can be shown without having to explicitly have `undefined` as the default value?\n\n### Additional context\n\nI haven't dug that deep, but I think #4689 introduced this behavior to these components. \n\n### Logs\n\n```shell-script\n\n```",[3250,3251],{"name":3201,"color":3202},{"name":3207,"color":3208},4812,"[InputMenu,Select,SelectMenu] Placeholder not showing in v3.3.1, if item is not found and default value is not undefined or null","2025-08-27T14:42:51Z","https://github.com/nuxt/ui/issues/4812",0.6774347,{"description":3258,"labels":3259,"number":3266,"owner":3191,"repository":3219,"state":3220,"title":3267,"updated_at":3268,"url":3269,"score":3270},"### Environment\n\n- Operating System: Linux\n- Node Version: v20.12.0\n- Nuxt Version: 4.1.2\n- CLI Version: 3.28.0\n- Nitro Version: 2.12.6\n- Package Manager: pnpm@8.15.6\n- Builder: -\n- User Config: modules, devtools, compatibilityDate, future, css\n- Runtime Modules: @nuxt/ui@4.0.0-alpha.2\n- Build Modules: -\n\n### Is this bug related to Nuxt or Vue?\n\nNuxt\n\n### Package\n\nv4.0.0-alpha.x\n\n### Version\n\nv4.0.0-alpha.2\n\n### Reproduction\n\nhttps://codesandbox.io/p/sandbox/peaceful-butterfly-hx59m6\n\n### Description\n\nHello, in v4 empty `FormField`s do not render error messages anymore. In v3 I could use an empty field in my form to display general validation errors from the backend which cannot be assigned to a single field.\n\nAlso an additional question regarding form error handling: In #3482 a feature to handle general errors was added to the `Form` component, but I can't get this to work. What kind of error needs to be set so the error shows up in the Form error slot? Could a little section describing this feature maybe be added to the docs?\n\nThanks! 🙏🏻\n\n### Example\n```vue\n\u003Cscript setup lang=\"ts\">\nconst state = {};\n\nconst formRef = useTemplateRef(\"formRef\");\n\nfunction setErrors() {\n formRef.value?.setErrors([\n { name: \"field1\", message: \"Error on field1\" },\n { name: \"field2\", message: \"Error on field2\" },\n { message: \"General error\" },\n ]);\n}\n\u003C/script>\n\n\u003Ctemplate>\n \u003Cdiv class=\"space-y-2 p-10\">\n \u003CUButton @click=\"setErrors\">Set Errors\u003C/UButton>\n\n \u003CUForm :state ref=\"formRef\">\n \u003C!-- ✅ Works -->\n \u003CUFormField name=\"field1\">\n \u003CUInput />\n \u003C/UFormField>\n\n \u003C!-- ❌ Does not show the error -->\n \u003CUFormField name=\"field2\" />\n\n \u003C!-- ❓ Is this supposed to show the no-name error? -->\n \u003CUFormField />\n \u003C/UForm>\n \u003C/div>\n\u003C/template>\n\n```\n\n### Additional context\n\n_No response_\n\n### Logs\n\n```shell-script\n\n```",[3260,3261,3263],{"name":3201,"color":3202},{"name":3262,"color":3208},"v4",{"name":3264,"color":3265},"p1-high","F66A0A",5013,"Empty `FormField` does not render error messages","2025-09-22T08:24:46Z","https://github.com/nuxt/ui/issues/5013",0.68646216,{"description":3272,"labels":3273,"number":3277,"owner":3191,"repository":3191,"state":3220,"title":3278,"updated_at":3279,"url":3280,"score":3281},"I'm getting a similar error:\r\n\r\n `Property X does not exist on type 'CreateComponentPublicInstance\u003CReadonly\u003CExtractPropTypes\u003C{}>>, { Menu: typeof Menu; MenuButton: typeof MenuButton; MenuItem: typeof MenuItem; MenuItems: typeof MenuItems; Popover: typeof Popover; ... 10 more ...; handleLinkClick: typeof handleLinkClick; }, ... 17 more ..., {}>'.ts-plugin(2339)`\r\n\r\nWhere `X` is any function or variable in the utils folder. The app works fine on live and dev mode so nuxt is auto-importing correctly, but I think vscode's \"Vue - Official\" extension isn't understanding that this is auto-imported.\r\n\r\nThis only happens in the `\u003Ctemplate>` section, it doesn't error inside `\u003Cscript>`.\r\n\r\nThe error wasn't here when I had Nuxt 3.11.2, but I recently upgraded to 3.12.4 and it showed up. Is this happening for anyone else?\r\n\r\n_Originally posted by @jeffreytung7 in https://github.com/nuxt/nuxt/issues/28373#issuecomment-2272179792_",[3274,3275],{"name":3188,"color":3189},{"name":3204,"color":3276},"FBCA04",28707,"Property X does not exist on type 'CreateComponentPublicInstance\u003CReadonly\u003CExtractPropTypes\u003C{}>>","2025-02-19T14:13:18Z","https://github.com/nuxt/nuxt/issues/28707",0.6873868,{"description":3283,"labels":3284,"number":3289,"owner":3191,"repository":3191,"state":3220,"title":3290,"updated_at":3291,"url":3292,"score":3293},"### Versions\r\n\r\n- nuxt: 2.15.3\r\n- node: v14.16.0\r\n\r\n### Reproduction\r\n\r\nI set up a fresh installation of Nuxt today for a project. I use the above mentioned version with Typescript.\r\n\r\nThen I created the component below and created a constant there in the data() method using a constant declaration and also assigned a type to it, as well as returned it via the return object. \r\n\r\nWhen running `npm run dev` I got the following error message, which I can't understand. Because I wrote the same thing in another project with an older Nuxt version and it could be executed.\r\n\r\n```bash\r\n✔ Builder initialized 21:42:22\r\n✔ Nuxt files generated 21:42:22\r\n\r\n✖ Client\r\n Compiled with some errors in 5.93s\r\n\r\n\r\n ERROR Failed to compile with 1 errors friendly-errors 21:42:29\r\n\r\n\r\n ERROR in ./components/form.vue?vue&type=script&lang=ts& friendly-errors 21:42:29\r\n\r\nModule parse failed: Unexpected token (29:17) friendly-errors 21:42:29\r\nFile was processed with these loaders:\r\n * ./node_modules/vue-loader/lib/index.js\r\nYou may need an additional loader to handle the result of these loaders.\r\n| export default Vue.extend({\r\n| data() {\r\n> const taxable: Taxable | null = null\r\n| \r\n| return {\r\n friendly-errors 21:42:29\r\n @ ./components/form.vue?vue&type=script&lang=ts& 1:0-116 1:132-135 1:137-250 1:137-250\r\n @ ./components/form.vue\r\n @ ./.nuxt/components/plugin.js\r\n @ ./.nuxt/index.js\r\n @ ./.nuxt/client.js\r\n @ multi ./node_modules/eventsource-polyfill/dist/browserify-eventsource.js (webpack)-hot-middleware/client.js?reload=true&timeout=30000&ansiColors=&overlayStyles=&path=%2F__webpack_hmr%2Fclient&name=client ./.nuxt/client.js\r\n friendly-errors 21:42:29\r\nℹ Waiting for file changes 21:42:29\r\nℹ Memory usage: 201 MB (RSS: 317 MB) 21:42:29\r\nℹ Listening on: http://localhost:3000/ 21:42:29\r\n```\r\n\r\n\r\n### Steps to reproduce\r\nI have created this SFC.\r\n\r\n```vue\r\n\u003Ctemplate>\r\n \u003Csection class=\"relative w-full h-auto py-8\">\r\n \u003C!-- some html stuff - not interested! -->\r\n \u003C/section>\r\n\u003C/template>\r\n\r\n\u003Cscript lang=\"ts\">\r\nimport Vue from 'vue'\r\nimport { Taxable } from '~/interfaces/index' // return a valid typescript interface\r\n\r\nexport default Vue.extend({\r\n data() {\r\n const taxable: Taxable | null = null\r\n\r\n return {\r\n taxable,\r\n }\r\n }\r\n})\r\n\u003C/script>\r\n\r\n\u003Cstyle lang=\"scss\">\r\n// some styling\r\n\u003C/style>\r\n```\r\n\r\n### What is Expected?\r\nI expect this to compile correctly and launch the app.\r\n\r\n### What is actually happening?\r\nBuild aborts.",[3285,3286],{"name":3188,"color":3189},{"name":3287,"color":3288},"2.x","d4c5f9",9047,"Nuxt build aborts on const declaration in data() - Typescript","2023-01-22T15:38:48Z","https://github.com/nuxt/nuxt/issues/9047",0.6878412,{"description":3295,"labels":3296,"number":3300,"owner":3191,"repository":3219,"state":3220,"title":3301,"updated_at":3302,"url":3303,"score":3304},"### Environment\n\n- Operating System: `Linux`\n- Node Version: `v20.19.2`\n- Nuxt Version: `4.1.2`\n- CLI Version: `3.28.0`\n- Nitro Version: `2.12.6`\n- Package Manager: `npm@9.2.0`\n- Builder: `-`\n- User Config: `compatibilityDate`, `devtools`, `modules`, `css`\n- Runtime Modules: `@nuxt/ui@4.0.0-alpha.2`, `nuxt-auth-utils@0.5.25`\n- Build Modules: `-`\n\n\n### Is this bug related to Nuxt or Vue?\n\nNuxt\n\n### Package\n\nv4.0.0-alpha.x\n\n### Version\n\nv4.0.0-alpha.2\n\n### Reproduction\n\n-\n\n### Description\n\nAs the title says, you can't use \"number\" as a input type without TypeScript yelling at you.\n\n### Additional context\n\n_No response_\n\n### Logs\n\n```shell-script\n\n```",[3297,3298,3299],{"name":3201,"color":3202},{"name":3213,"color":3214},{"name":3262,"color":3208},5005,"AuthFormField does not support \"number\" as a valid type","2025-09-25T16:56:32Z","https://github.com/nuxt/ui/issues/5005",0.6888153,{"description":3306,"labels":3307,"number":3318,"owner":3191,"repository":3191,"state":3220,"title":3319,"updated_at":3320,"url":3321,"score":3322},"### Environment\r\n\r\n- Operating System: Darwin\r\n- Node Version: v18.14.0\r\n- Nuxt Version: 3.6.1\r\n- Nitro Version: 2.5.2\r\n- Package Manager: yarn@1.22.19\r\n- Builder: vite\r\n- User Config: -\r\n- Runtime Modules: -\r\n- Build Modules: -\r\n\r\n**VsCode 1.79.2**\r\n- vscode.typescript-language-features: disabled\r\n- Vue.volar: 1.8.3, enabled\r\n- Vue.vscode-typescript-vue-plugin: 1.8.3, enabled\r\n\r\n### Reproduction\r\n\r\nhttps://github.com/niklas-may/nuxt-module-issue-reproduction\r\n\r\n### Describe the bug\r\n\r\n**Preface**\r\n_Thank you for your amazing work on Nuxt! I am not sure where this issue is best raised, Nuxt, VsCode or Vue. But due to the special typescript tooling with auto imports, I thought it's best to start here, and would be happy to hear if anybody observed a similar behaviour or has a solution._ \r\n\r\n**Description**\r\nWhen I open `~/.nuxt/components.d.ts` in VsCode and hover over an imported component, VsCode IntelliSense popover displays the correct types for this component.\r\nBut when I use the component in any other components template block, for example `~/app.vue`, the typing is missing the prop types.\r\n\r\n### Component and Type Definitions\r\n\r\n`~/../src/runtime/MyButton.vue`\r\n\r\n```vue\r\n\u003Ctemplate>\r\n \u003Cdiv style=\"border: 1px solid pink\">\r\n \u003Cslot />\r\n \u003C/div>\r\n\u003C/template>\r\n\u003Cscript setup lang=\"ts\">\r\nwithDefaults(\r\n defineProps\u003C{\r\n variant: \"fill\" | \"ghost\";\r\n }>(),\r\n { variant: \"fill\" }\r\n);\r\n\u003C/script>\r\n```\r\n\r\n`~/.nuxt/components.d.ts`\r\n\r\n```TypeScript\r\ndeclare module 'vue' {\r\n export interface GlobalComponents {\r\n //...\r\n 'MyButton': typeof import(\"../../src/runtime/components/MyButton.vue\")['default']\r\n //...\r\n }\r\n}\r\n\r\nexport const MyButton: typeof import(\"../../src/runtime/components/MyButton.vue\")['default']\r\n\r\nexport const componentNames: string[]\r\n```\r\n\r\n\r\n### Correct Intellisense\r\n\r\nVsCode popopver hovering `'MyButton'` in `~/.nuxt/components.d.ts`\r\n\r\n```TypeScript\r\n(property) GlobalComponents['MyButton']: __VLS_WithTemplateSlots\u003CDefineComponent\u003C{\r\n variant: {\r\n type: PropType\u003C\"fill\" | \"ghost\">;\r\n required: true;\r\n default: string;\r\n };\r\n}, {}, unknown, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, ... 5 more ..., {}>, {\r\n ...;\r\n}>\r\n````\r\n\r\n### Wrong Intellisense\r\n\r\nVsCode popopver hovering `\u003CMyButton />` in the template block of `~/app.vue` (or any other template)\r\n\r\n```TypeScript\r\n(property) 'MyButton': DefineComponent\u003C{}, {}, any>\r\n```\r\n\r\n### Additional context\r\n\r\nThe above example is the current state of the reproduction repo. But a different, but similar behavior happened in other reports (for example a yarn workspace repo). Strange enough, sometimes, it works fine...\r\n\r\n### Logs\r\n\r\n_No response_",[3308,3311,3314,3315],{"name":3309,"color":3310},"types","2875C3",{"name":3312,"color":3313},"3.x","29bc7f",{"name":3188,"color":3189},{"name":3316,"color":3317},"upstream","E8A36D",21933,"Component appears to be untyped in template block","2023-12-12T14:36:22Z","https://github.com/nuxt/nuxt/issues/21933",0.68913823,["Reactive",3324],{},["Set"],["ShallowReactive",3327],{"$fTRc1wZytZ_XrK4EfJfei_Sz-An4H4Yy6syhVxH_PVJc":-1,"$fBkNWEbBr1lX6wq4rRZnmsJlk2XUqb6H7SlLe6HXwvjU":-1},"/nuxt/ui/5073"]