Hello!
A slightly exotic use-case, but I would like to have your opinion :-)
While doing maintenance work, I often leverage the fact that Mix.lock content is "valid Elixir" to implement useful stuff.
Two examples are:
The point I want to bring is that this call (at least on Elixir 1.15):
Code.eval_string(File.read!("mix.lock"))
raises warnings such as:
warning: found quoted keyword "mox" but the quotes are not required. Note that keywords are always atoms, even when quoted. Similar to atoms, keywords made exclusively of ASCII letters, numbers, and underscores and not beginning with a number do not require quotes
nofile:78:4
This is not a super blocking point at this stage, but I wonder if ensuring that Mix.lock is formatted in a way that does not lead to warning would be a possibility here?
Alternatively, what would be better ways to get the same value (maybe leveraging Mix internals), without having to "migrate" the format?
The tooling I use is here to stay, and worst case I can either ignore the warnings, or "pre-process" the file to remove them, if needed.
Thanks!
-- Thibaut