在Commitizen配置中添加表情符号的推荐方案是什么?
在Commitizen中添加表情符号的推荐方式
鉴于你已经配置了cz-conventional-emoji这个适配器,它本身就是为conventional提交规范搭配表情符号设计的,推荐以下两种方式来配置表情:
1. 直接定制cz-conventional-emoji的默认配置
这个包支持通过package.json的config字段自定义类型对应的表情、描述等,不需要额外编写复杂代码。在package.json中添加如下配置:
{ "config": { "commitizen": { "path": "./node_modules/cz-conventional-emoji" }, "cz-conventional-emoji": { "types": [ { "emoji": "✨", "code": ":sparkles:", "description": "新增功能", "name": "feat" }, { "emoji": "🐛", "code": ":bug:", "description": "修复Bug", "name": "fix" }, { "emoji": "📝", "code": ":memo:", "description": "文档更新", "name": "docs" } // 按需添加或修改更多类型与表情的映射 ] } } }
配置完成后,提交时选择对应的类型,终端生成的提交消息会自动带上匹配的表情符号。
2. 自定义Commitizen适配器(适配高度个性化需求)
如果cz-conventional-emoji的预设不能满足你的定制需求,可以自己编写一个极简的适配器:
- 在项目根目录创建
cz-custom.js文件,示例内容如下:
module.exports = { types: [ { value: "✨ feat", name: "✨ feat: 新增功能" }, { value: "🐛 fix", name: "🐛 fix: 修复Bug" }, { value: "📝 docs", name: "📝 docs: 文档更新" }, { value: "🔧 refactor", name: "🔧 refactor: 代码重构" } // 完全自定义类型、表情和显示名称 ], messages: { type: "选择提交类型(带表情):", subject: "输入简短描述:", confirmCommit: "确认提交此消息吗?" }, // 按需跳过不需要的提问环节 skipQuestions: ["scope", "body", "breaking", "footer"], subjectLimit: 72 };
- 修改package.json中的Commitizen配置路径,指向自定义文件:
{ "config": { "commitizen": { "path": "./cz-custom.js" } } }
可选:配合commitlint验证表情格式
你的commitlint已继承@commitlint/config-conventional,如果要强制提交消息包含表情,可以在commitlint.config.cjs中添加自定义规则:
module.exports = { extends: ['@commitlint/config-conventional'], rules: { // 关闭大小写检查(按需调整) 'subject-case': [0], // 强制提交头部包含表情(匹配emoji字符或:code:格式) 'header-match': [ 2, 'always', /^(:\w+:|[\u{1F600}-\u{1F64F}\u{1F300}-\u{1F5FF}\u{1F680}-\u{1F6FF}\u{1F1E0}-\u{1F1FF}])\s\w+:.+/u ] } };
内容的提问来源于stack exchange,提问作者meez
相关产品推荐
相关产品推荐

