根据 Conventional Commits specification,Lerna 3.20.2
似乎无法提升预发布版本(例如 1.0.0-alpha.0
) .
我做了一个Minimal Reproducible Example如果你想试试这个。
假设我们有两个 Lerna 管理的存储库,它们都有三个子包。一个 repo 有“生产”包,另一个有“预发布”包:
dev (or dev-prerelease)
|-- packages
| |-- major
| | |-- package.json (1.0.0 or 1.0.0-alpha.0)
| |-- minor
| | |-- package.json (1.0.0 or 1.0.0-alpha.0)
| |-- patch
| | |-- package.json (1.0.0 or 1.0.0-alpha.0)
|-- package.json
|-- lerna.json
然后我在两个存储库中进行以下提交:(提交遵循常规提交规范)
- 主要包中的重大更改
- 次要包中的新功能
- 补丁包中的错误修复
然后在两个存储库中运行此命令:
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)
但是在预发布 repo 中,所有包都只是“打补丁”:
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)
此 GitHub 中的线程 issue似乎暗示这是一个错误(但我不确定)。
问题 我希望“预发布”存储库中的软件包以与“生产”存储库中相同的方式更新,同时保留其预发布后缀。我在这里做错了什么?
也可以关注这个GitHub issue我提出的
最佳答案
关于javascript - Lerna 能否根据 Conventional Commits 规范提升预发布版本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61144530/