学会 lint-staged,让你的代码提交更规范

0 阅读1分钟

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讲的很清楚了,这里不再赘述