If an analysis warning is emitted for code in a JAR, the warning will include the AOT cache path.
For example, with
`
(ns foo.core)
(inc "a")
`
in {{foo.jar}}, loading this code will cause a diagnostic that includes the AOT cache path in the message:
WARNING: cljs.core/+, all arguments must be numbers, got [string number] instead. at line 3 /Users/mfikes/.cljs/.aot_cache/1.10.126/47C5358/foo/core.cljs
Perhaps in this case it would be better to indicate just a classpath-relative filename
WARNING: cljs.core/+, all arguments must be numbers, got [string number] instead. at line 3 @/foo/core.cljs
or if possible, even using a JAR file url like this
WARNING: cljs.core/+, all arguments must be numbers, got [string number] instead. at line 3 jar:file:///foo.jar!/foo/core.cljs
To repro, first create {{foo.jar}} using the following command, with the {{foo.core}} namespace in {{foo/core.cljs}}:
jar cvf foo.jar foo
Then use the 1.10.126 uberjar (renamed to {{cljs-1.10.126.jar}} here) to launch a Node REPL:
java -cp cljs-1.10.126.jar:foo.jar clojure.main -m cljs.repl.node
and evaluate
(require 'foo.core)
To see what you get with 1.9.946, remove the {{.cljs_node_repl}} directory and using the 1.9.946 uberjar (renamed to {{cljs-1.9.946.jar}} here):
java -cp cljs-1.9.946.jar:foo.jar clojure.main -m cljs.repl.node
In this case, {{(require 'foo.core)}} still refers to the local cache directory
WARNING: cljs.core/+, all arguments must be numbers, got [string number] instead. at line 3 .cljs_node_repl/foo/core.cljs
but this somehow seems less problematic when compared to exposing the user to the shared AOT cache path.