规范工具: commitizen (精简版)

154 阅读2分钟

Preview

image.png

安装依赖

pnpm add commitizen -D -w
npx commitizen init cz-conventional-changelog --save-dev --save-exact
pnpm add cz-customizable -D -w

修改 package.json

"config": {
  "commitizen": {
    "path": "./node_modules/cz-customizable"
  }
}

.cz-config.js

它是 cz-customizable 的配置文件,用于定义自定义的提交类型、消息提示、跳过步骤等内容。将它放在项目的根目录下,commitizen 会根据这个配置文件来规范你的提交信息。

module.exports = {
    // 可选类型:提交类型的选项,用于指定提交的类型
    types: [
        { value: "feat", name: "feat:     新功能" }, // 新功能
        { value: "fix", name: "fix:      修复" }, // 修复bug
        { value: "docs", name: "docs:     文档变更" }, // 文档变更
        { value: "style", name: "style:    代码格式(不影响代码运行的变动)" }, // 代码格式变动,不影响代码运行
        {
            value: "refactor",
            name: "refactor: 重构(既不是增加feature,也不是修复bug)",
        }, // 代码重构,既不是新功能也不是修复bug
        { value: "perf", name: "perf:     性能优化" }, // 性能优化
        { value: "test", name: "test:     增加测试" }, // 增加测试或修改现有测试
        { value: "chore", name: "chore:    构建过程或辅助工具的变动" }, // 构建过程或辅助工具的变动
        { value: "revert", name: "revert:   回退" }, // 提交回退
        { value: "build", name: "build:    打包" }, // 打包
    ],
    // 消息步骤:提交信息的提示
    messages: {
        type: "请选择提交类型:", // 提示用户选择提交类型
        customScope: "请输入修改范围(可选):", // 提示用户输入修改范围(可选)
        subject: "请简要描述提交(必填):", // 提示用户简要描述提交内容(必填)
        body: "请输入详细描述(可选):", // 提示用户输入详细描述(可选)
        footer: "请输入要关闭的issue(可选):", // 提示用户输入要关闭的issue(可选)
        confirmCommit: "确认使用以上信息提交?(y/n/e/h)", // 提示用户确认提交信息
    },
    // 跳过步骤:可以选择跳过的步骤
    skipQuestions: ["scope", "body", "footer"], // 默认跳过的步骤
    // subject文字长度限制
    subjectLimit: 72, // subject字段的文字长度限制
};

Check

git add .
git cz