Fork me on GitHub
#cljs-dev
<
2021-03-31
>
dnolen04:03:46

hrm? that's possible but are you using the uberjar?

kommen08:03:14

yes, by depending on the org.clojure/clojurescript {:mvn/version "1.10.844"} I guess we get the uberjar?

kommen08:03:38

issue can be reproduced:

$ clj -Sdeps '{:deps {org.clojure/clojurescript {:mvn/version "1.10.773"} org.clojure/tools.reader {:mvn/version "1.3.2"}}}' -e "(require 'clojure.tools.reader.edn)"
WARNING: When invoking clojure.main, use -M

kommen08:03:59

$ clj -Sdeps '{:deps {org.clojure/clojurescript {:mvn/version "1.10.844"} org.clojure/tools.reader {:mvn/version "1.3.2"}}}' -e "(require 'clojure.tools.reader.edn)"
Downloading: org/clojure/clojurescript/1.10.844/clojurescript-1.10.844.pom from central
Downloading: org/clojure/clojurescript/1.10.844/clojurescript-1.10.844.jar from central
WARNING: When invoking clojure.main, use -M
Syntax error compiling at (clojure/tools/reader/edn.clj:75:9).
No such var: err/throw-no-dispatch

Full report at:
/var/folders/c0/hfmx64kj4dx3y8dp772l_s6w0000gn/T/clojure-12053108925244442985.edn

thheller08:03:58

likely the AOT'd code not the uberjar. you can use org.clojure/clojurescript$slim to avoid such conflicts

kommen08:03:45

yes sorry, my bad. the 3fdaabed we tested before already was the change with the uberjar, as @mkvlr point out to me.

thheller08:03:20

unfortunately since that is a different artifact id you'll still very likely get an additional org.clojure/clojurescript from some dependency 😛

thheller08:03:57

would be better IMHO to have the slim as the default org.clojure/clojurescript and a separate opt-in org.clojure/clojurescript$aot but that would have the same issues so nothing gained really

juhoteperi08:03:46

And if you encounter libraries depending on org.clojure/clojurescript, I think it is a good idea to create issue about moving the dependency to dev profile or provided scope or such. Makes it easier for applications to select correct version.

kommen08:03:07

@thheller thank you, I did not know how to get the slim version. @juhoteperi good point, will start with our own libs then 😅

dnolen12:03:39

@kommen no change to AOT JAR production as far as I know, that's done w/ Maven plugin

dnolen12:03:18

the deps.edn uberjar thing is for tests and alternate consumption

mkvlr17:03:20

we have 1.10.844 in production now

🎉 3