figwheel-main

figwheel-main http://figwheel.org
ingesol 2020-04-25T09:51:01.046900Z

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?

dominicm 2020-04-25T10:00:32.047600Z

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

ingesol 2020-04-25T13:37:42.048100Z

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

dominicm 2020-04-25T13:38:13.048600Z

@ingesol please report back how you get on!

ingesol 2020-04-25T13:45:08.049200Z

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

bhauman 2020-04-25T15:07:07.053Z

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.

👍 10
dnolen 2020-04-25T15:52:15.053900Z

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

dnolen 2020-04-25T15:52:45.054300Z

I wonder if most of your issues are around that?

bhauman 2020-04-25T15:54:15.056Z

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

bhauman 2020-04-25T15:54:35.056500Z

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

bhauman 2020-04-25T15:55:24.057600Z

@dnolen ^

dnolen 2020-04-25T15:55:47.058100Z

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

bhauman 2020-04-25T15:55:54.058600Z

cool!

dnolen 2020-04-25T15:56:02.058700Z

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

dnolen 2020-04-25T15:56:37.059300Z

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

dnolen 2020-04-25T15:57:38.060200Z

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

dnolen 2020-04-25T15:58:18.060800Z

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

dnolen 2020-04-25T15:58:35.061300Z

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

dnolen 2020-04-25T15:59:10.062200Z

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

bhauman 2020-04-25T15:59:44.062900Z

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

bhauman 2020-04-25T15:59:51.063100Z

or both those REPLs

dnolen 2020-04-25T16:00:17.063900Z

it is important you right out a corrected deps.js

dnolen 2020-04-25T16:00:27.064400Z

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

dnolen 2020-04-25T16:00:59.065300Z

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

bhauman 2020-04-25T16:02:54.067100Z

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 😉

dnolen 2020-04-25T16:03:15.067300Z

sounds good!

bhauman 2020-04-25T16:03:59.068Z

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