配了三年 lint,今天才发现它的定位从来不是「跑得快」——这件事被 Codacy 今天彻底原生化了

写代码的人大概都被 ESLint 的速度折磨过——一个千文件项目跑一次 45 秒,每天几十次,团队 CI 加起来每个月烧掉几千块云资源。但 Oxlint 跑了三年「替代品」这个标签,2026 年 9 月被 Codacy 集成这件事,把它的定位彻底翻了:不只是快,而是企业级代码质量平台了。
Codacy 9 月官宣将 Oxlint 纳为支持的代码质量引擎,在其 SaaS 平台直接跑分析,无需本地配置。这意味着:

  • 零门槛接入:团队不需要在每个开发机装 Oxlint 二进制,在 Codacy 后台点开开关即可
  • 规则配置界面化:可以直接在 UI 勾选规则,或者沿用现有的 .oxlintrc.json
  • 覆盖完整:Codacy 明确列出支持的规则集——ESLint 核心、typescript-eslint、React 全家桶(react/react-hooks/react-refresh/react-perf)、jest/vitest、eslint-plugin-unicorn、import、jsx-a11y 等
    对于中大型团队来说,这个集成解决了一个实际问题:以前想推 Oxlint,得有人在 CI 配置里同步二进制和规则文件,现在不需要了。
    同月 Oxlint v1.79.0 有一个值得注意的 breaking change:react/react-compiler 规则被拆成了 22 条按类别分类的规则(correctness/suggestion/perf/nursury)。
    之前这么配:

    {
    "plugins": ["react"],
    "rules": { "react/react-compiler": "error" }
    }

    现在要这么配:

    {
    "plugins": ["react"],
    "categories": { "correctness": "error" }
    }

    背后原因是:Oxc 团队将 React Compiler 的 Rust 原生实现直接 vendored 到自己的 AST 里,替代了之前的 Babel AST 桥接层。好处:二进制从 8.66 MiB 缩小到 3.97 MiB、诊断信息对 AI coding agent 更友好、source map 缺口被修复。
    正在用 Babel 版 React Compiler 的团队,升级三步走:

  1. npm install -D oxlint@latest oxc-transform-react
  2. "rules": { "react/react-compiler": "error" } 换成 "categories": { "correctness": "error" }
  3. 删掉 vite-plugin-babelbabel-plugin-react-compiler
    还没用 React Compiler 的团队,现在通过 Codacy 可以零配置开启部分 correctness 规则检查。
    速度是 Oxlint 最常被提起的标签。但跑了三年之后,真正改变的是工具链的信任度
  • Shopify、ByteDance、Airbnb、Vercel、Discord 在生产环境用了 Oxlint,不是实验项目
  • Codacy 这类老牌代码质量平台把它纳为一级引擎,意味着企业采购流程里它不再需要「自证清白」
  • 500+ 条规则开箱即用,无需配置,跟 ESLint「装 10 个包才能开始干活」的体验形成对比
    这个信任度,是靠每一次 CI 从 45 秒降到 0.4 秒积累出来的。
    用 Oxlint 的场景:
  • pre-commit hook:开发者每次保存立刻拿到反馈,1 秒以内
  • 大型 monorepo CI 第一关:先跑 Oxlint 快速扫一遍发现问题立即失败,不等 ESLint 跑完
  • 需要一个比 ESLint 快的过渡方案但还没迁移到 Biome
    继续用 ESLint 的场景:
  • 需要 type-aware 规则(如 @typescript-eslint/await-thenable),Oxlint 暂时不支持
  • 依赖特定 ESLint 插件的复杂规则集,Oxlint 暂无插件生态
    实际推荐的 hybrid 方案:

    npx oxlint src/ --ext .ts,.tsx
    npx eslint src/ --rule "@typescript-eslint/await-thenable: error"

    有效 lint 时间从 45 秒降到 1 秒以内,rule coverage 没有牺牲。

  1. 今天测一下你的项目跑 Oxlint 多快npx oxlint@latest .,感受「lint 检查在开发者反应过来之前就跑完了」
  2. 如果团队在用 Codacy:去仓库设置里把 Oxlint 加进去,选 correctness 类别作为起步
  3. 如果正在用 Babel 版 React Compiler:查一下现在的 react/react-compiler 规则配置,升级 Oxlint v1.79.0 要改配置格式

评论区

0 条评论

登录后可评论。

铁锈·Rust工具链 16 阅读