Lerna 在现有项目中使用传统提交的问题

问题描述 投票:0回答:1

我一直在手动管理我的软件包版本和

changelog.md
文件,直至 5.2.0。现在我正在尝试集成 Lerna 来管理我的包裹,但在执行此操作时遇到问题。

问题:

lerna version --conventional-commits
, Lerna 将其视为首次版本更新。因此,它在变更日志中包含了所有提交消息作为重大更改和错误修复,即使我已经维护了一个手动
changelog.md
文件直至版本 5.2.0,其中所有提交消息都已存在。

我如何使用 Lerna,使其不会生成旧的提交消息作为重大更改,而是期望 Lerna 仅将版本更新为补丁版本 5.2.0 -> 5.2.1,并期望它仅在之后生成提交消息仅限 5.2.0。就我而言,提交消息是

fix(styles): Automating the versioning using lerna.
Files present in commit messages are
 package.json, package-lock.json, lerna.json,  

对于实现这一目标的任何帮助,我们将不胜感激。 谢谢你

semantic-versioning lerna conventional-changelog
1个回答
0
投票

这是一个已知问题,在

lerna version
文档中也提到过,但是在新的Lerna中,这些命令文档被隐藏起来(您可以从他们的网站打开命令文档)或者如果您使用Lerna-Lite 然后所有文档都可以从主页获得。

如果您遇到问题,这是您需要的文档部分,

lerna version
提示 - 常规更改日志

生成初始变更日志 如果您在 monorepo 激活一段时间后开始使用

--conventional-commits
选项,您仍然可以使用
conventional-changelog-cli
lerna exec
生成以前版本的变更日志:

# Lerna does not actually use conventional-changelog-cli, so you need to install it temporarily
npm i -D conventional-changelog-cli
# Documentation: `npx conventional-changelog --help`

# fixed versioning (default)
# run in root, then leaves
npx conventional-changelog --preset angular --release-count 0 --outfile ./CHANGELOG.md --verbose
npx lerna exec --concurrency 1 --stream -- 'conventional-changelog --preset angular --release-count 0 --commit-path $PWD --pkg $PWD/package.json --outfile $PWD/CHANGELOG.md --verbose'

# independent versioning
# (no root changelog)
npx lerna exec --concurrency 1 --stream -- 'conventional-changelog --preset angular --release-count 0 --commit-path $PWD --pkg $PWD/package.json --outfile $PWD/CHANGELOG.md --verbose --lerna-package $LERNA_PACKAGE_NAME'
© www.soinside.com 2019 - 2024. All rights reserved.