lerna 发包涉及到两个比较关键的指令分别为 lerna version
和 lerna publish
这两个指令。
lerna version
主要的工作为标识出在上一个 tag 版本以来更新的 monorepo package,然后为这些包 prompt 出版本,在用户完成选择之后修改相关包的版本信息并且将相关的变动 commit 然后打上 tag 推送到 git remote。本质上是为一些发生变动的包进行了一个 bump version 的操作
lerna version
的整体原理图
lerna version 整个执行周期分成三个部分 设置属性 -> 初始化 -> 执行
。