vuejs / core

🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

Home Page:https://vuejs.org/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

[@vue/compiler-sfc] Unresolvable type: TSConditionalType

Boke-Space opened this issue · comments

Vue version

3.4.27

Link to minimal reproduction

https://stackblitz.com/edit/vitejs-vite-wennky?file=src%2FApp.vue,tsconfig.json,src%2Fmain.ts,src%2Fcomponents%2FHelloWorld.vue,src%2Fcomponents%2Ftype.ts,src%2Fcomponents%2FTable.vue&terminal=dev

Steps to reproduce

import { ElTable } from "element-plus"
import { ComponentEmit } from "vue-component-type-helpers";
type TableEmits = ComponentEmit

组件引入类型TableEmits发生错误
屏幕截图 2024-07-16 145235

组件引入类型TableEmits成功运行

What is expected?

传入ElTable得到事件的联合类型 type TableEmits = ComponentEmit;
屏幕截图 2024-07-16 150222

type TableEmits = (event: "select" | "select-all" | "expand-change" | "current-change" | "selection-change" | "cell-mouse-enter" | "cell-mouse-leave" | "cell-contextmenu" | "cell-click" | "cell-dblclick" | ... 7 more ... | "header-dragend", ...args: any[]) => void

What is actually happening?

屏幕截图 2024-07-16 150222 [plugin:vite:vue] [@vue/compiler-sfc] Unresolvable type: TSConditionalType

/home/projects/vitejs-vite-wennky/node_modules/.pnpm/vue-component-type-helpers@2.0.26/node_modules/vue-component-type-helpers/index.d.ts
10 | emit: any;
11 | }, ...args: any) => any ? NonNullable : {};
12 | export type ComponentEmit = T extends new (...angs: any) => {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
13 | $emit: infer E;
| ^^^^^^^^^^^^^^^^^^^
14 | } ? NonNullable : {};
| ^^^^^^^^^^^^^^^^^^^^^^^

System Info

No response

Any additional comments?

No response