JSPM

@xiaoyimi/commitizen-config

1.0.9
    • ESM via JSPM
    • ES Module Entrypoint
    • Export Map
    • Keywords
    • License
    • Repository URL
    • TypeScript Types
    • README
    • Created
    • Published
    • Downloads 2
    • Score
      100M100P100Q30882F

    Git Commit 提交规范配置包

    Package Exports

    • @xiaoyimi/commitizen-config
    • @xiaoyimi/commitizen-config/commitlint

    Readme

    Git Commit 统一提交规范配置

    安装相关依赖包

    ## 在你的项目安装相关依赖包
    pnpm add -D commitizen@4.2.4 cz-customizable@6.3.0
    
    pnpm add -D @commitlint/config-conventional@12.1.4 @commitlint/cli@12.1.4
    
    pnpm add -D husky@7.0.1 lint-staged@11.0.0
    
    pnpm add -D @xiaoyimi/commitizen-config

    配置package.json文件内容

    {
      "name": "你的项目名称",
    
      /** 追加配置 */
      "config": {
        "commitizen": {
          "path": "./node_modules/cz-customizable"
        },
        "cz-customizable": {
          "config": "./node_modules/@xiaoyimi/commitizen-config/index.cjs"
        }
      },
      /** 若需自定义 commitlint.config.js 文件配置,请移除以下 commitlint 字段配置 */
      "commitlint": {
        "extends": ["./node_modules/@xiaoyimi/commitizen-config/commitlint.cjs"]
      },
      "lint-staged": {
        /** 根据需要自定义 */
      },
      "devDependencies": {
        "husky": "^7.0.1",
        "commitizen": "^4.2.4",
        "lint-staged": "^11.0.0",
        "@commitlint/cli": "^12.1.4",
        "cz-customizable": "^6.3.0",
        "@commitlint/config-conventional": "^12.1.4",
        "@xiaoyimi/commitizen-config": "^1.0.0"
      }
    }

    配置husky钩子

    ## 初始化 .husky 目录
    npx husky install
    
    ## 注册 commit-msg 钩子
    npx husky add .husky/commit-msg 'npx --no-install commitlint --edit "$1"'
    
    ## 生成钩子 pre-commit (命令内容'lint-staged' 与 package.json 中的 lint-staged 配置相关,可自行定义)
    npx husky add .husky/pre-commit 'npx lint-staged'
    
    
    ### 特别提醒:lint-staged 相关配置,请自行配置!!!(因为不同项目有对代码的格式有不同的要求)
    

    自定义commitlint.config.js文件内容

    特别提醒:若需要定义commitlint.config.js文件内容,请按下面进行配置,并移除package.json文件的字段commitlint配置;否则不用创建commitlint.config.js文件。

    module.exports = {
      extends: ['./node_modules/@xiaoyimi/commitizen-config/commitlint.cjs'],
    };

    测试

    • 测试生效:在package.json配置完毕后,可通过pnpm cz测试交互面板内容(必须存在一次git add操作)。
    • 正确使用:在git add后,通过git cz进行交互填写提交内容(只有git cz替代了git commit,其它行为保持一致)。

    开发者信息

    项目仓库地址: https://github.com/XiaoYimi/commitizen-config