GithubHelp home page GithubHelp logo

uni-helper / uni-app-types Goto Github PK

View Code? Open in Web Editor NEW
73.0 73.0 13.0 1.55 MB

为 uni-app 内置组件提供 TypeScript 类型

Home Page: https://uni-helper.js.org/uni-app-types

License: MIT License

JavaScript 0.12% HTML 0.17% Vue 0.22% TypeScript 99.48%

uni-app-types's Issues

volar >1.7.12 如何配置?

描述问题

valor 和 vue-tsc 当前为1.8.8版本(降低版本到1.6.5可正常,但不想这么做,可能会影响其他vue项目 ),uni-helper/uni-app-types 中的类型似乎不能正常工作。
可以 image 和 button 可以跳转到 @uni-helper/uni-app-types 文件中,但类型提示不正常。
之前 button type="primary" 会和原生 button type 的冲突,但现在不会。

image
image

复现

valor & vue-tsc 均为 1.8.8 vue 为 3.3.4,且尝试 tsconfig 配置 vueCompilerOptions 与否均未生效
附tsconfig
image

系统信息

System:
    OS: Windows 10 10.0.22621
    CPU: (32) x64 13th Gen Intel(R) Core(TM) i9-13900HX
    Memory: 18.63 GB / 31.74 GB
  Binaries:
    Node: 16.20.1 - D:\Program Files\nodejs\node.EXE
    Yarn: 1.22.19 - D:\Program Files\nodejs\yarn.CMD
    npm: 8.19.4 - D:\Program Files\nodejs\npm.CMD
    pnpm: 8.6.6 - D:\Program Files\nodejs\pnpm.CMD
  Browsers:
    Edge: Spartan (44.22621.1992.0), Chromium (115.0.1901.188)
    Internet Explorer: 11.0.22621.1

使用的包管理器

pnpm

核对

  • 遵循我们的 行为准则
  • 检查是否已经有一个报告相同错误的问题,以避免重复创建。
  • 这是一个具体的错误。请开启 GitHub 讨论你的疑问。
  • 所提供的复现是这个问题的 最小复现

`CustomEvent` 等事件类型的讨论

描述问题

关于事件的类型还有个问题想讨论一下。

疑惑

疑惑:自定义事件类型 CustomEvent 是出于什么考虑把 detail 属性调整成可选属性。

代码对比

原生微信小程序的 CustomEvent类型声明

/*! *****************************************************************************
Copyright (c) 2023 Tencent, Inc. All rights reserved.
***************************************************************************** */
/** 自定义事件 */
interface CustomEvent<
    Detail extends IAnyObject = IAnyObject,
    Mark extends IAnyObject = IAnyObject,
    CurrentTargetDataset extends IAnyObject = IAnyObject,
    TargetDataset extends IAnyObject = CurrentTargetDataset
> extends BaseEvent<Mark, CurrentTargetDataset, TargetDataset> {
    /** 额外的信息 */
    detail: Detail
}

UniHelperCustomEvent类型声明

/** 自定义事件 */
interface _CustomEvent<
  Detail extends AnyRecord = AnyRecord,
  Mark extends AnyRecord = AnyRecord,
  CurrentTargetDataset extends AnyRecord = AnyRecord,
  TargetDataset extends AnyRecord = CurrentTargetDataset,
> extends _BaseEvent<Mark, CurrentTargetDataset, TargetDataset> {
  /** 额外信息,变成可选属性,目前不清楚您的出发点,可以交流一下🤔 */
  detail?: Detail;
  [key: string]: any;
}

复现

带来的影响

image

预期效果

image

系统信息

System:
    OS: Windows 10 10.0.22621
    CPU: (8) x64 11th Gen Intel(R) Core(TM) i7-1195G7 @ 2.90GHz
    Memory: 2.97 GB / 15.79 GB
  Binaries:
    Node: 16.15.0 - C:\Program Files\nodejs\node.EXE
    Yarn: 1.22.19 - C:\Program Files (x86)\Yarn\bin\yarn.CMD
    npm: 9.4.0 - C:\Program Files\nodejs\npm.CMD
  Browsers:
    Edge: Spartan (44.22621.1265.0), Chromium (110.0.1587.50)
    Internet Explorer: 11.0.22621.1

使用的包管理器

pnpm

核对

  • 遵循我们的 行为准则
  • 检查是否已经有一个报告相同错误的问题,以避免重复创建。
  • 这是一个具体的错误。请开启 GitHub 讨论你的疑问。
  • 所提供的复现是这个问题的 最小复现

升级 Vue 到新版本后, 类型失效

描述问题

在最近的 uniapp 更新中 4.14.2024043013, 升级了 vue 版本 3.2.47 -> 3.4.21, 应该是新版本的 vue 内置了 viewtext 等的类型, 估计是优先级比 uni-app-types 的高, 内置组件的类型提示不再生效了

image

image

image


其他的似乎没问题
image

复现

https://github.com/MoomFE-Starter-Template/UniApp-Base

系统信息

基础环境信息:

  • os: Windows 11 10.0.22631
  • node: 20.12.2
  • vscode: 1.89.1
  • volar: 2.0.16

基础依赖信息:

  • vue: 3.4.21
  • vite: 5.2.11
  • @dcloudio/uni-app: 3.0.0-4010520240507001

uni-helper依赖信息:

  • @uni-helper/uni-ui-types: 0.5.13

使用的包管理器

pnpm

核对

  • 遵循我们的 行为准则
  • 检查是否已经有一个报告相同错误的问题,以避免重复创建。
  • 这是一个具体的错误。请开启 GitHub 讨论你的疑问。
  • 所提供的复现是这个问题的 最小复现

webstorm 类型提示不出来

描述问题

webstorm 2023.2 版本后 已经内置volar了 https://cn.vuejs.org/guide/typescript/overview.html#ide-support
按照教程已修改完配置 同一个项目
vscode 有提示
image

