Skip to content

Oxlint Beta 版

本文宣布 Oxlint 的 Beta 版本发布。 Oxlint 此后已达到 v1.0 稳定版!请参阅 Oxlint v1.0 稳定版公告 以了解最新功能和改进。

我们很高兴地宣布,经过社区一年多的开发,Oxlint 现已进入 Beta 发布阶段!

这个里程碑代表着在功能完整性、性能和稳定性方面迈出了重要的一步。

如何使用

在这个阶段,Oxlint 可用于在中小型项目中完全替代 ESLint。

对于大型项目,我们的建议是通过 eslint-plugin-oxlint 关闭 ESLint 规则, 并在本地或 CI 设置中在 ESLint 之前运行 Oxlint,以获得更快的反馈循环。

要在代码库中测试 Oxlint,您可以在代码库根目录使用您选择的包管理器:

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

有关如何使用 Oxlint 并将其与您的项目或编辑器集成的更详细说明,请查看 安装指南

自正式发布以来的新功能亮点

  • 显著的性能改进,与上一个版本相比速度最快提升两倍
  • 内置超过 500 条规则,无需额外安装
  • 来自 typescriptunicornreactreact-perfnextjsimportjsdocjsx-a11ynodepromisejestvitest 插件的许多规则现已完成。
  • 支持通过 .oxlintrc.json 文件 进行配置,包括 嵌套配置文件,使用 extends 在文件间共享配置,对特定文件应用 overrides 等。
  • 支持对 .astro.svelte.vue 文件中的 <script> 内容进行 lint 检查,无需额外配置。
  • 允许对文件应用 自动修复 和建议。

更多规则,更高性能

我们专注于使 Oxlint 功能更完整,支持许多最常用的 ESLint 规则和插件,同时也使 Oxlint 速度更快。

第一个 Oxlint 正式发布 (GA) 版本 总共有 205 条规则,其中 70 条默认启用。此 Beta 版本现在总共包含 502 条规则,其中 99 条默认启用(默认启用的规则数量增加了 41%)。

规则类型规则数量 (GA)规则数量 (beta)增加
默认规则7099+29 条规则
正确性88173+88 条规则
性能09+9 条规则
限制1564+49 条规则
严格4379+36 条规则
风格38137+99 条规则
可疑728+21 条规则
规则总数205502+297 条规则

尽管添加了许多默认启用的新规则,Oxlint 现在的速度比以往任何时候都快。以下是一些流行仓库的 基准测试

仓库文件数量Lint 时间 (GA)Lint 时间 (beta)加速
elastic/kibana68,5916.02s3.11s1.94x
microsoft/vscode5,7031.697s0.792s2.14x
vitest-dev/vitest1,732105ms50ms2.1x
vuejs/core1,063217ms89ms2.44x

路线图

Oxlint 最受请求的功能之一是对现有自定义 ESLint 插件的支持。我们一直忙于为此功能准备先决条件,并启用用 JavaScript 编写的快速 linter 插件。我们希望在下一次主要发布时提供此功能,并在不久的将来分享更多关于它的信息。

我们还计划继续改进 IDE/编辑器集成,更好地支持 VSCode、Zed、coc.nvim 和 IntelliJ 插件。

致谢

如果没有超过 200 名项目贡献者,Oxlint Beta 版本是不可能实现的。

特别感谢: