Like CLJ-2463, but for ClojureScript.
Repro using {{950032dba300451835c4c7c2a0c1c74ca6d0b49a}}, which is master as of January 25, 2019 is below.
It should ideally just print a short error message like you see in the REPL
cljs.user=> :::a
Syntax error reading source at (REPL:1).
<NO_SOURCE_FILE> [line 1, col 5] Invalid keyword: :::a.
Repro:
clj -Sdeps '{:deps {org.clojure/clojurescript {:git/url "
https://github.com/clojure/clojurescript" :sha "950032dba300451835c4c7c2a0c1c74ca6d0b49a"}}}' -m cljs.main -e :::a
Exception in thread "main" clojure.lang.ExceptionInfo: [line 1, col 5] Invalid keyword: :::a. {:type :reader-exception, :ex-kind :reader-error, :file nil, :line 1, :col 5}
at clojure.tools.reader.impl.errors$throw_ex.invokeStatic(errors.clj:34)
at clojure.tools.reader.impl.errors$throw_ex.doInvoke(errors.clj:24)
at clojure.lang.RestFn.invoke(RestFn.java:442)
at clojure.tools.reader.impl.errors$reader_error.invokeStatic(errors.clj:40)
at clojure.tools.reader.impl.errors$reader_error.doInvoke(errors.clj:36)
at clojure.lang.RestFn.invoke(RestFn.java:516)
at clojure.tools.reader.impl.errors$throw_invalid.invokeStatic(errors.clj:97)
at clojure.tools.reader.impl.errors$throw_invalid.invoke(errors.clj:96)
at clojure.tools.reader$read_keyword.invokeStatic(reader.clj:360)
at clojure.tools.reader$read_keyword.invoke(reader.clj:343)
at clojure.tools.reader$read_STAR_.invokeStatic(reader.clj:924)
at clojure.tools.reader$read_STAR_.invoke(reader.clj:906)
at clojure.tools.reader$read.invokeStatic(reader.clj:977)
at clojure.tools.reader$read.invoke(reader.clj:950)
at cljs.analyzer$forms_seq_STAR_$forms_seq___3646$fn__3647$fn__3648.invoke(analyzer.cljc:4189)
at cljs.analyzer$forms_seq_STAR_$forms_seq___3646$fn__3647.invoke(analyzer.cljc:4182)
at clojure.lang.LazySeq.sval(LazySeq.java:42)
at clojure.lang.LazySeq.seq(LazySeq.java:51)
at clojure.lang.RT.seq(RT.java:531)
at clojure.core$seq__5387.invokeStatic(core.clj:137)
at clojure.core$seq__5387.invoke(core.clj:137)
at cljs.repl$run_inits$fn__9013.invoke(repl.cljc:1009)
at cljs.repl$run_inits.invokeStatic(repl.cljc:1008)
at cljs.repl$run_inits.invoke(repl.cljc:1001)
at cljs.cli$default_main$fn__9420.invoke(cli.clj:368)
at cljs.compiler$with_core_cljs.invokeStatic(compiler.cljc:1417)
at cljs.compiler$with_core_cljs.invoke(compiler.cljc:1406)
at cljs.compiler.api$with_core_cljs.invokeStatic(api.clj:50)
at cljs.compiler.api$with_core_cljs.invoke(api.clj:34)
at cljs.compiler.api$with_core_cljs.invokeStatic(api.clj:42)
at cljs.compiler.api$with_core_cljs.invoke(api.clj:34)
at cljs.cli$default_main.invokeStatic(cli.clj:353)
at cljs.cli$default_main.invoke(cli.clj:326)
at cljs.cli$null_opt.invokeStatic(cli.clj:424)
at cljs.cli$null_opt.invoke(cli.clj:421)
at cljs.cli$main.invokeStatic(cli.clj:648)
at cljs.cli$main.doInvoke(cli.clj:637)
at clojure.lang.RestFn.applyTo(RestFn.java:139)
at clojure.core$apply.invokeStatic(core.clj:667)
at clojure.core$apply.invoke(core.clj:660)
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:705)
at clojure.core$apply.invokeStatic(core.clj:665)
at clojure.main$main_opt.invokeStatic(main.clj:491)
at clojure.main$main_opt.invoke(main.clj:487)
at clojure.main$main.invokeStatic(main.clj:598)
at clojure.main$main.doInvoke(main.clj:561)
at clojure.lang.RestFn.applyTo(RestFn.java:137)
at clojure.lang.Var.applyTo(Var.java:705)
at clojure.main.main(main.java:37)