Share your thoughts in the 2024 State of Clojure Survey!

Welcome! Please see the About page for a little more info on how this works.

0 votes
in ClojureScript by

See CLJS-2763 for code to reproduce

3 Answers

0 votes
by

Comment made by: dnolen

Quick fix applied to master for now https://github.com/clojure/clojurescript/commit/cae4792015626ca341e03a4fd9154b6705beba1e

0 votes
by
_Comment made by: mfikes_

Trying to reproduce this, using the files in the description of CLJS-2763, I'm getting what may be a completely different error (using 1.10.238, or a JAR built prior to the quick fix above, or a JAR built with current master):


$ clj -m cljs.main -co build.edn -c
Options passed to ClojureScript compiler: {:output-dir "out", :closure-variable-map-out #object[java.io.File 0x747d1932 "out/closure_var.map"], :closure-warnings {:check-types :off, :check-variables :off}, :closure-defines {}, :ups-libs nil, :cache-analysis true, :closure-module-roots [], :modules {:a {:output-to "out/a.js", :entries [demo.a]}, :b {:output-to "out/b.js", :entries [demo.foo.b], :depends-on #{:a}}, :cljs-base {:output-to #object[java.io.File 0x3fc05ea2 "out/cljs_base.js"]}}, :optimizations :none, :ups-foreign-libs [], :closure-property-map-in #object[java.io.File 0x7c891ba7 "out/closure_prop.map"], :verbose true, :aot-cache true, :preloads [process.env], :ignore-js-module-exts [".css"], :output-to "out/main.js", :preamble ["cljs/imul.js"], :closure-property-map-out #object[java.io.File 0x6240651f "out/closure_prop.map"], :stable-names true, :ups-externs nil, :opts-cache "cljsc_opts.edn", :source-map true, :cache-analysis-format :transit, :closure-variable-map-in #object[java.io.File 0x3cf7298d "out/closure_var.map"], :emit-constants nil}
Exception in thread "main" java.lang.IllegalArgumentException: No implementation of method: :-find-sources of protocol: #'cljs.closure/Compilable found for class: nil
    at clojure.core$_cache_protocol_fn.invokeStatic(core_deftype.clj:583)
    at clojure.core$_cache_protocol_fn.invoke(core_deftype.clj:575)
    at cljs.closure$fn__4972$G__4954__4979.invoke(closure.clj:543)
    at cljs.closure$fn__5065.invokeStatic(closure.clj:750)
    at cljs.closure$fn__5065.invoke(closure.clj:714)
    at cljs.closure$fn__4972$G__4954__4979.invoke(closure.clj:543)
    at cljs.closure$fn__5075$fn__5076.invoke(closure.clj:761)
    at clojure.core$map$fn__5583$fn__5584.invoke(core.clj:2734)
    at clojure.core.protocols$iter_reduce.invokeStatic(protocols.clj:49)
    at clojure.core.protocols$fn__7839.invokeStatic(protocols.clj:75)
    at clojure.core.protocols$fn__7839.invoke(protocols.clj:75)
    at clojure.core.protocols$fn__7781$G__7776__7794.invoke(protocols.clj:13)
    at clojure.core$transduce.invokeStatic(core.clj:6804)
    at clojure.core$into.invokeStatic(core.clj:6819)
    at clojure.core$into.invoke(core.clj:6807)
    at cljs.closure$fn__5075.invokeStatic(closure.clj:761)
    at cljs.closure$fn__5075.invoke(closure.clj:714)
    at cljs.closure$fn__4972$G__4954__4979.invoke(closure.clj:543)
    at cljs.closure$build$fn__5831.invoke(closure.clj:2902)
    at cljs.closure$build.invokeStatic(closure.clj:2899)
    at cljs.closure$build.invoke(closure.clj:2808)
    at cljs.build.api$build.invokeStatic(api.clj:208)
    at cljs.build.api$build.invoke(api.clj:189)
    at cljs.cli$default_compile.invokeStatic(cli.clj:485)
    at cljs.cli$default_compile.invoke(cli.clj:445)
    at cljs.cli$compile_opt.invokeStatic(cli.clj:493)
    at cljs.cli$compile_opt.invoke(cli.clj:491)
    at cljs.cli$main.invokeStatic(cli.clj:634)
    at cljs.cli$main.doInvoke(cli.clj:623)
    at clojure.lang.RestFn.applyTo(RestFn.java:139)
    at clojure.core$apply.invokeStatic(core.clj:659)
    at clojure.core$apply.invoke(core.clj:652)
    at cljs.main$_main.invokeStatic(main.clj:61)
    at cljs.main$_main.doInvoke(main.clj:52)
    at clojure.lang.RestFn.applyTo(RestFn.java:137)
    at clojure.lang.Var.applyTo(Var.java:702)
    at clojure.core$apply.invokeStatic(core.clj:657)
    at clojure.main$main_opt.invokeStatic(main.clj:317)
    at clojure.main$main_opt.invoke(main.clj:313)
    at clojure.main$main.invokeStatic(main.clj:424)
    at clojure.main$main.doInvoke(main.clj:387)
    at clojure.lang.RestFn.applyTo(RestFn.java:137)
    at clojure.lang.Var.applyTo(Var.java:702)
    at clojure.main.main(main.java:37)
0 votes
by
Reference: https://clojure.atlassian.net/browse/CLJS-2765 (reported by dnolen)
...