Monorepo のセットアップ¶
LSP Required
目標¶
複数の ReScript パッケージ(それぞれ独自の rescript.json を持つ)を含む Monorepo で、ReScript IntelliJ Plugin が正しく動作するように設定します。
手順¶
1. Open the workspace root¶
File > Open で JetBrains IDE に Monorepo のルートディレクトリを開きます。一般的な Monorepo の構造は次のようになります:
my-monorepo/
packages/
app/
rescript.json
src/
App.res
shared/
rescript.json
src/
Utils.res
package.json
2. Verify Language Server detection¶
プラグインはプロジェクトルートの node_modules/ から @rescript/language-server を検索します。多くの Monorepo 構成では、Language Server はルートに巻き上げ(hoist)されています:
my-monorepo/
node_modules/
@rescript/
language-server/ <-- detected automatically
packages/
...
Language Server がインストールされていれば、下部のステータスバーに LSP のステータスが表示されます。
3. Configure custom path (if needed)¶
Language Server が自動検出されない場合(例: サブパッケージにのみインストールされている場合)は、パスを手動で設定します:
Settings > Languages & Frameworks > ReScript を開く
Language Server path に正しいパスを設定する
Apply をクリックする
4. Verify rescript.json recognition¶
各パッケージの rescript.json はプラグインによって自動的に認識されます:
Project パネルでファイルに ReScript アイコンが表示される
rescript.json内で JSON Schema のバリデーションと補完が動作するFramework Detector が ReScript フレームワークの設定を促す場合がある
5. Run builds per package¶
各パッケージには独自のビルドプロセスが必要です。Run Configurations を使用して個別のビルドタスクを設定します:
Run > Edit Configurations > + > ReScript Build
作業ディレクトリを対象パッケージに設定する(例:
packages/app/)独立したビルドが必要な各パッケージに対して繰り返す
または、Run Anything ダイアログ(Ctrl+Ctrl)を使用して、目的のパッケージディレクトリから rescript build と入力します。
期待される結果¶
Language Server の機能(補完、診断、定義ジャンプ)がすべてのパッケージで動作する
各パッケージの
rescript.jsonが適切な Schema バリデーションで認識される各パッケージに対して個別にビルド構成が設定されている
ヒント¶
パッケージ間の切り替え後に診断が古くなっている場合は、Tools > ReScript > Restart LSP Server で更新してください
Package Dependencies ツールウィンドウには、現在フォーカスしている
rescript.jsonの依存関係が表示されます