前言
在前端项目开发过程中,随着项目规模的扩大以及团队协作的深入,项目代码库会不断的增加,如果没有好的代码管理工具会带来许多困扰,如版本控制,代码质量维持等问题。Lerna 是一个优秀的用于管理 JavaScript 代码库的工具,它能够帮助我们来管理有多个包的 JavaScript 项目。
在 Lerna 的基础上,我们可以结合Conventional Commits规范,使用 @erquhart/lerna-conventional-commits 包来实现自动化生成 changelog,减少手动更新 changelog 的工作量。
本篇文章将介绍如何使用 @erquhart/lerna-conventional-commits 包并结合 Github Actions 来自动生成 changelog。
lerna-conventional-commits 的安装
使用 npm
命令安装 @erquhart/lerna-conventional-commits
包。
npm install -D @erquhart/lerna-conventional-commits husky
lerna-conventional-commits 的配置
在根目录下新建 commitlint.config.js
和 .huskyrc.js
文件,并分别填写以下内容。
commitlint.config.js
module.exports = { parserPreset: 'conventional-changelog-conventionalcommits' }
.huskyrc.js
module.exports = { hooks: { 'commit-msg': 'commitlint -E HUSKY_GIT_PARAMS', 'pre-commit': 'lerna run build && lerna run test && lerna run lint', }, };
配置 Github Actions
在项目根目录下,新建 .github/workflows/release.yml
文件,并写入以下代码。
-- -------------------- ---- ------- ----- ------- --- ----- --------- - ---- ----- -------- -------- ------------- ------ - ----- ------------------- - ----- ------- ------- ----- -------------------------------- ----- ------------- --- -------------------- -- - ----- ------- ----- ------------------------- ----- ---- ---- ------------------- -- ----------- --- --------------- -- ---------- ------------ ---- ------------- --- -------------------- --
以上代码用于在代码推送到 main
分支时进行自动化构建和发布。
发布包
在完成过代码修改后,使用 lerna 进行包发布。
-- -------------------- ---- ------- - ----- --- ------------------- --------------- -- -- ---- ----------------- ----- ---------- --------- --- --------------- - ----------- --- ----- ---- ------- ---------- -- ---- ---- - -- --- ----- ---- ------- ---------- -- ---- ----- - -- --- ----- ------- -- ---------------- ---
结语
通过本文的介绍,您已经学会了如何使用 @erquhart/lerna-conventional-commits 包来自动生成 changelog,并通过结合 Github Actions 来实现自动化发布。
在实际开发过程中,我们可以根据自己的需求,灵活使用和定制化这些工具和流程,提高我们的开发效率和代码质量。
以上只是个人对于这部分技术的理解,有不足之处,敬请谅解。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/5eedaf48b5cbfe1ea0610fcd