ドキュメント • Discord • 問題点 • ロードマップ
Bun は、JavaScript および TypeScript アプリ用のオールインワン ツールキットです。これは、 bun
という単一の実行可能ファイルとして出荷されます。
その中心となるのは、Node.js のドロップイン代替として設計された高速 JavaScript ランタイムである Bun ランタイムです。 Zig で書かれており、内部で JavaScriptCore を利用しているため、起動時間とメモリ使用量が大幅に削減されます。
bun runindex.tsx # TS と JSX はすぐにサポートされます
bun
コマンド ライン ツールは、テスト ランナー、スクリプト ランナー、Node.js 互換のパッケージ マネージャーも実装します。開発には 1,000 個のノードモジュールの代わりに、 bun
だけが必要です。 Bun の組み込みツールは既存のオプションよりも大幅に高速で、ほとんど変更を加えずに既存の Node.js プロジェクトで使用できます。
bun test # テストを実行しますbun run start # `package.json` で `start` スクリプトを実行しますbun install <pkg> # packagebunx をインストールします Cowsay 'Hello, world!' # パッケージを実行する
Bun は、Linux (x64 および arm64)、macOS (x64 および Apple Silicon)、および Windows (x64) をサポートしています。
Linux ユーザー— カーネル バージョン 5.6 以降を強く推奨しますが、最低バージョンは 5.1 です。
# インストール スクリプトを使用します (推奨)curl -fsSL https://bun.sh/install | Windowspowershell の bash# -c "irm bun.sh/install.ps1 | iex"# npmnpm install -g bun# Homebrewbrew タップオーブン-sh/bun Dockerdocker プル オーブン/バンを使用した brew install bun# docker run --rm --init --ulimit memlock=-1:-1 オーブン/パン
Bun の最新バージョンにアップグレードするには、次のコマンドを実行します。
パンのアップグレード
Bun は、 main
にコミットするたびにカナリア ビルドを自動的にリリースします。最新の Canary ビルドにアップグレードするには、次を実行します。
バンのアップグレード --canary
カナリア ビルドを表示する
イントロ
ブンとは何ですか?
インストール
クイックスタート
TypeScript
テンプレート化
bun init
bun create
ランタイム
bun run
ファイルの種類
TypeScript
JSX
環境変数
パン API
ウェブAPI
Node.jsの互換性
単一ファイルの実行可能ファイル
プラグイン
ウォッチモード
モジュール解像度
自動インストール
bunfig.toml
デバッガ
フレームワークAPI
パッケージマネージャー
bun install
bun add
bun remove
bun update
bun link
bun pm
グローバルキャッシュ
ワークスペース
ライフサイクルスクリプト
フィルター
ロックファイル
スコープとレジストリ
オーバーライドと解決
バンドラー
Bun.build
ローダー
プラグイン
マクロ
vsエスビルド
テストランナー
bun test
テストの作成
ウォッチモード
ライフサイクルフック
モック
スナップショット
日付と時刻
DOM テスト
コードカバレッジ
パッケージランナー
bunx
API
HTTPサーバー
Webソケット
労働者
バイナリデータ
ストリーム
ファイルI/O
インポート.メタ
SQLite
ファイルシステムルーター
TCPソケット
UDPソケット
グローバル
$シェル
子プロセス
トランスパイラー
ハッシュ化
コンソール
FFI
HTMLリライター
テスト
ユーティリティ
ノードAPI
グロブ
センバー
プロジェクト
ロードマップ
ベンチマーク
貢献する
窓の構築
ライセンス
バイナリ
BLOB を DataView に変換する
BLOB を ReadableStream に変換する
BLOB を文字列に変換する
BLOB を Uint8Array に変換する
BLOB を ArrayBuffer に変換する
バッファーを BLOB に変換する
バッファを ReadableStream に変換する
バッファを文字列に変換する
バッファを Uint8Array に変換する
バッファを ArrayBuffer に変換する
DataView を文字列に変換する
Uint8Array を BLOB に変換する
Uint8Array をバッファに変換する
Uint8Array を DataView に変換する
Uint8Array を ReadableStream に変換する
Uint8Array を文字列に変換する
Uint8Array を ArrayBuffer に変換する
ArrayBuffer を BLOB に変換する
ArrayBuffer をバッファーに変換する
ArrayBuffer を文字列に変換する
ArrayBuffer を Uint8Array に変換する
ArrayBuffer を数値の配列に変換する
生態系
Vite と Bun を使用してフロントエンドを構築する
Astro と Bun でアプリを構築する
Next.js と Bun を使用してアプリを構築する
Nuxt と Bun を使用してアプリを構築する
Qwik と Bun を使用してアプリを構築する
Remix と Bun を使用してアプリを構築する
SolidStart と Bun を使用してアプリを構築する
SvelteKit と Bun を使用してアプリを構築する
Elysia と Bun を使用して HTTP サーバーを構築する
Express と Bun を使用して HTTP サーバーを構築する
HonoとBunを使ってHTTPサーバーを構築する
StricJS と Bun を使用して HTTP サーバーを構築する
Docker を使用して Bun アプリケーションをコンテナ化する
Discord ボットを作成する
Bun アプリケーションを Render にデプロイする
Mongoose と Bun を使用して MongoDB にデータを読み書きする
PM2 で Bun をデーモンとして実行する
systemd を使用して Bun をデーモンとして実行する
React コンポーネントのサーバーサイド レンダー (SSR)
バンでDrizzle ORMを使用する
Bun で EdgeDB を使用する
Bun で Neon のサーバーレス Postgres を使用する
パンと一緒にプリズマを使用する
React と JSX を使用する
Bun アプリに Sentry を追加する
HTTP
一般的な HTTP サーバーの使用法
HTTP サーバーで TLS を構成する
Bun の UNIX ドメインソケットを使用したフェッチ
HTTPサーバーのホットリロード
fetch() を使用して HTTP リクエストをプロキシする
fetch を使用して HTTP リクエストを送信する
HTTP サーバーのクラスターを開始する
ファイルを HTTP 応答としてストリーミングする
非同期イテレータを使用したストリーミング HTTP サーバー
Node.js ストリームを使用したストリーミング HTTP サーバー
FormData を使用して HTTP 経由でファイルをアップロードする
単純な HTTP サーバーを作成する
インストール
依存関係を追加する
開発依存関係を追加する
Git 依存関係を追加する
ピアの依存関係を追加する
tarball 依存関係を追加する
信頼できる依存関係を追加する
オプションの依存関係を追加する
bun install を使用して組織スコープのプライベート レジストリを構成する
Bun の lockb ロックファイルとの差分を行うように git を設定する
ワークスペースを使用したモノリポジトリの構成
人間が判読できるロックファイルを生成する
別の名前でパッケージをインストールする
GitHub Actions で Bun を使用して依存関係をインストールする
bun インストール用のデフォルトの npm レジストリをオーバーライドする
Azure Artifacts npm レジストリでの bun install の使用
Artifactory での bun install の使用
プロセス
プロセスの稼働時間をナノ秒単位で取得します
CTRL+C を聞きます
OSシグナルをリッスンする
コマンドライン引数を解析する
標準入力から読み取る
子プロセスから stderr を読み取る
子プロセスから標準出力を読み取る
子プロセスを生成する
子プロセスを生成し、IPC を使用して通信します。
ファイルの読み取り
ファイルが存在するかどうかを確認する
ファイルのMIMEタイプを取得する
ファイルを ReadableStream として読み取る
ファイルを文字列として読み取る
ファイルをバッファに読み取る
ファイルを Uint8Array に読み取る
ファイルを ArrayBuffer に読み取る
JSONファイルを読む
ディレクトリの変更を監視する
ランタイム
VS Code 拡張機能を使用した Bun のデバッグ
Web デバッガーを使用した Bun のデバッグ
静的グローバルと定数の定義と置換
JSONファイルをインポートする
TOMLファイルをインポートする
HTMLファイルをテキストとしてインポート
GitHub Actions で Bun をインストールして実行する
Bun の TypeScript 宣言をインストールする
インポートパスを再マップする
環境変数を読み取る
シェルコマンドを実行する
Bun のタイムゾーンを設定する
環境変数を設定する
ストリーム
Node.js 読み取り可能を BLOB に変換する
Node.js Readable を文字列に変換する
Node.js 読み取り可能を ArrayBuffer に変換する
Node.js 読み取り可能を JSON に変換する
ReadableStream を BLOB に変換する
ReadableStream をバッファに変換する
ReadableStream を文字列に変換する
ReadableStream を Uint8Array に変換する
ReadableStream をチャンクの配列に変換する
ReadableStream を ArrayBuffer に変換する
ReadableStream を JSON に変換する
テスト
Bunのテストランナーは早めに保釈してください
Bun テスト ランナーを使用してコード カバレッジ レポートを生成する
Bun テスト ランナーでテストを「todo」としてマークします
Jest から Bun のテスト ランナーに移行する
bun test
のモック関数
Bun テスト ランナーを使用してテストを複数回再実行する
Bun を使用して監視モードでテストを実行する
Bun テスト ランナーを使用してテストを実行する
Bun テスト ランナーを使用してコード カバレッジのしきい値を設定する
Bun テスト ランナーでテストごとのタイムアウトを設定する
Bun のテスト ランナーでシステム時間を設定する
Bun テスト ランナーでテストをスキップする
bun test
のメソッドをスパイする
bun test
でスナップショットを更新する
bun test
でスナップショットテストを使用する
Bun と happy-dom を使用してブラウザ DOM テストを作成する
使用量
現在のファイルがエントリポイントであるかどうかを確認する
2 つのオブジェクトが完全に等しいかどうかを確認する
DEFLATE を使用してデータを圧縮および解凍する
gzip を使用してデータを圧縮および解凍する
ファイルURLを絶対パスに変換する
絶対パスをファイルURLに変換する
Bun を使用してコードが実行されたことを検出する
Base64文字列のエンコードとデコード
HTML文字列をエスケープする
現在のファイルの絶対パスを取得します
現在のエントリポイントへの絶対パスを取得します
現在の Bun バージョンを取得する
現在のファイルのディレクトリを取得します
現在のファイルのファイル名を取得します
実行可能なbinファイルへのパスを取得します。
パスワードをハッシュ化する
一定のミリ秒間スリープします
ウェブソケット
パブリッシュ/サブスクライブ WebSocket サーバーを構築する
単純な WebSocket サーバーを構築する
WebSocket メッセージの圧縮を有効にする
WebSocket でソケットごとのコンテキスト データを設定する
ファイルの書き込み
コンテンツをファイルに追加する
ファイルを別の場所にコピーする
ファイルを削除する
BLOB をファイルに書き込む
ファイルを段階的に書き込む
ファイルを標準出力に書き込む
ReadableStream をファイルに書き込む
応答をファイルに書き込む
文字列をファイルに書き込む
標準出力に書き込む
Bun への貢献を開始するには、「プロジェクト > 貢献ガイド」を参照してください。
Bun のライセンスについては、「プロジェクト > ライセンス」ページを参照してください。