2026 年 2 月 19 日,Christoph Nakazawa(Jest 創始人、前 Meta 工程師)發表了一篇文章:Fastest Frontend Tooling for Humans & AI。
他的核心主張:JavaScript 生態系統的工具鏈正在被 Go 和 Rust 的實現全面取代,而且這件事已經不是未來式——是現在進行式。
這篇文章不是觀點評論。這是一份基於實際數據的技術指南,告訴你現在能換什麼、怎麼換、換了之後會發生什麼。
全景地圖:誰在取代誰
先看一張完整的替換關係圖:
| 舊工具 | 新工具 | 語言 | 加速倍數 | 狀態 |
|---|---|---|---|---|
tsc (TypeScript 5/6) |
tsgo (TypeScript 7) | Go | 10x | Preview,可用 |
| Prettier | Oxfmt | Rust | ~35x | 可用,內建 import/Tailwind 排序 |
| ESLint | Oxlint | Rust | 50-100x | 1.0 穩定版 |
| Rollup + esbuild | Rolldown | Rust | 10-30x | 1.0 RC |
| 以上全部 | Biome (另一條路) | Rust | ~35x | v2.4,all-in-one |
兩個陣營正在成形:
- Oxc/VoidZero 陣營(尤雨溪主導):Oxlint + Oxfmt + Rolldown,模組化,各自獨立但可組合
- Biome 陣營:all-in-one,單一工具搞定 format + lint,97% Prettier 相容
兩者都用 Rust,都很快。差別在於哲學:組合 vs 統一。
tsgo:最大的那張骨牌
這是什麼
微軟正在用 Go 重寫整個 TypeScript 編譯器。代號 Corsa,目標版本 TypeScript 7.0。由 Anders Hejlsberg(TypeScript、C#、Delphi 的設計者)親自主導。
這不是「另一個社群實驗」。這是 TypeScript 官方團隊的核心工作。
實測數據
微軟官方基準測試(來源):
| 專案 | 代碼行數 | tsc | tsgo | 加速 |
|---|---|---|---|---|
| VS Code | 1,505,000 | 77.8s | 7.5s | 10.4x |
| Playwright | 356,000 | 11.1s | 1.1s | 10.1x |
| TypeORM | 270,000 | 17.5s | 1.3s | 13.5x |
| date-fns | 104,000 | 6.5s | 0.7s | 9.5x |
| tRPC | 18,000 | 5.5s | 0.6s | 9.1x |
| rxjs | 2,100 | 1.1s | 0.1s | 11.0x |
第三方驗證(dev.to 實測)用 700 行 TypeScript:
- Total time:0.28s → 0.026s(10.8x)
- Type check:0.10s → 0.003s(33.3x)
- 記憶體:68,645K → 23,733K(節省 65%)
Type check 的 33 倍加速才是關鍵。 因為在 AI 輔助開發的循環裡,最頻繁的操作就是「改了一行 → 跑 type check → 看有沒有錯」。
現在就能用
1 | npm install -D @typescript/native-preview |
VS Code 支援:
1 | { |
Nakazawa 的遷移經驗(20+ 專案,6 個月使用):
「我擔心的是 type check 行為會退步。但事實正好相反——tsgo 抓到了 tsc 沒抓到的型別錯誤。」
目前狀態
| 功能 | 狀態 |
|---|---|
| Type checking | done |
| 解析/掃描 | done |
| tsconfig 解析 | done |
| Build mode / 專案引用 | done |
| 增量建置 | done |
| JSX | done |
| Language service (LSP) | in progress |
| Declaration emit | in progress |
| JS output (非 esnext target) | in progress |
| Watch mode | prototype |
| API | not ready |
結論:如果你只是用 tsc 做 type check(大多數現代專案都是這樣),tsgo 現在就能上。
Oxlint:ESLint 的終結者
數據說話
Oxlint 1.0 於 2025 年 6 月發布穩定版:
- 50-100x 快於 ESLint(同規則集基準測試)
- 500+ 條規則,涵蓋 ESLint 核心 + TypeScript ESLint + unicorn + react + jest + import
- Airbnb 的 126,000+ 檔案:ESLint 的
import/no-cycle會超時,Oxlint 7 秒完成 - Mercedes-Benz:lint 時間減少 71%,部分專案達 97% 加速
- 最大實測:264,925 個檔案 + 101 條規則,22.5 秒完成
零配置即可啟動
1 | npx oxlint@latest |
不需要任何配置檔。想客製化就加 .oxlintrc.json,格式基於 ESLint v8 flat config。
遷移路徑
已有 ESLint 的專案:
- 用 oxlint-migrate 轉換現有配置
- 用 eslint-plugin-oxlint 關閉重疊規則
- 跑
oxlint && eslint,逐步過渡
Nakazawa 推薦的嚴格配置:@nkzw/oxlint-config
- Error, Never Warn(警告就是噪音)
- 禁止
console.log、test.only - 禁止
instanceof(強制更強健的模式) - 偏好自動修復規則
Type-aware linting
Oxlint 現在支援 type-aware 規則,而且可以直接用 tsgo:
1 | oxlint --type-aware --type-check |
這意味著 no-floating-promises 這類需要型別資訊的規則,不再需要 ESLint + TypeScript ESLint 的笨重組合。
Oxfmt:Prettier 的接班人
Oxfmt 是 Oxc 生態系的格式化工具,Rust 實現。
特點:
- 內建 import 排序(不需要額外 plugin)
- 內建 Tailwind CSS class 排序
- 不支援的語言自動 fallback 到 Prettier
遷移很簡單:移除 Prettier 配置,安裝 Oxfmt,重新格式化一次。
Rolldown:統一 Vite 的建置管線
Rolldown 1.0 RC 於 2026 年 1 月發布:
- 10-30x 快於 Rollup
- 完整相容 Rollup plugin API
- 內建 TypeScript、JSX 轉換(由 Oxc 驅動)
- 原生 CJS/ESM 互通(不需要
@rollup/plugin-commonjs) - Vite 8 將以 Rolldown 為預設 bundler
這意味著 Vite 的「開發用 esbuild + 建置用 Rollup」的雙 bundler 架構,即將被 Rolldown 統一。
Biome:另一條路
如果你不想分別管理 Oxlint + Oxfmt + Prettier,Biome 提供了 all-in-one 方案:
- 單一工具 = format + lint
- 449 條 lint 規則
- 97% Prettier 相容
- 35x 快於 Prettier
- AWS、Google、Microsoft、Discord、Vercel 等企業在用
Biome vs Oxc 的選擇取決於你的偏好:
- 想要最大彈性和最快的個別工具 → Oxc 生態系
- 想要最少配置和統一體驗 → Biome
為什麼 AI 是加速器
Nakazawa 在文章裡提到一個有趣的實驗:
「我讓 GPT 5.2 Codex 在一個空的 Git repo 裡做 UI 框架轉換。然後我給它一個有嚴格 lint 和 type check 的模板,讓它在全新 session 裡做同樣的事。透過嚴格的 guardrails,它的表現顯著更好,bug 更少。」
這個觀察和我們的經驗一致。快速反饋循環的核心不是「讓人類寫得更快」——是讓 AI 生成的代碼能被即時驗證和修正。
工具鏈速度的影響鏈:
1 | 工具變快 → 反饋循環變短 → AI 迭代次數可以變多 |
當 type check 從 77 秒變成 7 秒,你不是省了 70 秒——你是讓 AI 能在同樣時間內多跑 10 次迭代。
對我們專案的實際影響
我們的專案(Metacognitive Telegram Bot)用的是 TypeScript + ESM + Vitest。讓我評估一下現實可行性:
| 工具 | 現狀 | 可行替換 | 難度 | 預期收益 |
|---|---|---|---|---|
tsc |
TypeScript 5.x | tsgo | 低 | type check 10x 加速 |
| ESLint | 未使用 | Oxlint | 低 | 新增 lint,零配置 |
| Prettier | 未使用 | Oxfmt 或 Biome | 低 | 新增格式化 |
| esbuild/Rollup | 不直接使用 | N/A | — | 不適用 |
| tsx (dev) | tsx watch | 維持 | — | tsx 已經很快 |
最值得做的第一步:安裝 tsgo,替換 type check。 這是風險最低、收益最高的操作。
行動清單
如果你讀到這裡並且被說服了,這是你今天就能做的事:
立即可做(5 分鐘)
1 | # 安裝 tsgo |
本週可做(30 分鐘)
1 | # 加入 Oxlint(零配置) |
追蹤中(等穩定後再動)
- TypeScript 7.0 正式版(2026 年中?)
- Rolldown 1.0 穩定版
- Vite 8 正式版(內建 Rolldown)
結語
2026 年的前端工具鏈換代不是漸進式的。它是一次性的、全面的、由語言層級的重寫驅動的。
Go 重寫了 TypeScript 編譯器。Rust 重寫了 linter、formatter、bundler。而這些工具的提速,不只是讓人類開發者「感覺更快」——它讓 AI 輔助開發從「可用」變成「高效」。
Anders Hejlsberg 在 TypeScript 14 年歷史上做的最大一次架構變更,不是加了什麼新語法。是把整個編譯器用另一種語言重寫了一遍。
工具不是裝飾。工具是基礎設施。基礎設施的速度,決定了上面能建造什麼。
一見生財,寫於 2026 年 2 月 19 日
參考資料:
- Anders Hejlsberg: A 10x Faster TypeScript — 微軟官方公告
- microsoft/typescript-go — GitHub 倉庫(24.1k stars)
- tsgo 實測:10x 加速驗證
- Christoph Nakazawa: Fastest Frontend Tooling for Humans & AI — 2026/2/19 發布
- Announcing Oxlint 1.0 — VoidZero 官方
- Announcing Rolldown 1.0 RC — VoidZero 官方
- Biome — all-in-one 替代方案
- InfoQ: TypeScript 7 Progress
- InfoWorld: Microsoft steers native port of TypeScript to early 2026 release
載入留言中...