mcpField
B
bun

bun

github.com/brianlovin開発3792.8k 回インストール31 週間前に更新
リポジトリ

bun について

JavaScript と TypeScript のプロジェクトで、ランタイム兼パッケージマネージャーとして Bun を使うためのスキルです。Node.js やパッケージ管理、テスト、ビルドの一般的な操作を Bun に置き換え、専用 API も示します。

主な機能

  1. 01一般的なコマンドを Bun 用に置換
  2. 02Bun 専用ランタイム API の利用
  3. 03bun:test によるテスト実行
  4. 04Bun によるフロントエンド配信
  5. 05.env ファイルの自動読み込み

活用シーン

  1. 01Bun での TypeScript ファイル実行
  2. 02依存関係のインストールとスクリプト実行
  3. 03bun:test を使ったプロジェクトのテスト
  4. 04Bun.serve() によるフロントエンド構築

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/brianlovin/agent-config --skill bun

インストール後、Claude Code で/bunを入力して読み込まれたか確認します。

詳細

Bun ランタイム

デフォルトの JavaScript/TypeScript ランタイムおよびパッケージマネージャーとして Bun を使用します。

コマンドの対応表

次の代わりに使用
node file.tsbun file.ts
ts-node file.tsbun file.ts
npm installbun install
npm run scriptbun run script
jest / vitestbun test
webpack / esbuildbun build

Bun は .env ファイルを自動的に読み込みます。dotenv は使用しないでください。

Bun 固有の API

Node.js の同等機能より、以下を優先して使用してください。

API用途使用しないもの
Bun.serve()WebSocket、HTTPS、ルートに対応した HTTP サーバーexpress
bun:sqliteSQLite データベースbetter-sqlite3
Bun.redisRedis クライアントioredis
Bun.sqlPostgres クライアントpg, postgres.js
Bun.file()ファイル操作node:fs readFile/writeFile
Bun.$\cmd``シェルコマンドexeca
WebSocketWebSocket クライアント(組み込み)ws

テスト

テストには bun:test を使用します。

import { test, expect } from "bun:test";

test("description", () => {
  expect(1).toBe(1);
});

bun test で実行します。

フロントエンド開発

Vite の代わりに、Bun.serve() で HTML インポートを使用します。React、CSS、Tailwind に対応しています。

サーバー:

import index from "./index.html"

Bun.serve({
  routes: {
    "/": index,
    "/api/users/:id": {
      GET: (req) => Response.json({ id: req.params.id }),
    },
  },
  development: { hmr: true, console: true }
})

HTML ファイル:

<html>
  <body>
    <script type="module" src="./app.tsx"></script>
  </body>
</html>

Bun のバンドラーは .tsx、.jsx、.js を自動的にトランスパイルします。CSS は <link> タグを介してバンドルされます。

HMR を使用するには、bun --hot ./server.ts で実行します。

ドキュメント

API の詳細については、node_modules/bun-types/docs/**.md を参照してください。

コメント