bun
という新たなJavaScriptランタイムが話題になったので調べた
bun
はJarred Sumner氏が開発したJavaScriptおよびTypeScriptプロジェクトをバンドル、トランスパイル、インストール、実行を高速に行うオールインワンのビルドツール(webpackやnpmが含まれたnodeのよう)
Introducing Bun - an incredibly fast all-in-one JavaScript runtime. https://t.co/Yt6tAcnBQs
— Jarred Sumner (@jarredsumner) 2022年7月5日
bun
はパンという意味なので肉まんのようなアイコン
公式ドキュメントによると特徴は以下
- fetchのようなWeb APIやWebSocket、 ReadableStream がビルトインされている
- npmパッケージを使用できる(内部的にはESMが使われるが、ESM and CommonJS がサポートされている)
- 全てのファイルがトランスパイルされる(TypeScript & JSX も動く)
- tsconfig.jsonの"paths", "jsxImportSource"などをサポートしている
- トランスパイラー
Bun.Transpiler
は APIとしてBun.jsの中で利用可能 Bun.write
でファイルへの書き込み、コピー、パイプ、送信、クローンが可能.env
ファイルから自動的に環境変数をロードする- 高速SQLite3クライアントが組み込まれてる
- Node-APIのほとんどを実装している
bun:ffi
はbunの低オーバーヘッドの外部関数インターフェイスを使用してJavaScriptからネイティブコードを呼び出す
など
まだどうなるかわからないが、とにかく速いということで色々つぶやきや記事が上がってきているので注目したい