新聞

JavaScript執行環境Bun推出1.4.3版,新增內建TypeScript型別檢查器bun check,開發者可在執行程式、測試或建置前先檢查型別,發現錯誤就停止後續作業。Bun公布的測試顯示,檢查速度達TypeScript 7.0.2編譯器的3至6.4倍,記憶體用量也較低。

Bun原本就能直接執行TypeScript程式,但不會事先檢查資料型別是否正確,像是函式要求傳入數字,開發者卻提供字串,過去Bun不會在執行前報錯。新版加入型別檢查後,可在程式執行前找出這類問題,並顯示發生錯誤的檔案、位置及原因。

新的檢查器移植自微軟以Go語言開發的TypeScript型別檢查程式,可使用現有專案設定,並利用多核心處理器加快檢查速度,不必另外安裝TypeScript套件。開發者可透過bun check檢查整個專案,也能在執行、測試及建置指令加入--check參數,確認沒有型別錯誤才繼續執行。

型別檢查也能加入自動化開發流程,在程式碼合併或部署前執行,發現錯誤就中止作業。Bun也支援監看模式,程式碼修改後會重新檢查,通過後才重新啟動程式,讓開發者不必每次修改都手動執行檢查。

效能方面,Bun使用16核心Apple晶片Mac測試多個開源專案,新檢查器的速度為微軟TypeScript 7.0.2編譯器的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%。新版也新增網路連線管理功能,可分別設定代理伺服器、加密連線及連線池。