変更履歴

0.1.16.3 (2026-06-19)

インフラ

  • 2026.2 EAP の非推奨 API の一掃 — 2026.2 EAP プラグイン検証が検出した非推奨プラットフォーム API の利用箇所をすべて整理した。ホバー型プロバイダから廃止された lsp4j MarkedString 分岐を削除し、代替の LspClient インターフェースがまだ 2025.3/2026.1 のコンパイル対象に存在しない LSP API の非推奨警告を抑制することで、現行ビルドを壊さずにプラグインの前方互換性を維持した

0.1.16.2 (2026-06-19)

バグ修正

  • Module Hierarchy と Call Hierarchy が、2026.2 で internal API に再分類された SmartElementDescriptor.getPsiElement() に依存しないようにした。階層ディスクリプタが独自の smart pointer を使うようになり、今後の IDE ビルドとの前方互換性を回復した

インフラ

  • リリースパイプラインが、タグ付けされたコミットの CI がグリーンであることを Marketplace への publish の条件とするようになり、レッドのビルドが publish されることがなくなった

0.1.16.1 (2026-06-19)

インフラ

  • JetBrains Marketplace の "plugin archive file cannot be extracted" エラーを回避するため、作者側のアーカイブ署名なしで再 publish した。プラグインは Marketplace 自身によって引き続き署名されるため、配布物の完全性に影響はない

0.1.16 (2026-06-16)

バグ修正

  • IntelliJ Platform 2026.2 EAP 互換性 — ナビゲーションバーを AbstractNavBarModelExtension へ移行し、2026.2 で internal 化されたプラグイン記述子取得 API をビルド時生成のバージョンリソースの読み取りに置き換え、sendRequestSync に明示的なタイムアウトを渡すことで、2026.2 EAP 上でプラグインが正常にロードされるようにした

  • プラグイン検証が 2026.2 で検出した FileIncludeProvider.acceptFile の override に対する非推奨警告を抑制した

インフラ

  • verifier-cli 1.405 を採用し、recommended() の検証対象 IDE (2025.3 / 2026.1 / 2026.2 EAP) を復帰させた

0.1.15 (2026-06-13)

機能

  • ツールウィンドウでのエディタ品質のハイライト — Type Info、Notebook セル、Hoogle 風シグネチャ検索結果、PPX 注釈がエディタと同じ ReScript の配色で描画され、Variant Flow と Module Dependency の Source モードは Mermaid 構文を色付けする

  • ダイアグラムの意味づけを色分け — Variant Flow のアーム(constructor / wildcard / binding / todo / nested)、Module Dependency のノード役割(entry / intermediate / leaf / cycle)、Interop Risk の重大度バンド、Type Impact の参照種別がそれぞれ Light/Dark 対応のパレットと凡例を持つ

バグ修正

  • Module Dependency ダイアグラムの構築と Type Impact の参照解決を UI スレッド外へ移し、大規模プロジェクトでも IDE の応答性を維持

  • Type Info と PPX パネルが他の開いているプロジェクトのキャレット移動に反応しないように修正

  • プロジェクトテンプレートの脆弱な依存の下限を引き上げ: Next.js を ^16.2.9 (GHSA-26hh-7cqf-hhc6)、concurrently を ^10.0.3 (shell-quote advisory) に

  • プラグイン検証で指摘された不足している intention 説明リソースを追加

リファクタリング

  • ツールウィンドウパネル間で共通の土台(ツールバー、ステータスバー、デバウンス付きリフレッシュ)を共有し、デバウンスは内部 Alarm API ではなくプラットフォームの coroutine を使用するように変更

  • ウィザードテンプレートを共通フレーム経由で生成し、全 22 テンプレート・74 構成の組み合わせを golden characterization テストで保護

インフラ

  • IntelliJ Platform を 2026.1.2 に更新し、プロジェクトテンプレートを Expo SDK 56 へ移行

  • テンプレートの npm バージョンを npm advisory データベースに対して毎月監査

0.1.14 (2026-05-13)

