Fork me on GitHub
#cljs-dev
<
2022-05-06
>
dnolen18:05:52

@alexmiller so ASM was just included into Clojure source tree right (+ package renaming)?

dnolen18:05:03

and I guess you all can periodically run that script and update it

Alex Miller (Clojure team)18:05:38

w/ appropriate license mentions etc

dnolen18:05:55

@alexmiller hrm, so there might be problem here - not w/ transit because that is internal but w/ vendoring tools.reader

dnolen18:05:15

if I change the namespace, the dynamic vars will point to something else

dnolen18:05:40

but then any downstream tool that binds those to change the behavior of ClojureScript will be broken

Alex Miller (Clojure team)18:05:21

well that seems like something to assess for sure :)

Alex Miller (Clojure team)18:05:43

might be more complicated than just shading the names then

dnolen18:05:30

@alexmiller it appears for tools.reader we don't depend directly on the types / protocols just vars, based on what @arohner I think we can just erase tools.reader class files?

dnolen18:05:38

I suppose same for transit?

Alex Miller (Clojure team)19:05:17

you're still causing a problem when combined with a different version of tools.reader or transit on the classpath (first version wins)

dnolen19:05:15

Ok but what alternative then?

Alex Miller (Clojure team)19:05:49

the "good" options imo are: 1) declare a dependency on the lib or 2) vendor in and rename the lib namespaces so there is no conflict

Alex Miller (Clojure team)19:05:28

vendoring and not renaming is the "bad" option (whether source or class)

☝️ 1
dnolen19:05:12

But we do 1) already no?

dnolen19:05:25

It's in the pom

dnolen19:05:10

2) would lead to breakage likely

dnolen19:05:27

I've bumped transit and tools.reader in the meantime - I think the shading issue probably needs to stew some more

dnolen19:05:18

probably cut the new version early next week

Alex Miller (Clojure team)20:05:33

well 1 was meant to imply also NOT copying the dep into the clojurescript jar, which I think is also done?

dnolen20:05:40

@alexmiller all we do is invoke compile and JAR it, nothing else

dnolen20:05:11

this is what I meant by erasing / eliding the dep class files, if that seems sufficient to you we can do that

Alex Miller (Clojure team)21:05:45

(all of which would be easily doable with tools.build now btw - maybe a future project I'd be happy to help with)

dnolen22:05:52

Hrm I'll take a look