riverpod-migration について
Riverpod の移行を案内し、状況に合った参照ガイドへ導くスキルです。StateNotifier や ChangeNotifier からの移行と一部のバージョンアップを扱い、実装上の共通点や CLI の利用方法も示します。
主な機能
- 01移行シナリオに対応するガイドを案内
- 02StateNotifier から Notifier への移行に対応
- 03ChangeNotifier から AsyncNotifier への移行に対応
- 040.13 から 0.14、0.14 から 1.0 への更新を収録
- 05Riverpod CLI による移行を案内
活用シーン
- 01StateNotifier ベースのアプリの移行
- 02ChangeNotifier のロジックを AsyncNotifier に移行
- 03記載されたバージョン間でのプロジェクト更新
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ serverpod/ skills-registry --skill riverpod-migrationインストール後、Claude Code で/riverpod-migrationを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
reference/migration_0_13_0_14.mdmigration_0_14_1_0.mdmigration_from_change_notifier.mdmigration_from_state_notifier.md詳細
Riverpod — 移行ガイド
手順
このスキルでは、さまざまな状況に対応する詳細な移行ガイドを案内します。該当するケースに一致するリファレンスファイルを使用してください。
使用するガイド
| 状況 | リファレンス |
|---|---|
| StateNotifier から Notifier / AsyncNotifier への移行 | migration_from_state_notifier.md |
| ChangeNotifier から AsyncNotifier への移行 | migration_from_change_notifier.md |
| 0.13.x → 0.14.x へのアップグレード(StateNotifierProvider の構文、watch(provider) と provider.state の違い) | migration_0_13_0_14.md |
| 0.14.x → 1.0 へのアップグレード(ScopedReader → WidgetRef、useProvider → ref.watch、StateProvider) | migration_0_14_1_0.md |
Riverpod 2.0 → 3.0 については、riverpod-3-0-migration スキルを参照してください。
よくあるテーマ
- StateNotifier → Notifier/AsyncNotifier: 初期化ロジックは
buildに記述します。disposeをオーバーロードする代わりにref.onDisposeを使用します。mountedはないため、キャンセル(Completer や HTTP のキャンセルトークンなど)を使用します。コンシューマー側は変更ありません(ref.watch、notifier のメソッド)。 - ChangeNotifier → AsyncNotifier:
isLoading/hasError/手動の try-catch をAsyncValueに置き換えます。状態はstateのみとし、stateを再代入して変更します。 - CLI: 0.14 および 1.0 へのアップグレードでは、プロジェクト内で
dart pub global activate riverpod_cliを実行し、その後riverpod migrateを実行できます(先に Riverpod を手動でアップグレードしないでください。ツールがバージョンと変更内容を提案します)。
手順を追った説明とコード例については、該当するリファレンスファイルを開いてください。
コメント
Markdown 対応