lerna-changelog
基于 PR 的变更日志生成器,具有 monorepo 支持。
安装
用 yarn 进行安装
yarn add lerna-changelog --dev # or globally yarn global add lerna-changelog
我们用的是 yarn,但如果你喜欢,你也可以用 npm
npm install --save-dev lerna-changelog # or globally npm install --global lerna-changelog
用法
$ lerna-changelog ## Unreleased (2018-05-24) #### :bug: Bug Fix * [#198](https://github.com/my-org/my-repo/pull/198) Avoid an infinite loop ([@helpful-hacker](https://github.com/helpful-hacker)) #### :house: Internal * [#183](https://github.com/my-org/my-repo/pull/183) Standardize error messages ([@careful-coder](https://github.com/careful-coder)) #### Commiters: 2 - Helpful Hacker ([@helpful-hacker](https://github.com/helpful-hacker)) - [@careful-coder](https://github.com/careful-coder)
默认情况下,lerna-changelog 将显示存储库中自最新的标记提交以来合并的所有拉请求。然而,这只适用于应用了某些标签的 pull 请求。默认情况下支持的标签是:
breaking
( 突破性变革)enhancement
( 增强)bug
( Bug Fix)documentation
( 文档)internal
( 内部)
Monorepo 支持
如果您有一个packages文件夹,并且您的项目在该文件夹的子文件夹中,则lerna-changelog将检测到它,并将软件包名称包括在更改日志中以进行相关更改。
GitHub 令牌
由于 lerna-changelog 与 GitHub API 交互,因此您可能会遇到限速问题,可以通过提供“个人访问令牌”来解决该问题:
export GITHUB_AUTH="..."
您将需要 GitHub API 的个人访问令牌,其私有存储库的 repo 范围,或者公共存储库的 public_repo 范围。
设置
您可以通过多种方式配置 lerna-changelog。 最简单的方法是在项目的 package.json 文件中添加一个 changelog 密钥:
{ // ... "changelog": { "labels": { "feature": "New Feature", "bug": "Bug Fix" } } }
支持的选项有:
- repo:您在 GitHub 上的 “org/repo”(从 package.json 文件自动推断)
- nextVersion:未发布提交的标题(例如,Unreleased)
- labels:GitHub PR labels 映射到 changelog 部分标题
- ignoreCommitters:要忽略的提交者列表(完全匹配或部分匹配)。 例如,对于忽略来自机器人的提交很有用。
- cacheDir:避免限制的 GitHub API 响应缓存的路径(例如.changelog)
许可
lerna-changelog 是根据 MIT 许可证发布的。
(The first version translated by vz on 2020.07.26)