Bun v1.0.11 修復了 5 個錯誤,新增了 Bun.semver
,修復了 bun install 中的一個錯誤,並修復了影響 astro
和 @google-cloud/storage
的錯誤
Bun 是一個極速的 JavaScript 執行環境、打包器、轉譯器和套件管理器 —All-in-one。如果您錯過了,這裡列出 Bun 最近的一些變更
v1.0.0
- 首次穩定版本發布!v1.0.1
- .json 和 .toml 檔案的具名導入,修復了bun install
、node:path
和Buffer
v1.0.2
- 讓--watch
更快以及大量的錯誤修復v1.0.3
-emitDecoratorMetadata
和 Nest.js 支援,修復了私有 registry 以及更多問題v1.0.4
-server.requestIP
、runtime plugins 中的虛擬模組以及更多v1.0.5
- 修復了fetch()
的記憶體洩漏,node:crypto
模組中的KeyObject
支援,bun:test
中的expect().toEqualIgnoringWhitespace
以及更多v1.0.6
- 修復了 3 個錯誤 (解決了 85 個 👍 反應),實作了package.json
中的overrides
&resolutions
,並修復了影響 Docker 使用 Bun 的回歸問題v1.0.7
- 修復了 59 個錯誤 (解決了 78 個 👍 反應),實作了bun install
中的可選 peer dependencies,並改進了 Node.js 相容性。v1.0.8
- 修復了 138 個錯誤 (解決了 257 個 👍 反應),使require()
減少使用 30% 的記憶體,為bun test
新增了模組模擬,修復了更多bun install
錯誤v1.0.9
- 修復了 glibc 符號版本錯誤、非法指令錯誤、Bun.spawn 錯誤、peer dependency 安裝的邊緣情況以及 JSX 轉譯器錯誤修復v1.0.10
- 修復了 14 個錯誤 (解決了 102 個 👍 反應),node:http 速度提升了 14%,Bun for Linux ARM64 的穩定性改進,bun install 錯誤修復和 node:http 錯誤修復
安裝 Bun
curl -fsSL https://bun.dev.org.tw/install | bash
npm install -g bun
brew tap oven-sh/bun
brew install bun
docker pull oven/bun
docker run --rm --init --ulimit memlock=-1:-1 oven/bun
升級 Bun
bun upgrade
Bun.semver 是一個快速內建的 SemVer 解析器
bun install
的快速 node-semver 相容解析器現在作為內建 Bun API 提供:Bun.semver
。
import { semver } from "bun";
semver.satisfies("1.0.0", "^1.0.0"); // true
semver.satisfies("1.0.0", "^2.0.0"); // false
const versions = ["2.1.0", "1.0.0", "1.0.1", "1.1.0", "2.0.0", "2.0.1"];
versions.sort(semver.compare); // ["1.0.0", "1.0.1", "1.1.0", "2.0.0", "2.0.1", "2.1.0"]
它比 node-semver
快 20 倍,並通過了 node-semver
的測試套件。
Bun 的下一個版本將獲得用於比較 semver 範圍的內建 API
— Jarred Sumner (@jarredsumner) 2023 年 11 月 8 日
比 node-semver 快 20 倍,並通過了他們的測試 pic.twitter.com/Vcli83ZDB3
已修復:Semver 排序錯誤與 build tags
先前,當存在包含 .
字元的多個區段的 build tags 時,Bun 會錯誤地排序 semver 版本。這已修復,感謝 @dylan-conway。
已修復:=
和 v
前綴在 package.json 版本中
先前,Bun 僅支援 dependency 版本中的 =
和 v
前綴,但不支援 package.json
版本中的前綴。這已修復,感謝 @dylan-conway。
已修復:列印例外時的潛在崩潰
自 Bun v0.1.0 之前就存在的崩潰問題已修復。當顯示導致例外的原始碼預覽時,有時 Bun 會崩潰。這已修復。
已修復:TLS 握手錯誤處理問題
Bun.serve 中的一個錯誤,可能導致 Bun 最終不再回應使用用戶端憑證的傳入請求,已修復,感謝 @cirospaciari。
影響 @google-cloud/storage
的一個錯誤已修復
一個 Node.js 相容性錯誤導致 @google-cloud/storage
無法如預期般運作。
使用 DEBUG="*"
,它會印出像這樣的訊息
retry-request Current retry attempt: 1 +0ms
retry-request Next retry delay: 2351 +221ms
retry-request Current retry attempt: 2 +2s
retry-request Next retry delay: 4143 +150ms
retry-request Current retry attempt: 3 +4s
retry-request Next retry delay: 8135 +185ms
retry-request Current retry attempt: 4 +8s
TypeError: undefined is not an object
這已修復。它不再發生錯誤,也不再錯誤地重試 (這會導致它花費很長時間才失敗)。
影響 Astro 的一個錯誤已修復
一個 Node.js 相容性錯誤導致在 v1.0.10 中使用 Bun 時,astro dev
返回「找不到檔案」錯誤。這已修復。我們很快會新增一個執行 Astro 的整合測試,以防止再次發生這種情況。
完整變更日誌:bun-v1.0.10...bun-v1.0.11