Skip to content

【建议】优化 npm 软件包分发标签(dist-tags)及版本命名规范 #5927

@arniu

Description

@arniu

问题分类

uni-app

问题描述

1. 现状与痛点

目前 uni-app 相关软件包(如 @dcloudio/uni-app)在 npm 上的标签维护存在以下问题:

  • 默认版本滞后:执行 npm install 默认安装的 latest 标签仍指向 Vue 2 版本(2.0.x),而 Vue 3 已成为主流开发选择。
  • 标签语义混杂:存在 vue3nvue3alpha 等多个重叠标签,用户难以直观判断哪个版本对应当前的 HBuilderX 正式版。
  • 版本号过长:当前版本号(如 2.0.2-4080720251210002)不便于开发者记忆和在 package.json 中手动管理。

2. 改进建议

为了提升 uni-app npm 生态的开发者体验,建议参考以下业界标准(如 Vue, Vite, Element-Plus)进行优化:

  • 更新 latest 标签:将 Vue 3 的稳定版本设为 latest。对于仍需维护的 Vue 2 版本,建议改用 legacyv2 标签,避免误导新用户。

  • 统一发布渠道

  • latest: 对应 HBuilderX 正式版。

  • beta / next: 对应 HBuilderX 预发行版。

  • alpha: 对应每日构建或实验性功能。

  • 语义化版本(SemVer)规范化
    建议将时间戳版本号改为预发布后缀形式,例如:3.0.0-alpha.20260119。这样符合 npm 的版本比对算法(SemVer logic),方便依赖自动升级。

  • 自动化发布配置
    在核心包的 package.json 中配置 publishConfig,防止误操作将测试版发布到 latest

3. 预期效果

  • 降低上手门槛:新用户执行 npm i @dcloudio/uni-app 即可获得最新的 Vue 3 环境。
  • 生态对齐:与 npm 社区主流实践保持一致,方便自动化工具(如 Dependabot, Renovate)检测更新。

附加信息

运行 npm view @dcloudio/uni-app dist-tags

{
  "alpha": "2.0.2-alpha-5000020260106001",
  "latest": "2.0.2-4080720251210002",
  "next": "2.0.2-4080720251210002",
  "nvue3": "3.0.0-alpha-3040320220324001",
  "vue3": "3.0.0-alpha-5000020260104004"
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    questionFurther information is requested

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions