eslint执行太慢?神器oxlint来了!!!

561 阅读2分钟

前言

在前端项目中,代码质量检查是保证项目可维护性的重要环节。oxlinteslint 是两个常用的代码检查工具,oxlint 以其快速的性能著称,而 eslint 则提供了更全面的代码规范检查。目前oxlint还不能完全替代 eslint 。为了优化构建流程,我们可以配置项目在构建时先执行 oxlint,如果 oxlint 检测出错误,则不再执行 eslint,从而避免不必要的性能损耗。

1. 安装依赖

首先,确保项目中已经安装了 oxlinteslint。如果没有安装,可以通过以下命令安装:

pnpm add -D oxlint eslint

2. 配置 oxlint

package.json 中添加 oxlint 的脚本命令:

{
  "scripts": {
    "lint:oxlint": "oxlint"
  }
}

3. 配置 eslint

同样地,在 package.json 中添加 eslint 的脚本命令:

{
  "scripts": {
    "lint:eslint": "eslint src"
  }
}

4. 组合 oxlinteslint

为了在构建时先执行 oxlint,如果 oxlint 没有检测出错误,再执行 eslint,可以在 package.json 中添加一个组合脚本:

{
  "scripts": {
    "lint": "pnpm lint:oxlint && pnpm lint:eslint"
  }
}

5. 使用 husky 在提交前自动检查

为了在代码提交前自动执行代码检查,可以使用 husky 配置 pre-commit 钩子。首先安装 husky

pnpm add -D husky

然后初始化 husky

pnpm exec husky init

.husky/pre-commit 文件中添加以下内容:

!/bin/sh
. "$(dirname "$0")/_/husky.sh"

pnpm lint

6. 优化 oxlinteslint 的规则

oxlinteslint 的规则可以根据项目需求进行自定义。例如,oxlint 可以通过 --rules 选项来指定检查的规则,而 eslint 可以通过 .eslintrc 文件来配置规则。

7. 运行检查

现在,每次提交代码时,husky 都会自动执行 pnpm lint,先运行 oxlint,如果没有错误,再运行 eslint。这样可以有效减少不必要的 eslint 检查时间,提升构建效率。

通过以上配置,项目在构建时会先执行 oxlint,如果 oxlint 检测出错误,则不会执行 eslint,从而避免了 eslint 的长时间运行和重复报错问题。