UF2 ファームウェア zip を左右の分割キーボードへ安全にフラッシュする Electron + React (Vite) アプリです。
docs/SplitFlasher.pngは本リポジトリに同梱済みです。
- zip 内の UF2 を自動判別し、右 → 左の順でコピー。
- 同一デバイスの再マウントを 10 秒間無視して誤コピーを防止。
- ログビューで進捗・警告を確認。
- Node.js 20 以上推奨
- npm
- macOS での動作を想定(
diskutilを使用)
npm ci- アプリを起動:
npm run dev(開発)またはビルド済みバイナリを実行。 firmware.zipをウィンドウ中央にドラッグ&ドロップ。- 右側デバイスを接続 → 書き込み完了後に左側を接続。
- ログに完了メッセージが出たら終了。必要なら「リセット」で再実行。
- 右・左それぞれの UF2 を同梱(ファイル名で側を判別)。
- 余分な UF2 が含まれる場合は WARN ログに表示。
npm run build- 生成物は
dist/配下(メイン/プリロード/レンダラー)。
- タグ
v*を push すると.github/workflows/release.ymlが動き、以下を GitHub Release に添付します。- ビルド成果物
dist/をまとめた ZIP - macOS 用パッケージ(署名なし):
SplitFlasher-<version>-<arch>.dmgとzip
- ビルド成果物
- 手動実行したい場合は Actions から
workflow_dispatchを選択。
- 開発サーバー:
npm run dev - 型チェック:
npm run lint
src/main.tsメインプロセス(ボリューム監視・zip 展開・UF2 コピー)src/preload.tsRenderer との IPC ブリッジsrc/renderer/React UIpublic/Vite エントリ HTMLdocs/SplitFlasher.pngREADME 用スクリーンショット(任意)
MIT