機能

  • Type Narrowing Visualizer — 各 switch アームで絞り込まれたスクラティニー型をインレイヒント表示し、パターンバインディングの絞り込み型も表示

  • Switch Flow Diagram — switch を decision tree としてツールウィンドウに可視化(Visual / Source トグル、Mermaid + DOT エクスポート、ネスト switch のサブツリー描画)

  • Module Dependency Diagram — Java2D グラフビューと Kahn-BFS レイヤリングによる Visual モード

  • Type Impact Preview — キャレット位置の type 宣言に対するプロジェクト全体の参照を一覧するツールウィンドウ

  • Notebook Worksheet (.resnb) — セル単位の REPL 評価と Markdown エクスポートを備えた cell ベースの ReScript ノートブックエディタ

  • JS Interop Risk Map — %raw / external / Obj.magic / @bs.* の呼び出し箇所を種別・リスク分類して一覧するツールウィンドウ

  • Type Coverage Heat Map — ファイルごとの型注釈カバレッジをソート可能な列で表示するツールウィンドウ

  • Add Missing Switch Arms intention — LSP hover + スタブインデックスのフォールバックによる Alt+Enter intention

  • Rename Variant Constructor intention — word-index の出現箇所収集による LSP 非依存の Alt+Enter リネーム

  • Hoogle 風 Type Signature Search — Search Everywhere に構造的 AST + unifier マッチングによる新しい "ReScript Types" タブを追加

  • pnpm / npm / yarn ワークスペースの Monorepo 構成を自動検出(Settings で手動上書き可)

  • Tauri、TanStack Start、Remix / React Router v7、Astro、Waku、Hono + Inertia (SSR) のプロジェクトテンプレート

  • Project Wizard の Database 軸 — libSQL / Postgres / MySQL を Hono、Hono GraphQL、Hono+Inertia、Full-Stack、Monorepo テンプレートに配線

バグ修正

  • プロジェクトスコープを逸脱する LSP リネーム編集を拒否

  • Add Missing Switch Arms が適用できない場合に診断を表示

  • Visual Flow ビューでネストした switch アームをサブツリーとして描画

  • Switch Flow Diagram と narrowing visualizer でタプルパターンを意味のある要約で描画

  • Hono + Inertia テンプレートを @hono/inertia v0.2 API に合わせて修正

  • mmdc の同梱 Chromium に --no-sandbox を渡し、ホスト型 CI でも Mermaid 描画が動作するように修正

リファクタリング

  • ReScript 実行構成を build -w から watch (ReScript 12 CLI) へ移行

  • 単一コンテンツのツールウィンドウ取り付けを共通化

  • 宣言シグネチャパーサーを独立した純粋オブジェクトに抽出

  • 1 始まりの行カウントを RescriptOffsetUtils に集約

インフラ

  • IntelliJ Platform を 2026.1.1 に更新し、verifier-cli 1.403 を固定

  • IntelliJ Platform Gradle プラグインを 2.16.0、Kotlin を 2.3.21、Gradle wrapper を 9.5.0 に更新

  • util/ と lang/ に対する pitest ミューテーションテストを追加(PR 限定ジョブ)

  • サードパーティ GitHub Actions を commit SHA に固定し、CI の npm install -g バージョンを固定

  • SARIF を GitHub Security タブにアップロードする Trivy シークレットスキャンステップを追加

  • plugin-verifier-ignored-problems.txt に Expires フィールドを追加し、monthly-verify で警告

0.1.13 (2026-04-27)

機能

  • Mermaid レンダリングと DOT エクスポートを備えた Module Dependency Diagram ツールウィンドウ

  • res-x (HTMX on Bun) プロジェクトウィザードテンプレートを追加

  • 全ウィザードテンプレートに Validation ライブラリ選択 (zod / sury) を追加

  • プロジェクトウィザードに Bun パッケージマネージャーの選択肢を追加

  • graphql-yoga と rescript-relay を用いた Full-Stack GraphQL バリアントを追加

  • extractLocalModuleToFile と applyUncurried のネイティブ PSI フォールバック intention を追加

バグ修正

  • 複数テンプレートに潜在していた ReScript ビルド失敗を修正

  • Vite、Next.js、Electron テンプレートの非同期イベントハンドラバインディングを修正

  • Monorepo と Full-Stack の dev スクリプトを修正し、res ファイル編集で再ビルドが走るように

  • rescript.json の依存に sury を宣言

