Bun

Bun は、バンドラー、テストランナー、Node.js 互換のパッケージマネージャーを含む、スピードを重視したオールインワンの JavaScript 実行環境とツールキットです。

Zeabur を使えば、簡単に Bun アプリをデプロイできます。

クイックスタート

Bun アプリを作成

以下のコマンドを使用して、Bun アプリを初期化できます:

mkdir bun-app
 
cd bun-app
 
bun init

HTTP サーバーを作成

index.ts を開き、以下のコードスニペットを貼り付けてください。このコードは、Bun.serve を使用して簡単な HTTP サーバーを実装します。

Zeabur が提供する環境変数 PORT を正しくリッスンできるように、serve 関数内の portBun.env.PORT に変更することを忘れないでください。

index.ts
const server = Bun.serve({
  port: Bun.env.PORT ?? 3000, // ポートを Bun.env.PORT に変更
  fetch() {
    return new Response("Bun on Zeabur!");
  },
});
 
console.log(`Listening on http://localhost:${server.port} ...`);

さらに、package.json ファイルでエントリーポイントを指定する必要があります。

現在 Zeabur は、エントリーポイントとして以下の拡張子をサポートしています:.js.ts.tsx.jsx.mjs.mts.cjs.cts

package.json
{
  "name": "bun-app",
  "module": "index.ts", // Zeabur に開始位置を知らせる
  "type": "module",
  // ...
}

アプリの認識

Zeabur はアプリケーションを自動的に Bun アプリとして認識します。プロジェクトのルートディレクトリに bun.lockb ファイルが存在することを確認してください。

root
├── bun.lockb
├── index.ts
└── package.json

bun.lockb ファイルをリポジトリにコミットしたくない場合は、bun-types をプロジェクトにインストールすることができます。

package.json
{
  "devDependencies": {
    "bun-types": "latest"
  }
}

Bun バージョンを指定

デフォルトでは、Zeabur は 最新の安定版 の Bun を使用します。

package.json ファイルの engines.bun フィールドを使用して、Bun 実行環境のバージョンを指定できます。

package.json
{
  "engines": {
    "bun": "1.1.38"
  }
}

また、Semver 形式を使用してバージョン範囲を指定することもできます。

package.json
{
  "engines": {
    "bun": "^1.1.38"
  }
}

デプロイ

Git ボタンをクリックしてください。

Bun アプリのリポジトリを検索し、インポートをクリックすると、Bun アプリのデプロイが開始されます。

deploy

エコシステム

Bun は強力なエコシステムを備えており、Astro、Nuxt、SvelteKit、ElysiaJS などのさまざまなフレームワークを使用してアプリケーションを構築できます。

これらのアプリケーションをデプロイし、Bun を実行環境またはパッケージマネージャーとして使用することができます。

Bun - エコシステム についてさらに詳しく学びましょう。