webstorm提示不出来.
image

不知道什么原因

复现

webstorm 2023.2.4版本
image

系统信息

System:
    OS: macOS 14.1
    CPU: (10) arm64 Apple M1 Max
    Memory: 298.42 MB / 32.00 GB
    Shell: 5.9 - /bin/zsh
  Binaries:
    Node: 21.1.0 - /opt/homebrew/bin/node
    Yarn: 1.22.19 - /opt/homebrew/bin/yarn
    npm: 10.2.0 - /opt/homebrew/bin/npm
    pnpm: 8.9.2 - /opt/homebrew/bin/pnpm
    Watchman: 2023.10.23.00 - /opt/homebrew/bin/watchman
  Browsers:
    Chrome: 118.0.5993.117
    Safari: 17.1

使用的包管理器

pnpm

核对

  • 遵循我们的 行为准则
  • 检查是否已经有一个报告相同错误的问题,以避免重复创建。
  • 这是一个具体的错误。请开启 GitHub 讨论你的疑问。
  • 所提供的复现是这个问题的 最小复现

vscode 自动升级volar 插件导致的 uni-app-types 类型失效

描述问题

如题,volar自动升级导致的(1.6.1),除了降低volar版本还有什么办法想请教一下,目测是类型覆盖的问题,详细见bug重现。(ps, Vue.volar 真的是坨屎,更新超级不稳定,而且我从未见过哪个成熟的插件一天可以可以更新几个小版本,几天跟新一个次版本,每次项目出现问题都以为是自己的问题或者其他第三方库的问题,结果每次罪魁祸首都是这个b,扯多了)。

复现

包管理工具 pnpm且配置了 .npmrc

shamefully-hoist = true

公共配置 tsconfig.ts

{
  "extends": "@vue/tsconfig/tsconfig.json",
  "compilerOptions": {
    "sourceMap": true,
    "lib": ["esnext", "dom"],
    "resolveJsonModule": true,
    "types": [
      "@dcloudio/types",
      "@uni-helper/uni-app-types",
      "@uni-helper/uni-ui-types"
    ]
  },
  "vueCompilerOptions": {
    "nativeTags": ["block", "component", "template", "slot"]
  }
}

项目配置

{
  "extends": "../../tsconfig.json",
  "compilerOptions": {
    "baseUrl": ".",
    "paths": {
      "@/*": ["./src/*"]
    }
  },
  "include": [
    "src/**/*.ts",
    "src/**/*.d.ts",
    "src/**/*.tsx",
    "src/**/*.vue",
    "auto-imports.d.ts",
    "vite.config.ts"
  ]
}
  <button
        class="login-button"
        type="primary"//不能将类型“"primary"”分配给类型“"button" | "submit" | "reset" | undefined”。ts(2322)runtime-dom.d.ts(541, 3): 所需类型来自属性 "type",在此处的 "ButtonHTMLAttributes & ReservedProps & Record<string, unknown>" 类型上声明该属性
        :loading="loading" 
        :disabled="disabled"
        @click="handleLogin"
      >
        登录
  </button>

截两张图说明
48fe083c9514d6db5eb2d1c5a13b2e7

dfe55e9d06bf0e1c7efb9ec5c34041b

button的定义看是@vue/runtime-dom.d.ts 覆盖了uni-app-types类型,但是在valor1.2版本(1.4版本也不会,目测,家里的好像是这个版本)且tsconfig等配置均未修改,就不会

请问除了固定版本有什么其他办法么,我始终觉得是valor强行覆盖了uni-app-types,按照tsconfig.json 的配置不应该会发生

系统信息

System:
    OS: Windows 10 10.0.22621
    CPU: (16) x64 12th Gen Intel(R) Core(TM) i7-1260P
    Memory: 3.47 GB / 15.73 GB
  Binaries:
    Node: 14.21.3 - D:\Program Files\nodejs\node.EXE
    Yarn: 1.22.19 - D:\Program Files\nodejs\yarn.CMD
    npm: 6.14.18 - D:\Program Files\nodejs\npm.CMD
  Browsers:
    Edge: Spartan (44.22621.1555.0), Chromium (112.0.1722.58), ChromiumDev (114.0.1807.1)
    Internet Explorer: 11.0.22621.1

使用的包管理器

pnpm

核对

  • 遵循我们的 行为准则
  • 检查是否已经有一个报告相同错误的问题,以避免重复创建。
  • 这是一个具体的错误。请开启 GitHub 讨论你的疑问。
  • 所提供的复现是这个问题的 最小复现

建议增加组件 event 类型

对问题的清晰和简明的描述

使用疑惑

传递多个参数的时候,如何校验参数的类型。

image

// swiper 组件
<swiper @change="onChange($event, 1)"></swiper>

// 当 swiper 下标发生变化时
const onChange: UniHelper.SwiperOnChange = (ev, param: number) => {
  // ...省略
}

推荐的解决方案

预期效果

提供组件的 event 类型,添加到 UniHelper 命名空间上。

image

参考代码

declare global {
  namespace UniHelper {
    export interface SwiperOnChangeDetail extends _SwiperOnChangeDetail {}
+   // 增加导出 event 类型
+   export interface SwiperOnChangeEvent extends CustomEvent<_SwiperOnChangeDetail> {}
    ...省略
  }
}

替代方案

也可通过 Parameters 提取 event 类型,但写法使用成本较高。

image

额外上下文

No response

检查

  • 遵循我们的 行为准则
  • 检查是否已经有一个要求相同功能的问题,以避免重复创建。

the new version of vue-official can't support nativeTags

描述问题

Snipaste

复现

install vscode vue-official 2.0.16

tsconfig

