From c59550e66c46149c3808002834c224e8319761d6 Mon Sep 17 00:00:00 2001 From: Nathan Alderson Date: Tue, 14 Oct 2025 16:51:08 -0500 Subject: [PATCH] fix: Include rules from all apps in umbrella project --- lib/mix/tasks/usage_rules.sync.ex | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/lib/mix/tasks/usage_rules.sync.ex b/lib/mix/tasks/usage_rules.sync.ex index 101e584..63b3515 100644 --- a/lib/mix/tasks/usage_rules.sync.ex +++ b/lib/mix/tasks/usage_rules.sync.ex @@ -212,11 +212,21 @@ if Code.ensure_loaded?(Igniter) do top_level_deps = Mix.Project.get().project()[:deps] |> Enum.map(&elem(&1, 0)) + umbrella_deps = + (Mix.Project.apps_paths() || []) + |> Enum.flat_map(fn {app, path} -> + Mix.Project.in_project(app, path, fn _ -> + Mix.Project.get().project()[:deps] |> Enum.map(&elem(&1, 0)) + end) + end) + + all_deps = Enum.uniq(top_level_deps ++ umbrella_deps) + # Get all deps from both Mix.Project.deps_paths and Igniter rewrite sources mix_deps = Mix.Project.deps_paths() |> Enum.filter(fn {dep, _path} -> - dep in top_level_deps + dep in all_deps end) |> Enum.map(fn {dep, path} -> {dep, Path.relative_to_cwd(path)}