day8 / re-frame-10x

A debugging dashboard for re-frame. X-ray vision as tooling.
MIT License
632 stars 68 forks source link

[Bug]: Cannot upgrade to Clojure(Script) 1.11 due to inlined garden dependency #363

Closed colinkahn closed 2 years ago

colinkahn commented 2 years ago

What happened?

We're trying to upgrade our version of re-frame-10x as well as Clojure(Script) to 1.11. There seems to be a dependency issue though caused by the inlined garden dep in re-frame 10x. See this issue, which resulted in a merged PR - https://github.com/noprompt/garden/issues/194

garden hasn't had a new version released since March 2020, and we can't exclude / point to a SHA for the latest garden because the dep is inlined in re-frame 10x.

Is it possible to release a new version of re-frame 10x that somehow addresses the issue, making it use the latest garden code available in their git repo?

Note that while you would think that the shadowing of abs would just be a warning, this causes our build to outright fail (using shadow-cljs version 2.19.0). It means we have to choose to be on an older Clojure version or stop using re-frame-10x.

10x Version

1.3.0

Reagent Version

1.1.1

React Version

18.1.0

re-frame Version

1.2.0

What browsers are you seeing the problem on?

No response

Relevant console output

WARNING: abs already refers to: #'clojure.core/abs in namespace: day8.re-frame-10x.inlined-deps.garden.v1v3v10.garden.color, being replaced by: #'day8.re-frame-10x.inlined-deps.garden.v1v3v10.garden.color/abs
[:app] Build failure:
------ ERROR -------------------------------------------------------------------
 File: jar:file:/Users/---/.m2/repository/day8/re-frame/re-frame-10x/1.3.0/re-frame-10x-1.3.0.jar!/day8/re_frame_10x/inlined_deps/garden/v1v3v10/garden/color.cljc:390:1
--------------------------------------------------------------------------------
 387 |      (let [d (util/clip 1 179 distance-from-complement)]
 388 |          (hue-rotations color 0 d (- d)))))
 389 |
 390 | (defn- abs
-------^------------------------------------------------------------------------
null
abs already refers to: cljs.core/abs being replaced by: day8.re-frame-10x.inlined-deps.garden.v1v3v10.garden.color/abs
{:warning :redef, :line 390, :column 1, :msg "abs already refers to: cljs.core/abs being replaced by: day8.re-frame-10x.inlined-deps.garden.v1v3v10.garden.color/abs"}
ExceptionInfo: abs already refers to: cljs.core/abs being replaced by: day8.re-frame-10x.inlined-deps.garden.v1v3v10.garden.color/abs
        shadow.build.compiler/warning-collector (compiler.clj:490)
        shadow.build.compiler/warning-collector (compiler.clj:462)
        clojure.core/partial/fn--5910 (core.clj:2650)
        cljs.analyzer/warning (analyzer.cljc:752)
        cljs.analyzer/warning (analyzer.cljc:750)
        cljs.analyzer/fn--2861 (analyzer.cljc:1995)
        cljs.analyzer/fn--2861 (analyzer.cljc:1931)
        clojure.lang.MultiFn.invoke (MultiFn.java:252)
        cljs.analyzer/analyze-seq* (analyzer.cljc:4069)
        cljs.analyzer/analyze-seq* (analyzer.cljc:4067)
        cljs.analyzer/analyze-seq*-wrap (analyzer.cljc:4074)
        cljs.analyzer/analyze-seq*-wrap (analyzer.cljc:4072)
        cljs.analyzer/analyze-seq (analyzer.cljc:4098)
        cljs.analyzer/analyze-seq (analyzer.cljc:4076)
        cljs.analyzer/analyze-form (analyzer.cljc:4285)
        cljs.analyzer/analyze-form (analyzer.cljc:4282)
        cljs.analyzer/analyze* (analyzer.cljc:4338)
        cljs.analyzer/analyze* (analyzer.cljc:4330)
        cljs.analyzer/analyze (analyzer.cljc:4358)
        cljs.analyzer/analyze (analyzer.cljc:4341)
        cljs.analyzer/analyze-seq (analyzer.cljc:4099)
        cljs.analyzer/analyze-seq (analyzer.cljc:4076)
        cljs.analyzer/analyze-form (analyzer.cljc:4285)
        cljs.analyzer/analyze-form (analyzer.cljc:4282)
        cljs.analyzer/analyze* (analyzer.cljc:4338)
        cljs.analyzer/analyze* (analyzer.cljc:4330)
        cljs.analyzer/analyze (analyzer.cljc:4358)
        cljs.analyzer/analyze (analyzer.cljc:4341)
        cljs.analyzer/analyze-seq (analyzer.cljc:4099)
        cljs.analyzer/analyze-seq (analyzer.cljc:4076)
        cljs.analyzer/analyze-form (analyzer.cljc:4285)
        cljs.analyzer/analyze-form (analyzer.cljc:4282)
        cljs.analyzer/analyze* (analyzer.cljc:4338)
        cljs.analyzer/analyze* (analyzer.cljc:4330)
        shadow.build.compiler/analyze/fn--55637 (compiler.clj:264)
        shadow.build.compiler/analyze (compiler.clj:252)
        shadow.build.compiler/analyze (compiler.clj:211)
        shadow.build.compiler/analyze (compiler.clj:213)
        shadow.build.compiler/analyze (compiler.clj:211)
        shadow.build.compiler/default-analyze-cljs (compiler.clj:408)
        shadow.build.compiler/default-analyze-cljs (compiler.clj:397)
        clojure.core/partial/fn--5908 (core.clj:2642)
        shadow.build.compiler/do-analyze-cljs-string (compiler.clj:318)
        shadow.build.compiler/do-analyze-cljs-string (compiler.clj:278)
        shadow.build.compiler/analyze-cljs-string/fn--55731 (compiler.clj:511)
        shadow.build.compiler/analyze-cljs-string (compiler.clj:510)
        shadow.build.compiler/analyze-cljs-string (compiler.clj:508)
        shadow.build.compiler/do-compile-cljs-resource/fn--55759 (compiler.clj:626)
        shadow.build.compiler/do-compile-cljs-resource (compiler.clj:607)
        shadow.build.compiler/do-compile-cljs-resource (compiler.clj:565)
        shadow.build.compiler/maybe-compile-cljs/fn--55862 (compiler.clj:958)
        shadow.build.compiler/maybe-compile-cljs (compiler.clj:957)
        shadow.build.compiler/maybe-compile-cljs (compiler.clj:933)
        shadow.build.compiler/par-compile-one (compiler.clj:1066)
        shadow.build.compiler/par-compile-one (compiler.clj:1021)
        shadow.build.compiler/par-compile-cljs-sources/fn--55898/iter--55920--55924/fn--55925/fn--55926/fn--55927 (compiler.clj:1139)
        clojure.core/apply (core.clj:667)
        clojure.core/with-bindings* (core.clj:1990)
        clojure.core/with-bindings* (core.clj:1990)
        clojure.core/apply (core.clj:671)
        clojure.core/bound-fn*/fn--5818 (core.clj:2020)
        java.util.concurrent.FutureTask.run (FutureTask.java:264)
        java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1128)
        java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:628)
        java.lang.Thread.run (Thread.java:830)