💬
Dartのコード生成速度を爆速化する
はじめに
久々にFlutter開発をしていて、筋肉の記憶で
dart run build_runner build -d
を実行したところ、なんと2分もかかってしまいました。
「え?こんなに時間がかかったっけ?」と思いつつ、コード生成の速度を改善できないかと調べてみました。
そして今回は、Dartのコード生成速度を爆速にするための小技を共有したいと思います。
小技
結論から言うと、build.yaml
に設定を追加してスコープを限定することです。
さっそくコードで説明しましょう。
targets:
$default:
builders:
freezed:
options:
# 生成されたコードのフォーマットをなしにすることで、ビルドが若干速くなります
format: false
generate_for:
include:
- lib/models/**.entity.dart
- lib/models/**.dto.dart
riverpod_generator:
generate_for:
include:
- lib/providers/**.provider.dart
このように、include
やexclude
などの設定を追加することで、生成対象のファイルを指定することができます。
これにより、コード生成の時間が大幅に短縮されます。
僕の場合は、1分45秒から1分未満に短縮されました。
驚くべきことに、40%以上の効率アップを実現しました!
さらに、.entity
のようにファイル名にミドル修飾子を付けることで、パスを具体的に指定する必要がなくなり、ファイルの役割も明確になります。めっちゃ便利です!
最後に
いかがでしょうか?
もし私と同じような悩みを抱えている方がいれば、ぜひこの方法を試してみてください!
Discussion