介绍
随着开源项目的增加,github 的 issue 和 pull request 越来越成为开发者的工作中必不可少的一部分。在这个过程中,我们往往需要记录代码的修改,以便更好地管理和维护我们的项目。这就需要我们编写 changelog。changelog 又称为版本变更日志,它是一种记录软件版本变化历史的文档。常用的格式是 markdown。
@changesets/changelog-github 是一款 npm 包,可用于自动生成 GitHub 上的 changelog,无需手动编辑。
安装
npm install @changesets/changelog-github -D
使用
在 github 上创建一个文件,例如 CHANGELOG.md,用于存储将要生成的 changelog。
在项目的根目录创建一个 .changeset 目录,在这个目录下创建一个文件 my-change-set.md,例如:
--- "@my-scope/my-package": minor "my-another-package": patch --- My commit message
在 package.json 中添加以下 script:
-- -------------------- ---- ------- - --- ---------- - ------------- ----- --------- ----- ---------- ----- --------- --------- -------------- ----- --------- ---- -- ---- ------------------ --- - -
这里我们添加了 changelog-github 命令,用于生成 GitHub 上的 changelog。
在 GitHub 上创建一个 ACCESS_TOKEN,用于将 changelog 上传到 github 的仓库。
在项目根目录创建一个 .env 文件,写入 ACCESS_TOKEN,如下:
GITHUB_TOKEN=your_access_token
运行变更版本命令:
yarn version
运行完后,你将看到一个新的 commit,这个 commit 包括了你所做的更改以及新版本的变更文件。
至此,我们已经完成了 changelog 的自动生成,它已经被上传到 GitHub 了,你可以打开 CHANGELOG.md 以查看其内容。
示例
我们可以使用一个实际的示例来更好地理解如何使用 @changesets/changelog-github。
假设我们有一个名为 my-package 的 npm 包,在项目根目录执行以下命令:
npm install @changesets/changelog-github -D
创建 GitHub 上的 changelog 文件 CHANGELOG.md。
接下来,我们可以在项目根目录创建一个 .changeset 目录,并在其中创建一个 changelog 文件。
mkdir .changeset echo "---\n\"@my-scope/my-package\": minor\n\"my-another-package\": patch\n---\nMy commit message" > .changeset/my-change-set.md
我们可以根据需要添加更多的 .changeset 文件,在发布新版本时执行相应的更改。
然后,我们需要在 package.json 中添加以下 script:
-- -------------------- ---- ------- - --- ---------- - ------------- ----- --------- ----- ---------- ----- --------- --------- -------------- ----- --------- ---- -- ---- ------------------ --- - -
接下来,我们需要创建一个 GitHub access token。
在 GitHub 上,单击您的头像,然后选择 Settings。
在左侧边栏中,单击 Developer settings。
单击用于 CI 的 Personal access tokens。
单击 Generate new token。
为您的令牌提供有意义的名称,并授予 repo 权限。
首先,使用以下命令在项目根目录创建一个 .env 文件:
touch .env
然后将以下代码添加到 .env,您需要将 your_access_token
替换为您刚刚生成的 GitHub token:
GITHUB_TOKEN=your_access_token
现在,我们可以运行以下命令发布一个新的版本:
yarn version
最后,我们就可以在 GitHub 上查看我们自动生成的 changelog 文件了。
总结
通过使用 @changesets/changelog-github,我们可以实现自动化生成 GitHub 上的 changelog,无需手动编辑。这种自动化生成 changelog 的方式可减少我们的工作量,提高我们的效率。我希望这篇文章能帮助大家更好地理解如何使用它,并为开源社区的发展做出一点微小的贡献。
参考文献
使用 @changesets/changelog-github 自动生成 GitHub 上的 changelog
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/5eedcbabb5cbfe1ea061264f