\n\t\u003C/UApp>\n\u003C/template>\n```\n\n\nRemoving the `UApp` for a `div` or `NuxtLayout` works\n\n### Description\n\nCrashes the app. The error seems to be related to the Button component, but even on a brand-new Nuxt project with no content (without even a page) it show the error below:\n\nWhen I use NuxtLayout (or other) instead of `UApp` and use the `UButton` component anywhere, it also cause the same issue\n\n### Logs\n\n```shell-script\n500\n[vite-node] [plugin:vite:vue] [VITE_ERROR] /@fs/Users/jeannen/Dev/apps/node_modules/@nuxt/ui/dist/runtime/components/Button.vue\n\n\u003Cscript lang=\"ts\">\nimport { tv, type VariantProps } from 'tailwind-variants'\nimport type { AppConfig } from '@nuxt/schema'\nimport _appConfig from '#build/app.config'\nimport theme from '#build/ui/button'\nimport type { LinkProps } from './Link.vue'\nimport type { UseComponentIconsProps } from '../composables/useComponentIcons'\nimport { extendDevtoolsMeta } from '../composables/extendDevtoolsMeta'\nimport type { AvatarProps } from '../types'\nimport type { PartialString } from '../types/utils'\n\nconst appConfig = _appConfig as AppConfig & { ui: { button: Partial\u003Ctypeof theme> } }\n\nconst button = tv({ extend: tv(theme), ...(appConfig.ui?.button || {}) })\n\ntype ButtonVariants = VariantProps\u003Ctypeof button>\n\nexport interface ButtonProps extends UseComponentIconsProps, Omit\u003CLinkProps, 'raw' | 'custom'> {\n label?: string\n color?: ButtonVariants['color']\n variant?: ButtonVariants['variant']\n size?: ButtonVariants['size']\n /** Render the button with equal padding on all sides. */\n square?: boolean\n /** Render the button full width. */\n block?: boolean\n /** Set loading state automatically based on the `@click` promise state */\n loadingAuto?: boolean\n onClick?: ((event: MouseEvent) => void | Promise\u003Cvoid>) | Array\u003C((event: MouseEvent) => void | Promise\u003Cvoid>)>\n class?: any\n ui?: PartialString\u003Ctypeof button.slots>\n}\n\n// Injects props to use as default in the devtools playground.\nextendDevtoolsMeta\u003CButtonProps>({ defaultProps: { label: 'Click me!' } })\n\nexport interface ButtonSlots {\n leading(props?: {}): any\n default(props?: {}): any\n trailing(props?: {}): any\n}\n\u003C/script>\n\n\u003Cscript setup lang=\"ts\">\nimport { type Ref, computed, ref, inject } from 'vue'\nimport { useForwardProps } from 'radix-vue'\nimport { useComponentIcons } from '../composables/useComponentIcons'\nimport { useButtonGroup } from '../composables/useButtonGroup'\nimport { formLoadingInjectionKey } from '../composables/useFormField'\nimport { omit } from '../utils'\nimport { pickLinkProps } from '../utils/link'\nimport UIcon from './Icon.vue'\nimport UAvatar from './Avatar.vue'\nimport ULink from './Link.vue'\n\nconst props = defineProps\u003CButtonProps>()\nconst slots = defineSlots\u003CButtonSlots>()\n\nconst linkProps = useForwardProps(pickLinkProps(props))\n\nconst { orientation, size: buttonSize } = useButtonGroup\u003CButtonProps>(props)\n\nconst loadingAutoState = ref(false)\nconst formLoading = inject\u003CRef\u003Cboolean> | undefined>(formLoadingInjectionKey, undefined)\n\nasync function onClickWrapper(event: MouseEvent) {\n loadingAutoState.value = true\n const callbacks = Array.isArray(props.onClick) ? props.onClick : [props.onClick]\n try {\n await Promise.all(callbacks.map(fn => fn?.(event)))\n } finally {\n loadingAutoState.value = false\n }\n}\n\nconst isLoading = computed(() => {\n return props.loading || (props.loadingAuto && (loadingAutoState.value || (formLoading?.value && props.type === 'submit')))\n})\n\nconst { isLeading, isTrailing, leadingIconName, trailingIconName } = useComponentIcons(\n computed(() => ({ ...props, loading: isLoading.value }))\n)\n\nconst ui = computed(() => button({\n color: props.color,\n variant: props.variant,\n size: buttonSize.value,\n loading: isLoading.value,\n block: props.block,\n square: props.square || (!slots.default && !props.label),\n leading: isLeading.value,\n trailing: isTrailing.value,\n buttonGroup: orientation.value\n}))\n\u003C/script>\n\n\u003Ctemplate>\n \u003CULink\n :type=\"type\"\n :disabled=\"disabled || isLoading\"\n :class=\"ui.base({ class: [props.class, props.ui?.base] })\"\n v-bind=\"omit(linkProps, ['type', 'disabled'])\"\n raw\n @click=\"onClickWrapper\"\n >\n \u003Cslot name=\"leading\">\n \u003CUIcon v-if=\"isLeading && leadingIconName\" :name=\"leadingIconName\" :class=\"ui.leadingIcon({ class: props.ui?.leadingIcon })\" />\n \u003CUAvatar v-else-if=\"!!avatar\" :size=\"((props.ui?.leadingAvatarSize || ui.leadingAvatarSize()) as AvatarProps['size'])\" v-bind=\"avatar\" :class=\"ui.leadingAvatar({ class: props.ui?.leadingAvatar })\" />\n \u003C/slot>\n\n \u003Cslot>\n \u003Cspan v-if=\"label\" :class=\"ui.label({ class: props.ui?.label })\" data-v-inspector=\"../../../node_modules/@nuxt/ui/dist/runtime/components/Button.vue:112:7\">\n {{ label }}\n \u003C/span>\n \u003C/slot>\n\n \u003Cslot name=\"trailing\">\n \u003CUIcon v-if=\"isTrailing && trailingIconName\" :name=\"trailingIconName\" :class=\"ui.trailingIcon({ class: props.ui?.trailingIcon })\" />\n \u003C/slot>\n \u003C/ULink>\n\u003C/template>\n\nat /@fs/Users/jeannen/Dev/apps/node_modules/@nuxt/ui/dist/runtime/components/Button.vue\n```\n\n### Additional context\n\n_No response_\n```",[2938,2940],{"name":2885,"color":2939},"d73a4a",{"name":2903,"color":2904},2824,"`UApp` / `UButton` crashes the whole app","2024-12-05T13:49:01Z","https://github.com/nuxt/ui/issues/2824",0.69235677,{"description":2947,"labels":2948,"number":2950,"owner":2874,"repository":2951,"state":2892,"title":2952,"updated_at":2953,"url":2954,"score":2955},"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!",[2949],{"name":2868,"color":2869},94,"icon","Iconify cookies","2024-12-21T12:20:21Z","https://github.com/nuxt/icon/issues/94",0.69368315,{"description":2957,"labels":2958,"number":2975,"owner":2874,"repository":2874,"state":2892,"title":2976,"updated_at":2977,"url":2978,"score":2979},"### Environment\n\n- Operating System: Linux\r\n- Node Version: v18.18.0\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@9.4.2\r\n- Builder: -\r\n- User Config: experimental, typescript\r\n- Runtime Modules: -\r\n- Build Modules: -\n\n### Reproduction\n\nhttps://stackblitz.com/edit/github-utxs4m\n\n### Describe the bug\n\nBuild time type-checking isn't compatible with the experimental typed router when importing `unplugin-vue-router` generated types.\n\n### Additional context\n\n_No response_\n\n### Logs\n\n```shell-script\n> build\r\n> nuxt build\r\n\r\nNuxt 3.8.2 with Nitro 2.8.1\r\nℹ Building client...\r\nℹ vite v4.5.0 building for production...\r\nℹ transforming...\r\nℹ ✓ 120 modules transformed.\r\nInspect report generated at /home/projects/github-utxs4m/.nuxt/analyze/.vite-inspect\r\nℹ rendering chunks...\r\nℹ computing gzip size...\r\nℹ .nuxt/dist/client/manifest.json 1.84 kB │ gzip: 0.37 kB\r\nℹ .nuxt/dist/client/_nuxt/error-500.c5df6088.css 1.95 kB │ gzip: 0.74 kB\r\nℹ .nuxt/dist/client/_nuxt/error-404.7fc72018.css 3.63 kB │ gzip: 1.12 kB\r\nℹ .nuxt/dist/client/_nuxt/index.e9d2048e.js 0.24 kB │ gzip: 0.20 kB\r\nℹ .nuxt/dist/client/_nuxt/vue.f36acd1f.37c7292d.js 0.39 kB │ gzip: 0.27 kB\r\nℹ .nuxt/dist/client/_nuxt/error-500.d0d57895.js 1.92 kB │ gzip: 1.01 kB\r\nℹ .nuxt/dist/client/_nuxt/error-404.5f656853.js 6.41 kB │ gzip: 2.83 kB\r\nℹ .nuxt/dist/client/_nuxt/entry.4928063c.js 145.34 kB │ gzip: 55.20 kB\r\nℹ ✓ built in 2.07s\r\n✔ Client built in 2099ms\r\nℹ Building server...\r\nℹ vite v4.5.0 building SSR bundle for production...\r\nℹ transforming...\r\nℹ ✓ 64 modules transformed.\r\nInspect report generated at /home/projects/github-utxs4m/.nuxt/analyze/.vite-inspect\r\nℹ rendering chunks...\r\nℹ .nuxt/dist/server/_nuxt/error-404-styles.1e0dde27.mjs 0.15 kB\r\nℹ .nuxt/dist/server/_nuxt/error-500-styles.cf4b3e80.mjs 0.15 kB\r\nℹ .nuxt/dist/server/styles.mjs 0.35 kB\r\nℹ .nuxt/dist/server/_nuxt/index-6a088328.js 0.98 kB │ map: 5.93 kB\r\nℹ .nuxt/dist/server/_nuxt/index-3da784f0.js 1.15 kB │ map: 0.73 kB\r\nℹ .nuxt/dist/server/_nuxt/island-renderer-5c93f643.js 1.15 kB │ map: 1.54 kB\r\nℹ .nuxt/dist/server/_nuxt/error-500-styles-1.mjs-8fa81fcc.js 2.17 kB │ map: 0.12 kB\r\nℹ .nuxt/dist/server/_nuxt/error-500-55daa1c6.js 3.10 kB │ map: 3.79 kB\r\nℹ .nuxt/dist/server/_nuxt/error-404-styles-1.mjs-e0837f4f.js 3.86 kB │ map: 0.12 kB\r\nℹ .nuxt/dist/server/_nuxt/error-404-979db9c1.js 10.08 kB │ map: 20.05 kB\r\nℹ .nuxt/dist/server/server.mjs 38.23 kB │ map: 88.94 kB\r\nℹ ✓ built in 803ms\r\n✔ Server built in 821ms\r\n[nitro] ✔ Generated public .output/public\r\n[nitro] ℹ Building Nitro Server (preset: node-server)\r\npages/index.vue(2,15): error TS2305: Module '\"#vue-router\"' has no exported member 'RouteLocationNormalized'.\r\npages/index.vue(2,40): error TS2305: Module '\"#vue-router\"' has no exported member 'RouteLocationRaw'.\r\npages/index.vue(3,36): error TS2307: Cannot find module 'vue-router/auto/routes' or its corresponding type declarations.\n```\n",[2959,2962,2965,2968,2969,2972],{"name":2960,"color":2961},"good first issue","fbca04",{"name":2963,"color":2964},"types","2875C3",{"name":2966,"color":2967},"3.x","29bc7f",{"name":2885,"color":2939},{"name":2970,"color":2971},"pages","00DFB5",{"name":2973,"color":2974},"🔨 p3-minor","FBCA04",24561,"`experimental.typedPages` incompatible with `typescript.typeCheck`","2024-02-03T23:16:44Z","https://github.com/nuxt/nuxt/issues/24561",0.70218813,{"description":2981,"labels":2982,"number":2992,"owner":2874,"repository":2874,"state":2892,"title":2993,"updated_at":2994,"url":2995,"score":2996},"### Environment\n\n```\r\n- Operating System: Linux\r\n- Node Version: v20.11.0\r\n- Nuxt Version: 3.10.3\r\n- CLI Version: 3.10.1\r\n- Nitro Version: 2.9.0\r\n- Package Manager: bun@1.0.29\r\n- Builder: -\r\n- User Config: app, devtools, modules, build, sourcemap, runtimeConfig, css, imports\r\n- Runtime Modules: @pinia/nuxt@0.5.1, @pinia-plugin-persistedstate/nuxt@1.2.0, @unocss/nuxt@0.58.5, @vueuse/nuxt@10.9.0\r\n- Build Modules: -\r\n```\n\n### Reproduction\n\n```\r\nconst { data: testData } = useAsyncData\u003C{ id: 1, name: string }[] | null>('some', () => $fetch('/api/some'))\r\ntype TestDataType = MaybeRef\u003Cany[] | null>\r\ntype TestGeneric\u003CT extends TestDataType> = T extends MaybeRef\u003Cinfer U> ? U : T\r\ntype Test = TestGeneric\u003Ctypeof testData>\r\n```\r\n\r\n\r\n\r\n\n\n### Describe the bug\n\nIt was all fine till yesterday I think,\r\nI ran package updates, then this happenes.\r\nIt also happens on vueuse's some functions.\r\n\r\nAny ref types that goes into generic or function arg throws this error about [RefSymbol]\r\n\r\n```\r\nType 'Ref\u003C{ id: 1; name: string; }[] | null>' does not satisfy the constraint 'TestDataType'.\r\n Property '[RefSymbol]' is missing in type 'Ref\u003C{ id: 1; name: string; }[] | null>' but required in type 'Ref\u003Cany[] | null>'.ts(2344)\r\nreactivity.d.ts(420, 5): '[RefSymbol]' is declared here.\r\n```\n\n### Additional context\n\nI see vue's last update is from 20 hours ago,\r\nso I did \r\nnuxi cleanup\r\nremoved all the caches and lockfile of package manager\r\nremoved node_modules\r\nand re installed with vue 3.4.20,\r\nbut it wasn't fixed.\n\n### Logs\n\n_No response_",[2983,2984,2987,2990],{"name":2966,"color":2967},{"name":2985,"color":2986},"pending triage","E99695",{"name":2988,"color":2989},"upstream","E8A36D",{"name":2991,"color":2974},"needs reproduction",26009,"typescript error on Ref type","2024-03-04T10:26:04Z","https://github.com/nuxt/nuxt/issues/26009",0.70258224,{"description":2998,"labels":2999,"number":3001,"owner":2874,"repository":3002,"state":2892,"title":3003,"updated_at":3004,"url":3005,"score":3006},"### 🐛 The bug\n\n\r\n```\r\n ERROR(vue-tsc) Binding element 'Vimeo' implicitly has an 'any' type.\r\n FILE D:/dev/test1/node_modules/.pnpm/@nuxt+scripts@0.8.4_@nuxt+devtools@1.4.1_rollup@4.21.2_vite@5.4.3_@types+node@22.5.4_terser@5_npscaliduljzxdqaosyipgid7y/node_modules/@nuxt/scripts/dist/runtime/components/ScriptVimeoPlayer.vue:187:21\r\n\r\n 185 |\r\n 186 | onMounted(() => {\r\n > 187 | onLoaded(async ({ Vimeo }) => {\r\n | ^^^^^\r\n 188 | const vimeoOptions = props.vimeoOptions || {}\r\n 189 | if (!vimeoOptions.id && props.id) {\r\n 190 | vimeoOptions.id = props.id\r\n\r\n ERROR(vue-tsc) Parameter 'instance' implicitly has an 'any' type.\r\n FILE D:/dev/test1/node_modules/.pnpm/@nuxt+scripts@0.8.4_@nuxt+devtools@1.4.1_rollup@4.21.2_vite@5.4.3_@types+node@22.5.4_terser@5_npscaliduljzxdqaosyipgid7y/node_modules/@nuxt/scripts/dist/runtime/components/ScriptYouTubePlayer.vue:61:19 \r\n\r\n 59 | }\r\n 60 | onMounted(() => {\r\n > 61 | onLoaded(async (instance) => {\r\n | ^^^^^^^^\r\n 62 | const YouTube: typeof YT & { ready: (fn: () => void) => void } = await instance.YT\r\n 63 | await new Promise\u003Cvoid>((resolve) => {\r\n 64 | if (typeof YT.Player === 'undefined')\r\n\r\n[vue-tsc] Found 2 errors. Watching for file changes.\r\n```\r\n\r\n\r\n\r\nWhen using [Nuxt Devtools](https://github.com/nuxt/devtools) in typescript strict mode and enabling type check, these two errors will be occurred.\r\n\r\n```typescript\r\nexport default defineNuxtConfig({\r\n devtools: { enabled: true },\r\n modules: ['@nuxt/scripts'],\r\n typescript: {\r\n typeCheck: true,\r\n strict: true\r\n },\r\n})\r\n```\r\n\r\nI think this might be related to https://github.com/nuxt/scripts/issues/217#issuecomment-2336846827. These are same errors as what in that comment.\r\n\r\nVersions: \r\n@nuxt/scripts: 0.8.4\r\n@nuxt/devtools : 1.4.1\r\nvue-tsc: 2.0.29\n\n### 🛠️ To reproduce\n\nhttps://stackblitz.com/~/github.com/ifrvn/nuxt-scripts-issue-test\n\n### 🌈 Expected behavior\n\nno error\n\n### ℹ️ Additional context\n\n_No response_",[3000],{"name":2885,"color":2939},256,"scripts"," ERROR(vue-tsc) Binding element 'Vimeo' implicitly has an 'any' type.","2024-09-09T14:05:17Z","https://github.com/nuxt/scripts/issues/256",0.7026637,["Reactive",3008],{},["Set"],["ShallowReactive",3011],{"$fTRc1wZytZ_XrK4EfJfei_Sz-An4H4Yy6syhVxH_PVJc":-1,"$fQu_eG-Q10AwRIkRwgCxKgFlglNLBihUydmo3mgLiBOo":-1},"/nuxt/scripts/154"]