0.0.0 • Published 10 months ago

mobile-monorapo v0.0.0

Weekly downloads
-
License
ISC
Repository
-
Last release
10 months ago

项目简介

mobile-monorapo 是一个移动端公共部分的集成,包含 mobile-ui,mobile-cards,mobile-tag 和 mobile-axios。

包安装

  1. 在根目录执行 pnpm i。
  2. 执行 pnpm dependence,因为 monorapo 里的包会互相依赖,所以需要事先安装这些依赖。

包调试

启动命令在package.json里都有标注,各项目的启动命令如下:

  • mobile-ui:pnpm serve:ui
  • mobile-tag:pnpm serve:tag
  • mobile-cards:pnpm serve:cards

启动后根据就可以开始调试,包的源代码在packages里面,包的源码改完即可实时预览。

包发版

  1. 切到publish分支,开发环境只支持publish分支发布包,所以要在publish分支合代码,合完不用提交代码。
  2. 执行pnpm change,选择要发版的包名,空格选中,回车是跳过。
  3. 执行pnpm rev,会自动更新包的版本号,以及包的子依赖包的版本号。
  4. 执行发布命令,发布对应的包就执行对应的命令即可:
  • mobile-ui:pnpm publish:ui
  • mobile-tag:pnpm publish:tag
  • mobile-cards:pnpm publish:cards
  1. 必须要提交publish分支代码,不然其它人发版本的版本号会有问题。

包发版分支规则

比如 mobile-ui,mobile-cards,mobile-tag 等需要发布到 npm 的组件项目需要按以下规则发版本。

  1. 所有开发人人员需要执行 npm config set save-exact=true,用来锁定包的版本号。

  2. 任何一个功能都需要从 master 分支拉出功能分支,功能分支尽量拆得细点,名称以 v 发版日-姓名缩写-功能名称来命名,比如 v1027-lxl-addButton。

  3. 新建 publish 分支,所有功能想要发版本必须先合到这个分支才能执行 npm run pub 发版,不能在功能分支直接发版本,每次发版本自动会更新次补丁版本号。

  4. 每次发版由组件维护人从 master 新建名称为 v 发版日分支,然后合需要发布的功能分支,其他人需要提合 v 发版日的 merge request,而不是提合 master 分支的 request,然后在 v 发版日分支发布到 npm,每次发版本需要手动会更新次补丁版本号。上线后,由组件维护人统一将 v 发版日分支合并到 master 分支,并删除已上线的功能分支,留存 v 发版日分支,同时,需要 publish 合下 master 确保 publish 最新。

  5. 因为组件库发版本的版本号只有X.Y.Z一种,所以各分支发版本可能会导致覆盖或带上新功能问题,所以需要版本标识符做区分。

  • alpha:α版本(对应uat),测试用,代表当前可能有很大的变动。
  • beta:β版本(对应stg),代表版本已开始稳定,但是还有bug。
  • stable:稳定版本(对应gray)。

组件库分也分uat,stg和gray分支,对应项目进行版本发布,组件库的uat对应项目的uat,stg和gray同理,发版的脚本已自动做过处理,在组件库的uat发版会带上0.0.1-alpha,stg会带上0.0.1-beta,gray会带上stable,项目中在各自的发版分支上用对应的版本标识符。