Hiromi ISHII / mr_konn
DeepFlow 社内で開発して2年ほど使っていた、Haskell 製巨大モノレポの依存関係チェックツール guardian を OSS 化したので宣伝させてください。
https://github.com/deepflowinc/guardian
大量のパッケージから成るモノレポで開発を進めていると、不用意にパッケージ間の依存関係を増やした結果不必要にビルドに時間がかかってしまい、ちょっとした変更でもビルドに時間がかかってイテレーションが阻害される、という事がしばしばあります。
guardian はパッケージを複数のグループ(ドメイン)に分けて、予め指定されたグループ間の依存関係以外を発見すると警告してくれる、というツールです。stackベースと cabal-install ベースのプロジェクトに対応しています。
CI で手軽に呼ぶためのビルド済バイナリや、GitHub Action も用意しています。
詳細は以下の記事で紹介させて頂いておりますので、巨大 Haskell モノレポの依存関係の管理にお悩みの方のお役に立てれば幸いです:pray:
https://zenn.dev/deepflow_tech/articles/secure-haskell-monorepo-deps-with-guardian
https://github.com/deepflowinc/guardian
大量のパッケージから成るモノレポで開発を進めていると、不用意にパッケージ間の依存関係を増やした結果不必要にビルドに時間がかかってしまい、ちょっとした変更でもビルドに時間がかかってイテレーションが阻害される、という事がしばしばあります。
guardian はパッケージを複数のグループ(ドメイン)に分けて、予め指定されたグループ間の依存関係以外を発見すると警告してくれる、というツールです。stackベースと cabal-install ベースのプロジェクトに対応しています。
CI で手軽に呼ぶためのビルド済バイナリや、GitHub Action も用意しています。
詳細は以下の記事で紹介させて頂いておりますので、巨大 Haskell モノレポの依存関係の管理にお悩みの方のお役に立てれば幸いです:pray:
https://zenn.dev/deepflow_tech/articles/secure-haskell-monorepo-deps-with-guardian