poops

poops

I’m not sure if this is the best place to ask this, but would it make sense to alias mix hex.outdated as mix deps.outdated? It always trips me up that I need to run mix hex.outdated to see outdated dependencies, but to update them, I need to run mix deps.update [package]

Also, when running mix hex.outdated, the description at the bottom would be even more helpful if it showed the command to update. I know the command now, but when I was learning, I had to go searching for that command.

Showing Posts 1 to 6

wojtekmach

wojtekmach

Hex Core Team

would it make sense to alias mix hex.outdated as mix deps.outdated?

You can do that per project, see Mix — Mix v1.20.2.

Right now, it doesn’t make sense for Mix to have deps.outdated task because only Hex provides that functionality anyway (e.g. not git dependencies and for path dependencies that doesn’t even make sense).
However, if there is something like Mix.SCM.outdated? callback (that Hex.SCM and Mix.SCM.Git implements) that would then be more feasible. cc @ericmj

ericmj

ericmj

Elixir Core Team

The problem is that the only SCM that can implement it is Hex. We don’t know if git or path dependencies are outdated.

wojtekmach

wojtekmach

Hex Core Team

Sure, for path deps it doesn’t make sense (as far as I understand they’re always up to date). For git I thought we could essentially do git fetch (into temp dir, or fetch just mix.exs into tmp file) to compare versions. I think that should work as long as dep is pinned to a branch (and not to a tag which virtually never changes)

ericmj

ericmj

Elixir Core Team

I don’t understand how it could work with git, do we fetch all tags, open up mix.exs and look at the project version? This does not seem viable.

wojtekmach

wojtekmach

Hex Core Team

A git dep in mix.exs can be either pinned to a ref/tag (which won’t/shouldn’t be outdated), a branch, or nothing (so default branch). So if it’s a branch we need to look at the tip of the upstream branch to find the latest version. I agree that manually looking at mix.exs to find the latest version isn’t great. No need to pull tags because we don’t care about them, we only care about deps pinned to branches - If we would care about tags then updating to a newer tag would require user to manually change mix.exs to pin to that tag.

Anyhow, I’ll do some more research and will do a proper proposal if that’d still look reasonable enough.

ericmj

ericmj

Elixir Core Team

They would work quite differently since Hex looks at all available versions and Git only looks at updates to the current branch. Hex also informs you if you need to update the version requirement which we can’t do for Git. Since they work so differently I’m not sure how they would fit in the same UI.

— All posts loaded —

Where Next? Top

Trending in Discussions Top

AstonJ
As the title says, please share what you’ve been up to with Elixir. Whether that’s been learning it, looking into it, making stuff with i...
2977 94592 917
New
cblavier
Hey there, It’s been more than a year since we started using LiveView as our main UI library and building a whole library of UI componen...
New
mudasobwa
I am happy to introduce the very α version of the new programming language compiled to BEAM. Welcome Cure. It has literally three kille...
New
heathen
Quite interesting article Google brought me. Didn’t find any mentions about it here. What do you think in general? Would you use togethe...
New
mhanberg
Hi everyone! The first release candidate for the Expert language server project is now available! We’ve published a press release detai...
New
AstonJ
Since we have deprecated our Erlang sections (as we have dedicated Erlang Forums now) let’s add this thread for those who’d like to post ...
New
Null-logic-0
What IDE or editor are you using for Elixir development? Personally, I use Zed, and I really like it, but sometimes I wish there were a ...
New

Other Trending Topics Top

GenericJam
Edit: 2026 May 15 - This post is archived. Mob is alive!! Main docs: mob v0.7.11 — Documentation A bit of explanation for the slightly c...
New
JesseHerrick
Hey, I’m Jesse and I’m the main contributor behind Dexter, a full-featured, lightning-fast Elixir LSP optimized for large codebases. It s...
New
marciok
Hi there! We created Gust: A task orchestrator inspired by Airflow. For those who have never heard about Aiflow, it’s a Python-based wor...
New
jimsynz
Beam Bots (or just BB for short) is a framework for building fault-tolerant robotics applications in Elixir using familiar OTP patterns. ...
New
Dmk
Xamal is a deployment tool for Elixir apps that deploys native releases to bare metal servers over SSH. It’s a port of GitHub - basecamp/...
New
webofbits
With AI doing more of the implementation work, I’ve been wondering how much coding I should deliberately keep doing myself. My main conc...
#ai
New

We're in Beta

About us Mission Statement

Options

Thread Display Mode




Thread Preview

Skip Thread Previews