OK, so the main issues I had with figwheel-main + deps + webpack + test combination working were all minor configuration issues. They were however difficult and time consuming to overcome because of the frequent need to clear the .cpcache and or the target directory in order to regain sane results. I’m not sure why that was. It’s also hard to keep VSCode/Calva in-line evaluation in a working state. That’s the job for today. Conclusion to date is that shadow-cljs was much easier to set up though the cljs-core/deps route felt lower-level and so more understandable.
One insight gained in the process was that --print-config is very useful when chasing :output-to and :final-output-to issues.
clojure -m figwheel.main -pc -b dev -r
and the like.
Another note: I was using cljs-ajax and hit the issue fixed by @bhauman in https://github.com/JulianBirch/cljs-ajax/pull/248. In the nick of time, that was recently merged into cljs-ajax 0.8.1 - so you definitely need to update to that version if you use it (e.g. through reframe)
Sounds like the right choice. I find that usually, util namespaces are not that difficult to break up into smaller namespaces, so performing the refactoring itself is not that costly or error fraught; however, if the depending ns’es end up requiring most of the util ns’es anyway, the performance gain might not even be palpable.
Once you have a working webpack build you can then reconnect with Calva jack-in selecting ONLY ‘fig’ initially. Wait for the build to complete, and THEN select the build - ‘dev’ or ‘test’. This should load a working build using the Calva repl rather than the figwheel rebl-readline and allow you to use inline evaluation in the editor.