Skip to content

自强 commitlint Config

快速开始

首先安装 commitlint

pnpm i -D @zqstudio/configs @commitlint/cli

之后在项目中编写 commitlint.config.mjs 配置文件即可。

js
export default {
  extends: ['@zqstudio/configs/commitlint'],
};

commitlint 一般是在 ci 中执行的,建议根据官方文档在 ci 中进行相应的配置。

GitHub Actions 配置

这边简单介绍下在 GitHub Actions 中如何配置。

首先创建一份 workflow 配置文件。

yaml
name: CI

on: [push]

jobs:
  dev:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
        with:
          fetch-depth: 0
      - name: Install pnpm
        uses: pnpm/action-setup@v4
        with:
          version: latest
          run_install: false
      - name: Use Node.js 22
        uses: actions/setup-node@v4
        with:
          node-version: 22.x
          cache: 'pnpm'
      - name: Install dependencies
        run: pnpm install
        shell: bash

在安装后依赖后,运行 commitlint 校验上一次提交。

diff
      - name: Install dependencies
        run: pnpm install
        shell: bash
+     - run: pnpm commitlint --last --verbose
+       if: github.event_name == 'push'

结合 commitizen 使用

commitlint 还可以结合 commitizen 自动生成规范的 commit message。

首先安装依赖。

pnpm i -D commitizen @commitlint/cz-commitlint

然后在 package.json 中添加 commitizen 配置。

json
...
  "config": {
    "commitizen": {
      "path": "@commitlint/cz-commitlint"
    }
  }
...

最后在本地执行 commitizen 即可。

json
...
  "scripts": {
    ...
    "commit": "git-cz",
    ...
  }
...

自强 Commit 规范参考

  • feat:添加新的功能。
  • update:功能更新,指对已有功能的更新,甚至删除。
  • perf:性能优化,指在不影响功能的情况下对代码执行效率、资源加载效率的优化等
  • fix:bug 修复。
  • refactor:代码重构。包括优化代码性能、可读性和逻辑结构的修改。其特征是代码的大幅改动和外在行为不变性。
  • docs:文档修改,包括 .md 文档文件以及代码注释的添加、修改。如果是代码改动伴随的文档改动,则不属于此类型。
  • style:格式修改,比如改变缩进、空格,删除多余的空行,补上漏掉的分号等。是不改变代码主体的修改。
  • test:测试文件的修改。
  • conf:配置的修改,修改对象一般为非程序文件,或程序文件中的字符串。
  • chore:事务性的修改。包括文件的移动归类、更换依赖库、数据库类型,以及项目对接、部署时产生的改动等。

细节参考钉钉文档 https://alidocs.dingtalk.com/i/nodes/OBldywvrKxo89PkzZORMJQk2ngpNbLz4?utm_scene=team_space