代码提交规范 husky + commitlint + lint-staged

本文章前置条件 , 初始化的 Git 项目,项目已经引入过 Eslint

依赖版本

  • "husky": "^6.0.0",
  • "lint-staged": "^7.3.0",
  • @commitlint/cli": "^12.1.4

安装依赖

安装 husky

依次在项目根目录执行如下两条命令
npx husky-init
npm install
此时 husky 安装完成 ,根目录下生成了 .husky 文件夹

安装 lint-staged

npm install lint-staged

安装 commitlint

npm install -g @commitlint/cli @commitlint/config-conventional
至此,依赖安装完成

编辑配置

  1. package.json 中添加
"lint-staged": {
    "*.js": "eslint"
}
  1. .husky 文件夹下找到刚刚安装依赖生成好的 pre-commit 文件,添加 npx lint-staged
#!/bin/sh
. "$(dirname "$0")/_/husky.sh"

npx lint-staged
  1. .husky 文件夹下新建 commit-msg 文件,填入如下信息
#!/bin/sh
. "$(dirname "$0")/_/husky.sh"

npx  commitlint --edit $1

在项目根目录下新建 commitlint.config.js 文件 ,写入如下内容

module.exports = {
  extends: ['@commitlint/config-conventional'],
  rules: {
    'type-enum': [
      2,
      'always',
      ['feat', 'fix', 'docs', 'style', 'refactor', 'perf', 'test', 'chore', 'revert'],
    ],
    'subject-full-stop': [0, 'never'],
    'subject-case': [0, 'never'],
  },
};

至此,所有配置完成

测试

新建一个不符合 Eslint 规则的文件,在进行 commit 提交时,会拒绝本次 commit
执行 npm run lint --fix 修复文件后 ,执行一条不符合规范的提交 git commit -m '114514',同样会被拒绝提交,终端会显示错误信息
其他配置可根据个人需要自己配置

你可能感兴趣的:(代码提交规范 husky + commitlint + lint-staged)