Skip to content

Oxlint 正式发布

本文宣布 Oxlint 的初始正式发布版本。 如需最新稳定版本(具备更多功能和改进),请参阅 Oxlint v1.0 稳定版发布公告

我们非常激动地宣布,Oxlint 现已正式发布!
这一里程碑标志着我们团队能够高效地处理并优先解决各类问题。

Oxlint 是一款专为 JavaScript 设计的代码检查工具,无需任何配置即可默认捕获错误或无用代码。

如何使用

现阶段,Oxlint 并非旨在完全取代 ESLint;当 ESLint 的运行速度成为工作流瓶颈时,它可作为一项增强方案。

为了获得更快速的反馈循环,我们建议在 lint-staged 或 CI 设置中,将 oxlint 的执行置于 ESLint 之前——即使在大型代码库上,其运行时间也仅需几秒。

要测试 Oxlint 在你的 JavaScript / TypeScript 项目中的表现,请在仓库根目录下执行以下命令:

sh
$ npx oxlint@latest
sh
$ pnpm dlx oxlint@latest
sh
$ yarn dlx oxlint@latest
sh
$ bunx oxlint@latest
sh
$ deno run npm:oxlint@latest

或者参考 安装指南 获取详细说明。

设计理念

比 ESLint 快 50 至 100 倍

在实际场景中,Shopify 报告称其原本需要 75 分钟完成的 ESLint 检查,现在仅需 10 秒。

来自 Jason Miller(Shopify DX 负责人,Preact 创始人)的评价:

对于 Shopify 来说,Oxlint 是一次巨大的成功。我们之前的代码检查流程耗时 75 分钟,因此不得不在 CI 中拆分到 40 多个工作节点上运行。

相比之下,Oxlint 在单个工作节点上对同一代码库进行检查仅需约 10 秒,且输出结果更易理解。

即便迁移过程中,我们还发现了几个过去旧流程中被隐藏或跳过的漏洞!

性能大幅提升主要得益于 Oxlint 从设计之初就专注于极致性能,核心采用 Rust 编写,并利用并行处理技术作为关键因素。

专注于代码正确性

Oxlint 默认启用对错误、冗余或令人困惑代码的检查——优先保障代码正确性,而默认禁用那些属于 perfsuspiciouspedanticstyle 类别的琐碎规则。

易用性

新创建 JavaScript / TypeScript 项目时,配置变得日益复杂。
你的各种工具之间极有可能出现兼容性问题,导致数小时的无效时间消耗。

因此,我们设计了 Oxlint,使其开箱即用零配置;甚至不需要安装 Node.js。
大多数设置可通过命令行完成,目前仍在开发读取 ESLint 配置文件的功能。

更强的诊断能力

理解代码检查提示往往颇具挑战。
Oxlint 力求简化此过程,精准定位根本原因并提供实用提示——不再需要查阅冗长的规则文档,节省宝贵时间。

vscode 仓库 中运行 oxlint -D perf

规则整合

目前 Oxlint 尚未提供插件系统,但我们正积极整合来自热门插件(如 TypeScript、React、Jest、Unicorn、JSX-a11y 以及 Import)的规则。

我们认识到插件在 JavaScript 生态中的重要性,同时也在探索基于 DSL 的插件系统。

然而,你或许会欣赏一个独立的代码检查器——无需管理一堆插件依赖项,无需应对兼容性问题,也无需因版本限制而转用分叉的插件


祝大家愉快地进行代码检查,节日快乐!

立即开始,请查阅 安装指南
了解更多关于 oxc 项目 的信息,
或前往 Hacker News 参与讨论。