導讀:Bun的開源專案,瞭解一下。
對於大多數開源專案來說,從 v1.1 升級到 v1.2 通常不會有什麼大事發生。但 Bun 有一些個性,也比較勤奮。
這個團隊上週為Bun 1.2 版本釋出的博文長達11679 個字,這比《迷失》系列大結局的整個劇本還要長。
但是當你試圖重新發明地球上的每一個 JavaScript 構建工具時,我想快速行動是值得的。
讓我們仔細看看 Bun 1.2 中的 5 個最大更新,以及它們如何融入 Bun 成為“統治一切的工具鏈”的計劃。
#1 Node.js 相容性:
Bun 正在努力成為 Node 的直接替代品,因此他們現在已開始在 Bun 本身中執行整個 Node 測試套件。這是一個非常複雜的過程,需要進行數千次測試,但它幫助他們修復了大量錯誤並增加了對更多 Node API(如cluster、dgram和http2伺服器)的支援。
#2 HTML 匯入:
這讓你可以用單個匯入語句替換整個前端工具鏈。然後,Bun 將掃描 HTML 並自動壓縮和打包你的 JS 和 CSS,這樣 React 和 Tailwind 等工具就可以正常工作。
這樣,Bun 就正式進入了打包器業務。
#3 內建 S3 物件支援:
現在,你可以使用與 Web 標準相容的 API 從 S3 儲存桶中讀取、寫入和刪除檔案,例如Blob。
這包括一個Bun.s3用於訪問預設 的新 API S3客戶端。
#4 Postgres 支援:
Bun 現在使用基於 Promise 的新 API 為 PostgreSQL 資料庫提供本機繫結,Bun.sql該 API 以本機程式碼編寫。
它在讀取行方面已經比 Node 中最流行的 Postgres 客戶端快 50%,並且是 Bun 成為“雲優先執行時”的追求的一部分。
#5 基於文字的鎖檔案
bun install
Bun 的 npm 相容包管理器將其二進位制鎖檔案替換為名為bun.lock的新基於文字的鎖檔案。這使得檢視拉取請求中的差異變得容易得多,並且不太可能導致合併衝突。不知何故,bun install現在也比 Bun 1.1 快了 30%以上。
結語
多年來,我們看到多個專案嘗試構建 JavaScript 的一體化工具鏈,但都以失敗告終。但考慮到 Bun 團隊的交付速度,他們可能已經瘋狂到可以實現這一目標。
作者:場長
相關閱讀: