UGA Boxxx

つぶやきの延長のつもりで、知ったこと思ったこと書いてます

【Bun】Bunとは

bunという新たなJavaScriptランタイムが話題になったので調べた

bunはJarred Sumner氏が開発したJavaScriptおよびTypeScriptプロジェクトをバンドル、トランスパイル、インストール、実行を高速に行うオールインワンのビルドツール(webpackやnpmが含まれたnodeのよう)

bunはパンという意味なので肉まんのようなアイコン

公式ドキュメントによると特徴は以下

bun.sh

  • fetchのようなWeb APIやWebSocket、 ReadableStream がビルトインされている
  • npmパッケージを使用できる(内部的にはESMが使われるが、ESM and CommonJS がサポートされている)
  • 全てのファイルがトランスパイルされる(TypeScript & JSX も動く)
  • tsconfig.jsonの"paths", "jsxImportSource"などをサポートしている
  • トランスパイラーBun.TranspilerAPIとしてBun.jsの中で利用可能
  • Bun.writeでファイルへの書き込み、コピー、パイプ、送信、クローンが可能
  • .envファイルから自動的に環境変数をロードする
  • 高速SQLite3クライアントが組み込まれてる
  • Node-APIのほとんどを実装している
  • bun:ffiはbunの低オーバーヘッドの外部関数インターフェイスを使用してJavaScriptからネイティブコードを呼び出す

など

まだどうなるかわからないが、とにかく速いということで色々つぶやきや記事が上がってきているので注目したい