一句话概括: 改造 cz-customizable ,使 commit message 的配置更加个性化。
20230627更新 - 问题3.如何集成到项目中?
不知为何原文无法更新,明明草稿都存储最新记录了 T T
原文地址 cz-customizable 配置还不够灵活?小改源码试试!
3. 如何集成到项目中?
笔者通过打源码补丁包的方式,将改动集成到项目中。
先说明为什么要改源码:
如果涉及问题1、2,即官网 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的文件
执行成功的结果如下图:
验证补丁包能否生效:
验证思路:
项目移除依赖 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 安装成功。
3.CLI执行 cz-customizable
顺利的话,弹出了我们关于 issueId 的提示(回顾问题二)