我想将lerna集成到现有项目中

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

我一直在手动管理我的软件包版本和changelog.md文件,直到5.2.0。现在我正在尝试集成 lerna 来管理我的包,但遇到了这样做的问题,

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

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

fix(styles):使用 lerna 自动进行版本控制。 提交消息中存在的文件是 package.json,package-lock.json,lerna.json,

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

semantic-versioning lerna
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.