it appears as if there is a regression since cljs 1.10.748+ that when a node compilation is requested without explicitly specifying the outdir, a
.cljs_node_repl directory is created as the output dir instead of
The default out compilation directory is not mentioned in
cljs.main -h help, but it appears to be
out by default, and this is backed by statement at the end of https://clojurescript.org/reference/repl-and-main :
To compile ClojureScript source code, pass the main namespace to
cljs.main via the -c option:
java -cp src:cljs.jar cljs.main -c my-namespace.core
The output will be written to the directory specified via the -d
option (or out if unspecified), or to the file specified via the -o
1. download both clojurescript 1.10.742 and clojuresript 1.10.748 jars, https://github.com/clojure/clojurescript/releases
2. create the getting started hello world program from https://clojurescript.org/guides/quick-start
java -cp "src;cljs-1.10.748.jar" cljs.main -t node -c hello-world.core, observe that a
.cljs_node_repl directory has been created instead of the excpected
If one runs the same with and earlier version, e.g.
java -cp "src;cljs-1.10.742.jar" cljs.main -t node -c hello-world.core they can observe that an
out dir is created as expected.
This looks like a regression to me.
Workaround is to explicitly specify the directory, .e.g.
java -cp "src;cljs-1.11.60.jar" cljs.main -t node -d out -c hello-world.core