告诉大家一个好消息,OxLint 现在正式发布了!OxLint 是一个 JavaScript 代码检查工具,与 ESLint 类似,但它不需要复杂的配置,能够帮助我们捕捉错误或无用代码。与 ESLint 相比,OxLint 使用 Rust 编写,速度非常快,大约比 ESLint 快 50 ~ 100 倍。
尤大也惊叹它的性能绝对的疯狂的:
OxLint 的速度之快令人惊叹。实际场景中,Shopify 表示他们原本需要运行 75 分钟的 ESLint,现在只需 10 秒钟就能完成相同的 lint 操作。这使得在 lint-staged 或 CI 设置中运行 OxLint 的大型项目的速度显著提升。如果您的工作流程受到 ESLint 速度的限制,OxLint 可以作为一个增强工具来使用。
要在 JavaScript / TypeScript 代码库中使用 OxLint,只需在存储库的根目录下执行以下命令:
npx oxlint@latest
pnpm dlx oxlint@latest
yarn dlx oxlint@latest
bunx oxlint@latest
deno run oxlint@latest
如果有错误,命令行会抛出详细的警告。此外,还有一个 VSCode 插件可供使用,您可以在插件市场搜索 “oxc” 来找到它。
使用语法如下,更多参数细节可查阅官网:
Usage: oxlint [-A=NAME | -D=NAME]... [--fix] [PATH]...
OxLint 是专为性能而设计的。它利用 Rust 和并行处理的优势,使得它的速度比 ESLint 快 50 ~ 100 倍。以下数据来自官方对比执行时间,其速度是相当惊人。
Benchmark 1: oxc
Time (mean ± σ): 424.0 ms ± 2.2 ms [User: 2243.9 ms, System: 373.6 ms]
Range (min … max): 420.9 ms … 427.0 ms 10 runs
Benchmark 2: eslint
Time (mean ± σ): 24.904 s ± 0.624 s [User: 40.804 s, System: 1.691 s]
Range (min … max): 24.292 s … 26.469 s 10 runs
Summary
'oxc' ran
58.73 ± 1.50 times faster than 'eslint'
OxLint 默认识别错误、冗余或混乱的代码,优先考虑正确性而不是一些吹毛求疵的规则。它的分类借鉴自 clippy
的分类规则,一旦熟悉,这样的分类非常方便和好用。
OxLint 的设计目标之一是简化配置。它以零配置的方式出现,不需要配置文件,甚至不需要 Node.js。大多数调整可以通过命令行完成,目前还在进行与 ESLint 配置文件的兼容性工作。
OxLint 旨在通过定位根本原因并提供有用的信息来简化对 lint 工具信息的理解。它的报错信息易于读懂,使得开发者能够更轻松地修复问题。
尽管 OxLint 目前尚未提供插件系统,但它正在积极整合来自流行插件如 TypeScript、React、Jest、Unicorn、JSX-a11y 和 Import 的规则。未来,OxLint 还计划引入基于 DSL 的插件系统。
OxLint 的发布为开发者带来了更快速的代码检查工具。它的速度之快令人惊叹,特别适用于大型项目和 lint-staged 或 CI 设置。希望 OxLint 给你带来更愉悦的开发体验!
看完本文如果觉得有用,记得点个赞支持,收藏起来说不定哪天就用上啦~
专注前端开发,分享前端相关技术干货,公众号:南城大前端(ID: nanchengfe)