Fork me on GitHub
#cljs-dev
<
2018-04-16
>
dnolen13:04:32

@ghopper hard to say where the problem is

dnolen13:04:42

from reading the backlog, way too many variables consider

dnolen13:04:19

@r0man I really don’t have any good ideas about that one - so I don’t really have any guidance to offer - it’s why I punted on it

Garrett Hopper13:04:48

@dnolen I'll try creating a minimal example later. 👍:skin-tone-2:

r0man14:04:54

@dnolen the ideas I have is to recompile/load the loader when load-file or evaluate-form are called. here my problem is that I don't know how to get all inputs. The other one is, to only compile the loader on a full compile. do you remebere this one: https://github.com/clojure/clojurescript/commit/427aaba6f557df90e0ad3c25b15531d353fd0ca3

r0man14:04:42

there was a check in there to not compile the loader. I wonder if this made things even worse when having a repl attached to a project. So I was thinking about not recompiling loader on a load-file/evaluate-form, to not wipe out the module info, and only compile the loader on a full compile.

dnolen15:04:27

@r0man thinking about it some more I don’t think we need to bother with recompiling

dnolen15:04:36

we just need to provide updated modules graph

dnolen15:04:17

but the tricky part is getting all inputs - which is still very messy

dnolen15:04:14

so perhaps the right answer for now is to just avoid compiling the loader

r0man15:04:38

and when would we avoid it? compile it initially after all sources have been compiled, and then skip it afterwards? how could I detect this, when the loader is in the output directory?

dnolen15:04:09

I think we just shouldn’t recompile it via the REPL for now

dnolen15:04:29

that’s the problem - at the REPL you won’t get all inputs

dnolen15:04:32

that’s why it doesn’t work

r0man15:04:58

ok, I'll try look into this.

dnolen15:04:20

hrm, an alternative would be to make sure that cljs.loader is always merging

dnolen15:04:50

then it will work at the REPL

r0man15:04:20

you mean merging module-info and module-urls?

dnolen15:04:37

so instead of just replacing the constants - it always merges with the previous value

dnolen15:04:40

if it exists

r0man15:04:52

ok, I'll try this out as well

dnolen15:04:01

I think that should work