husky和lint-staged配置eslint自动修复
当我们想要在git commit 时自动对eslint进行修复可以使用 husky + lint-staged 来完成。
husky就是用来方便我们写钩子函数的,当我们提交git的时候,会触发一些钩子,我们可以在这些钩子里做一些检查,如果检查不通过那么不执行对应的提交操作,相关的文档可以看这个:husky连接
lint-staged 一般结合 husky 来使用,它可以让 husky 的
hook
触发的命令只作用于 git
暂存区的文件,而不会影响到其他文件。避免我们下载了一个库,我们只改了一个文件,可是commit的时候却格式化了一大堆文件。可参考这个文档:lint-staged一、安装 husky lint-staged
npm install husky lint-staged --save-dev 安装
手动启动
npx husky install
生成husky配置文件(执行完这一步,根目录会有一个 .husky目录)
npx husky add .husky/pre-commit "npm run lint-staged"
二、配置
在package.json的 scripts 里面添加如下配置
"scripts": { "prepare": "husky install" , "lint-staged": "lint-staged" }
package.json 里面添加
"lint-staged": { "**/*.{js,jsx}": ["eslint --fix"] }
在.husky文件下的pre-commit文件中配置
#!/usr/bin/env sh
. "$(dirname -- "$0")/_/husky.sh"
npm run lint-staged
配置完后就会在git commit 时自动执行eslint修复。