/hui-design

再惠组件库

Primary LanguageTypeScript

hui-design

小程序通用逻辑库

安装

npm install @zaihui/hui-design

CHANGELOG

使用

开发

参考基于 Taro 开发第三方多端 UI 库

hui-design 使用 conventional-commit 生态对 commit 规范化并基于此自动生成 changelog。

commit

commit 需遵循@commitlint/config-conventional规范,也可以通过npm run commit在交互式界面完成 commit,这一功能由commitizen提供。

建议初次使用时选择npm run commit以熟悉 commit 规范。

发布

standard-version可以自动根据 commit 生成 changelog,并通过其中是否有 breaking change 自动更新版本号。

在确保所有需要变动的代码均提交后,执行如下步骤完成发版:

  • 本地执行npm run release,这会自动生成 changelog 并完成版本号变更,同时在本地创建版本号对应 tag。
  • 检查 changelog 无误后提交 release 对应的 commit 到 dev(tag 可以不推送)。
  • 合并 dev 到 master,合并完成后基于 master 和package.json中 version 字段创建 tag:v${version}
  • tag 创建完毕后 ci 会完成后续的npm publish逻辑。

解释说明:

  • semantic-release提供了和 standard-version 类似的功能,但差别在于 semantic-release 接管了发版的全部流程,包括npm run publish,而 standard-version 只关注于 changelog 和版本号变动等,并不参与发布操作。选择 standard-version 的原因有二,一是 semantic-release 功能更为复杂,接入成本更高;二是避免步子迈太大,这也是为什么选择本地生成 changelog 后再提交远端,这样可以执行一些检查避免疏漏。
  • 生成 changelog 后会本地 copy 到 docs 下一份,这是为了能够在文档系统中展示,选择 copy 而不选择 mv 是为了让 changelog 跟随 npm 包发布,这也是一种常见操作。