GithubHelp home page GithubHelp logo

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

View Code? Open in Web Editor NEW
71.0 71.0 12.0 1.55 MB

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

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

License: MIT License

JavaScript 0.78% HTML 0.57% Vue 0.68% TypeScript 97.97%

uni-app-types's People

Contributors

modyqyw avatar zxheart avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

uni-app-types's Issues

`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 讨论你的疑问。
  • 所提供的复现是这个问题的 最小复现

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 / 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 讨论你的疑问。
  • 所提供的复现是这个问题的 最小复现

"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 讨论你的疑问。
  • 所提供的复现是这个问题的 最小复现

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 讨论你的疑问。
  • 所提供的复现是这个问题的 最小复现

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

描述问题

自定义组件的类型声明文件 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 讨论你的疑问。
  • 所提供的复现是这个问题的 最小复现

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 讨论你的疑问。
  • 所提供的复现是这个问题的 最小复现

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 讨论你的疑问。
  • 所提供的复现是这个问题的 最小复现

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.

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 讨论你的疑问。
  • 所提供的复现是这个问题的 最小复现

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

@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 讨论你的疑问。
  • 所提供的复现是这个问题的 最小复现

Uni类型缺失

描述问题

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

复现

uni.env.USER_DATA_PATH

系统信息

Volar版本v1.8.22

使用的包管理器

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 讨论你的疑问。
  • 所提供的复现是这个问题的 最小复现

建议增加组件 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

检查

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

降低类型使用成本

描述问题

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 讨论你的疑问。
  • 所提供的复现是这个问题的 最小复现

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 讨论你的疑问。
  • 所提供的复现是这个问题的 最小复现

`nativeTags` Usage problem

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

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

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

image

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

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

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.