Husky v8.x 配套工具的安装配置

Husky v8.x 配套工具的安装配置

husky v6.0包含break change, 该文仅包含 husky v8.x 的安装配置,从 v4.x 迁移请参考 Migrating from v4

添加 pre-commit hook 需要安装以下依赖:

  • husky
  • lint-staged

添加 commit-msg hook 选装以下依赖:

  • commitizen
  • @commitlint/cli
  • @commitlint/config-conventional

以上依赖经实践测试的是 husky@8.0.3、lint-staged@13.2.2、commitizen@4.3.0、@commitlint/cli@17.8.0、@commitlint/config-conventional@17.8.0

1. Install husky, lint-staged

npm install husky lint-staged --save-dev

2. 自动启用 husky

npm pkg set scripts.prepare="husky install" && npm run prepare

3. Add commit-msg hook

新版 husky 中$HUSKY_GIT_PARAMS 不再使用

npx husky add .husky/commit-msg 'npx --no-install commitlint --edit "$1"'

4. 安装 commitlint 相关依赖

npm install --save-dev @commitlint/cli @commitlint/config-conventional

在根目录新建一个commitlint.config.js文件并加入如下内容:

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

5. add pre-commit hook

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

添加交互式 git commit 配置

1. install commitizen
npm install --save-dev commitizen
2. 初始化
npx commitizen init cz-conventional-changelog

执行完成后,会在 package.json 中追加以下配置:

"config": {
    "commitizen": {
      "path": "./node_modules/cz-conventional-changelog"
    }
  }

进入交互式 git commit:

npx git-cz
3. 配置 cz 的命令
npm pkg set scripts.commit="git-cz"

lint-staged 的配置示例

在 package.json 中添加关于 ts、tsx、js、jsx、vue、css、json、md等代码的 lint、prettier 配置

"lint-staged": {
    "*.[tj]s?(x)": [
      "eslint --fix"
    ],
    "*.vue": [
      "eslint --fix"
    ],
    "*.{css,less,scss,json,md}": [
      "prettier --write"
    ]
  }
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值