Tauri 2 + React + TypeScript + Vite で構築した Misskey 向けデスクトップブラウザです。
現在は https://misskey.io のみをアプリ内 WebView で開き、それ以外の http/https 遷移や新規ウィンドウ要求は既定の外部ブラウザへ委譲する構成になっています。
- 起動時に
misskey.ioをメインウィンドウで開く - ウィンドウタイトルをページタイトルに追従させる
https://misskey.ioだけを WebView 内で許可するmisskey.io以外へのhttp/https通常遷移を外部ブラウザで開くwindow.openなどの別窓要求でmisskey.io以外へ出る場合も外部ブラウザで開く- 非
http/httpsスキームの遷移は WebView 内で拒否する - Tauri の capability は
mainウィンドウにだけ割り当て、IPC 権限は付与しない
- Tauri 2
- TypeScript 6
- Vite 8
- Rust 2021
- npm + Volta
フロントエンドは軽量化のため、React を使わず最小の Vite + TypeScript 構成にしています。
ローカル開発は主に Windows を想定しています。
- Node.js
24.14.0 - npm
11.17.0 - Rust stable
- WebView2 Runtime
- Microsoft C++ Build Tools
package.json に Volta 設定があるため、Volta を使うと Node.js / npm の版を合わせやすくなります。
volta install node@24.14.0
volta install npm@11.17.0
rustup update stable
npm installバージョン確認:
node --version
npm --version
rustc --version
npm exec -- tauri --versionフロントエンドのみ起動:
npm run devTauri アプリとして起動:
npm run tauri:devnpm run build
npm run tauri:buildnpm run build と npm run typecheck は tsc -b を使うため、2 系統の TypeScript 設定をインクリメンタルにまとめて検査します。
主な生成先:
dist/src-tauri/target/release/src-tauri/target/release/bundle/
npm run dev: Vite 開発サーバーnpm run build: TypeScript チェック + Vite 本番ビルドnpm run lint: ESLintnpm run typecheck: TypeScript 型チェックnpm run format: Prettier チェックnpm run format:write: Prettier 整形npm run tauri: Tauri CLInpm run tauri:dev: Tauri 開発起動npm run tauri:build: Tauri 本番ビルド
GitHub Actions の .github/workflows/tauri-action.yml で、release ブランチへの push または手動実行時にリリース用ビルドを作成します。
- macOS
- Ubuntu 24.04
- Windows
生成された成果物は GitHub Release の draft に添付されます。
src-tauri/src/main.rs: WebView の起動とナビゲーション制御src-tauri/capabilities/main-window.json:mainウィンドウ向けの最小 capabilitysrc-tauri/tauri.conf.json: Tauri 設定package.json: Node.js / npm / スクリプト定義