リファクタリング

  • RescriptConfigurable 設定パネルをスキーマ駆動アーキテクチャへ移行

  • 10 個のウィザードテンプレートファイルの静的コンテンツを同梱リソースに抽出

  • 非推奨の FloatingToolbarProvider.priority、ReadAction.compute、StubBasedPsiElementBase.elementType API を置き換え

インフラ

  • CodeQL SAST ワークフロー、月次プラグイン検証ワークフロー、週次マルチ OS 検証ワークフローを追加

  • バージョン不整合を防ぐため prepareSandbox 出力から stale なプラグイン jar を自動除去

  • Dokka V1 から V2 へ移行

  • IntelliJ Platform 2.14.0、Kover 0.9.8、テンプレート依存の下限を更新

0.1.12 (2026-04-17)

機能

  • React Native (Community CLI) プロジェクトテンプレートを追加

  • Full-Stack プロジェクトテンプレート(単一パッケージ)を追加

  • yoga、GraphiQL、Drizzle を用いた Hono GraphQL テンプレートを追加

  • Hono テンプレートを SQLite/Drizzle と OpenAPI/Scalar UI で強化

  • 全 14 プロジェクトテンプレートに vitest スモークテストを追加

  • テンプレート生成まで PackageManager 選択を反映

  • 静的テンプレートコンテンツ抽出のための TemplateResourceLoader を追加

バグ修正

  • 到達不能なアサーション(null early-return パターン)を持つ壊れたテストを修正

  • 不安定な結合テストの実行を修正し、interrupt フラグを保持

リファクタリング

  • 5 個のテンプレートファイルの静的コンテンツをリソースに抽出

  • 共通のペーストプロセッサ基底クラスを抽出

  • プロセス実行ロジックを RescriptProcessUtils に抽出

  • 非推奨の AnActionEvent.createFromDataContext API を置き換え

インフラ

  • テンプレート生成の結合テストハーネスを追加

  • CI に pa11y-ci アクセシビリティ監査と pofilter 翻訳チェックを追加

  • kover minBound を 86% にラチェット

  • テストカバレッジ向上のため 11 個の新規テストクラスを追加

0.1.11 (2026-04-01)

機能

  • TypeScript/JSX ペースト変換サポートを追加

  • REPL 専用アイコンを追加し入力エリアを改善

  • REPL UX を改善: リサイズ可能な分割、自動スクロール、履歴ナビゲーション、エグゼキュータ修正

  • REPL 入力エリアのシンタックスハイライトを有効化

  • Marketplace スクリーンショット自動化のための Remote-Robot UI テストフレームワークを追加

  • Sphinx ドキュメントレクサーに JSX 状態ベースのハイライトを追加

バグ修正

  • RescriptUnusedCodeInspection に不足していたプロセスタイムアウトを追加

  • 4 ファイルにわたるエラーハンドリングを改善

  • JDK 24 での UI テスト失敗を修正しテストライフサイクルを改善

  • スクリーンショット品質を修正: IDE のみのキャプチャ、確実なファイル開き、通知の非表示

  • ツールウィンドウで REPL 入力エリアが読み取り専用になる問題を修正

  • Project View でのコンパイル済み JS ファイルのネスト表示を修正

リファクタリング

  • Kotlin のモダナイズ: data object と serviceOrNull への変換

  • Qodana 準拠のための REPL コードクリーンアップ

インフラ

  • 依存関係管理のための Gradle バージョンカタログを導入

  • 最新の依存関係バージョンとバージョンカタログを同期

  • Kover、ktlint、Gradle wrapper を更新し、Trivy アクションタグを修正

  • Dependabot の提案に基づき依存関係を更新

  • レクサーのキーワード・リテラルテストにパラメータ化テストを導入

  • ProcessUtils と FileUtil のブランチカバレッジテストを追加

  • ProcessResult データクラスに不足していた KDoc を追加

ドキュメント

  • Sphinx ドキュメントに用語集と FAQ ページを追加

  • Sphinx 機能ドキュメントにタブセットとドロップダウンを追加

  • Sphinx ドキュメントに相互参照を追加しアドモニションを改善

  • SEO、UX、開発者体験のための Sphinx 拡張機能を追加