{
"extends": "@vue/tsconfig/tsconfig.json",
"compilerOptions": {
"ignoreDeprecations": "5.0",
"sourceMap": true,
"baseUrl": ".",
"target": "esnext",
"module": "esnext",
"strict": true,
"jsx": "preserve",
"moduleResolution": "node",
"esModuleInterop": true,
"skipLibCheck": true,
"importHelpers": true,
"allowSyntheticDefaultImports": true,
"useDefineForClassFields": true,
"resolveJsonModule": true,
"paths": {
"@/": ["./src/"]
},
"lib": ["esnext", "dom"],
"types": [
"@dcloudio/types",
"@uni-helper/uni-app-types",
"@types/wechat-miniprogram"
]
},
"include": ["src//*.ts", "src//.d.ts", "src/**/.tsx", "src/**/*.vue"],
//加入配置,将标签视为原始组件
"vueCompilerOptions": {
"nativeTags": ["block", "component", "template", "slot"]
}
}

系统信息

macos 14 sonoma

使用的包管理器

pnpm

核对

  • 遵循我们的 行为准则
  • 检查是否已经有一个报告相同错误的问题,以避免重复创建。
  • 这是一个具体的错误。请开启 GitHub 讨论你的疑问。
  • 所提供的复现是这个问题的 最小复现

`nativeTags` Usage problem

您好,我在引用这个包的时候发现一个问题,

我如果只在 tsconfig 中配置 compilerOptions.types 引入的话,只有部分组件能正常引导类型。

但是如下图中,image 组件并不能带出我想要的类型提示,button 组件 type 类型报错。

image

我看了之前的 issues 可以通过配置 vueCompilerOptions.nativeTags 来解决这个问题,但是是我查了一下,并没有找到这个配置的相关资料。

我对 tsconfig 这块的知识并不丰富,但是我想要知道这个配置是做什么的,有什么用,请问是否可以提供给我一点参考资料或文章之类的,感谢。

"experimentalRuntimeMode": "runtime-uni-app" 不起作用

描述问题

experimentalRuntimeMode 这个值已经弃用了吗

复现

image

系统信息

System:
    OS: Windows 11 10.0.22000
    CPU: (8) x64 11th Gen Intel(R) Core(TM) i5-1135G7 @ 2.40GHz
    Memory: 4.86 GB / 15.80 GB
  Binaries:
    Node: 16.17.0 - D:\nvm-symlink\node.EXE
    Yarn: 1.22.19 - D:\nvm-symlink\yarn.CMD
    npm: 8.15.0 - D:\nvm-symlink\npm.CMD
    pnpm: 8.3.1 - D:\nvm-symlink\pnpm.CMD
  Browsers:
    Edge: Spartan (44.22000.120.0), Chromium (118.0.2088.61)
    Internet Explorer: 11.0.22000.120

使用的包管理器

pnpm

核对

  • 遵循我们的 行为准则
  • 检查是否已经有一个报告相同错误的问题,以避免重复创建。
  • 这是一个具体的错误。请开启 GitHub 讨论你的疑问。
  • 所提供的复现是这个问题的 最小复现

Volar 更新到 1.0.10 后配置失效

描述问题

Volar Changelog

1.0.10 (2022/11/29)

