cz-customizable 配置还不够灵活?小改源码试试!(项目集成篇)

103 阅读2分钟

一句话概括:  改造 cz-customizable ,使 commit message 的配置更加个性化。

20230627更新 - 问题3.如何集成到项目中?
不知为何原文无法更新,明明草稿都存储最新记录了 T T

原文地址 cz-customizable 配置还不够灵活?小改源码试试!

3. 如何集成到项目中?

笔者通过打源码补丁包的方式,将改动集成到项目中。

先说明为什么要改源码:

如果涉及问题12,即官网 cz-config.js 不支持的参数配置。
那么我们必须改动 question.js 和 build-commit.js 。

至此问题转换成如下两个:

一、如何获取稳定版本的源码。   
二、如何生成源码补丁。

当然也可以直接把源码拷贝出来,放到项目下,当做项目代码的一部分,此方法的操作步骤没什么好说的。

回到问题一二。

一、如何获取稳定版本的源码?

很简单,package.json的版本号固定即可,参考官网版本号约定规范。如有必要也可以提交package-lock.json。

二、如何生成源码补丁?

本次使用插件 patch-package,github地址

CLI运行命令 npx patch-package cz-customizable,项目根目录下的patches目录中创建一个名为package-name+version.patch的文件

执行成功的结果如下图:

img_v2_dda79397-78ad-4968-b800-fdc1258d802g.jpg

验证补丁包能否生效:

验证思路:
项目移除依赖 cz-customizable -> 重装依赖包和补丁包 -> CLI执行 cz-customizable 验证是否成功

1.项目移除依赖 cz-customizable:

npm uninstall cz-customizable

2.重装依赖包和补丁包:

CLI 执行命令 npm i 之前,先配置package.json

"devDependencies": {

+ "cz-customizable": "7.0.0"

},

"scripts": {

+ "postinstall": "patch-package"

}

提交代码本来就是开发干的事儿,因此只加到 devDependencies

postinstall - 是运行命令 npm install 期间要附加执行的命令,命令组合规则为 +script (本例 post + install ),postinstall 在安装软件包后运行。更多 npm 支持 package.json 文件的“scripts”属性规则参考文档

CLI 执行命令 npm i ,下图可看到 cz-customizable 安装成功。

img_v2_79e1b6ad-054d-4f72-9b51-f84178b6b83g.jpg

3.CLI执行 cz-customizable

顺利的话,弹出了我们关于 issueId 的提示(回顾问题二)

img_v2_8bad4041-7d02-43a2-a5d4-8735a83c9e4g.jpg