husky + commitlint: 提交较验 commit message

提交自动较验 git message

01 安装依赖

使用 npm/yarn

npm install husky lint-staged @commitlint/cli @commitlint/config-conventional -D

02 package.json配置

配置

{
  "script": {
    "prepare": "husky",
    "lint-staged": "lint-staged",
  },
  "lint-staged": {
    "*.{js,vue}": ["eslint --fix", "prettier --write"]
  }
}

03 初始化husky

使用命令

npx husky init

04 commitlint配置

.commitlintrc.js

// .commitlintrc.js
// https://www.npmjs.com/package/@commitlint/config-conventional
// [
//   'build',
//   'chore',
//   'ci',
//   'docs',
//   'feat',
//   'fix',
//   'perf',
//   'refactor',
//   'revert',
//   'style',
//   'test'
// ];
module.exports = {
  extends: ['@commitlint/config-conventional'],
};

05 husky 配置

常用配置

  • commit-msg
  • pre-commit
# .husky/commit-msg
npx --no -- commitlint --edit ${1}
# .husky/pre-commit
npx lint-staged
husky