feat: add nativeTags instead of experimentalRuntimeMode to vueCompilerOptions for uni-app supports (vuejs/language-tools#2065)

解决方案

{
  "compilerOptions": {
    "types": ["@dcloudio/types", "@uni-helper/uni-app-types"]
  },
  "vueCompilerOptions": {
-    "experimentalRuntimeMode": "runtime-uni-app"
+    "nativeTags": []
  },
  "include": ["src/**/*.vue"]
}

复现

复现方案

把 Volar 更新到最新的 v1.0.10 便会出现

Volar Changelog

1.0.10 (2022/11/29)

feat: add nativeTags instead of experimentalRuntimeMode to vueCompilerOptions for uni-app supports (vuejs/language-tools#2065)

解决方案

{
  "compilerOptions": {
    "types": ["@dcloudio/types", "@uni-helper/uni-app-types"]
  },
  "vueCompilerOptions": {
-    "experimentalRuntimeMode": "runtime-uni-app"
+    "nativeTags": []
  },
  "include": ["src/**/*.vue"]
}

系统信息

System:
    OS: Windows 10 10.0.22000
    CPU: (8) x64 11th Gen Intel(R) Core(TM) i7-1195G7 @ 2.90GHz
    Memory: 4.08 GB / 15.79 GB
  Binaries:
    Node: 16.15.0 - C:\Program Files\nodejs\node.EXE
    Yarn: 1.22.19 - C:\Program Files (x86)\Yarn\bin\yarn.CMD
    npm: 9.1.2 - C:\Program Files\nodejs\npm.CMD
  Browsers:
    Edge: Spartan (44.22000.120.0), Chromium (107.0.1418.56)
    Internet Explorer: 11.0.22000.120
Volar    1.0.10
vue-tsc  1.0.10

使用的包管理器

pnpm

核对

  • 遵循我们的 行为准则
  • 检查是否已经有一个报告相同错误的问题,以避免重复创建。
  • 这是一个具体的错误。请开启 GitHub 讨论你的疑问。
  • 所提供的复现是这个问题的 最小复现

Uni类型缺失

描述问题

在使用uni.env.USER_DATA_PATH取值时,报错类型“Uni”上不存在属性“env”。

复现

uni.env.USER_DATA_PATH

系统信息

Volar版本v1.8.22

使用的包管理器

pnpm

核对

  • 遵循我们的 行为准则
  • 检查是否已经有一个报告相同错误的问题,以避免重复创建。
  • 这是一个具体的错误。请开启 GitHub 讨论你的疑问。
  • 所提供的复现是这个问题的 最小复现

volar / vue-tsc@^1.6.4 该如何配置?

描述问题

你好!我有一个项目已经配合vue3.3发布进行了升级 volar 和 vue-tsc 但是不能正常工作

出现了类似这个issue 的问题

复现

项目根目录 tsconfig.json

{
  "extends": "@vue/tsconfig/tsconfig.json",
  "compilerOptions": {
    "sourceMap": true,
    "lib": ["esnext", "dom"],
    "resolveJsonModule": true,
    "types": [
      "@dcloudio/types",
      "@uni-helper/uni-app-types",
      "@uni-helper/uni-ui-types"
    ]
  }
}

项目 json 配置

{
  "extends": "../../tsconfig.json",
  "compilerOptions": {
    "baseUrl": ".",
    "paths": {
      "@/*": ["./src/*"]
    }
  },
  "include": [
    "src/**/*.ts",
    "src/**/*.d.ts",
    "src/**/*.tsx",
    "src/**/*.vue",
    "auto-imports.d.ts",
    "vite.config.ts"
  ]
}

使用时报错

<button type="primary"  > // Type '"primary"' is not assignable to type '"button" | "submit" | "reset" |  undefined
      新增
</button>

button 类型
image

请问我该怎么办

系统信息

System:
    OS: Windows 10 10.0.22621
    CPU: (16) x64 12th Gen Intel(R) Core(TM) i7-1260P
    Memory: 1.99 GB / 15.73 GB
  Binaries:
    Node: 16.19.1 - D:\Program Files\nodejs\node.EXE
    Yarn: 1.22.19 - D:\Program Files\nodejs\yarn.CMD
    npm: 8.19.3 - D:\Program Files\nodejs\npm.CMD
  Browsers:
    Edge: Spartan (44.22621.1555.0), Chromium (113.0.1774.35), ChromiumDev (115.0.1843.0)
    Internet Explorer: 11.0.22621.1

使用的包管理器

pnpm

核对

  • 遵循我们的 行为准则
  • 检查是否已经有一个报告相同错误的问题,以避免重复创建。
  • 这是一个具体的错误。请开启 GitHub 讨论你的疑问。
  • 所提供的复现是这个问题的 最小复现

Dependency Dashboard

This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.

Awaiting Schedule

These updates are awaiting their schedule. Click on a checkbox to get an update now.

  • chore(deps): update actions/setup-node action to v4
  • chore(deps): update actions/stale action to v9
  • chore(deps): update commitlint monorepo to v18 (major) (@commitlint/cli, @commitlint/config-conventional, @commitlint/prompt)
  • chore(deps): update dependency lint-staged to v15
  • chore(deps): update dependency node to v20 (node, @types/node)
  • chore(deps): update dependency prettier to v3
  • chore(deps): update dependency rollup to v4
  • chore(deps): update dependency rollup-plugin-dts to v6
  • chore(deps): update dependency vite to v5
  • chore(deps): update dependency vitest to v1
  • chore(deps): update typescript-eslint monorepo to v6 (major) (@typescript-eslint/eslint-plugin, @typescript-eslint/parser)
  • fix(deps): update dependency vue to v3

Open

These updates have all been created already. Click a checkbox below to force a retry/rebase of any.

  • chore(deps): update @dcloudio (@dcloudio/types, @dcloudio/uni-app, @dcloudio/uni-app-plus, @dcloudio/uni-automator, @dcloudio/uni-cli-i18n, @dcloudio/uni-cli-shared, @dcloudio/uni-components, @dcloudio/uni-h5, @dcloudio/uni-i18n, @dcloudio/uni-migration, @dcloudio/uni-mp-360, @dcloudio/uni-mp-alipay, @dcloudio/uni-mp-baidu, @dcloudio/uni-mp-jd, @dcloudio/uni-mp-kuaishou, @dcloudio/uni-mp-lark, @dcloudio/uni-mp-qq, @dcloudio/uni-mp-toutiao, @dcloudio/uni-mp-vue, @dcloudio/uni-mp-weixin, @dcloudio/uni-mp-xhs, @dcloudio/uni-quickapp-native, @dcloudio/uni-quickapp-webview, @dcloudio/uni-stacktracey, @dcloudio/uni-stat, @dcloudio/uni-template-compiler, @dcloudio/vite-plugin-uni, @dcloudio/vue-cli-plugin-hbuilderx, @dcloudio/vue-cli-plugin-uni, @dcloudio/vue-cli-plugin-uni-optimize, @dcloudio/webpack-uni-mp-loader, @dcloudio/webpack-uni-pages-loader)
  • chore(deps): update all non-major dependencies (@babel/plugin-syntax-typescript, @vitest/coverage-c8, @vue/shared, babel-plugin-import, core-js, markdownlint-cli, pnpm, publint, taze, typescript, vite, vitest, vue, vue-i18n, vue-template-compiler, vue-tsc)
  • chore(deps): update actions/checkout action to v4
  • chore(deps): update dependency @modyqyw/fabric to v9
  • Click on this checkbox to rebase all open PRs at once

Ignored or Blocked

These are blocked by an existing closed PR and will not be recreated unless you click a checkbox below.

Detected dependencies

github-actions
.github/workflows/ci.yml
  • actions/checkout v3
  • pnpm/action-setup v2
  • actions/setup-node v3
  • actions/checkout v3
  • pnpm/action-setup v2
  • actions/setup-node v3
  • actions/checkout v3
  • pnpm/action-setup v2
  • actions/setup-node v3
.github/workflows/release.yml
  • actions/checkout v3
  • pnpm/action-setup v2
  • actions/setup-node v3
.github/workflows/stale.yml
  • actions/stale v8
npm
package.json
  • @dcloudio/types ^3.3.3
  • vue3 ^3.3.2
  • @commitlint/cli ^17.6.3
  • @commitlint/config-conventional ^17.6.3
  • @commitlint/prompt ^17.6.3
  • @modyqyw/fabric ^8.0.3
  • @tsconfig/node18 ^2.0.1
  • @types/node ^18.16.10
  • @typescript-eslint/eslint-plugin ^5.59.6
  • @typescript-eslint/parser ^5.59.6
  • @vitest/coverage-c8 ^0.31.0
  • bumpp ^9.1.0
  • c8 ^7.13.0
  • commitizen ^4.3.0
  • concurrently ^8.0.1
  • eslint ^8.40.0
  • is-ci ^3.0.1
  • lint-staged ^13.2.2
  • markdownlint-cli ^0.34.0
  • prettier ^2.8.8
  • publint ^0.1.11
  • rollup ^3.21.8
  • rollup-plugin-delete ^2.0.0
  • rollup-plugin-dts ^5.3.0
  • simple-git-hooks ^2.8.1
  • taze ^0.10.1
  • typescript ^5.0.4
  • vitest ^0.31.0
  • typescript ^4.8.0 || ^5.0.0
  • node >=14.18
  • pnpm 8.5.1
playground/vue2.6/package.json
  • @dcloudio/uni-app 2.0.2-3071120230427001
  • @dcloudio/uni-app-plus 2.0.2-3071120230427001
  • @dcloudio/uni-h5 2.0.2-3071120230427001
  • @dcloudio/uni-i18n 2.0.2-3071120230427001
  • @dcloudio/uni-mp-360 2.0.2-3071120230427001
  • @dcloudio/uni-mp-alipay 2.0.2-3071120230427001
  • @dcloudio/uni-mp-baidu 2.0.2-3071120230427001
  • @dcloudio/uni-mp-jd 2.0.2-3071120230427001
  • @dcloudio/uni-mp-kuaishou 2.0.2-3071120230427001
  • @dcloudio/uni-mp-lark 2.0.2-3071120230427001
  • @dcloudio/uni-mp-qq 2.0.2-3071120230427001
  • @dcloudio/uni-mp-toutiao 2.0.2-3071120230427001
  • @dcloudio/uni-mp-vue 2.0.2-3071120230427001
  • @dcloudio/uni-mp-weixin 2.0.2-3071120230427001
  • @dcloudio/uni-mp-xhs 2.0.2-3071120230427001
  • @dcloudio/uni-quickapp-native 2.0.2-3071120230427001
  • @dcloudio/uni-quickapp-webview 2.0.2-3071120230427001
  • @dcloudio/uni-stacktracey 2.0.2-3071120230427001
  • @dcloudio/uni-stat 2.0.2-3071120230427001
  • @vue/composition-api ^1.7.1
  • @vue/shared 3.3.2
  • core-js 3.30.2
  • uni-composition-api ^0.6.1
  • vue 2.6.14
  • @babel/plugin-syntax-typescript 7.21.4
  • @dcloudio/types 3.3.3
  • @dcloudio/uni-automator 2.0.2-3071120230427001
  • @dcloudio/uni-cli-i18n 2.0.2-3071120230427001
  • @dcloudio/uni-cli-shared 2.0.2-3071120230427001
  • @dcloudio/uni-migration 2.0.2-3071120230427001
  • @dcloudio/uni-template-compiler 2.0.2-3071120230427001
  • @dcloudio/vue-cli-plugin-hbuilderx 2.0.2-3071120230427001
  • @dcloudio/vue-cli-plugin-uni 2.0.2-3071120230427001
  • @dcloudio/vue-cli-plugin-uni-optimize 2.0.2-3071120230427001
  • @dcloudio/webpack-uni-mp-loader 2.0.2-3071120230427001
  • @dcloudio/webpack-uni-pages-loader 2.0.2-3071120230427001
  • @vue/cli-plugin-babel 5.0.8
  • @vue/cli-plugin-typescript 5.0.8
  • @vue/cli-service 5.0.8
  • babel-plugin-import 1.13.6
  • cross-env 7.0.3
  • mini-types *
  • miniprogram-api-typings *
  • postcss-comment 2.0.0
  • typescript 5.0.4
  • vue-template-compiler 2.6.14
playground/vue3.2/package.json
  • @dcloudio/uni-app 3.0.0-alpha-3080220230428002
  • @dcloudio/uni-app-plus 3.0.0-alpha-3080220230428002
  • @dcloudio/uni-components 3.0.0-alpha-3080220230428002
  • @dcloudio/uni-h5 3.0.0-alpha-3080220230428002
  • @dcloudio/uni-mp-alipay 3.0.0-alpha-3080220230428002
  • @dcloudio/uni-mp-baidu 3.0.0-alpha-3080220230428002
  • @dcloudio/uni-mp-jd 3.0.0-alpha-3080220230428002
  • @dcloudio/uni-mp-kuaishou 3.0.0-alpha-3080220230428002
  • @dcloudio/uni-mp-lark 3.0.0-alpha-3080220230428002
  • @dcloudio/uni-mp-qq 3.0.0-alpha-3080220230428002
  • @dcloudio/uni-mp-toutiao 3.0.0-alpha-3080220230428002
  • @dcloudio/uni-mp-weixin 3.0.0-alpha-3080220230428002
  • @dcloudio/uni-quickapp-webview 3.0.0-alpha-3080220230428002
  • vue 3.2.47
  • vue-i18n 9.2.2
  • @dcloudio/types 3.3.3
  • @dcloudio/uni-automator 3.0.0-alpha-3080220230428002
  • @dcloudio/uni-cli-shared 3.0.0-alpha-3080220230428002
  • @dcloudio/uni-stacktracey 3.0.0-alpha-3080220230428002
  • @dcloudio/vite-plugin-uni 3.0.0-alpha-3080220230428002
  • typescript 5.0.4
  • vite 4.3.7
  • vue-tsc 1.6.5
playground/vue3.3/package.json
  • @dcloudio/uni-app 3.0.0-alpha-3080220230428002
  • @dcloudio/uni-app-plus 3.0.0-alpha-3080220230428002
  • @dcloudio/uni-components 3.0.0-alpha-3080220230428002
  • @dcloudio/uni-h5 3.0.0-alpha-3080220230428002
  • @dcloudio/uni-mp-alipay 3.0.0-alpha-3080220230428002
  • @dcloudio/uni-mp-baidu 3.0.0-alpha-3080220230428002
  • @dcloudio/uni-mp-kuaishou 3.0.0-alpha-3080220230428002
  • @dcloudio/uni-mp-lark 3.0.0-alpha-3080220230428002
  • @dcloudio/uni-mp-qq 3.0.0-alpha-3080220230428002
  • @dcloudio/uni-mp-toutiao 3.0.0-alpha-3080220230428002
  • @dcloudio/uni-mp-weixin 3.0.0-alpha-3080220230428002
  • @dcloudio/uni-quickapp-webview 3.0.0-alpha-3080220230428002
  • vue 3.3.2
  • vue-i18n 9.2.2
  • @dcloudio/types 3.3.3
  • @dcloudio/uni-automator 3.0.0-alpha-3080220230428002
  • @dcloudio/uni-cli-shared 3.0.0-alpha-3080220230428002
  • @dcloudio/uni-stacktracey 3.0.0-alpha-3080220230428002
  • @dcloudio/vite-plugin-uni 3.0.0-alpha-3080220230428002
  • typescript 5.0.4
  • vite 4.3.7
  • vue-tsc 1.6.5
nvm
.nvmrc
  • node 18

  • Check this box to trigger a request for Renovate to run again on this repository

types declare

Hi! 👋

Firstly, thanks for your work on this project! 🙂

Today I used patch-package to patch @uni-helper/[email protected] for the project I'm working on.

Here is the diff that solved my problem:

diff --git a/node_modules/@uni-helper/uni-app-types/types/events/index.d.ts b/node_modules/@uni-helper/uni-app-types/types/events/index.d.ts
index 68a11b2..69a5d0a 100644
--- a/node_modules/@uni-helper/uni-app-types/types/events/index.d.ts
+++ b/node_modules/@uni-helper/uni-app-types/types/events/index.d.ts
@@ -56,7 +56,7 @@ export interface BaseEvent<
   /**
    * @desc 事件绑定的当前组件的一些属性值集合
    */
-  currentTarget?: Target<CurrentTargetDataset>;
+  currentTarget?: EventTarget<CurrentTargetDataset>;
   [key: string]: any;
 }
 
@@ -72,7 +72,7 @@ export interface CustomEvent<
   /**
    * @desc 额外信息
    */
-  detail?: Detail;
+  detail: Detail;
   [key: string]: any;
 }
 

