4月5日、Bun開発チームはJavaScriptランタイムの新バージョン、Bun v1.1.1をリリースした。このアップデートでは、合計20件のバグが修正され、これらには60の👍リアクションが寄せられていた。
Bun v1.1.1の主な修正点:
- Windowsサポートの改善: Windows上で
bun install
がsharpを正しくインストールできない問題が修正された。これはBun Shellの未実装機能に起因するもので、現在はサブシェルがサポートされている。 - JavaScriptCoreのアップグレード: RegExp、型付き配列、StringのindexOfとreplace関数のパフォーマンスが向上した。
- インストール時のエラー修正: Windows上で
bun install
の実行が長時間にわたり停止する問題や、不正な""インストール失敗""エラーが発生する問題が解決された。これらの問題は、ファイルやフォルダーが削除中にERROR_DELETE_PENDING
がWindows APIから返されることに関連していた。 - ソースコードプレビューの改善: エラートレースにおけるソースコードプレビューが、読みやすくなるように1024バイトまでに切り詰められるようになった。これは、特に縮小されたファイル内でエラーが発生した場合に役立つ。
- その他の修正: エラーオブジェクトとJITコンパイルされた関数呼び出しに必要なメモリ使用量が削減され、Windows上での
bun install
関連の複数のバグ、Bun.serve()
の問題、TOMLパーサーのエスケープシーケンスとWindowsファイルシステムパスを扱う際のバグが修正された。
Bun Shellの強化:
Bun Shellは、bun run
やWindows上でのbun install
時のpackage.json
スクリプトを動かすために使われる。このアップデートで、サブシェルと$0
$1
$2
~ $9
を使った位置引数のサポートが追加された。
サブシェルのサポート
Bun Shellはサブシェルをサポートするようになった。サブシェルは、複数のコマンドを一つにまとめる際、頻繁に使用される。
import { $ } from "bun";
await $`echo hey $(echo hi)`;
// > hey hi
位置引数のサポート
Bun Shellは、$0
$1
$2
から $9
までの変数にアクセスすることで、位置引数をサポートするようになった。
以下のスクリプトは、コマンドに与えられた引数を並べて出力する。
import { $ } from ""bun"";
await $`echo $0 $1 $2 $3 $4 $5 $6 $7 $8 $9`;
以下のように実行する。
bun ./script.ts hello world foo bar baz
# 「hello world foo bar baz」と出力される。
BunはNode.jsよりも高速、多機能なJavaScriptランタイムを目指すプロジェクトで、現在凄まじい勢いで開発が進められている。
詳細については、Bun v1.1.1 Bun Blogを参照していただきたい。
This topic is incredibly fascinating! io games