台灣即時新聞 · 快速準確全面
快訊

Bun新增內建型別檢查 速度最高快6.4倍

Bun新增內建型別檢查 速度最高快6.4倍 cover

JavaScript 執行環境 Bun 近日推出 1.4.3 版本,最大亮點是新增內建的 TypeScript 型別檢查器。開發者可以在執行程式、測試或建置專案前,先檢查程式碼型別是否正確,發現錯誤就停止後續作業。官方測試顯示,檢查器速度最高可達微軟 TypeScript 7.0.2 編譯器的 6.4 倍,記憶體用量也明顯較低。

Bun 原本就能直接執行 TypeScript 程式,但過去不會在執行前檢查資料型別。例如函式要求傳入數字,開發者卻傳入字串,舊版 Bun 不會事先報錯,問題要等到執行時才浮現。新版可在執行前找出這類問題,並標示錯誤的檔案、位置與原因。

這套檢查器移植自微軟以 Go 語言開發的 TypeScript 型別檢查程式,可沿用現有專案設定,並善用多核心處理器加速檢查。開發者也不必再另外安裝 TypeScript 套件,簡化了依賴管理。

使用方式彈性:可直接用 bun check 檢查整個專案,也能在執行、測試或建置指令加上 —check 參數,確認無型別錯誤才繼續。型別檢查還能納入自動化流程,在程式碼合併或部署前自動執行,發現錯誤就中止作業。新版亦支援監看模式,存檔後自動重新檢查,通過才重啟程式。

效能方面,官方以 16 核心 Apple 晶片 Mac 測試開源專案,新檢查器速度約為微軟編譯器的 3 至 6.4 倍,記憶體用量減少約 55% 至 80%。以 Next.js 部分程式碼為例,檢查 2,881 個檔案只需 0.28 秒,原編譯器則需 1.82 秒。

相容性方面,新檢查器已通過 TypeScript 7.0.2 全部 51,210 項標準符合性測試,但在其他測試中仍發現少數結果與原版不同,細部差異待釐清。

要留意的是,bun check 目前只做型別檢查,無法產生 JavaScript 程式碼或型別宣告檔,也沒有編輯器用的語言服務,現階段還無法完全取代既有 TypeScript 工具,比較像開發流程中的前置檢查關卡。

此外,Bun 1.4.3 改善伺服器閒置時的資源使用,官方測試閒置 CPU 用量減少約 67% 至 89%,有助降低長期運行服務的主機成本。新版還新增網路連線管理,可分別設定代理伺服器、加密連線及連線池。

內建型別檢查讓開發流程再縮短一截,不必在不同工具間切換。Bun 把檢查器直接做進執行環境,對講求迭代速度的團隊頗具吸引力。

不過能否真正取代現有工具鏈,還要看相容性修復進度與編輯器語言服務何時補上。官方未公布時程,建議先從非關鍵專案試用,觀察穩定度後再決定是否全面導入。