Slide 1

Slide 1 text

Riverpodに機能追加したとき の話 YOUTRUST x ゆめみ Flutter LT会@渋谷 Kota Hayashi (K9i)

Slide 2

Slide 2 text

自己紹介

Slide 3

Slide 3 text

Riverpod? - 日本だと特に人気が高い状態管理ライブラリ - 最近はデファクトスタンダード? - 世界的にはBLoCなんかも人気 - https://docs-v2.riverpod.dev/

Slide 4

Slide 4 text

追加した機能

Slide 5

Slide 5 text

追加した機能 Riverpod関連のWidget を相互に変換する

Slide 6

Slide 6 text

もとからあった機能 - StatelessWidget、StatefulWidget、ConsumerWidget、 ConsumerStatefulWidgetをConsumerWidgetか ConsumerStatefulWidgetに変換するものはすでにあった - hooks系を追加して、すべて相互に変換できるようにした

Slide 7

Slide 7 text

変更したパッケージ - Riverpodはマルチパッケージ構成 - riverpod - flutter_riverpod - hooks_riverpod - riverpod_generator - riverpod_lint - など

Slide 8

Slide 8 text

変更したパッケージ - Riverpodはマルチパッケージ構成 - riverpod - flutter_riverpod - hooks_riverpod - riverpod_generator - riverpod_lint - など 変更したのはこれ

Slide 9

Slide 9 text

機能追加の流れ - 気合で実装(割りとなんとかなった) - hooks関連の問題が発覚 - HookWidgetなどはhooks_riverpodを使ってるときだけ変換したい → custom_lintで利用パッケージを知るすべが無い

Slide 10

Slide 10 text

remiさんがcustom_lintを修正してくれた

Slide 11

Slide 11 text

remiさんがcustom_lintを修正してくれた PR https://github.com/invertase/dart_custom_lint /pull/137 Changelog https://pub.dev/packages/custom_lint_builder /changelog#033---2023-04-06

Slide 12

Slide 12 text

無事リリース🥳

Slide 13

Slide 13 text

おわり - Riverpod関連のWidgetを変換する機能を追加したよ - 今回の実装のPR - https://github.com/rrousselGit/riverpod/pull/2306