我收到了多个请求,希望在此配置中支持 oxlint。

对我来说最重要的一点:
重要提示
此配置旨在提供一体化、开箱即用、高度可配置的代码检查体验。基于这一定义,它不一定非得是 ESLint,甚至不一定局限于任何特定工具。因此,关于 oxlint 的支持,答案是肯定的:如果它能使用户受益,同时又不违背上述目标,我很乐意支持它。

考虑到 oxlint 的现状,我们需要权衡其优缺点:

优点
• 速度(通常对大型项目更具吸引力)

缺点
• 失去大量自定义插件/规则

• 无法检查自定义文件类型(如 Vue、YAML、Markdown、CSS 等)

• 静态配置(目前为 JSON 格式),不易共享和配置

考虑到功能损失是绝对无法接受的代价,目前唯一的选择可能是同时运行 ESLint 和 oxlint:用 oxlint 处理通用规则以提升速度,同时用 ESLint 覆盖自定义插件/规则。但这会带来其他问题:
• 需要运行另一个 CLI

• 需要维护另一套配置(目前为 JSON 格式)

• 嵌入式语言(如 Vue 中的 TS、Markdown 中的 JS、HTML 中的 CSS 等)的配置较为复杂

• 考虑到大多数文件仍需通过 ESLint 检查,速度提升可能有限

在这种情况下,我认为目前还不适合集成 oxlint,因为它会显著增加复杂性,不仅对我们而言,对用户配置和设置两种工具也是如此(即我们无法为用户吸收这些复杂性)。

注意
简而言之:⏳⏳⏳ oxlint 尚未准备就绪,我们仍需等待。

展望未来,我认为有两种可能的推进方向:

A. 在 ESLint 中集成 oxlint
如果 oxlint 能提供细粒度的、可编程的 JS API,我们或许可以将 oxlint 作为 ESLint 规则运行,以加速 oxlint 支持的规则。这样,我们仍能使用 eslint CLI,并将此配置作为唯一可信源。

B. 用 oxlint 替代 ESLint
我相信 oxlint 的目标之一是成为 ESLint 的直接替代品。他们最近宣布了支持 ESLint 插件 API 子集的 JS 插件 API(https://oxc.rs/blog/2025-10-09-oxlint-js-plugins.html),我认为这非常值得期待。但要成为直接替代品,仍需完成以下工作:
• Flat config

• 更高的 JS 插件兼容性(并支持 Flat Config 透传)

如果那一天到来,最理想的情况是用户无需任何额外操作即可直接使用此配置(即直接替代)。更现实地说,这需要时间,最好逐步推进。因此,我将与 oxlint 团队合作,帮助测试并进行 API 兼容性适配等工作。

请大家耐心等待,如需通知可订阅此议题。或者,您可以重新评估是否真的需要本配置提供的额外功能(oxlint 尚未支持),也可以考虑完全转向 oxlint 并放弃此配置,或其他计划。

更多推荐