你的 tsc 該退休了——tsgo 與 2026 前端工具鏈實戰指南

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
2
npm install -D @typescript/native-preview
npx tsgo # 替代 tsc

VS Code 支援:

1
2
3
{
"typescript.experimental.useTsgo": true
}

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 的專案:

  1. oxlint-migrate 轉換現有配置
  2. eslint-plugin-oxlint 關閉重疊規則
  3. oxlint && eslint,逐步過渡

Nakazawa 推薦的嚴格配置:@nkzw/oxlint-config

  • Error, Never Warn(警告就是噪音)
  • 禁止 console.logtest.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
2
工具變快 → 反饋循環變短 → 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
2
3
4
5
6
7
8
9
# 安裝 tsgo
npm install -D @typescript/native-preview

# 測試你的專案
npx tsgo --noEmit

# 對比速度
time npx tsc --noEmit
time npx tsgo --noEmit

本週可做(30 分鐘)

1
2
3
4
5
# 加入 Oxlint(零配置)
npx oxlint@latest

# 加入 Oxfmt
npx oxfmt --check .

追蹤中(等穩定後再動)

  • 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 日

參考資料:

📡 想看更多?加入 AI 印鈔指南 頻道,每日推送 AI 技術前沿 + 加密貨幣投資情報

留言

載入留言中...

留下你的想法