Porting front-end app from boot tooling to deps.edn: figwheel main and/or shadow-cljs?

Soon I’ll be porting a front-end app from boot tooling to a deps.edn-based setup.

I’m considering the following options:

  • deps.edn + figwheel.main
  • deps.edn + shadow-cljs

What are the trade-offs between the two?


Does your project use much from npm? shadow makes npm pretty easy (and can even build a bit of js for you if you ask nicely). Figwheel is a masterpiece, but does seem to require explicit integration with a js build tool for npm support.

I use shadow, with package.json for npm dependencies and the :deps option in shadow-cljs.edn pointing at deps.edn for cljs dependencies (having transitioned from lein-figwheel + lein-cljsbuild + cljsjs).

Both shadow and figwheel provide hot reloading and a cljs repl.

I haven’t actually tried deps + figwheel.main so am not giving you a proper answer!

1 Like

I am not certain what the trade-offs between the two are, but I found shadow-cljs to be much easier to configure and work with. I would recommend shadow, but this is sort of a non-answer, sorry.