Fork me on GitHub
#cljs-dev
<
2022-04-22
>
thheller04:04:54

I'd prefer to just have the regular clojurescript jar contain no AOT code at all

thheller04:04:16

and then an opt-in AOT variant with or without shading

thheller04:04:13

the trouble with AOT being the default is that I can't reliably depend on the slim jar in shadow-cljs. since it is a different artifact many people will end up just including the regular clojurescript jar as well leading to having both on the classpath and nothing gained

thheller04:04:24

the problem with shading in the mranderson style is duplicating all the deps and tool ending up loading most of them twice. eg. shadow-cljs will end up loading tools.reader and tools.json twice. I'm sure krell and pretty much all other tools will as well

thheller04:04:36

at which point the benefit of AOT will be gone in the first place

thheller04:04:41

I do ship a opt-in AOT variant under thheller/shadow-cljs$aot as well and that seems like the safer way to do this. people can still have full control over the other deps and no shading needed by just not using AOT