Javascript Lerna是否可以根据传统的提交规范预发布版本?
根据标准,LernaJavascript Lerna是否可以根据传统的提交规范预发布版本?,javascript,lerna,monorepo,conventional-commits,Javascript,Lerna,Monorepo,Conventional Commits,根据标准,Lerna3.20.2似乎无法升级预发布版本(例如1.0.0-alpha.0) 如果你想试试这个,我做了一个测试 假设我们有两个由Lerna管理的存储库,都有三个子包。一个回购有“生产”包,另一个有“预发行”包: 然后,我在两个存储库中进行以下提交:(提交遵循传统的提交规范) 主要包装中的重大变化 次要软件包中的新功能 修补程序包中的错误修复 并在两个存储库中运行此命令: npx lerna publish --conventional-commits --yes 2>/de
3.20.2
似乎无法升级预发布版本(例如1.0.0-alpha.0
)
如果你想试试这个,我做了一个测试
假设我们有两个由Lerna管理的存储库,都有三个子包。一个回购有“生产”包,另一个有“预发行”包:
然后,我在两个存储库中进行以下提交:(提交遵循传统的提交规范)
- 主要包装中的重大变化
- 次要软件包中的新功能
- 修补程序包中的错误修复
npx lerna publish --conventional-commits --yes 2>/dev/null
观察
“生产”回购协议将根据常规提交规范更新其包:
Changes:
- major: 1.0.0 => 2.0.0 (private)
- minor: 1.0.0 => 1.1.0 (private)
- patch: 1.0.0 => 1.0.1 (private)
然而,在预发行回购协议中,所有软件包都只是“打补丁”:
这个GitHub中的线程似乎暗示这是一个bug(但我不确定)
问题我希望我的“预发行”回购协议中的包以与“生产”回购协议中相同的方式更新,同时保留其预发行后缀。我做错了什么
您还可以跟进我提出的GitHub,它有相同的问题: 您必须执行lerna版本控制命令
lerna版本专业版
lerna版本premajor
lerna版本预发布
lerna.json
中所做的所有更改(这是保存实际版本的地方,version
命令是唯一更改主要、次要和修补程序编号的命令)也有相同的问题:
您必须执行lerna版本控制命令
lerna版本专业版
lerna版本premajor
lerna版本预发布
现在,您将看到在
lerna.json
中所做的所有更改(这是保存实际版本的地方,version
命令是唯一更改主要、次要和修补程序编号的命令)我使用了以下命令:
lerna发布--常规提交--常规预发布
下图解释了这些标志的版本凹凸:
我使用了以下命令:
lerna发布--常规提交--常规预发布
下图解释了这些标志的版本凹凸:
运行
lerna publish预发行版
将我的版本从0.3.3-alpha.0
->0.3.3-alpha.1
。添加--conditional commits
标志对行为没有任何影响。@JamieBirch此命令之前您的提交是什么?是否有任何使用关键字的提交,如页脚中的断开更改(这会使版本发生重大变化)?我以前的版本是0.3.3-alpha.0
。从那时起,我进行了18次提交,其中只有一次包含关键字(即“feat:”)。所以我认为它根本不检查提交消息;它只是决定如何完全基于您在命令中编写的术语来升级版本,例如,prerelease
对于lerna publish prerelease
。运行lerna publish prerelease
将我的版本从0.3.3-alpha.0
->0.3.3-alpha.1
升级。添加--conditional commits
标志对行为没有任何影响。@JamieBirch此命令之前您的提交是什么?是否有任何使用关键字的提交,如页脚中的断开更改(这会使版本发生重大变化)?我以前的版本是0.3.3-alpha.0
。从那时起,我进行了18次提交,其中只有一次包含关键字(即“feat:”)。所以我认为它根本不检查提交消息;它只是决定如何完全根据您在命令中编写的术语来升级版本,例如,prerelease
对于lerna publish prerelease
。
Changes:
- major: 1.0.0 => 2.0.0 (private)
- minor: 1.0.0 => 1.1.0 (private)
- patch: 1.0.0 => 1.0.1 (private)
Changes:
- major: 1.0.0-alpha.0 => 1.0.0-alpha.1 (private)
- minor: 1.0.0-alpha.0 => 1.0.0-alpha.1 (private)
- patch: 1.0.0-alpha.0 => 1.0.0-alpha.1 (private)