Skip to content

TypeScript 5.6 and above breaks uni-app components' types #5718

@ModyQyW

Description

@ModyQyW

Vue - Official extension or vue-tsc version

3.1.1

VSCode version

1.105.0

Vue version

3.4.38

TypeScript version

5.6 and above

System Info

~/Documents/uni-helper/uni-typed/playground git:(main) npx envinfo --system --binaries --browsers

  System:
    OS: macOS 15.6.1
    CPU: (10) arm64 Apple M2 Pro
    Memory: 151.58 MB / 16.00 GB
    Shell: 5.9 - /bin/zsh
  Binaries:
    Node: 22.15.0 - /Users/wurui/.local/state/fnm_multishells/92798_1760695814550/bin/node
    npm: 11.5.2 - /Users/wurui/.local/state/fnm_multishells/92798_1760695814550/bin/npm
    pnpm: 10.18.3 - /Users/wurui/.local/state/fnm_multishells/92798_1760695814550/bin/pnpm
    bun: 1.3.0 - /opt/homebrew/bin/bun
    Deno: 2.5.4 - /opt/homebrew/bin/deno
    Watchman: 2025.10.13.00 - /opt/homebrew/bin/watchman
  Browsers:
    Chrome: 141.0.7390.108
    Safari: 18.6

package.json dependencies

{
  "name": "playground",
  "version": "0.0.0",
  "private": true,
  "scripts": {
    "build:app": "uni build -p app",
    "build:app-android": "uni build -p app-android",
    "build:app-harmony": "uni build -p app-harmony",
    "build:app-ios": "uni build -p app-ios",
    "build:custom": "uni build -p",
    "build:h5": "uni build",
    "build:h5:ssr": "uni build --ssr",
    "build:mp-alipay": "uni build -p mp-alipay",
    "build:mp-baidu": "uni build -p mp-baidu",
    "build:mp-jd": "uni build -p mp-jd",
    "build:mp-kuaishou": "uni build -p mp-kuaishou",
    "build:mp-lark": "uni build -p mp-lark",
    "build:mp-qq": "uni build -p mp-qq",
    "build:mp-toutiao": "uni build -p mp-toutiao",
    "build:mp-weixin": "uni build -p mp-weixin",
    "build:mp-xhs": "uni build -p mp-xhs",
    "build:quickapp-webview": "uni build -p quickapp-webview",
    "build:quickapp-webview-huawei": "uni build -p quickapp-webview-huawei",
    "build:quickapp-webview-union": "uni build -p quickapp-webview-union",
    "dev:app": "uni -p app",
    "dev:app-android": "uni -p app-android",
    "dev:app-harmony": "uni -p app-harmony",
    "dev:app-ios": "uni -p app-ios",
    "dev:custom": "uni -p",
    "dev:h5": "uni",
    "dev:h5:ssr": "uni --ssr",
    "dev:mp-alipay": "uni -p mp-alipay",
    "dev:mp-baidu": "uni -p mp-baidu",
    "dev:mp-jd": "uni -p mp-jd",
    "dev:mp-kuaishou": "uni -p mp-kuaishou",
    "dev:mp-lark": "uni -p mp-lark",
    "dev:mp-qq": "uni -p mp-qq",
    "dev:mp-toutiao": "uni -p mp-toutiao",
    "dev:mp-weixin": "uni -p mp-weixin",
    "dev:mp-xhs": "uni -p mp-xhs",
    "dev:quickapp-webview": "uni -p quickapp-webview",
    "dev:quickapp-webview-huawei": "uni -p quickapp-webview-huawei",
    "dev:quickapp-webview-union": "uni -p quickapp-webview-union",
    "type-check": "vue-tsc --noEmit"
  },
  "dependencies": {
    "@dcloudio/uni-app": "3.0.0-4070620250821001",
    "@dcloudio/uni-app-harmony": "3.0.0-4070620250821001",
    "@dcloudio/uni-app-plus": "3.0.0-4070620250821001",
    "@dcloudio/uni-components": "3.0.0-4070620250821001",
    "@dcloudio/uni-h5": "3.0.0-4070620250821001",
    "@dcloudio/uni-mp-alipay": "3.0.0-4070620250821001",
    "@dcloudio/uni-mp-baidu": "3.0.0-4070620250821001",
    "@dcloudio/uni-mp-jd": "3.0.0-4070620250821001",
    "@dcloudio/uni-mp-kuaishou": "3.0.0-4070620250821001",
    "@dcloudio/uni-mp-lark": "3.0.0-4070620250821001",
    "@dcloudio/uni-mp-qq": "3.0.0-4070620250821001",
    "@dcloudio/uni-mp-toutiao": "3.0.0-4070620250821001",
    "@dcloudio/uni-mp-weixin": "3.0.0-4070620250821001",
    "@dcloudio/uni-mp-xhs": "3.0.0-4070620250821001",
    "@dcloudio/uni-quickapp-webview": "3.0.0-4070620250821001",
    "@uni-helper/uni-app-components": "workspace:*",
    "vue": "3.4.38",
    "vue-i18n": "^9.14.1"
  },
  "devDependencies": {
    "@dcloudio/types": "^3.4.24",
    "@dcloudio/uni-automator": "3.0.0-4070620250821001",
    "@dcloudio/uni-cli-shared": "3.0.0-4070620250821001",
    "@dcloudio/uni-stacktracey": "3.0.0-4070620250821001",
    "@dcloudio/vite-plugin-uni": "3.0.0-4070620250821001",
    "@uni-helper/uni-app-types": "workspace:*",
    "@uni-helper/uni-cloud-types": "workspace:*",
    "@uni-helper/uni-types": "workspace:*",
    "@uni-helper/uni-ui-types": "workspace:*",
    "typescript": "5.5.4",
    "vite": "^5.4.20",
    "vue-tsc": "3.1.1"
  }
}

Steps to reproduce

  1. git clone [email protected]:uni-helper/uni-typed.git
  2. pnpm install
  3. pnpm run build
  4. code uni-typed/playground
  5. Open src/pages/index/index.vue and hover on template elements' tag, everything should be good, like What is expected setion
  6. Install ts 5.6 and above, then reload VSC window, open src/pages/index/index.vue and hover on template elements' tag, everything should be broken, like What is actually happening section

What is expected?

With TypeScript 5.5.4 (the default version)

Image Image Image Image Image

What is actually happening?

With TypeScript 5.6 and above

Image Image Image Image Image

Link to minimal reproduction

https://github.com/uni-helper/uni-typed

Any additional comments?

In my several tests, vueCompilerOptions.plugins in tsconfig should not have any impact. But if testing is needed, feel free to uncomment.

Metadata

Metadata

Assignees

No one assigned

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions