figwheel-main

figwheel-main http://figwheel.org
john 2020-10-01T03:37:24.024700Z

Worked out pretty good!

Adriaan Callaerts 2020-10-01T13:31:02.025200Z

My more specific problem is actually the following: the examples/documentation I can find suggests doing a production build by running lein run -m figwheel.main -O advanced -bo prod as a prep-task of lein uberjar. However, in order for that to work, figwheel-main has to be in the list of "main" dependencies of my project (as opposed to only the dev dependencies). As a consequence of that, classes and assets of figwheel-main (including auto-test and devcards-related stuff) get inserted into my uberjar, which is not what I want.

athomasoriginal 2020-10-01T14:14:02.025900Z

Cool. Thanks for the clarification 🙂 I’m not sure the article your referring to, but what you would need to do is 1. build a production bundle of your JS 2. build your Uberjar I’m assuming the article is stating that your uberjar will have the production bundle of JS you built in step 1 included. If I had to guess, this would mean it gets moved into resources/public (or wherever it gets served from) when it’s built in step 1. Going over this, you shouldn’t need to add figwheel as a “main” dependency. figwheel.main is just a library. So, you can call it in anyway you see fit. The result of calling it is it will find your JS, advance compile it, and output the compilation wherever you specify.

athomasoriginal 2020-10-01T14:16:45.026100Z

So, you could just create any other lein command that runs figwheel.

lispers-anonymous 2020-10-01T14:50:56.026300Z

Hell yeah. I'm glad it worked because I did not try it myself lol

deadghost 2020-10-01T15:49:07.026500Z

@curlyfry https://github.com/bhauman/figwheel-main/blob/4406e9eeb312b32058398f0614a479b763dba303/src/figwheel/main.cljc#L778-L783 Look at -co and -b, they have merge behavior when provided more than one thing.