This issue body was partially generated by patch-package.

降低类型使用成本

描述问题

image

复现

<script setup lang="ts">
import { ref } from 'vue'

const source = ref([
  {
    id: 1,
    imgUrl:
      'https://pcapi-xiaotuxian-front-devtest.itheima.net/miniapp/uploads/slider_1.jpg',
  },
  {
    id: 2,
    imgUrl:
      'https://pcapi-xiaotuxian-front-devtest.itheima.net/miniapp/uploads/slider_2.jpg',
  },
  {
    id: 3,
    imgUrl:
      'https://pcapi-xiaotuxian-front-devtest.itheima.net/miniapp/uploads/slider_3.jpg',
  },
])

const activeIndex = ref(0)
// BUG: change 类型错误,不能使用 WechatMiniprogram.SwiperChange
const onSwiperChange = (ev: WechatMiniprogram.SwiperChange) => {
  activeIndex.value = ev.detail.current
}
</script>

<template>
  <view class="carousel">
    <swiper circular autoplay :interval="3000" @change="onSwiperChange">
      <swiper-item v-for="item in source" :key="item.id">
        <navigator
          url="/pages/index/index"
          hover-class="none"
          class="navigator"
        >
          <image mode="aspectFill" class="image" :src="item.imgUrl"></image>
        </navigator>
      </swiper-item>
    </swiper>
    <view class="indicator">
      <text
        v-for="(item, index) in source"
        :key="item.id"
        class="dot"
        :class="{ active: index === activeIndex }"
      ></text>
    </view>
  </view>
