java -cp ~/workspace/clojurescript/target/cljs.jar:src clojure.main repl.clj
Options passed to ClojureScript compiler: {:output-dir "out", :closure-warnings {:check-types :off, :check-variables :off}, :closure-defines {}, :ups-libs nil, :cache-analysis true, :closure-module-roots [], :modules {:foo {:entries #{foo.core}, :output-to "out/foo.js"}, :bar {:entries
#{bar.core}, :output-to "out/bar.js"}, :cljs-base {:output-to #object[java.io.File 0x3cd59ef5 "out/cljs_base.js"]}}, :optimizations :none, :ups-foreign-libs [], :verbose true, :aot-cache false, :preloads [process.env clojure.browser.repl.preload], :ignore-js-module-exts [".css"], :pre
amble ["cljs/imul.js"], :asset-path "/out", :browser-repl true, :ups-externs nil, :opts-cache "cljsc_opts.edn", :watch "src", :source-map true, :cache-analysis-format :transit, :emit-constants nil}
Copying jar:file:/home/roman/workspace/clojurescript/target/cljs.jar!/cljs/core.cljs to out/cljs/core.cljs
Reading analysis cache for jar:file:/home/roman/workspace/clojurescript/target/cljs.jar!/cljs/core.cljs
Compiling out/cljs/core.cljs to out/cljs/core.js
Using cached cljs.core out/cljs/core.cljs
Exception in thread "main" java.io.FileNotFoundException: The file out/cljs/loader.cljs does not exist., compiling:(/home/roman/workspace/hello-modules/repl.clj:17:1)
at clojure.lang.Compiler.load(Compiler.java:7526)
at clojure.lang.Compiler.loadFile(Compiler.java:7452)
at clojure.main$load_script.invokeStatic(main.clj:278)
at clojure.main$script_opt.invokeStatic(main.clj:338)
at clojure.main$script_opt.invoke(main.clj:333)
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)
Caused by: java.io.FileNotFoundException: The file out/cljs/loader.cljs does not exist.
at cljs.compiler$compile_file$fn__4143.invoke(compiler.cljc:1558)
at cljs.compiler$compile_file.invokeStatic(compiler.cljc:1523)
at cljs.closure$compile_file.invokeStatic(closure.clj:556)
at cljs.closure$compile_from_jar.invokeStatic(closure.clj:626)
at cljs.closure$fn__5710.invokeStatic(closure.clj:647)
at cljs.closure$fn__5710.invoke(closure.clj:632)
at cljs.closure$fn__5633$G__5626__5640.invoke(closure.clj:511)
at cljs.closure$compile_sources$iter__5820__5824$fn__5825.invoke(closure.clj:984)
at clojure.lang.LazySeq.sval(LazySeq.java:40)
at clojure.lang.LazySeq.seq(LazySeq.java:49)
at clojure.lang.Cons.next(Cons.java:39)
at clojure.lang.RT.next(RT.java:706)
at clojure.core$next__5186.invokeStatic(core.clj:64)
at clojure.core$dorun.invokeStatic(core.clj:3134)
at clojure.core$doall.invokeStatic(core.clj:3140)
at cljs.closure$compile_sources.invokeStatic(closure.clj:981)
at cljs.closure$build.invokeStatic(closure.clj:2809)
at cljs.build.api$build.invokeStatic(api.clj:204)
at cljs.build.api$build.invoke(api.clj:189)
at cljs.build.api$build.invokeStatic(api.clj:192)
at cljs.build.api$build.invoke(api.clj:189)
at user$eval38.invokeStatic(repl.clj:17)
at user$eval38.invoke(repl.clj:17)
at clojure.lang.Compiler.eval(Compiler.java:7062)
at clojure.lang.Compiler.load(Compiler.java:7514)
... 9 more
The out directory after the exception looks like this:
out
out/cljs
out/cljs/core.js
out/cljs/core.js.map
out/cljs/core.cljs
I checked the following things:
The file out/cljs/loader.cljs does not exists.
The cljs.jar file contains the cljs/loader.cljs file
This is not catched by the existing build api tests
Following the code splitting guide at https://clojurescript.org/guides/code-splitting with the latest master raises the following exception:
java -cp ~/workspace/clojurescript/target/cljs.jar:src clojure.main repl.clj Options passed to ClojureScript compiler: {:output-dir "out", :closure-warnings {:check-types :off, :check-variables :off}, :closure-defines {}, :ups-libs nil, :cache-analysis true, :closure-module-roots [], :modules {:foo {:entries #{foo.core}, :output-to "out/foo.js"}, :bar {:entries #{bar.core}, :output-to "out/bar.js"}, :cljs-base {:output-to #object[java.io.File 0x3cd59ef5 "out/cljs_base.js"]}}, :optimizations :none, :ups-foreign-libs [], :verbose true, :aot-cache false, :preloads [process.env clojure.browser.repl.preload], :ignore-js-module-exts [".css"], :pre amble ["cljs/imul.js"], :asset-path "/out", :browser-repl true, :ups-externs nil, :opts-cache "cljsc_opts.edn", :watch "src", :source-map true, :cache-analysis-format :transit, :emit-constants nil} Copying jar:file:/home/roman/workspace/clojurescript/target/cljs.jar!/cljs/core.cljs to out/cljs/core.cljs Reading analysis cache for jar:file:/home/roman/workspace/clojurescript/target/cljs.jar!/cljs/core.cljs Compiling out/cljs/core.cljs to out/cljs/core.js Using cached cljs.core out/cljs/core.cljs Exception in thread "main" java.io.FileNotFoundException: The file out/cljs/loader.cljs does not exist., compiling:(/home/roman/workspace/hello-modules/repl.clj:17:1) at clojure.lang.Compiler.load(Compiler.java:7526) at clojure.lang.Compiler.loadFile(Compiler.java:7452) at clojure.main$load_script.invokeStatic(main.clj:278) at clojure.main$script_opt.invokeStatic(main.clj:338) at clojure.main$script_opt.invoke(main.clj:333) 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) Caused by: java.io.FileNotFoundException: The file out/cljs/loader.cljs does not exist. at cljs.compiler$compile_file$fn__4143.invoke(compiler.cljc:1558) at cljs.compiler$compile_file.invokeStatic(compiler.cljc:1523) at cljs.closure$compile_file.invokeStatic(closure.clj:556) at cljs.closure$compile_from_jar.invokeStatic(closure.clj:626) at cljs.closure$fn__5710.invokeStatic(closure.clj:647) at cljs.closure$fn__5710.invoke(closure.clj:632) at cljs.closure$fn__5633$G__5626__5640.invoke(closure.clj:511) at cljs.closure$compile_sources$iter__5820__5824$fn__5825.invoke(closure.clj:984) at clojure.lang.LazySeq.sval(LazySeq.java:40) at clojure.lang.LazySeq.seq(LazySeq.java:49) at clojure.lang.Cons.next(Cons.java:39) at clojure.lang.RT.next(RT.java:706) at clojure.core$next__5186.invokeStatic(core.clj:64) at clojure.core$dorun.invokeStatic(core.clj:3134) at clojure.core$doall.invokeStatic(core.clj:3140) at cljs.closure$compile_sources.invokeStatic(closure.clj:981) at cljs.closure$build.invokeStatic(closure.clj:2809) at cljs.build.api$build.invokeStatic(api.clj:204) at cljs.build.api$build.invoke(api.clj:189) at cljs.build.api$build.invokeStatic(api.clj:192) at cljs.build.api$build.invoke(api.clj:189) at user$eval38.invokeStatic(repl.clj:17) at user$eval38.invoke(repl.clj:17) at clojure.lang.Compiler.eval(Compiler.java:7062) at clojure.lang.Compiler.load(Compiler.java:7514) ... 9 moreThe out directory after the exception looks like this:
out out/cljs out/cljs/core.js out/cljs/core.js.map out/cljs/core.cljsI checked the following things:
The file out/cljs/loader.cljs does not exists.
The cljs.jar file contains the cljs/loader.cljs file
This is not catched by the existing build api tests