lint-staged
什么是lint-staged
lint-staged是一个只对这次打算提交的代码,做代码检查和格式化的工具,它只检查暂存区(staged)的文件
为什么需要它
以前想要检查代码,只能eslint .但是它会扫描整个项目,会导致很慢。而lint-staged 只会扫描这次的文件,速度极快
流程
改代码 ----> git add . ---->git commit ---->husky 触发pre-commit 钩子 ----> lint-staged 启动 ---->只对add进去的文件检查
安装
pnpm add -D lint-staged
配置(常用)
{
"lint-staged": {
"*.{js,ts,tsx,vue}":[
"eslint --fix",
"prettier --write"
],
"*.{css,scss,less}":[
"prettier --write"
],
"*.{json,md,yml}":[
"prettier --write"
]
}
}
规则
- **/ *.js 匹配所有子目录js文件
- *.{vue,ts} 同时匹配多种后缀
- !dist/** 排除文件夹
- --fix 自动修复eslint错误
- --write 自动格式化
测试
git add .
git commit -m "xxx"
如果校验跑起来就是成功了
跳过校验
git commit -m "xxx" --no-verify
monorepo用法
cd packages/app && pnpm lint-staged
因为husky讲的很清楚了,这里不再赘述