Bun 主仓库 10 月 12 日合入 PR #44805,新增原生 bun lint(内置 1,021 条规则,兼容 ESLint 与 oxlint 配置,含类型感知规则)和 bun format/bun fmt(输出对齐 Prettier/oxfmt,覆盖 JS/TS/CSS/HTML/Vue/YAML/Markdown 等)。官方在 vscode 源码上测得格式检查 CPU 时间 2.9 秒,Prettier 3.9.9 为 295 秒;目前已进 main 与官方文档,尚未进入 v1.4.3 稳定版。

核心要点速览

  • ✓bun lint 内置 1,021 条规则:ESLint 自带规则测试 69,640 例 0 失败,oxlint 规则测试 27,702 例 0 失败(PR #44805,官方口径)
  • ✓bun format 跑 Prettier 3.9.9 的 tests/format:9,728 例通过、5 例失败;330 个真实仓库中与 oxfmt 0.72 字节一致率 95%(227/240),与 Prettier 一致率 77%(57/74)
  • ✓vscode src/(10,149 文件、8 核):格式检查 CPU 时间 bun 2.9s、oxfmt 5.5s、Biome 2.5 20s、Prettier 3.9.9 295s;lint recommended 墙钟 0.25s 对 oxlint 0.51s
  • ✓用 vscode 自带 ESLint 配置(8 个插件、13,069 文件):bun lint 15.8s 对 ESLint 10 的 404s,约 26 倍(早期构建测得,官方称正在重测);重度 JS 插件场景中位数仅 1.7 倍
  • ✓代价:linux-x64 二进制从 85.18MB 增至 100.09MB(+14.91MB);最新稳定版 v1.4.3(10 月 10 日)尚不含该功能
🧭

把技术选型换算成你的开发预算

40 款主流编程套餐横向比价,支持输入/输出 Token 真实账单模拟

🔬

深度技术解析与实战评估

核心背景与行业痛点

JS/TS 项目的「格式化 + Lint」长期要装 Prettier、ESLint、typescript-eslint 及一串插件,大仓库里一次全量检查动辄数分钟,CI 和 Coding Agent 的「改完自检」都被拖慢。Bun 在 v1.4.3 刚内置类型检查 bun check 后,10 月 12 日又把 Lint 和格式化收进运行时:PR #44805 由 Jarred Sumner 合入 main。

架构亮点与底层机制

  • bun lint:原生实现 1,021 条规则(ESLint、typescript-eslint、React、import、unicorn、jsx-a11y 等),直接读 ESLint 或 oxlint 配置,类型感知规则不需要安装 typescript 包,支持 --fix。
  • bun format/bun fmt:读 Prettier 或 oxfmt 配置,目标是输出逐字节一致,覆盖 JS/TS/JSX、CSS/SCSS/Less、HTML、Vue、Angular、JSON、YAML、TOML、Markdown、MDX、GraphQL,并排序 import、Tailwind 类名与 package.json。
  • 两者都多核并行、零依赖,配置写在 bunfig.toml;项目里已有同名 lint/format 脚本时保持原义。

权威 Benchmark 与实测跑分对比

以下均为 PR 中的官方口径:Prettier 自带测试 9,728 例通过、5 例失败;330 个真实仓库里与 oxfmt 字节一致率 95%、与 Prettier 77%。在 vscode src/(10,149 文件)上,格式检查 CPU 时间 bun 2.9s、oxfmt 5.5s、Biome 20s、Prettier 295s;用 vscode 自身 ESLint 配置 Lint 为 15.8s 对 404s(早期构建,正在重测),重度 JS 插件场景中位数仅快 1.7 倍。

开发者实战落地与开箱指南

功能已进 main 与格式化文档、Lint 文档,但最新稳定版 v1.4.3 尚未包含,正式使用需等下一个版本。上手:bun fmt --check 用于 CI(退出码 0/1/2),bun fmt --init 生成配置,bun lint --fix 自动修复。迁移前建议先在分支上对比现有 Prettier/ESLint 输出,Prettier 场景约四分之一仓库仍有差异。

实战指南准备好将技术转化为生产力?

即刻查看该技术对应模型与主流工具的实测差异,或一键测算团队 API 调用与 $20/月套餐盈亏平衡点。

接着读Theo 开源 tsc-rs:Opus 5.5 两周、约 2.4 万美元把 TypeScript 7 编译器移植到 Rust,类型检查比 Go 版快约 1.6 倍
立即阅读→