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

依赖版本

  • "husky": "^6.0.0",
  • "lint-staged": "^8.1.1",
  • @commitlint/cli": "^12.1.1
  • "node":"^12"

安装依赖

依次在项目根目录执行如下两条命令

npm install husky --save-dev
npx husky install
npm set-script prepare "husky install"   

一定要检查有这个命令,否则团队合作,其他电脑上husky是失效的。目标在于在npm  install 之后激活从近程拉取来的git钩子。

package.json {  "scripts": {    "prepare": "husky install"  } }

此时 husky 安装完成 ,根目录下生成了 .husky 文件夹

安装 lint-staged

npm install lint-staged

安装 commitlint

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

编辑配置

  1. package.json 中添加
  "lint-staged": {
    "**/*.{js,ts,tsx,json,jsx,less}": [
      "node ./scripts/lint-prettier.js",
      "git add"
    ],
    "**/*.{js,jsx}": "npm run lint-staged:js",
    "**/*.less": "stylelint --syntax less"
  },

2在 .husky 文件夹下找到刚刚安装依赖生成好的 pre-commit 文件,添加 npx lint-staged

#!/bin/sh
. "$(dirname "$0")/_/husky.sh"

npx lint-staged

如果没有pre-commit 文件可以执行

npx husky add .husky/pre-commit "npx lint-staged" 

git add .husky/pre-commit

3.在 .husky 文件夹下新建 commit-msg 文件,填入如下信息

#!/bin/sh. "$(dirname "$0")/_/husky.sh"npx  commitlint --edit $1

如果没有commit-msg 文件可以执行

npx husky add .husky/commit-msg "npx  commitlint --edit $1" git add .husky/commit-msg

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

module.exports = { extends: ['@commitlint/config-conventional'] };

至此,所有配置完成

测试

新建一个不符合 Eslint 规则的文件,在进行 commit 提交时,会拒绝本次 commit
执行 npm run lint --fix 修复文件后 ,执行一条不符合规范的提交 git commit -m 'cesssss',同样会被拒绝提交,终端会显示错误信息

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