0.1.10 (2026-03-19)

機能

  • すべての Sphinx 機能ドキュメントページにメリットの説明を追加

  • すべての Sphinx ドキュメントの日本語翻訳を完了

バグ修正

  • プロジェクトスコープのバリデーションと安全なパス構築を追加

  • REPL ツールウィンドウのキーボード入力が動作しない問題を修正

  • ktlint 14.1.0 アップグレードによる ktlint 違反を修正

  • CI ビルドと Qodana の失敗を修正

リファクタリング

  • RescriptReanalyzeServerService から RescriptReanalyzeHealthChecker を抽出

  • RescriptCompletionWeigher の重み付けロジックを重複排除

  • RescriptLspDetector の共通祖先走査を抽出

  • ハードコードされたパスを RescriptPaths ユーティリティオブジェクトに集約

  • RescriptUnwrapDescriptor のマジックナンバーを名前付き定数に抽出

  • junit-vintage-engine を削除し JUnit 6.0.3 にアップグレード

インフラ

  • 13 クラス(パーサー、ハンドラー、ビューモデル、スタブタイプ)のユニットテストを追加

  • Gradle プラグインバージョンとラッパーを更新

  • *.hprof を .gitignore に追加

0.1.9 (2026-03-16)

機能

  • .res/.resi ファイルのファイルタイプ復旧スタートアップアクティビティを追加

バグ修正

  • liveTemplate コンテキストと Grazie のプラグイン記述子登録を修正

  • WorksheetFileType に不足していた getDisplayName オーバーライドを追加

  • LSP 通知パラメータの null 安全性を追加

  • 補完ウェイターでの空文字列によるクラッシュを修正

インフラ

  • プロジェクトテンプレートの依存関係バージョンを更新

0.1.8 (2026-03-12)

バグ修正

  • invokeLater 呼び出しに明示的な ModalityState を追加

  • スレッドセーフなリスナーリストに CopyOnWriteArrayList を使用

  • AnAction サブクラスに getActionUpdateThread() を追加

  • ユーザー向けエラーメッセージに対処方法のガイダンスを追加

  • analysis/ の広範な catch(Exception) を具体的な例外型に置換

  • RescriptFormatCheckAnnotator のスレッドリークを修正

  • LSP サーバーからの重複する "Start a build" プロンプトを抑制

改善

  • ドキュメントに不足していたキーボードショートカット、設定、Intention Actions を追加

  • 未ドキュメントの機能を Sphinx 上級ドキュメントに追加

インフラ

  • CI に KDoc チェック、EP 登録チェック、Trivy 脆弱性スキャンを追加

  • 品質チェック Gradle タスクを追加しカバレッジ閾値を引き上げ

  • バージョン整合性チェックと公開承認ゲートを追加

  • Qodana Dependabot バイパスを削除し失敗閾値を追加

  • パフォーマンスベンチマークとヘッドレス IDE スモークテストを追加

  • テストフィクスチャを 4 ファイルから 22 ファイルに拡充

  • 43 のクラス/オブジェクト宣言に不足していた KDoc コメントを追加

0.1.7 (2026-03-11)

バグ修正

  • getHoverType の read-action スレッド違反を修正

  • .res/.resi の fileType 登録にアイコン属性を追加

  • プラグインバージョン文字列からプラットフォームバージョンサフィックスを削除

0.1.6 (2026-03-10)

バグ修正

  • TypeInfoPanel でプールスレッドからキャレットオフセットにアクセスする際の EDT スレッド違反を修正

  • GenerateGroup が DefaultActionGroup を継承するよう修正し、子アクションを正しくサポート

  • testCreator Extension Point の属性名を修正(implementation → implementationClass)

0.1.5 (2026-03-10)

