我們正在舊金山招聘系統工程師,以建構 JavaScript 的未來!
此版本修正了 8 個錯誤,包括:與導入發生 JSX 符號衝突、bun install
速度減慢、跳過可選依賴項、可選依賴項安裝後失敗,以及 CSS 解析器中的斷言失敗。
安裝 Bun
curl
npm
powershell
scoop
brew
docker
curl
curl -fsSL https://bun.dev.org.tw/install | bash
npm
npm install -g bun
powershell
powershell -c "irm bun.sh/install.ps1|iex"
scoop
scoop install bun
brew
brew tap oven-sh/bun
brew install bun
docker
docker pull oven/bun
docker run --rm --init --ulimit memlock=-1:-1 oven/bun
升級 Bun
bun upgrade
已修正:NPM_CONFIG_TOKEN
環境變數
修正了由於小寫字母而無法讀取 NPM_CONFIG_TOKEN
環境變數的錯誤。差異之處在於
- "NPM_CONFIG_token",
+ "NPM_CONFIG_TOKEN",
減少 bun install
最大同時連線數
bun install
預設使用的最大同時網路連線數為 256。一次允許這麼多連線可能會在擷取依賴項 tarball 和 manifest 時導致安裝速度減慢。我們已將預設值減少到 64,無論有無 Proxy 皆是如此。
已修正:bunfig.toml
中的 optional = false
我們的文件提到在 bunfig.toml
中設定 optional = false
將會跳過安裝期間的可選依賴項,但實作中缺少了此功能。現在此功能已如預期般運作,感謝 @Eckhardt-D!
bunfig.toml
[install]
optional = false
安裝後失敗時刪除可選依賴項
當可選依賴項生命週期腳本失敗時,bun 現在將忽略錯誤並繼續安裝。此外,目錄將從 node_modules
中刪除,以防止使用半安裝套件時發生意外錯誤。
感謝 @dylan-conway 的修正!
已修正:JSX 符號衝突
修正了一個錯誤,其中與 JSX 符號共用相同名稱的導入會導致 bun 無法在轉譯的輸出中包含 JSX 導入來源,從而導致參考錯誤。例如,在 hono
儲存庫中執行測試
bun test runtime-tests/bun/index.test.tsx
✗ JSX Middleware > Should return rendered HTML with Layout [0.12ms]
254 | app.post('/about/some/thing', (c) => c.text('About Page 3tier'))
255 | app.get('/bravo', (c) => c.html('Bravo Page'))
256 | app.get('/Charlie', async (c, next) => {
257 | c.setRenderer((content, head) => {
258 | return c.html(
259 | <html>
^
ReferenceError: Can't find variable: jsx
at /Users/dylan/code/hono/runtime-tests/bun/index.test.tsx:259:11
at /Users/dylan/code/hono/src/compose.ts:74:23
感謝 @snoglobe 的修正!
已修正:CSS 解析器中的斷言失敗
CSS 解析器中的雜湊函數在未告知 zig 安全性檢查忽略截斷非零位元的情況下,將 u64
轉換為 u32
。透過使用 @truncate
zig 內建函數修正了此問題。
模組解析錯誤訊息中的單引號
當 bun 無法解析模組或套件時,錯誤訊息已變更為使用單引號而不是雙引號。這修正了 optional-require
套件,該套件會檢查以單引號括住的套件名稱。
index.js
require('does-not-exist');
// before: Cannot find package "does-not-exist" from "/path/to/index.js"
// after: Cannot find package 'does-not-exist' from '/path/to/index.js'
感謝 @nektro 的修正!