</template>

<style lang="scss">
:host {
  display: block;
  height: 280rpx;
}
/* 焦点图 */
.carousel {
  height: 100%;
  position: relative;
  overflow: hidden;
  transform: translateY(0);
  background-color: #efefef;
  .indicator {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 16rpx;
    display: flex;
    justify-content: center;
    .dot {
      width: 30rpx;
      height: 6rpx;
      margin: 0 8rpx;
      border-radius: 6rpx;
      background-color: rgba(255, 255, 255, 0.4);
    }
    .active {
      background-color: #fff;
    }
  }
  .navigator,
  .image {
    width: 100%;
    height: 100%;
  }
}
</style>

系统信息

System:
    OS: Windows 10 10.0.22000
    CPU: (8) x64 11th Gen Intel(R) Core(TM) i7-1195G7 @ 2.90GHz
    Memory: 4.08 GB / 15.79 GB
  Binaries:
    Node: 16.15.0 - C:\Program Files\nodejs\node.EXE
    Yarn: 1.22.19 - C:\Program Files (x86)\Yarn\bin\yarn.CMD
    npm: 9.1.2 - C:\Program Files\nodejs\npm.CMD
  Browsers:
    Edge: Spartan (44.22000.120.0), Chromium (107.0.1418.56)
    Internet Explorer: 11.0.22000.120
VSCode   1.73.1
Volar    1.0.10
vue-tsc  1.0.10

使用的包管理器

pnpm

核对

  • 遵循我们的 行为准则
  • 检查是否已经有一个报告相同错误的问题,以避免重复创建。
  • 这是一个具体的错误。请开启 GitHub 讨论你的疑问。
  • 所提供的复现是这个问题的 最小复现

自定义组件类型声明文件出现冲突

描述问题

