Open9
Melos
Melos公式ドキュメント
FlutterFireもで使われている
pub.devを介してグローバルパッケージとしてインストール
$ dart pub global activate melos
プロジェクトのルートに melos.yaml
を作成
melos.yaml
name: my_project
packages:
- packages/**
パスは glob パターン拡張形式で記述可能
Bootstrap
プロジェクトの依存関係をインストール・リンクする
役割
- すべての依存関係をインストール(内部では
pub get
) - パッケージをローカルにリンク
$ melos bootstrap
$ melos bs
clean
pub関連ファイルとiOSのpod、Androidのビルド関連ファイルを削除する。
何らかのキャッシュが悪さをしていそうなときに実行する。
clean 実行後には bootstrap
の再実行が必要。
$ melos clean
exec
各パッケージで任意のコマンドを実行する。
$ melos exec -- do something
オプション
concurrency (-c)
一度に並行してコマンドを実行するパッケージ数(最大同時実行数)を指定できる。
デフォルトは 5
1に制限する例:
$ melos exec -c -- do something
--fail-fast
個々のパッケージでスクリプト実行中に失敗したとき、以降のパッケージでスクリプトを実行させたくない時は指定する。デフォルトは false
$ melos exec --fail-fast -- do something
list コマンド
パッケージに関する情報を一覧表示する。
$ melos list
オプション
以下のオプションは、指定しなければ適用されない(デフォルト false
)
--long (-l)
拡張/詳細な情報を表示させる。
$ melos list -l
--all (-a)
デフォルトで非表示になっているプライベートパッケージも表示させる。
$ melos list -a
--parsable (-p)
列表示の代わりに解析可能な出力を表示する。
$ melos list -p
--json
情報をJSON配列として表示する。
$ melos list --json
--graph
依存関係グラフをJSON形式で表示する。
$ melos list --graph
-- gviz
Graphviz DOT言語で依存関係グラフを表示する。
$ melos list --graph
run
melos.yaml
で定義されたスクリプトを実行する。
melos run <name>
version
すべてのパッケージの変更ログを自動的にバージョン管理および生成する。
すべてのMelosフィルタリングフラグをサポートする。
melos version
詳細については…