インストール

注釈

すべてのパッケージは main で機能完備済みです。初回 npm 公開(v0.1.0)は初回リリースに合わせて予定されています。それまでは、ソースリポジトリ経由かワークスペースリンクで @rescript-tauri/core を利用してください。以下のコマンドは公開後に有効になる pnpm add @rescript-tauri/core のワークフローを示しています。

要件

コンポーネント

サポート範囲

Tauri

2.x(@tauri-apps/api の peerDep 範囲に一致)

ReScript

>= 12.0.0 (uncurried-by-default)

@rescript/core

>= 1.6.0

Node.js

Active LTS

pnpm

>= 9

OS

Linux / macOS / Windows(Tauri 2.x デスクトップ対象)

インストール(初回リリース後の予定)

pnpm add @rescript-tauri/core @tauri-apps/api

@rescript-tauri/core@tauri-apps/apipeerDependency として宣言しているため、両者は独立してバージョン管理され、上流 Tauri のバージョンは利用者側で制御できます。

次に rescript.jsondependencies@rescript-tauri/core を追加します:

{
  "name": "my-app",
  "dependencies": ["@rescript-tauri/core"],
  "package-specs": [{ "module": "esmodule", "in-source": true }]
}

アドオンパッケージ

各アドオンパッケージは個別に公開されます。必要に応じて、対応する上流のプラグイン / スキーマライブラリと一緒にインストールしてください:

# Filesystem
pnpm add @rescript-tauri/plugin-fs @tauri-apps/plugin-fs

# Native dialogs
pnpm add @rescript-tauri/plugin-dialog @tauri-apps/plugin-dialog

# Process spawning + open URLs/files
pnpm add @rescript-tauri/plugin-shell @tauri-apps/plugin-shell

# Toast notifications + scheduling (desktop) / Android channels
pnpm add @rescript-tauri/plugin-notification @tauri-apps/plugin-notification

# Structured logging (5 levels + log targets)
pnpm add @rescript-tauri/plugin-log @tauri-apps/plugin-log

# OS info (platform / version / arch / family / hostname / locale)
pnpm add @rescript-tauri/plugin-os @tauri-apps/plugin-os

# Clipboard read/write (text / image / HTML)
pnpm add @rescript-tauri/plugin-clipboard-manager @tauri-apps/plugin-clipboard-manager

# HTTP fetch with CORS bypass + proxy / TLS config
pnpm add @rescript-tauri/plugin-http @tauri-apps/plugin-http

# Layer 3 typed IPC (rescript-schema)
pnpm add @rescript-tauri/schema rescript-schema

対応する ReScript / Rust / capability の設定については plugin-fsplugin-dialogplugin-notificationplugin-shellplugin-logplugin-osplugin-clipboard-managerplugin-httpschema の各ガイドを参照してください。

動作確認

初回リリース後、最小の動作確認は次のようになります:

let _ = await Tauri.Core.Raw.invoke("ping", ~args=())

Rust 側の #[tauri::command] fn ping() {} と組み合わせれば、この往復でブリッジが機能することを確認できます。

トラブルシューティング

詳細なトラブルシューティングは、採用に伴って典型的な落とし穴が明らかになるにつれて追加します。早期のフィードバックは github.com/Nagatatz/rescript-tauri/issues に Issue を起票してください。