Fork me on GitHub
#figwheel-main
<
2020-04-25
>
ingesol09:04:01

Would it be correct to say that the only thing preventing the new :bundle target of the clojurescript compiler from working in figwheel is config validation?

dominicm10:04:32

You can turn config validation off I think, I don't remember how. There's a flag for it though

ingesol13:04:42

@dominicm Yes, that’s correct! https://figwheel.org/config-options#validate-config Thanks, forgot about that.

dominicm13:04:13

@ingesol please report back how you get on!

ingesol13:04:08

@dominicm Disabling config worked, now my compile just hangs with no return. Will have to investigate some more

bhauman15:04:07

figwheel-main definitely is not working with the new changes in 1.10.741 the problems seem to be extensive enough that it will probably be a few weeks before I have this all sorted. I’m planning on resolving this as part of the Clojurists Together funding that Figwheel received. I’m going to make it a priority to ensure this new bundle feature is up and working and npm interop is as smooth as possible.

👍 40
dnolen15:04:15

@bhauman let me know if I can help in anyway - the Google Closure Compiler and GCL changes were very annoying

dnolen15:04:45

I wonder if most of your issues are around that?

bhauman15:04:15

hard to tell, definitely had missing var warnings for functions that still exist like .Xhrio/send but there must have been some other changes because things just hang

bhauman15:04:35

and I have to kinda do a deep dive to find where its hanging

dnolen15:04:47

@bhauman I'll summarize a couple of things which might help you

dnolen15:04:02

1. debug loader code changed when we bumped (repercussions for reloading monkeypatched goog.require )

dnolen15:04:37

2. GCL now includes goog.modules in the standard library, these cannot be loaded by 1, they need to be transpiled

dnolen15:04:38

3. ClojureScript now transpiles anything in GCL that is either goog.module or a GCL file with higher than es3

dnolen15:04:18

I'm not sure what code path Figwheel takes that might be missing these changes

dnolen15:04:35

but all this together made Browser REPL and Node.js REPL work again

dnolen15:04:10

but the experience was definitely not fun, though in the end not much code - but the effort soured me on maintaining anything but Browser REPL and Node.js REPL due to the level of manual testing required

bhauman15:04:44

so I’ll look for the recent changes to the Browser REPL

bhauman15:04:51

or both those REPLs

dnolen16:04:17

it is important you right out a corrected deps.js

dnolen16:04:27

otherwise the debug loader tries to do stuff it doesn't need to do

dnolen16:04:59

4. write out corrected deps.js to prevent goog.debugLoader_ from trying to do bad stuff

bhauman16:04:54

hmmm OK, I think there are other changes as well because the compile doesn’t seem to be finishing which is odd, there is no out/main.js file produced as of right now, but I’ll explore more in a few days when I start all this in earnest 😉

dnolen16:04:15

sounds good!

bhauman16:04:59

i copied these notes down, and I’ll hit you up then if I have some questions