前置き
Melosという便利なツールがあるみたいなので、紹介程度の軽いメモです。詳しい使い方などは参考に貼った公式ドキュメントを見てみてください。結構わかりやすくまとまっています。
メモ
FlutterでNew Projectすると、rootに1つの pubspec.yaml
とlib
パッケージが作られてlib
の中をいじって開発を進めていくと思いますが、普通に開発するapp
という実際のアプリが含まれたパッケージとui_catalog
のようなアプリが含まれたパッケージを1つのプロジェクトで管理したい場合、それぞれのパッケージに移動して pubspec.yaml
の依存を取りに行く flutter pub get
を実行する必要があったりと色々と管理が面倒です。
そこでMelosが複数パッケージが存在するDartプロジェクトを管理するCLIツールとして機能してくれます。
Melosではrootにpackages
というパッケージを作ってその直下にapp
やui_catalog
などのNew Projectしたときにできるlib
パッケージレベルのものを複数置いて管理します。
以下の機能があるようです。
- Automatic versioning & changelog generation.
- Automated publishing of packages to pub.dev.
- Local package linking and installation.
- Executing simultaneous commands across packages.
- Listing of local packages & their dependencies.
Melosは有名なところでいうと、 flutterfireで導入されているみたいです。
Melosを使えば例えば、1つのプロジェクトで複数のパッケージを管理したい場合に、例えばanalyzeをかけたいとき、app
とui_catalog
それぞれのパッケージに移動してdart analze
をかけないといけませんが、melos.yaml
にscriptを設定することで自動で全パッケージに対して実行してくれるようになります。
他にも、 pub run build_runner build
のようなコマンドも同様に動いてくれます。
コマンドラインで動かしたときもビジュアル的に使い心地が良いので使ってみてください。