Murasaki
はじめに

クイックスタート

Murasaki アプリを作成し、HMR 付きで開発して、配布用パッケージを生成します。

前提条件

  • Node.js 22.12 以上(サポートが終了した Node.js 20 は対象外です)
  • murasaki devmacOS、Windows、Linux で動作します。macOS の .app / .dmg は macOS 上でビルドする必要があります。ポータブルな Windows フォルダー / .zip はどのホストからでもクロスビルドできます。Linux の x64 / arm64 向けには AppDir、.AppImage.deb を生成できます。AppImage の作成には mksquashfs が必要です。

スキャフォールド

pnpm create murasaki@latest my-app
cd my-app

React 19、Vite、Tailwind を使ったアプリのひな形が作成されます。Next.js に近いディレクトリ構成、ネイティブウィンドウ、コンテキストメニューが最初から含まれます。アプリシェルは Murasaki が管理するため、index.html やエントリーファイルを用意する必要はありません。

開発

pnpm dev

Vite の開発サーバーとネイティブウィンドウが起動します。React Fast Refresh と HMR は通常どおり利用できますsrc/app/page.tsx を編集すると、開いているウィンドウへすぐに反映されます。

アプリ内を右クリックすると OS のネイティブメニューが表示されます。カード上では、その要素に限定したメニューへ切り替わります。どちらも HTML で再現したポップアップではなく、各 OS のネイティブメニューです。

配布物をビルドする

pnpm bundle
pnpm installer

配布物には Node.js ランタイムとネイティブランチャーが含まれるため、ビルドに使ったマシン以外でも実行できます。macOS では .app.dmg を生成します。ターゲットを明示すると、Windows や Linux 向けの配布物も作成できます。

pnpm bundle --arch x64            # ターゲットアーキテクチャを指定
pnpm bundle --target win32-x64    # ポータブルな Windows フォルダー + .zip
pnpm bundle --target linux-x64    # AppDir + AppImage
pnpm installer --target linux-x64 # Debian パッケージ(.deb)

pnpm installer --target win32-x64 は、makensis がインストールされていれば NSIS の .exe を生成します。組み込みのアップデーターを無効にし、Windows 上に WiX v4 があれば、MSI の .msi も生成します。アップデーターを有効にしたビルドでは、意図的にユーザー単位の NSIS のみを使用します。インストーラーを1つも生成できない場合、コマンドは失敗します。ポータブルな .zip が目的の場合は pnpm bundle --target win32-x64 を使用してください。ツールのセットアップとすべてのターゲットについては配布を参照してください。

macOS では、未署名のアプリを別のマシンで開くと Gatekeeper の警告が表示されます。開発者以外へ配布する場合は、Developer ID で署名し、Apple の公証を受けてください。手順は署名と公証で説明しています。

次へ

GitHub でこのページを改善

On this page