[Proposal] Support filtering `mix deps` output by dependency application name

18 views
Skip to first unread message

Rodolfo Carvalho

unread,
Dec 11, 2025, 9:29:30 AM (3 days ago) Dec 11
to elixir-lang-core
tldr: $ mix deps phoenix phoenix_live_view
* phoenix 1.8.2 (Hex package) (mix)
  locked at 1.8.2 (phoenix) 19ea65b4
  ok
* phoenix_live_view 1.1.18 (Hex package) (mix)
  locked at 1.1.18 (phoenix_live_view) f189b759
  ok


Use Case 1

When reporting bugs to library maintainers, users are often asked to provide versions of specific dependencies (e.g., "What version of Phoenix and LiveView are you using?"). Currently, the way to get this information via Mix is to run `mix deps` and search through potentially dozens of dependencies.

One workaround (as suggested in https://github.com/phoenixframework/phoenix_live_view/pull/4076/files#diff-185833cb26d7ac66a4d39042fd576a820c2c2c6d05ad18973bb9c7dce77267c5R16) is to filter the output using ubiquitous CLI tools such as `grep`, as in

mix deps | grep -w 'phoenix\|phoenix_live_view'

The above is less memorable, more daunting to less experienced developers, and unintentionally omits part of the output.

The proposed improvement would make it so that one could print only the specified dependencies with their versions and status:

mix deps phoenix phoenix_live_view

Use Case 2

CLI and "Agentic" workflows benefit from generic tools that LLM-based agents can use to build up context.

Recently, in Elixir v1.19, `mix help` has been improved to allow printing documentation for modules and functions directly from the command line, motivated in part by empowering agents without dependencies on MCP and other tools.

Being able to print the current versions of a single package or a few related packages could also be leveraged by agents and tools.



The filtering by passing positional arguments directly mirrors established patterns from package managers (`dnf info pkg1 pkg2`, `apt show pkg1 pkg2`) and fits Mix's existing conventions where positional args specify targets, e.g. in `mix deps.tree` and `mix deps.unlock`.

If accepted, the proposal implementation would entail tests and documentation, plus a small number of lines in lib/mix/lib/mix/tasks/deps.ex. I volunteer to submit a PR.


Thanks,

Rodolfo Carvalho

José Valim

unread,
Dec 11, 2025, 10:19:05 AM (3 days ago) Dec 11
to elixir-l...@googlegroups.com
Yes please, PR welcome!


--
You received this message because you are subscribed to the Google Groups "elixir-lang-core" group.
To unsubscribe from this group and stop receiving emails from it, send an email to elixir-lang-co...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/elixir-lang-core/4b27ba8d-77be-485e-a253-3a4f6b7dd8b6n%40googlegroups.com.

Rodolfo Carvalho

unread,
Dec 11, 2025, 11:57:33 AM (3 days ago) Dec 11
to elixir-lang-core
Reply all
Reply to author
Forward
0 new messages