前提条件
Koharu は Rust 1.97.1(2024 edition)、Bun 1.3.14、LLVM 22.1.8 で開発しています。リポジトリはこれらのバージョンを固定していません。LLVM は-sys crate の bindgen が必要とする libclang を提供します。ネイティブライブラリ自体は実行時に取得するビルド済みパッケージのため、C++ ビルドシステムは不要です。
- Windows
- Linux
- macOS
ネイティブ依存関係用に MSVC の C/C++ ビルドツールを導入します。
開発を開始する
bun dev は Next.js UI と Tauri を起動します。wasm-pack で koharu-canvas を WASM 向けに packages/bridge/src/wasm へビルドした後、koharu-canvas と koharu-rasterizer を監視して変更時に再ビルドします。成功すると Turbopack がブラウザークライアントを更新します。debug ビルドは CEF のリモートデバッグを http://127.0.0.1:4000 で公開します。
変更した部分を確認する
最小限の debug チェックか対象テストを一度実行します。bun run check は整形チェック、bun run lint はフロントエンドの lint です。
全テスト、debug 以外のプロファイル、E2E
テストは既定では実行しません。明示的に依頼された場合だけ実行します。
IPC バインディングを再生成する
Rust のコマンド署名と Specta 型が正本です。packages/bridge/src/protocol.ts を手動編集しないでください。
実行ファイルをビルドする
リリース実行ファイルが必要な場合、bun run build が tauri build --no-bundle を実行し、target/release に出力します。インストーラーはリリースワークフローで作成します。
ドキュメントを編集する
Mintlify をプレビューし、英語・日本語・中国語のドキュメントを編集します。