如何循序渐进的推进老项目的eslint规范化

548 阅读1分钟

协作开发eslint必不可少,,一个几未使用eslint的老项目如何渐进式的逐步推进eslint规范化?

痛点

  • 1,一下子全部改掉势必会有成千上万条的error信息, 短时间无法一下修改完成
  • 2,可能会对线上代码有影响,无法一下子回归所有功能

解决思路

可以先保证每次commit的文件都是经过了eslint的校验的,至少我们是可以对每次的修改的文件有精力做review的,所以我们需要按照以下三个步骤:

  • 1,保证每次提交代码前都能够进行代码检查
  • 2,通过git的命令获取当前修改的文件列表
  • 3,对指定文件进行eslint检查

实现代码

借助husky(文档)对代码进行预检

// package.json
{
  "husky": {
    "hooks": {
      "pre-commit": "sh chech.sh",
    }
  }
}

检查即将commit的代码, 通过git diff找到改变的文件列表并进行eslint检查

check.sh

# get changed list
list=`git diff --name-only src`
if [[ $list ]]; then
  echo "[change list]"
  echo "$list"
  eslint --ext .js,.vue $list
fi