自定义组件的类型声明文件 components.d.ts@uni-helper/uni-app-types 类型出现冲突。

复现

复现步骤

  1. 新建自定义类型声明文件 src\components\components.d.ts,并添加全局组件类型声明:
declare module 'vue' {
  export interface GlobalComponents {
    // 组件路径已确认无误
    XtxCarousel: typeof import('./XtxCarousel.vue')['default']
  }
}
export {}
  1. 最终导致 @uni-helper/uni-app-types 所提供的组件类型失效了,所有 uni-app 组件鼠标悬停类型为 unknow。
  2. 目前自己通过三斜杠引用方式解决冲突,自定义全局组件类型和 @uni-helper/uni-app-types 可以共存。
// 通过三斜杠引用
/// <reference types="@uni-helper/uni-app-types" />

declare module 'vue' {
  export interface GlobalComponents {
    XtxCarousel: typeof import('./XtxCarousel.vue')['default']
  }
}
export {}

其他补充

tsconfig.json 的 types 其实可以删除掉

{
  "compilerOptions": {
    "types": [
      "@dcloudio/types",
-      "@uni-helper/uni-app-types"
    ]
  },
  "vueCompilerOptions": {
    "nativeTags": ["block", "component", "template", "slot"]
  },
}

系统信息

System:
    OS: Windows 10 10.0.22000
    CPU: (8) x64 11th Gen Intel(R) Core(TM) i7-1195G7 @ 2.90GHz
    Memory: 3.38 GB / 15.79 GB
  Binaries:
    Node: 16.15.0 - C:\Program Files\nodejs\node.EXE
    Yarn: 1.22.19 - C:\Program Files (x86)\Yarn\bin\yarn.CMD
    npm: 9.1.2 - C:\Program Files\nodejs\npm.CMD
  Browsers:
    Edge: Spartan (44.22000.120.0), Chromium (108.0.1462.54)
    Internet Explorer: 11.0.22000.120

VsCode 1.74.1
Volar  v1.0.16

"@uni-helper/uni-app-types": "0.3.0",

使用的包管理器

pnpm

核对

  • 遵循我们的 行为准则
  • 检查是否已经有一个报告相同错误的问题,以避免重复创建。
  • 这是一个具体的错误。请开启 GitHub 讨论你的疑问。
  • 所提供的复现是这个问题的 最小复现

volar >= 1.8.12 标签报错

描述问题

volar 版本 >= 1.8.12, view image text标签全部报错
Snipaste_2023-09-22_14-39-57

复现

vscode插件volar 版本 >= 1.8.12 报错,降级到 1.8.11 正常

tsconfig.json

{
  "extends": "@vue/tsconfig/tsconfig.json",
  "compilerOptions": {
    "sourceMap": true,
    "baseUrl": ".",
    "noImplicitAny": false,
    "moduleResolution": "node",
    "resolveJsonModule": true,
    "esModuleInterop": true,
    "paths": {
      "@/*": ["./src/*"]
    },
    "lib": ["esnext", "dom"],
    "types": ["node", "@dcloudio/types", "@types/wechat-miniprogram", "@uni-helper/uni-app-types"]
  },
  "include": ["src/**/*.ts", "src/**/*.d.ts", "src/**/*.tsx", "src/**/*.vue", "types/**/*.d.ts", "types/**/*.ts"]
}

系统信息

vue 3.2.45

System:
    OS: Windows 10 10.0.19045
    CPU: (4) x64 Intel(R) Core(TM) i5-6200U CPU @ 2.30GHz    
    Memory: 4.66 GB / 15.86 GB
  Binaries:
    Node: 16.15.1 - ~\AppData\Local\pnpm\node.EXE
    Yarn: 1.22.19 - ~\AppData\Local\pnpm\yarn.CMD
    npm: 8.11.0 - ~\AppData\Local\pnpm\npm.CMD
    pnpm: 8.3.1 - ~\AppData\Local\pnpm\pnpm.EXE
  Browsers:
    Edge: Spartan (44.19041.1266.0), Chromium (117.0.2045.36)
    Internet Explorer: 11.0.19041.1566

使用的包管理器

pnpm

核对

  • 遵循我们的 行为准则
  • 检查是否已经有一个报告相同错误的问题,以避免重复创建。
  • 这是一个具体的错误。请开启 GitHub 讨论你的疑问。
  • 所提供的复现是这个问题的 最小复现

如果 Volar 版本号高于 2.0.12,uni-app 自带的标签类型定义会报错

描述问题

如果 Volar 版本号高于 2.0.12,uni-app 自带的标签类型定义会报错
我是在使用uni-vitesse这个模板创建项目时发现问题的

button标签报错的截图:
button标签报错

目前发现绝大部分自带标签都会报错,目前找到的共性是,它们都是定义在declare module 'vue3/jsx-runtime'

复现

https://github.com/uni-helper/vitesse-uni-apphttps://github.com/Ares-Chang/uni-vitesse 这两个模板项目中都能稳定复现

系统信息

基础环境信息:

  • os: Windows 11 10.0.22631
  • node: 20.13.1
  • vscode: 1.89.1
  • volar: 2.0.19

基础依赖信息:

  • vue: 3.4.21
  • vite: 4.0.3
  • @dcloudio/uni-app: 3.0.0-3090920231225001

uni-helper依赖信息:

  • @uni-helper/eslint-config: 0.0.6
    • eslint: 8.57.0
  • @uni-helper/uni-app-types: 0.5.12
  • @uni-helper/unocss-preset-uni: 0.2.7
    • unocss: 0.58.5
  • @uni-helper/vite-plugin-uni-layouts: 0.1.7
  • @uni-helper/vite-plugin-uni-pages: 0.2.15

