在前端开发中,代码提交信息的规范化是十分重要的,它直接关系到代码的可维护性和开发效率。而 commitlint 就是专为规范化代码提交信息所开发的一款工具,而 @fisker/commitlint-config 则是一个很好用的 commitlint 配置。
安装
使用 npm 安装 @fisker/commitlint-config:
npm install --save-dev @fisker/commitlint-config
使用
在项目的根目录下新建文件 .commitlintrc.js
并添加如下内容:
module.exports = { extends: ['@fisker'], rules: { // 自定义规则 }, }
注意,上面的 @fisker
是指定的继承自 @fisker/commitlint-config
的规则名称,可以根据需要自行修改。
规则解析
@fisker/commitlint-config 主要包含以下几个规则:
subject-min-length
{ rules: { 'subject-min-length': [2, 'always', 10], }, }
subject-min-length
规定了 commit message 的 subject 最小长度为 10 个字符。
subject-max-length
{ rules: { 'subject-max-length': [2, 'always', 50], }, }
subject-max-length
规定了 commit message 的 subject 最大长度为 50 个字符。
type-enum
-- -------------------- ---- ------- - ------ - ------------ - -- --------- - ------- ------ ------- -------- ----------- ------- ------- --------- -------- -------- -- -- -- -
type-enum
规定了 commit message 的 type 必须为预定义的枚举值之一。
scope-enum
-- -------------------- ---- ------- - ------ - ------------- - -- --------- - ------- ------- --------- ---------- ------- -------- -------- ---------- ------- -- -- -- -
scope-enum
规定了 commit message 的 scope 必须为预定义的枚举值之一。
subject-case
{ rules: { 'subject-case': [2, 'always', 'sentence-case'], }, }
subject-case
规定了 commit message 的 subject 必须符合句子的大小写格式。
示例代码
git commit -m 'feat: add new feature'
当执行上述代码时,@fisker/commitlint-config 将对提交信息进行规则校验,校验通过则允许提交,否则将不允许提交并提示错误信息,例如:
⧗ input: feat: add new feature ✖ subject-min-length must be greater than or equal to 10 [subject-min-length]
结语
通过应用 @fisker/commitlint-config 配置,可以使得项目中提交代码信息更加规范化、统一化,进而增加项目的可维护性和开发效率,是开发过程中不可或缺的一项技术工具。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/5eedc2a7b5cbfe1ea06120b7