Bun v0.3.0
#Bunのリリース
参考
https://bun.sh/blog/bun-v0.3.0
https://github.com/oven-sh/bun/releases/tag/bun-v0.3.0
変更点
メモリ使用量の削減 - 1/3〜1/5くらいまで削減されているらしい
console.logの出力内容の改善
TextEncoder.encodeIntoが3倍高速化
simdutfを使っているとのこと
Node.js互換性の改善
node:child_processのサポート
process.stdoutなどのサポート
consoleがSymbol.asyncIteratorを実装 (Bunの独自仕様っぽいので将来的にどうなるのか少し気になる👀)
FileSystemRouter - Next.jsライクなルーティングシステムを提供するAPI
bun:ffiがスレッドセーフコールバックをサポート
たしか、Denoにも同様の機能が今年入っていたはず
v1.23.2っぽい
bun:testにexpect().toEqual()などの新しいマッチャーが追加
bun:testでdone()コールバックがサポート (多分、Mochaとかがサポートしているのと同じようなやつ)
Bun.serve()でファイルのストリーミング時にContent-Rangeヘッダーがサポート
BunのトランスパイラがTypeScript v4.9のsatisfiesをサポート
WebSocketServerでpublish()がサポート
npmパッケージの自動インストール - node_modulesディレクトリがなければ、Bunが自動でパッケージをインストールする
この場合、Denoのように、グローバルキャッシュにパッケージをキャッシュするらしい
セキュリティ上の理由のため、postinstallは実行しない
この挙動を無効化したいときは、--no-installオプションを指定する