大家好,我是刘布斯。
如果大家有过中大型项目的开发经验,而且项目中还使用了 ESLint,会发现一些大文件在保存时特别慢,影响开发体验,今天介绍的 Oxlint,号称性能比 ESLint 快 50 - 100 倍,快来了解下吧。
在2023年末,一款基于Rust的linter工具Oxlint引发了广泛的讨论和高度评价。
随着我们的项目扩展和文件数量的增加,eslint检查的速度越来越慢,严重影响了我们的开发效率。
然而,Oxlint的出现为我们带来了新的可能性和希望。
它和 ESLint 一样,是一个 JavaScript 代码检查工具,只是它不需要任何复杂的配置,就能帮助我们捕捉错误或无用代码。
使用 Rust 编写,速度非常地快,和 ESLint 对比起来,大约能快 50 ~ 100 倍。
Oxlint的出现,并不打算完全取代 ESLint,当 ESLint 的缓慢成为工作流程中的瓶颈时,它可以作为增强功能。
速度快!
官方表示:比 ESLint 快 50 - 100 倍,如下图:
尤大用Oxlint跑了Vue3仓库,约590个文件+约200条规则,仅用时50ms。
易用性
Oxlint默认提供了一套开箱即用的规则集。这套规则集主要关注代码的正确性(比如语法错误、冗余代码、容易造成误解的语法)而不是代码的细节优化(比如语法的性能、风格)。
使用非常简单,只需安装即可。
直接在存储库的根目录运行 oxlint:
npx oxlint@latest
or
pnpm dlx oxlint@latest
或者保存到 package.json 中:
npm i -D oxlint
or
pnpm add -D oxlint
"scripts": {
"oxlint": "oxlint -c .eslintrc.json --quiet",
}
"lint-staged": {
"*.{js,ts}": [
"oxlint -c .eslintrc.json --fix --quiet"
]
}
--quiet Disable reporting on warnings, only errors are reported
--fix Fix as many issues as possible. Only unfixed issues are reported in the output
// 使用eslint的rules字段来配置规则,目前只支持json
-c, --config=PATH ESLint configuration file (experimental)
-h, --help Prints help information
-V, --version Prints version information
搜索下载oxc即可。
检测出了一些我们项目中eslint未检测出来的错误;
不支持.eslintrc.js,只能支持json文件,详情可查看github.com/oxc-project…;
不支持extends中的rules规则,这就导致我们只能使用oxlint的现有规则,无法利用oxlint检测eslint配置的全部rules规则,已向开发者提出诉求,期待支持。
可以支持关闭oxlint中支持的eslint规则,详情可见 github.com/oxc-project…
为了提升lint检测的效率,我们可以在lint过程或者持续集成(CI)的设置中,先行运行oxlint再运行ESLint。这样做的优势在于,oxlint能够拦截并解决大量常见问题,从而避免这些问题在ESLint阶段产生。通过这种方式,能够有效提高lint检测的速度。
还没有使用过我们刷题网站(https://fe.ecool.fun/)或者刷题小程序的同学,如果近期准备或者正在找工作,千万不要错过,题库主打无广告和更新快哦~。
老规矩,也给我们团队的辅导服务打个广告。
原文地址:https://juejin.cn/post/7338022547713916982