UsageRules and Ash

Hi Zach

  1. Ash is on my project via
      {:ash_postgres, "~> 2.5"},
      {:ash_phoenix, "~> 2.0"},
      {:ash_cloak, "~> 0.1.2"},
      

The above 3 packages are the explicit packages listed in my mix.exs. The latest ash package is automatically installed due to it being listed as a dependency of the above.

(On a slightly different angle of thought, I do wonder if it’s best practice to explicitly list ash in mix.exs when it’s already installed as a dependency)

  1. When using UsageRules, mix usage_rules.sync --list. I only get
* ash_postgres: has usage rules
* igniter: has usage rules
* ash_phoenix: has usage rules
  1. Question now lies. Would the correct long-term solution be
    a. for the developer to make ash explicit in mix.exs so that usage_rules work?
    b. for usage_rules to scan mix.lock instead?

(Or am I doing something wrong?)

Best regards
Terry

Yes, you should directly depend on Ash.