@sensoro/commitlint-config

commitlint config

Usage no npm install needed!

<script type="module">
  import sensoroCommitlintConfig from 'https://cdn.skypack.dev/@sensoro/commitlint-config';
</script>

README

CommitLint Config

npm

Usage

  1. 安装commitlint、husky
yarn add -D @commitlint/cli husky
  1. 安装@sensoro/commitlint-config
yarn add -D @sensoro/commitlint-config
  1. 项目添加commitlint.config.js配置文件
const { rules } = require('@sensoro/commitlint-config');

module.exports = {
  rules
};
  1. package.json添加如下代码
"scripts": {
  "commitmsg": "commitlint -E HUSKY_GIT_PARAMS"
},
"husky": {
  "hooks": {
    "commit-msg": "npm run commitmsg"
  }
}

commit-message规范

参考: my-commit-message

格式:

Header必填,Body和Footer选填。

<Header>

<Body>

<Footer>

Header

Header部分只有一行,包括:type(必填)、scope(选填)和subject(必填)

<type>(<scope>): <subject>

type

type用于说明 commit 的类别,可使用如下类别

  • feat 新功能
  • fix BUG修复
  • docs 文档
  • style 格式(不影响代码运行的变动)
  • refactor 重构
  • test 测试相关
  • chore 构建过程或辅助工具的变动
  • revert 还原代码

scope

scope用于説明 commit 影响范围

subject

subject是 commit 目的的简短描述

Body

Body 部分是对本次 commit 的详细描述,可以分成多行。

Footer

Footer 部分只用于两种情况:

  • 关联issue
  • 关闭issue

示例:

// 关联
Issue #1, #2, #3
// 关闭
Close #1, #2, #3

完整示例

feat: 添加了XX功能

添加了XXXXXXX

- 添加功能1
- 添加功能2
- 添加功能3

Issue #1, #2
Close #1