I believe that cljs versions 1.9.493 and above break core.async (and
possibly other libraries) under :advanced optimizations.
Here is a minimal reproduction:
In src/ca_adv_bug/core.cljs:
(ns ca-adv-bug.core
(:require
[cljs.core.async :as ca]
[cljs.nodejs :as nodejs])
(:require-macros
[cljs.core.async.macros :refer [go]]))
(nodejs/enable-util-print!)
(defn -main [& args]
(go
(println "Hello world!")))
(set! *main-cli-fn* -main)
In build.clj:
(require 'cljs.build.api)
(cljs.build.api/build
"src"
{:optimizations :advanced
:target :nodejs
:main 'ca-adv-bug.core
:output-to "main.js"})
In the current directory, I have two versions of the standalone cljs jar,
named with their versions, as well as the latest core.async jar. I pulled
them from
https://github.com/clojure/clojurescript/releases/download/r1.9.473/cljs.jar
and
https://github.com/clojure/clojurescript/releases/download/r1.9.493/cljs.jar
.
First, with cljs v1.9.473:
~/src/test-ca $ java -cp cljs-1.9.473.jar:core.async-0.3.441.jar:src
clojure.main build.clj
~/src/test-ca $ node main.js
Hello world!
Now with cljs v1.9.493:
~/src/test-ca $ java -cp cljs-1.9.493.jar:core.async-0.3.441.jar:src
clojure.main build.clj
Mar 03, 2017 3:39:53 PM com.google.javascript.jscomp.LoggerErrorManager
println
SEVERE: /Users/chad/src/test-ca/out/cljs/core/async.js:1426: ERROR - Parse
error. No newline allowed before '=>'
var inst_6822 = async(inst_6821);
^
Mar 03, 2017 3:39:53 PM com.google.javascript.jscomp.LoggerErrorManager
printSummary
WARNING: 1 error(s), 0 warning(s)
ERROR: JSC_PARSE_ERROR. Parse error. No newline allowed before '=>' at
/Users/chad/src/test-ca/out/cljs/core/async.js line 1426 : 32
Can others reproduce this? This issue is blocking us from using the latest
cljs, as we rely on core.async and :advanced optimizations.
Thank you for your efforts,
Chad Harrington
[email protected]
[email protected]
--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to [email protected]
Note that posts from new members are moderated - please be patient with your
first post.
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
---
You received this message because you are subscribed to the Google Groups
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.