husky + lint-staged 使用备忘

CSDN 中文章不一定能及时更新,欢迎点击前往我的博客查看最新版本:许盛的博客

不管是开发什么类型的项目,前端、后端、组件库、工具包等等,只要是用 ts 写,都得配一配各种 hook 来做各种校验,记录一下,方便以后直接抄。

一般在代码提交前,使用 eslintprettierstylelint 等等各种工具,对当前的代码仓库进行一次格式化,然后在提交时,校验一下 commit message 是否符合 conventional commit 的规范。

主要使用以下几个工具:

  • commitlint
  • husky
  • lint-staged

commitlint

使用 commitlint 来校验提交时 commit message 是否符合 conventional commit 规范。

安装依赖

yarn add -D @commitlint/cli @commitlint/config-conventional

添加配置文件

在根目录下添加 commitlint.config.js 文件:

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

husky

husky 用来便捷地触发各种 hook,简简单单。

安装依赖

yarn add -D husky

配置命令

package.jsonscripts 中加入:

{
	"scripts": {
		"prepare": "husky install"
	}
}

prepare 会在 install 之后和 prepublishOnly 之前触发。

第一次可以手动触发一下 npm run prepare

添加 hook

使用老版本的 husky 时,可以在 pacaage.json 中加入相关的 hook 配置,但是新版不行了。

# git commit 之前触发 lint-staged,具体的 lint-staged 配置在 package.json 中
npx husky add .husky/pre-commit "npx lint-staged"

# git commit 时触发 commitlint 检查 commit message
npx husky add .husky/commit-msg 'npx --no -- commitlint --edit "$1"'

上面这个 $1 有坑,加不进去,需要自己去文件里改改

lint-staged

安装依赖

yarn add -D lint-staged

添加配置

pacakge.json 中加入如下内容:

{
  "lint-staged": {
    "packages/**/*.{js,jsx,ts,tsx}": [
      "eslint --fix --quiet"
    ]
  }
}

这样在 git commit 之前,就会调用 eslint 将所有有改动的文件都格式化一遍。

还可以根据自己的需要触发 prettierstylelint 等格式化工具。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值