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?
You can turn config validation off I think, I don't remember how. There's a flag for it though
@dominicm Yes, that’s correct! https://figwheel.org/config-options#validate-config Thanks, forgot about that.
@ingesol please report back how you get on!
@dominicm Disabling config worked, now my compile just hangs with no return. Will have to investigate some more
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.
@bhauman let me know if I can help in anyway - the Google Closure Compiler and GCL changes were very annoying
I wonder if most of your issues are around that?
hard to tell, definitely had missing var warnings for functions that still exist like <http://goog.net|goog.net>.Xhrio/send
but there must have been some other changes because things just hang
and I have to kinda do a deep dive to find where its hanging
@dnolen ^
@bhauman I'll summarize a couple of things which might help you
cool!
1. debug loader code changed when we bumped (repercussions for reloading monkeypatched goog.require
)
2. GCL now includes goog.modules in the standard library, these cannot be loaded by 1, they need to be transpiled
3. ClojureScript now transpiles anything in GCL that is either goog.module
or a GCL file with higher than es3
I'm not sure what code path Figwheel takes that might be missing these changes
but all this together made Browser REPL and Node.js REPL work again
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
so I’ll look for the recent changes to the Browser REPL
or both those REPLs
it is important you right out a corrected deps.js
otherwise the debug loader tries to do stuff it doesn't need to do
4. write out corrected deps.js
to prevent goog.debugLoader_ from trying to do bad stuff
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 😉
sounds good!
i copied these notes down, and I’ll hit you up then if I have some questions