Our great sponsors
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
Adding dependencies in Clojure is a bit more involved in part because it has aliases. In the case of Lein, it has profiles but the order of dependencies also matters there so you always add new dependencies at the bottom. And all that is solvable but I myself wouldn't call it a priority, and seems like that's why it's not there yet. Or perhaps there are design decisions that are not easy to make. Another reason is that both deps.edn and project.clj are not plain lists of dependencies. They allow for all sorts of data and metadata to be there, especially project.clj - adding an extra line to them in a purely automatic way is a trade-off between ease and correctness. In any case, you can use https://github.com/babashka/neil to make your experience more like that with npm or pip.
Have you compared `lein new` and deps-new?
While Leiningen is a reasonable tool, I'd rather see everyone using tools.deps in the long run. It allows us to build things on top of it with less baggage. For example, we're using a Babashka port of tools.deps to make it easy to install scripts with bbin. I don't think it would have been realistic for me to implement something like bbin on top of Leiningen.
If you can get away with not using React, I highly recommend Biff. It uses XTDB and Rum by default but they can be swapped out pretty easily for Postgres and Reagent. I'm planning to publish some docs on how to do that when I have a chance.