Fork me on GitHub
#releases
<
2021-07-16
>
seancorfield20:07:00

https://github.com/seancorfield/clj-new/releases/tag/v1.1.321 -- includes a bug fix for a recent change which switched to using tools.deps.alpha/create-basis but that requires a project deps.edn by default, which preventing clj-new running in directories without deps.edn. Sorry I didn't catch that earlier 😐

Alex Miller (Clojure team)21:07:54

is this something create-basis should fix?

seancorfield21:07:02

I guess it would be convenient if create-basis silently omitted the :project deps.edn file if it didn't exist, but there is value in having that be an error to avoid running tools that require deps.edn in the "wrong" directory.

seancorfield21:07:28

:project nil says "do not use deps.edn" so I think you need a way to distinguish between "use deps.edn if present" from "must have deps.edn"?

seancorfield21:07:16

I'm OK with the current behavior. It just caught me out because I didn't consider the use case of running clj-new somewhere without deps.edn (if you're developing a new template, you want clj-new to use that deps.edn file because that's where the template's code/deps are going to be declared).

Alex Miller (Clojure team)21:07:14

I don't think create-basis should have "must have deps.edn" - that's a constraint a program can check if it wants to but I don't see why create-basis cares

Alex Miller (Clojure team)21:07:38

I've made clojure.tools.deps.alpha/slurp-deps tolerant of files that don't exist (which affects everything downstream of it, including this). in general, everything else in the api is tolerant of missing dep sources, seems like this should be too to be consistent

seancorfield21:07:37

OK, thanks. When I next update clj-new to a newer t.d.a, I'll try to remember to take that conditional out 🙂