The problem with Clojure/Script is that there isn't a consensus on how to do things properly (IMHO, leiningen isn't transparent to beginners). Every language has its rituals, but as far as things go I'd pick Clojure/Script over npm-equipped JS any day, if only because it is such a blast to use once you
do get things running correctly.
That said, I had to spend a couple of weeks agonising over my setup until I came across the newer and frankly, much simpler CLI tooling [1]. Today, I just manually create `deps.edn` and extend it as needed: pastebin.com/c8Ut928B
Setting up ClojureScript is a bit more complicated though, but not by much: pastebin.com/WdVyrd9T
Then I just run `npm install shadow-cljs react react-dom create-react-class` before doing `clj -M:shadow-cljs watch :client`, based on [2].
----
[1]: clojure.org/guides/deps_and_cli
[2]: shadow-cljs.github.io/docs/UsersGuide.html