mcpField
E
electrobun-dev

electrobun-dev

github.com/dexploarer開発512 回インストール34 週間前に更新
リポジトリ

electrobun-dev について

electrobun-dev は、アプリをビルドして起動する Electrobun の開発モードコマンドを開発者向けに説明します。ファイル監視による再ビルドと再起動、レンダラーのデバッグ方法も扱います。

主な機能

  1. 01開発モードでのアプリのビルドと起動
  2. 02ファイル監視と再ビルド・再起動
  3. 03追加監視パスと除外パターンの設定
  4. 04CEF DevTools によるレンダラーの検査
  5. 05macOS ネイティブ WebView インスペクターの有効化

活用シーン

  1. 01開発用に Electrobun アプリを起動
  2. 02編集後のアプリを自動で再ビルド
  3. 03CEF レンダラーページの検査
  4. 04macOS ネイティブ WebView のデバッグ

インストール

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

$npx skills add https://github.com/dexploarer/plugin-electrobun-dev --skill electrobun-dev

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

詳細

Electrobun 開発モード

コマンド

electrobun dev          # build (dev env) once, then launch app
electrobun dev --watch  # build, launch, then watch for changes and rebuild+relaunch

package.json から簡略記法を使用できます(標準テンプレート):

bun start               # → electrobun dev
bun run dev             # → electrobun dev --watch

electrobun dev の実行時の動作

  1. electrobun.config.ts を読み込みます
  2. 不足しているネイティブバイナリ(Bun、launcher、設定されている場合は WGPU/CEF)をダウンロードします
  3. 開発モードで Bun.build() を使用して build.bun.entrypoint をバンドルします(minify なし、ソースマップはインライン)
  4. 各 build.views.* のエントリーポイントをバンドルします
  5. build.copy のファイルをビルド出力にコピーします
  6. コード署名と公証をスキップします
  7. アプリバンドルを build/dev-<os>-<arch>/ に書き込みます
  8. アプリを起動し、stdout/stderr をターミナルにストリーミングします

ウォッチモード(--watch)

初回のビルドと起動後、ウォッチモードは以下を監視します:

  • build.bun.entrypoint を含むディレクトリ
  • 各 build.views.* のエントリーポイントを含むディレクトリ
  • build.watch に指定されたディレクトリ(追加パス)
  • build.copy に指定されたファイルのディレクトリ

デバウンス: 300ms — 短時間に連続して保存された場合、まとめて1回の再ビルドを行います。

自動的に無視されるもの: build/、artifacts/、node_modules/、および build.watchIgnore のパターン。

変更時: 実行中のアプリを終了 → 再ビルド → 再起動します。

追加の監視パス
// electrobun.config.ts
build: {
  watch: ["src/shared/", "assets/"],
  watchIgnore: ["src/**/*.test.ts", "src/**/*.spec.ts"],
}

CEF DevTools(Chromium インスペクター)

renderer: "cef" または defaultRenderer: "cef" を使用している場合、CEF レンダラーは以下で Chrome DevTools を公開します:

http://localhost:9222

アプリの実行中に、任意の Chrome/Chromium ブラウザーで開いてください。アクティブなレンダラーページがすべて一覧表示されます。クリックすると検査できます。

注:DevTools は dev ビルドでのみ使用できます。canary または stable では公開されません。

ネイティブ WebView のデバッグ(macOS)

renderer: "native"(WKWebView)の場合は、開発者向け機能を有効にします:

// In src/bun/index.ts — call openDevTools() on the BrowserView instance
const view = new BrowserView({ ... });
view.openDevTools();  // Opens Safari Web Inspector (uses private WKWebView _inspector API)

または Safari で、Develop → [Your App] → [webview name] の順に選択します。

デバッグのヒント

  1. コンソール出力:bun 側のコードからの console.log はすべてターミナルに表示されます。レンダラー側の console.log は DevTools にのみ表示されます(ターミナルには表示されません)。
  2. RPC のトレース:リクエスト/メッセージハンドラーに console.log を追加して、プロセス間の呼び出しをトレースします。
  3. ソースマップ:開発ビルドにはインラインソースマップが含まれます。スタックトレースには .ts ソースの行が示されます。
  4. 再読み込みが遅い場合:広範なパターンではなく、変更されたディレクトリのみを build.watch に追加します。
  5. アプリが再起動しない場合:アプリのプロセスがファイルロックを保持している場合は、手動で終了します:pkill -f "<AppName>"

ビルド出力(開発)

build/dev-macos-arm64/
└── <AppName>-dev.app/
    └── Contents/
        ├── MacOS/
        │   ├── launcher          # native launcher
        │   └── main.js           # bundled bun entrypoint
        ├── Resources/
        │   ├── <viewname>/       # bundled renderer
        │   └── bun               # bun runtime binary
        └── Info.plist

コメント