Clojurescript 1.10.844 support
crofty opened this issue · comments
Unfortunately the version of Google Closure used by Clojurescript 1.10.844 has breaking changes to logging, as described here: https://clojurescript.org/news/2021-04-06-release.
This affects this part of re-graph: https://github.com/oliyh/re-graph/blob/master/src/re_graph/logging.cljc#L9-L18
Leading to these warnings:
[2021-04-07T09:27:13Z] [Figwheel:WARNING] Compile Warning resources/public/js/prod/out/re_graph/logging.cljc line:9 column:6
--
| [2021-04-07T09:27:13Z]
| [2021-04-07T09:27:13Z] Wrong number of args (1) passed to goog.log/getLogger
| [2021-04-07T09:27:13Z]
| [2021-04-07T09:27:13Z] 4 (:require #?(:clj [clojure.tools.logging :as log]
| [2021-04-07T09:27:13Z] 5 :cljs [goog.log :as glog])))
| [2021-04-07T09:27:13Z] 6
| [2021-04-07T09:27:13Z] 7 #?(:cljs
| [2021-04-07T09:27:13Z] 8 (def logger
| [2021-04-07T09:27:13Z] 9 (glog/getLogger "app")))
| [2021-04-07T09:27:13Z] ^---
| [2021-04-07T09:27:13Z] 10
| [2021-04-07T09:27:13Z] 11 #?(:cljs
| [2021-04-07T09:27:13Z] 12 (def levels {:severe goog.debug.Logger.Level.SEVERE
| [2021-04-07T09:27:13Z] 13 :warning goog.debug.Logger.Level.WARNING
| [2021-04-07T09:27:13Z] 14 :info goog.debug.Logger.Level.INFO
| [2021-04-07T09:27:13Z]
| [2021-04-07T09:27:13Z] [Figwheel:WARNING] Compile Warning: Wrong number of args (2) passed to goog.log/info resources/public/js/prod/out/re_graph/logging.cljc line:34 column:14
| [2021-04-07T09:27:13Z] [Figwheel:WARNING] Compile Warning: Wrong number of args (2) passed to goog.log/fine resources/public/js/prod/out/re_graph/logging.cljc line:39 column:14
| [2021-04-07T09:27:13Z] [Figwheel:WARNING] Compile Warning: Wrong number of args (2) passed to goog.log/warning resources/public/js/prod/out/re_graph/logging.cljc line:44 column:14
| [2021-04-07T09:27:13Z] [Figwheel:WARNING] Compile Warning: Wrong number of args (2) passed to goog.log/error resources/public/js/prod/out/re_graph/logging.cljc line:49 column:14
I'd take a stab at fixing it, but i'm unsure what the approach needs to be to make this work with both the previous and current versions of Google Closure.
Hi,
Thanks for reporting this, I'll have to see what flags are exposed by the compiler and see if there's a way to optionally require/define.
Cheers
From #clojurescript on slack:
oliy Today at 14:46
hello, does anyone know if there a way to detect the compiler version (or closure version) and branch code depending on that? i'm trying to work out how to cope with the changes to closure in the latest release in a backwards compatible way, namely decide whether to use goog.debug.Logger.Level.SEVERE or goog.Logger.Level.SEVERE
3 replies
rakyi 2 hours ago
without knowing the cljs/closure compiler specifics, I’d assume (exists? goog.Logger) could be one way to find out if you are on the newer version
nilern 1 hour ago
That is probably more robust than reading the version anyway.
oliy < 1 minute ago
ah perfect, thank you i didn't know about exists? . it looks to be exactly what i want
Hi,
This should be fixed in the latest 0.1.16-SNAPSHOT
with a slight change to the signature of the re-graph.logging/set-level!
cljs fn
Thanks,
Awesome, thank you!
Hi @oliyh,
would you consider releasing 0.1.16
?
Hi @daveduthie it's now released
Awesome, thanks!