リファクタリング

  • テストスイートを JUnit 4 から JUnit 5 (Jupiter) に移行

  • 正規表現パターンを RescriptRegexPatterns に集約

  • 括弧バランスユーティリティを RescriptBraceBalanceUtil に抽出

  • 共通パターンの抽出: StyleLintInspection の Quick Fix、Gson デシリアライゼーション、UnwrapDescriptor のリージョン検索

  • データ駆動アプローチにより Postfix テンプレートのボイラープレートを削減

  • 冗長な Elvis 演算子、重複する型ラッパー、不要な companion object シムを削除

  • SignatureSyncInspection と isModuleOpened でインライン正規表現を文字列マッチングに置換

インフラ

  • DtsNodeDetector と RescriptReplExecutor の未使用 LOG フィールドを削除

  • Kover カバレッジ検証の 54% 閾値を復元

0.1.4 (2026-03-06)

バグ修正

  • 内部 API 参照を回避するため CodeVisionProvider を Java で書き直し

  • 例外ログの追加と InterruptedException 処理の修正

リファクタリング

  • 共通プロセス実行のため RescriptProcessUtils を抽出

インフラ

  • verify ジョブの統合と Kover タスクの並べ替えにより CI を最適化

  • カバレッジ向上のため Kover 除外設定とユニットテストを追加

  • StringLiteral、DtsParserProcess、GenerateActionUtil の中難度テストを追加

  • プラグインの説明を拡充し、変更履歴のバージョニングを修正

0.1.3 (2026-03-05)

改善

  • JetBrains Marketplace 表示用のプラグインアイコンを追加

  • Plugin Verifier の非推奨 API 警告を修正

  • 現在の実装状態を反映するようドキュメントを更新

0.1.2 (2026-03-03)

機能

109 機能を搭載し JetBrains Marketplace に初回リリースを申請:

  • JFlex レクサーによる完全なシンタックスハイライト

  • @rescript/language-server との LSP 統合

  • LSP セマンティックトークンによるセマンティックハイライト

  • コード補完、定義へ移動、ホバー、使用箇所の検索

  • コード折りたたみ(モジュール、宣言、コメント、カスタムリージョン)

  • 括弧の対応付けとスマート引用符

  • ストラクチャービュー

  • rescript format CLI によるコードフォーマット

  • 実行構成(Build、Build Watch、Clean)

  • テストランナー統合(Jest/Vitest)

  • コードインスペクション(重複 open、空モジュール、設定ファイルの欠落、シグネチャ同期、スタイルリンティング)

  • reanalyze によるデッドコード分析(サーバーモード対応)

  • インポートの最適化

  • 20 以上の Intention Actions(Wrap with、Unwrap、パイプ変換、ケース分割、ラベル付き引数など)

  • Surround with(if/switch/try/block)

  • Postfix 補完(.switch、.pipe、.log、.promise、.await など)

  • Live Templates(FFI バインディングと React コンポーネントを含む 21 スニペット)

  • ファイルテンプレート(Module、Interface、Component)

  • シンボルへ移動、関連ファイルへ移動、ファイル切り替え(.res/.resi)

  • スタブインデックスによるシンボルの Search Everywhere

  • インターフェースファイルの作成、コンパイル済み JavaScript を開く

  • Code Lens(型注釈)、Inlay Hints

  • コンパイル済み JS プレビューツールウィンドウ

  • モジュール階層ビューと Call Hierarchy ビュー

  • ステータスバーのビルドステータス、Error Lens インライン診断

  • Signature Help、Parameter Info

  • ステートメントの上下移動、Smart Enter

  • Extract Variable/Function、Inline、Introduce Constant、Change Signature

  • React コンポーネントの抽出、Safe Delete

  • 未解決参照の Quick Fix(open 追加/修飾子付加)

  • 使用箇所からの関数生成、型ホールの Quick Fix

  • Generate アクション(switch arms、module type、make、record value、JSON エンコーダ/デコーダ)

  • .d.ts から ReScript バインディングの生成

  • 12 テンプレート対応の Project Wizard

  • パッケージマネージャ自動検出による LSP 自動インストール

  • REPL、Worksheet モード(.resw)、スクラッチファイル

  • 依存関係ダイアグラム、PPX 展開ビュー

  • 型シグネチャ検索、Type Info ツールウィンドウ

  • エディタフローティングツールバー、フレームワーク検出

  • GitHub エラーレポーター

  • その他多数の IDE 統合機能