uni-helper插件信息:

  • create-uniapp-view: 2.1.0
  • uni-app-schemas-vscode: 0.9.3
  • uni-app-snippets-vscode: 0.10.2
  • uni-cloud-snippets-vscode: 0.3.0
  • uni-helper-vscode: 0.5.9
  • uni-highlight-vscode: 0.3.10
  • uni-ui-snippets-vscode: 0.6.6

使用的包管理器

pnpm

核对

  • 遵循我们的 行为准则
  • 检查是否已经有一个报告相同错误的问题,以避免重复创建。
  • 这是一个具体的错误。请开启 GitHub 讨论你的疑问。
  • 所提供的复现是这个问题的 最小复现

vscode的uni组件都报错,不知道是哪里的问题

描述问题

导入了这个插件,就会报错,注释掉就消失了。不清楚是哪里冲突了

  1. tsconfig.json

"extends": "@vue/tsconfig/tsconfig.json", "compilerOptions": { "target": "esnext", "useDefineForClassFields": true, "module": "esnext", "moduleResolution": "node", "strict": true, "jsx": "preserve", "sourceMap": true, "resolveJsonModule": true, "isolatedModules": true, "esModuleInterop": true, "baseUrl": ".", "paths": { "@/*": ["./src/*"] }, "lib": ["esnext", "dom"], "types": [ "@dcloudio/types", "@types/wechat-miniprogram", "@uni-helper/uni-app-types" ] }, "include": ["src/**/*.ts", "src/**/*.d.ts", "src/**/*.tsx", "src/**/*.vue"]

  1. package.json版本

"dependencies": { "@dcloudio/uni-app": "3.0.0-3081220230817001", "@dcloudio/uni-app-plus": "3.0.0-3081220230817001", "@dcloudio/uni-components": "3.0.0-3081220230817001", "@dcloudio/uni-h5": "3.0.0-3081220230817001", "@dcloudio/uni-mp-alipay": "3.0.0-3081220230817001", "@dcloudio/uni-mp-baidu": "3.0.0-3081220230817001", "@dcloudio/uni-mp-jd": "3.0.0-3081220230817001", "@dcloudio/uni-mp-kuaishou": "3.0.0-3081220230817001", "@dcloudio/uni-mp-lark": "3.0.0-3081220230817001", "@dcloudio/uni-mp-qq": "3.0.0-3081220230817001", "@dcloudio/uni-mp-toutiao": "3.0.0-3081220230817001", "@dcloudio/uni-mp-weixin": "3.0.0-3081220230817001", "@dcloudio/uni-quickapp-webview": "3.0.0-3081220230817001", "@dcloudio/uni-ui": "^1.4.28", "vue": "^3.2.45", "vue-i18n": "^9.1.9" }, "devDependencies": { "@dcloudio/types": "^3.3.2", "@dcloudio/uni-automator": "3.0.0-3081220230817001", "@dcloudio/uni-cli-shared": "3.0.0-3081220230817001", "@dcloudio/uni-stacktracey": "3.0.0-3081220230817001", "@dcloudio/vite-plugin-uni": "3.0.0-3081220230817001", "@types/wechat-miniprogram": "^3.4.4", "@uni-helper/uni-app-types": "^0.5.12", "@vue/runtime-core": "^3.2.45", "@vue/tsconfig": "^0.1.3", "i": "^0.3.7", "typescript": "^4.9.4", "vite": "4.1.4", "vue-tsc": "^1.0.24" }

复现

报错图片
image

系统信息

vscode版本1.82.0
TypeScript Vue Plugin (Volar)版本 1.8.19

使用的包管理器

npm

核对

  • 遵循我们的 行为准则
  • 检查是否已经有一个报告相同错误的问题,以避免重复创建。
  • 这是一个具体的错误。请开启 GitHub 讨论你的疑问。
  • 所提供的复现是这个问题的 最小复现

webstorm 上会对模版上的 class 显示异常

描述问题

image image

注释后,异常消失了
image
image

复现

https://github.com/sunpm/vitesse-uniapp-vue3
随便去一个 vue 文件 添加 123 都会显示异常😭

系统信息

Node: 18.17.1
pnpm: 9.1.1

WebStorm 2024.1.2

使用的包管理器

pnpm

核对

  • 遵循我们的 行为准则
  • 检查是否已经有一个报告相同错误的问题,以避免重复创建。
  • 这是一个具体的错误。请开启 GitHub 讨论你的疑问。
  • 所提供的复现是这个问题的 最小复现

@vue/server-renderer依赖版本跟uni官方提供的vue库依赖版本不一致

描述问题

├─┬ @uni-helper/[email protected]
│ └─┬ vue3@npm:[email protected]
│ └─┬ @vue/[email protected]
│ └── [email protected] deduped invalid: "3.2.47" from node_modules/vue3/node_modules/@vue/server-renderer

npm list vue报错,项目其他uni库依赖3.2.45

复现

npm list vue报错

├─┬ @uni-helper/[email protected]
│ └─┬ vue3@npm:[email protected]
│ └─┬ @vue/[email protected]
│ └── [email protected] deduped invalid: "3.2.47" from node_modules/vue3/node_modules/@vue/server-renderer

系统信息

System:
    OS: macOS 12.6.2
    CPU: (8) x64 Intel(R) Core(TM) i7-4870HQ CPU @ 2.50GHz
    Memory: 155.03 MB / 16.00 GB
    Shell: 5.8.1 - /bin/zsh
  Binaries:
    Node: 19.4.0 - ~/node_modules/.bin/node
    Yarn: 3.4.1 - /usr/local/bin/yarn
    npm: 8.19.2 - /usr/local/bin/npm
  Browsers:
    Chrome: 109.0.5414.119
    Safari: 15.6.1

使用的包管理器

npm

核对

  • 遵循我们的 行为准则
  • 检查是否已经有一个报告相同错误的问题,以避免重复创建。
  • 这是一个具体的错误。请开启 GitHub 讨论你的疑问。
  • 所提供的复现是这个问题的 最小复现

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

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

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.