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修复。

posted @ 2023-01-25 17:25  雪旭  阅读(1113)  评论(0编辑  收藏  举报