Fork me on GitHub
#tools-deps
<
2020-11-25
>
Alex Miller (Clojure team)22:11:25

I spent some time today hacking on a new deps tree that has a lot more info in it. in particular: • lists deps not in one place but in ALL places they're used (minus some stuff in a suppression list which defaults to clojure/spec/core.specs) • lists deps that are NOT included with reason why • special support for the case of discovering a newer version of a dep that was previously included during the expansion - these are marked with * and previously included have reason :superseded. this happens to be the locus of many tricky cases and bugs so often I'm looking specifically for this

👍 6
Alex Miller (Clojure team)22:11:33

example ^^, interested if you have any feedback. not yet packaged for public use as I'm still tinkering

rickmoynihan13:11:22

looks really useful! Presumably this info is also available as data via the tdeps api?

👍 3
Alex Miller (Clojure team)15:11:44

Not really, it’s built from the trace log so technically yes, but haven’t decided yet how to break the steps apart yet

Alex Miller (Clojure team)15:11:02

What would you want to do with it as data?

rickmoynihan15:11:47

I have no idea, beyond maybe visualising it. I just assumed that the rendering would’ve been built on top of such a representation.

borkdude19:11:49

EDN (or XML? :)) output would be a nice to have, although currently I'm not using it programmatically

borkdude19:11:29

Looks nice and useful!

Alex Miller (Clojure team)20:11:25

Certainly feasible - would help to know what people would want to do with it

👍 3
rickmoynihan09:11:38

I don’t know, I guess the most important data is the concluded set of deps you’re running with — which is obviously already available… You’re probably right that the reasons tools.deps made a versioning decision are something of secondary interest only. I guess if it were in data something like cursive or cider could use that info to annotate all the deps they know about in their UI trees etc.

rickmoynihan09:11:47

I could certainly imagine people using such a tool in my editor or IDE, but the CLI interface you’ve made is totally sufficient for me.

rickmoynihan12:11:17

:thinking_face: would it also be useful to see which alias was ultimately responsible for each dep being pulled in?

seancorfield23:11:08

Nice! I'd only need to make a minor tweak to my "ancient" shell script to pick up those changes (adding an fgrep -v ' X ' filter) and then just cleaning up the leading . or * and maybe running it through uniq which I don't currently have to do.

seancorfield23:11:23

That's really nice and informative. Thank you!