bun-runtime
Bunをランタイム・パッケージマネージャー・バンドラー・テストランナーとして活用するためのスキル。BunとNodeの使い分けの判断基準、既存プロジェクトからの移行手順、およびVercelでのサポート状況を把握したい場合に役立ちます。
description の原文を見る
Bun as runtime, package manager, bundler, and test runner. When to choose Bun vs Node, migration notes, and Vercel support.
SKILL.md 本文
Bun Runtime
Bun は高速なオールインワン JavaScript ランタイムおよびツールキットです: ランタイム、パッケージマネージャー、バンドラー、テストランナーを備えています。
使用時期
- Bun を選ぶ: 新規の JS/TS プロジェクト、インストール/実行速度が重要なスクリプト、Bun ランタイムを使用する Vercel デプロイ、単一のツールチェーン (実行 + インストール + テスト + ビルド) を望む場合。
- Node を選ぶ: 最大限のエコシステム互換性が必要な場合、Node を前提とするレガシーツール、または依存関係に既知の Bun 関連の問題がある場合。
使用場面: Bun を採用する場合、Node から移行する場合、Bun スクリプト/テストを書いたりデバッグしたりする場合、または Vercel やその他のプラットフォームで Bun を設定する場合。
仕組み
- ランタイム: Node 互換のドロップイン ランタイム (JavaScriptCore を基盤とし、Zig で実装)。
- パッケージマネージャー:
bun installは npm/yarn よりも大幅に高速です。ロックファイルはデフォルトでbun.lock(テキスト形式) ですが、古いバージョンの Bun ではbun.lockb(バイナリ形式) を使用していました。 - バンドラー: アプリとライブラリ向けの組み込みバンドラーおよびトランスパイラー。
- テストランナー: Jest 互換の API を備えた組み込みの
bun test。
Node からの移行: node script.js を bun run script.js または bun script.js に置き換えてください。npm install の代わりに bun install を実行します。ほとんどのパッケージが動作します。npm スクリプトには bun run を使用し、npx 形式の 1 回限りの実行には bun x を使用してください。Node の組み込みはサポートされています。パフォーマンスを向上させるため、存在する Bun API を優先してください。
Vercel: プロジェクト設定でランタイムを Bun に設定します。ビルド: bun run build または bun build ./src/index.ts --outdir=dist。インストール: 再現可能なデプロイのために bun install --frozen-lockfile を使用します。
例
実行とインストール
# 依存関係をインストール (bun.lock または bun.lockb を作成/更新)
bun install
# スクリプトまたはファイルを実行
bun run dev
bun run src/index.ts
bun src/index.ts
スクリプトと環境変数
bun run --env-file=.env dev
FOO=bar bun run script.ts
テスト
bun test
bun test --watch
// test/example.test.ts
import { expect, test } from "bun:test";
test("add", () => {
expect(1 + 2).toBe(3);
});
ランタイム API
const file = Bun.file("package.json");
const json = await file.json();
Bun.serve({
port: 3000,
fetch(req) {
return new Response("Hello");
},
});
ベストプラクティス
- 再現可能なインストールのためにロックファイル (
bun.lockまたはbun.lockb) をコミットしてください。 - スクリプトには
bun runを優先してください。TypeScript の場合、Bun は.tsをネイティブで実行します。 - 依存関係を最新に保ってください。Bun とエコシステムは急速に進化しています。
ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- affaan-m
- ライセンス
- MIT
- 最終更新
- 不明
Source: https://github.com/affaan-m/everything-claude-code / ライセンス: MIT
関連スキル
doubt-driven-development
重要な判断はすべて、本番環境への展開前に新しい視点から対抗的レビューを実施します。速度より正確性が重要な場合、不慣れなコードを扱う場合、本番環境・セキュリティに関わるロジック・取り消し不可の操作など影響度が高い場合、または後でバグを修正するよりも今検証する方が効率的な場合に活用してください。
apprun-skills
TypeScriptを使用したAppRunアプリケーションのMVU設計に関する総合的なガイダンスが得られます。コンポーネントパターン、イベントハンドリング、状態管理(非同期ジェネレータを含む)、パラメータと保護機能を備えたルーティング・ナビゲーション、vistestを使用したテストに対応しています。AppRunコンポーネントの設計・レビュー、ルートの配線、状態フローの管理、AppRunテストの作成時に活用してください。
desloppify
コードベースのヘルスチェックと技術負債の追跡ツールです。コード品質、技術負債、デッドコード、大規模ファイル、ゴッドクラス、重複関数、コードスメル、命名規則の問題、インポートサイクル、結合度の問題についてユーザーが質問した場合に使用してください。また、ヘルススコアの確認、次の改善項目の提案、クリーンアップ計画の作成をリクエストされた際にも対応します。29言語に対応しています。
debugging-and-error-recovery
テストが失敗したり、ビルドが壊れたり、動作が期待と異なったり、予期しないエラーが発生したりした場合に、体系的な根本原因デバッグをガイドします。推測ではなく、根本原因を見つけて修正するための体系的なアプローチが必要な場合に使用してください。
test-driven-development
テスト駆動開発により実装を進めます。ロジックの実装、バグの修正、動作の変更など、あらゆる場面で活用できます。コードが正常に動作することを証明する必要がある場合、バグ報告を受けた場合、既存機能を修正する予定がある場合に使用してください。
incremental-implementation
変更を段階的に実施します。複数のファイルに影響する機能や変更を実装する場合に使用してください。大量のコードを一度に書こうとしている場合や、タスクが一度では完結できないほど大きい場合に活用します。