\n\n### Describe the bug\n\nWith @hey-api/nuxt the client.ts generated has 2 typescript error with typecheck: true inside nuxt.config.ts\n\n### Additional context\n\n_No response_\n\n### Logs\n\n```shell-script\nERROR(vue-tsc) Argument of type '{ $fetch: $Fetch\u003Cunknown, NitroFetchRequest>; headers: Headers; onRequest: (FetchHook\u003CFetchContext\u003Cany, ResponseType>> | globalThis.Ref\u003C...> | ComputedOptions\u003C...> | undefined)[]; ... 38 more ...; method: \"CONNECT\" | \"DELETE\" | \"GET\" | \"HEAD\" | \"OPTIONS\" | \"PATCH\" | \"POST\" | \"PUT\" | \"TRACE\"; }' is not assignable to parameter of type 'Omit\u003COmit\u003CRequestOptions\u003CComposable, unknown, unknown, string>, \"method\"> & Pick\u003CRequired\u003CRequestOptions\u003CComposable, unknown, unknown, string>>, \"method\">, \"composable\">'.\n Types of property 'key' are incompatible.\n Type 'string | Ref\u003Cstring, string> | ComputedRef\u003Cstring> | (() => string) | undefined' is not assignable to type 'string | undefined'.\n Type 'Ref\u003Cstring, string>' is not assignable to type 'string'.\n FILE /home/projects/wmaiozakro.github/types/openapi/client/client.ts:106:29\n\n 104 |\n 105 | if (composable === '$fetch') {\n > 106 | return executeFetchFn(opts, fetchFn);\n | ^^^^\n 107 | }\n 108 |\n 109 | if (composable === 'useFetch' || composable === 'useLazyFetch') {\n\n ERROR(vue-tsc) Argument of type '{ $fetch: $Fetch\u003Cunknown, NitroFetchRequest>; headers: Headers; onRequest: (FetchHook\u003CFetchContext\u003Cany, ResponseType>> | globalThis.Ref\u003C...> | ComputedOptions\u003C...> | undefined)[]; ... 38 more ...; method: \"CONNECT\" | \"DELETE\" | \"GET\" | \"HEAD\" | \"OPTIONS\" | \"PATCH\" | \"POST\" | \"PUT\" | \"TRACE\"; }' is not assignable to parameter of type 'Omit\u003COmit\u003CRequestOptions\u003CComposable, unknown, unknown, string>, \"method\"> & Pick\u003CRequired\u003CRequestOptions\u003CComposable, unknown, unknown, string>>, \"method\">, \"composable\">'.\n Types of property 'key' are incompatible.\n Type 'string | Ref\u003Cstring, string> | ComputedRef\u003Cstring> | (() => string) | undefined' is not assignable to type 'string | undefined'.\n Type 'Ref\u003Cstring, string>' is not assignable to type 'string'.\n FILE /home/projects/wmaiozakro.github/types/openapi/client/client.ts:124:47\n\n 122 | }\n 123 |\n > 124 | const handler: any = () => executeFetchFn(opts, fetchFn);\n | ^^^^\n 125 |\n 126 | if (composable === 'useAsyncData') {\n 127 | return key\n\n[vue-tsc] Found 2 errors. Watching for file changes.\n```",[3081],{"name":3082,"color":3083},"pending triage","E99695",32477,"Nux: client.ts typescript error","2025-06-25T17:43:36Z","https://github.com/nuxt/nuxt/issues/32477",0.6988186,{"description":3090,"labels":3091,"number":3096,"owner":3032,"repository":3063,"state":3064,"title":3097,"updated_at":3098,"url":3099,"score":3100},"### Environment\n\n------------------------------\n- Operating System: Windows_NT\n- Node Version: v20.12.0\n- Nuxt Version: 3.15.0\n- CLI Version: 3.17.2\n- Nitro Version: 2.10.4\n- Package Manager: yarn@1.22.22\n- Builder: -\n- User Config: default\n- Runtime Modules: @nuxt/devtools@1.6.4, @nuxt/ui@2.20.0, @vueuse/nuxt@12.2.0, @vueuse/motion/nuxt@2.2.6, @nuxtjs/device@3.2.4, @nuxt/image@1.8.1, @pinia/nuxt@0.9.0, pinia-plugin-persistedstate/nuxt, @vite-pwa/nuxt@0.10.6, nuxt-snackbar@1.1.2, nuxt-gtag@3.0.2, @nuxt/eslint@0.7.4\n- Build Modules: -\n------------------------------\n\n### Version\n\nv2.20.0\n\n### Reproduction\n\n no reproduction\n\n### Description\n\nI notice there's a syntax error in the code;\nThe error is coming from a syntax error in the Headless UI Vue component code. Specifically, there's an unexpected semicolon in this line: \n(0,;__vite_ssr_import_5__.match)(i.value,{\nThis appears to be a build/compilation issue with the Headless UI Vue component. Let me check if there are any Headless UI Vue dependencies in the package.json.\n\nThe error appears when using nuxt v3.15.0 \nWith the previous \"nuxt\": \"3.14.1592\", no error. I 'm not sure if i should fill the bug Report here or in Nuxt directly!\n\n\n### Additional context\n\nUnexpected token ';'\n\n function g(e=\"\"){return e.split(/\\s+/).filter(t=>t.length>1)}let R=Symbol(\"TransitionContext\");var pe=(a=>(a.Visible=\"visible\",a.Hidden=\"hidden\",a))(pe||{});function me(){return (0,__vite_ssr_import_0__.inject)(R,null)!==null}function Te(){let e=(0,__vite_ssr_import_0__.inject)(R,null);if(e===null)throw new Error(\"A \u003CTransitionChild /> is used but it is missing a parent \u003CTransitionRoot />.\");return e}function ge(){let e=(0,__vite_ssr_import_0__.inject)(N,null);if(e===null)throw new Error(\"A \u003CTransitionChild /> is used but it is missing a parent \u003CTransitionRoot />.\");return e}let N=Symbol(\"NestingContext\");function L(e){return\"children\"in e?L(e.children):e.value.filter(({state:t})=>t===\"visible\").length>0}function Q(e){let t=(0,__vite_ssr_import_0__.ref)([]),a=(0,__vite_ssr_import_0__.ref)(!1);(0,__vite_ssr_import_0__.onMounted)(()=>a.value=!0),(0,__vite_ssr_import_0__.onUnmounted)(()=>a.value=!1);function s(n,r=__vite_ssr_import_6__.RenderStrategy.Hidden){let l=t.value.findIndex(({id:f})=>f===n);l!==-1&&((0,__vite_ssr_import_5__.match)(r,{[__vite_ssr_import_6__.RenderStrategy.Unmount](){t.value.splice(l,1)},[__vite_ssr_import_6__.RenderStrategy.Hidden](){t.value[l].state=\"hidden\"}}),!L(t)&&a.value&&(e==null||e()))}function h(n){let r=t.value.find(({id:l})=>l===n);return r?r.state!==\"visible\"&&(r.state=\"visible\"):t.value.push({id:n,state:\"visible\"}),()=>s(n,__vite_ssr_import_6__.RenderStrategy.Unmount)}return{children:t,register:h,unregister:s}}let W=__vite_ssr_import_6__.Features.RenderStrategy,he=(0,__vite_ssr_import_0__.defineComponent)({props:{as:{type:[Object,String],default:\"div\"},show:{type:[Boolean],default:null},unmount:{type:[Boolean],default:!0},appear:{type:[Boolean],default:!1},enter:{type:[String],default:\"\"},enterFrom:{type:[String],default:\"\"},enterTo:{type:[String],default:\"\"},entered:{type:[String],default:\"\"},leave:{type:[String],default:\"\"},leaveFrom:{type:[String],default:\"\"},leaveTo:{type:[String],default:\"\"}},emits:{beforeEnter:()=>!0,afterEnter:()=>!0,beforeLeave:()=>!0,afterLeave:()=>!0},setup(e,{emit:t,attrs:a,slots:s,expose:h}){let n=(0,__vite_ssr_import_0__.ref)(0);function r(){n.value|=__vite_ssr_import_2__.State.Opening,t(\"beforeEnter\")}function l(){n.value&=~__vite_ssr_import_2__.State.Opening,t(\"afterEnter\")}function f(){n.value|=__vite_ssr_import_2__.State.Closing,t(\"beforeLeave\")}function S(){n.value&=~__vite_ssr_import_2__.State.Closing,t(\"afterLeave\")}if(!me()&&(0,__vite_ssr_import_2__.hasOpenClosed)())return()=>(0,__vite_ssr_import_0__.h)(Se,{...e,onBeforeEnter:r,onAfterEnter:l,onBeforeLeave:f,onAfterLeave:S},s);let d=(0,__vite_ssr_import_0__.ref)(null),y=(0,__vite_ssr_import_0__.computed)(()=>e.unmount?__vite_ssr_import_6__.RenderStrategy.Unmount:__vite_ssr_import_6__.RenderStrategy.Hidden);h({el:d,$el:d});let{show:v,appear:A}=Te(),{register:D,unregister:H}=ge(),i=(0,__vite_ssr_import_0__.ref)(v.value?\"visible\":\"hidden\"),I={value:!0},c=(0,__vite_ssr_import_1__.useId)(),b={value:!1},P=Q(()=>{!b.value&&i.value!==\"hidden\"&&(i.value=\"hidden\",H(c),S())});(0,__vite_ssr_import_0__.onMounted)(()=>{let o=D(c);(0,__vite_ssr_import_0__.onUnmounted)(o)}),(0,__vite_ssr_import_0__.watchEffect)(()=>{if(y.value===__vite_ssr_import_6__.RenderStrategy.Hidden&&c){if(v.value&&i.value!==\"visible\"){i.value=\"visible\";return}(0,;__vite_ssr_import_5__.match)(i.value,{[\"hidden\"]:()=>H(c),[\"visible\"]:()=>D(c)})}});let j=g(e.enter),M=g(e.enterFrom),X=g(e.enterTo),_=g(e.entered),Y=g(e.leave),Z=g(e.leaveFrom),ee=g(e.leaveTo);(0,__vite_ssr_import_0__.onMounted)(()=>{(0,__vite_ssr_import_0__.watchEffect)(()=>{if(i.value===\"visible\"){let o=(0,__vite_ssr_import_3__.dom)(d);if(o instanceof Comment&&o.data===\"\")throw new Error(\"Did you forget to passthrough the ref to the actual DOM node?\")}})});function te(o){let E=I.value&&!A.value,p=(0,__vite_ssr_import_3__.dom)(d);!p||!(p instanceof HTMLElement)||E||(b.value=!0,v.value&&r(),v.value||f(),o(v.value?(0,__vite_ssr_import_7__.transition)(p,j,M,X,_,V=>{b.value=!1,V===__vite_ssr_import_7__.Reason.Finished&&l()}):(0,__vite_ssr_import_7__.transition)(p,Y,Z,ee,_,V=>{b.value=!1,V===__vite_ssr_import_7__.Reason.Finished&&(L(P)||(i.value=\"hidden\",H(c),S()))})))}return (0,__vite_ssr_import_0__.onMounted)(()=>{(0,__vite_ssr_import_0__.watch)([v],(o,E,p)=>{te(p),I.value=!1},{immediate:!0})}),(0,__vite_ssr_import_0__.provide)(N,P),(0,__vite_ssr_import_2__.useOpenClosedProvider)((0,__vite_ssr_import_0__.computed)(()=>(0,__vite_ssr_import_5__.match)(i.value,{[\"visible\"]:__vite_ssr_import_2__.State.Open,[\"hidden\"]:__vite_ssr_import_2__.State.Closed})|n.value)),()=>{let{appear:o,show:E,enter:p,enterFrom:V,enterTo:Ce,entered:ye,leave:be,leaveFrom:Ee,leaveTo:Ve,...U}=e,ne={ref:d},re={...U,...A.value&&v.value&&__vite_ssr_import_4__.env.isServer?{class:(0,__vite_ssr_import_0__.normalizeClass)([a.class,U.class,...j,...M])}:{}};return (0,__vite_ssr_import_6__.render)({theirProps:re,ourProps:ne,slot:{},slots:s,attrs:a,features:W,visible:i.value===\"visible\",name:\"TransitionChild\"})}}}),ce=he,Se=(0,__vite_ssr_import_0__.defineComponent)({inheritAttrs:!1,props:{as:{type:[Object,String],default:\"div\"},show:{type:[Boolean],default:null},unmount:{type:[Boolean],default:!0},appear:{type:[Boolean],default:!1},enter:{type:[String],default:\"\"},enterFrom:{type:[String],default:\"\"},enterTo:{type:[String],default:\"\"},entered:{type:[String],default:\"\"},leave:{type:[String],default:\"\"},leaveFrom:{type:[String],default:\"\"},leaveTo:{type:[String],default:\"\"}},emits:{beforeEnter:()=>!0,afterEnter:()=>!0,beforeLeave:()=>!0,afterLeave:()=>!0},setup(e,{emit:t,attrs:a,slots:s}){let h=(0,__vite_ssr_import_2__.useOpenClosed)(),n=(0,__vite_ssr_import_0__.computed)(()=>e.show===null&&h!==null?(h.value&__vite_ssr_import_2__.State.Open)===__vite_ssr_import_2__.State.Open:e.show);(0,__vite_ssr_import_0__.watchEffect)(()=>{if(![!0,!1].includes(n.value))throw new Error('A \u003CTransition /> is used but it is missing a :show=\"true | false\" prop.')});let r=(0,__vite_ssr_import_0__.ref)(n.value?\"visible\":\"hidden\"),l=Q(()=>{r.value=\"hidden\"}),f=(0,__vite_ssr_import_0__.ref)(!0),S={show:n,appear:(0,__vite_ssr_import_0__.computed)(()=>e.appear||!f.value)};return (0,__vite_ssr_import_0__.onMounted)(()=>{(0,__vite_ssr_import_0__.watchEffect)(()=>{f.value=!1,n.value?r.value=\"visible\":L(l)||(r.value=\"hidden\")})}),(0,__vite_ssr_import_0__.provide)(N,l),(0,__vite_ssr_import_0__.provide)(R,S),()=>{let d=(0,__vite_ssr_import_6__.omit)(e,[\"show\",\"appear\",\"unmount\",\"onBeforeEnter\",\"onBeforeLeave\",\"onAfterEnter\",\"onAfterLeave\"]),y={unmount:e.unmount};return (0,__vite_ssr_import_6__.render)({ourProps:{...y,as:\"template\"},theirProps:{},slot:{},slots:{...s,default:()=>[(0,__vite_ssr_import_0__.h)(ce,{onBeforeEnter:()=>t(\"beforeEnter\"),onAfterEnter:()=>t(\"afterEnter\"),onBeforeLeave:()=>t(\"beforeLeave\"),onAfterLeave:()=>t(\"afterLeave\"),...a,...y,...d},s.default)]},attrs:{},features:W,visible:r.value===\"visible\",name:\"Transition\"})}}});\n\n\n SyntaxError: Unexpected token ';'\n at new Script (node:vm:116:7)\n at createScript (node:vm:268:10)\n at Object.runInThisContext (node:vm:316:10)\n at ViteNodeRunner.runModule (/D:/Dev/maideo/maideo-maid/node_modules/vite-node/dist/client.mjs:398:19)\n at ViteNodeRunner.directRequest (/D:/Dev/maideo/maideo-maid/node_modules/vite-node/dist/client.mjs:381:16) \n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async ViteNodeRunner.cachedRequest (/D:/Dev/maideo/maideo-maid/node_modules/vite-node/dist/client.mjs:206:14) \n at async ViteNodeRunner.dependencyRequest (/D:/Dev/maideo/maideo-maid/node_modules/vite-node/dist/client.mjs:259:12)\n at async node_modules\\@headlessui\\vue\\dist\\headlessui.esm.js:23:32\n at async ViteNodeRunner.runModule (/D:/Dev/maideo/maideo-maid/node_modules/vite-node/dist/client.mjs:399:5) \n\n### Logs\n\n```shell-script\n\n```",[3092,3093],{"name":3043,"color":3044},{"name":3094,"color":3095},"duplicate","cfd3d7",2972,"Syntax error in the Headless UI Vue component code","2024-12-25T10:39:30Z","https://github.com/nuxt/ui/issues/2972",0.7026903,{"description":3102,"labels":3103,"number":3108,"owner":3032,"repository":3063,"state":3064,"title":3109,"updated_at":3110,"url":3111,"score":3112},"### Environment\n\n- Operating System: Darwin\n- Node Version: v22.11.0\n- Nuxt Version: 3.15.2\n- CLI Version: 3.20.0\n- Nitro Version: 2.10.4\n- Package Manager: pnpm@9.15.4\n- Builder: -\n- User Config: compatibilityDate, devtools, modules\n- Runtime Modules: @nuxt/ui@2.21.0\n- Build Modules: -\n\n### Version\n\n 2.21.0\n\n### Reproduction\n\n1. Create a new nuxt project using cli\n2. install nuxt/ui using cli command `npx nuxi@latest module add ui`\n\n### Description\n\n WARN Failed to load config ./.nuxt/nuxtui-tailwind.config.mjs due to the error below. Skipping.. nuxt:tailwindcss 8:47:34 PM\n Cannot find module 'tailwindcss/lib/lib/defaultExtractor.js'\nRequire stack:\n\nPretty sure this has got to do with an update in nitro/nuxt i saw recently @danielroe any ideas?\n\n### Additional context\n\n_No response_\n\n### Logs\n\n```shell-script\n Require stack:\n - .nuxt/nuxtui-tailwind.config.mjs\n at Function._resolveFilename (node:internal/modules/cjs/loader:1249:15)\n at Function.resolve (node:internal/modules/helpers:151:19)\n at jitiResolve (node_modules/.pnpm/jiti@2.4.2/node_modules/jiti/dist/jiti.cjs:1:187220)\n at jitiRequire (node_modules/.pnpm/jiti@2.4.2/node_modules/jiti/dist/jiti.cjs:1:189288)\n at import (node_modules/.pnpm/jiti@2.4.2/node_modules/jiti/dist/jiti.cjs:1:199778)\n at .nuxt/nuxtui-tailwind.config.mjs:2:31\n at eval_evalModule (node_modules/.pnpm/jiti@2.4.2/node_modules/jiti/dist/jiti.cjs:1:196325)\n at node_modules/.pnpm/jiti@2.4.2/node_modules/jiti/dist/jiti.cjs:1:194552\n at async Function.import (node_modules/.pnpm/jiti@2.4.2/node_modules/jiti/dist/jiti.cjs:1:199772)\n at async resolveConfig (node_modules/.pnpm/c12@2.0.1_magicast@0.3.5/node_modules/c12/dist/shared/c12.B4fc1S0C.mjs:343:18)\n at async loadConfig (node_modules/.pnpm/c12@2.0.1_magicast@0.3.5/node_modules/c12/dist/shared/c12.B4fc1S0C.mjs:147:23)\n at async Promise.all (index 3)\n at async loadConfigs (node_modules/.pnpm/@nuxtjs+tailwindcss@6.13.1_magicast@0.3.5_rollup@4.30.1/node_modules/@nuxtjs/tailwindcss/dist/module.mjs:374:27)\n at async node_modules/.pnpm/@nuxtjs+tailwindcss@6.13.1_magicast@0.3.5_rollup@4.30.1/node_modules/@nuxtjs/tailwindcss/dist/module.mjs:420:9\n at async generateApp (node_modules/.pnpm/nuxt@3.15.2_@parcel+watcher@2.5.0_@types+node@22.10.7_db0@0.2.1_ioredis@5.4.2_magicast@0.3.5__uowpedy6xy2pdmgu2ptesyqdza/node_modules/nuxt/dist/shared/nuxt.BoHAox-C.mjs:6166:5)\n at async _applyPromised (node_modules/.pnpm/perfect-debounce@1.0.0/node_modules/perfect-debounce/dist/index.mjs:54:10)\n\n```",[3104,3105],{"name":3043,"color":3044},{"name":3106,"color":3107},"triage","ffffff",3139,"Failed to load config error on init","2025-03-17T14:13:36Z","https://github.com/nuxt/ui/issues/3139",0.7029853,{"description":3114,"labels":3115,"number":3118,"owner":3032,"repository":3063,"state":3064,"title":3119,"updated_at":3120,"url":3121,"score":3122},"### Description\n\nI have not been able to apply a custom brand color to a nuxt ui 3 site using the documentation.\n\nWhat am I doing wrong?\n\nhttps://codesandbox.io/p/devbox/focused-haze-63jcfx ",[3116,3117],{"name":3057,"color":3058},{"name":3060,"color":3061},3565,"Custom brand color","2025-03-14T13:18:33Z","https://github.com/nuxt/ui/issues/3565",0.7065139,{"description":3124,"labels":3125,"number":3128,"owner":3032,"repository":3063,"state":3064,"title":3129,"updated_at":3130,"url":3131,"score":3132},"### Description\n\nIn v3, we seem to have lost any focus indication on Buttons. This looks intentional as I see `focus:outline-hidden` on the base. For a11y and good keyboard navigation, it's best practice to have a visual indication of focus: https://www.w3.org/WAI/ARIA/apg/practices/keyboard-interface/#discernibleandpredictablekeyboardfocus\n\nIt seems we've taken a step backward from v2 in this regard. Was this intentional? Is the intent for users to add their own `focus-visible:*` classes via app config?",[3126,3127],{"name":3057,"color":3058},{"name":3060,"color":3061},3658,"Button Focus Indication","2025-03-24T09:50:12Z","https://github.com/nuxt/ui/issues/3658",0.7071155,{"description":3134,"labels":3135,"number":3137,"owner":3032,"repository":3032,"state":3064,"title":3138,"updated_at":3139,"url":3140,"score":3141},"### Environment\n\n------------------------------\r\n- Operating System: Linux\r\n- Node Version: v18.20.3\r\n- Nuxt Version: 3.13.1\r\n- CLI Version: 3.13.1\r\n- Nitro Version: 2.9.7\r\n- Package Manager: npm@10.2.3\r\n- Builder: -\r\n- User Config: compatibilityDate, devtools, typescript, modules, runtimeConfig\r\n- Runtime Modules: nuxt-security@1.4.3, @nuxtjs/i18n@8.5.1\r\n- Build Modules: -\r\n------------------------------\n\n### Reproduction\n\nhttps://stackblitz.com/edit/github-unypdj?file=README.md\r\n\r\n`npm run typecheck`:\r\n\r\n\r\nRemoves any of the two module in Nuxt config, and there is no more typechecking issues.\r\n\n\n### Describe the bug\n\n`useRuntimeConfig` is returning a type `unknown`, when multiple modules are enabled.\r\n\r\nThe bug doesn't seem to be related to the modules themselves, because individually they don't cause any issues, only when they are enabled simultaneously. Looking at the generated `.nuxt/types/schema.d.ts`, I don't see anything blatant that would explain the issue\n\n### Additional context\n\nThe issue looks really similar to #28672, but for runtime configs instead of plugins.\n\n### Logs\n\n_No response_",[3136],{"name":3082,"color":3083},28831,"useRuntimeConfig is returning a type unknown when multiple modules are enabled","2024-09-09T15:36:25Z","https://github.com/nuxt/nuxt/issues/28831",0.708487,["Reactive",3143],{},["Set"],["ShallowReactive",3146],{"$fTRc1wZytZ_XrK4EfJfei_Sz-An4H4Yy6syhVxH_PVJc":-1,"$fMd4tzeAzcdVgavG4stCb_fvjPNXd2_Wl8ZyyNgloF54":-1},"/nuxt/ui/3286"]