lerna-changelog
支持 monorepo 的基于 PR 的更新日志生成器
使用方法
npx lerna-changelog
## 未发布 (2018-05-24)
#### :bug: 错误修复
* [#198](https://github.com/my-org/my-repo/pull/198) 避免无限循环 ([@helpful-hacker](https://github.com/helpful-hacker))
#### :house: 内部
* [#183](https://github.com/my-org/my-repo/pull/183) 标准化错误消息 ([@careful-coder](https://github.com/careful-coder))
#### 提交者: 2
- Helpful Hacker ([@helpful-hacker](https://github.com/helpful-hacker))
- [@careful-coder](https://github.com/careful-coder)
默认情况下,lerna-changelog
将显示自仓库中最新标记提交以来合并的所有拉取请求。但这仅适用于应用了某些标签的拉取请求。默认支持的标签有:
breaking
(:boom: 重大变更)enhancement
(:rocket: 增强)bug
(:bug: 错误修复)documentation
(:memo: 文档)internal
(:house: 内部)
您也可以使用 --from
和 --to
选项来查看不同范围的拉取请求:
npx lerna-changelog --from=v1.0.0 --to=v2.0.0
Monorepo 支持
如果您有一个 packages 文件夹,并且您的项目位于该文件夹的子文件夹中,lerna-changelog
将检测到它,并在更新日志中包含相关更改的包名。
GitHub 令牌
由于 lerna-changelog
与 GitHub API 交互,您可能会遇到速率限制问题,这可以通过提供"个人访问令牌"来解决:
export GITHUB_AUTH="..."
您需要一个具有 repo
作用域(对于私有仓库)或仅 public_repo
作用域(对于公共仓库)的 GitHub API 个人访问令牌。
配置
您可以通过多种方式配置 lerna-changelog
。最简单的方法是在项目的 package.json
文件中添加 changelog
键:
{
// ...
"changelog": {
"labels": {
"feature": "新功能",
"bug": "错误修复"
}
}
}
支持的选项有:
-
repo
:您在 GitHub 上的 "org/repo" (自动从package.json
文件推断) -
nextVersion
:未发布提交的标题 (例如未发布
) -
labels
:GitHub PR 标签映射到更新日志部分标题 -
ignoreCommitters
:要忽略的提交者列表(精确或部分匹配)。 例如,用于忽略来自机器人的提交。 -
cacheDir
:GitHub API 响应缓存的路径,用于避免限流 (例如.changelog
)
许可证
lerna-changelog
根据 MIT 许可证 发布。