@liuli-util/monorepo-changelog

一个自动根据当前模块提交生成 changelog 的 cli 工具。

Usage no npm install needed!

<script type="module">
  import liuliUtilMonorepoChangelog from 'https://cdn.skypack.dev/@liuli-util/monorepo-changelog';
</script>

README

@liuli-util/monorepo-changelog

简介

一个自动根据当前模块提交生成 changelog 的 cli 工具。

使用

#安装依赖
yarn add -D @liuli-util/monorepo-changelog
#生成日志
yarn changelog

格式

# CHANGELOG

## <version>

<!--hash:<hash>-->

- commit 1
- commit 2
- others commit...

...other version

FAQ

动机

由于我们采用了 commitlint 规范化 git 提交信息,所以也希望能够根据 git 信息自动生成 changelog。社区中虽然已有非常多的工具,但仍不能满足我们的需求。

我们的需求

  • 根据当前模块的 git 提交历史生成 changelog
  • 基于 git 提交的 type 进行分组

下面是调研的一些工具基本上都无法满足第一条,即设计时没有考虑在 monorepo 中的使用

如何兼容之前手写的 CHANGELOG

例如以前的 changelog 可能是这样的

# CHANGELOG

## 0.1.0

- 实现基本功能

只需要在最后一个版本添加当时的 git commit hash 即可

# CHANGELOG

## 0.1.0

<!--hash:ca27f54052240ac3a68ff3dbbe171107b8c4dc37-->

- 实现基本功能