plumatic/plumbing

`plumbing.core/keywordize-map` causes shadow-cljs warnings even it is not used in the project

Valdermeyder opened this issue · 1 comments

Just using plumbing.core causes shadow-cljs warnings even when keywordize-map is not used in the project

plumbing.core/keywordize-map is deprecated
{:warning :fn-deprecated, :line 116, :column 37, :msg "plumbing.core/keywordize-map is deprecated"}
ExceptionInfo: plumbing.core/keywordize-map is deprecated
        shadow.build.compiler/warning-collector (compiler.clj:443)
        shadow.build.compiler/warning-collector (compiler.clj:415)
        clojure.core/partial/fn--5841 (core.clj:2633)
        cljs.analyzer/warning (analyzer.cljc:734)
        cljs.analyzer/warning (analyzer.cljc:732)
        shadow.build.cljs-hacks/shadow-parse-invoke* (cljs_hacks.cljc:766)
        shadow.build.cljs-hacks/shadow-parse-invoke* (cljs_hacks.cljc:741)
        cljs.analyzer/parse-invoke (analyzer.cljc:3730)
        cljs.analyzer/parse-invoke (analyzer.cljc:3728)
        cljs.analyzer/analyze-seq* (analyzer.cljc:3975)
        cljs.analyzer/analyze-seq* (analyzer.cljc:3972)
        cljs.analyzer/analyze-seq*-wrap (analyzer.cljc:3979)
        cljs.analyzer/analyze-seq*-wrap (analyzer.cljc:3977)
        cljs.analyzer/analyze-seq (analyzer.cljc:4003)
        cljs.analyzer/analyze-seq (analyzer.cljc:3981)
        cljs.analyzer/analyze-form (analyzer.cljc:4190)
        cljs.analyzer/analyze-form (analyzer.cljc:4187)
        cljs.analyzer/analyze* (analyzer.cljc:4243)
        cljs.analyzer/analyze* (analyzer.cljc:4235)
        cljs.analyzer/analyze (analyzer.cljc:4263)
        cljs.analyzer/analyze (analyzer.cljc:4246)
        cljs.analyzer/analyze (analyzer.cljc:4256)
        cljs.analyzer/analyze (analyzer.cljc:4246)
        cljs.analyzer/analyze (analyzer.cljc:4254)
        cljs.analyzer/analyze (analyzer.cljc:4246)
        shadow.build.cljs-hacks/shadow-parse-invoke*/fn--10896/fn--10897 (cljs_hacks.cljc:752)
        clojure.core/mapv/fn--8445 (core.clj:6912)
        clojure.core.protocols/fn--8159 (protocols.clj:168)
        clojure.core.protocols/fn--8159 (protocols.clj:124)
        clojure.core.protocols/fn--8114/G--8109--8123 (protocols.clj:19)
        clojure.core.protocols/seq-reduce (protocols.clj:31)
        clojure.core.protocols/fn--8144 (protocols.clj:75)
        clojure.core.protocols/fn--8144 (protocols.clj:75)
        clojure.core.protocols/fn--8088/G--8083--8101 (protocols.clj:13)
        clojure.core/reduce (core.clj:6828)
        clojure.core/mapv (core.clj:6903)
        clojure.core/mapv (core.clj:6903)
        shadow.build.cljs-hacks/shadow-parse-invoke*/fn--10896 (cljs_hacks.cljc:752)
        clojure.lang.Delay.deref (Delay.java:42)
        clojure.core/deref (core.clj:2320)
        clojure.core/deref (core.clj:2306)
        shadow.build.cljs-hacks/shadow-parse-invoke* (cljs_hacks.cljc:911)
        shadow.build.cljs-hacks/shadow-parse-invoke* (cljs_hacks.cljc:741)
        cljs.analyzer/parse-invoke (analyzer.cljc:3730)
        cljs.analyzer/parse-invoke (analyzer.cljc:3728)
        cljs.analyzer/analyze-seq* (analyzer.cljc:3975)
        cljs.analyzer/analyze-seq* (analyzer.cljc:3972)
        cljs.analyzer/analyze-seq*-wrap (analyzer.cljc:3979)
        cljs.analyzer/analyze-seq*-wrap (analyzer.cljc:3977)
        cljs.analyzer/analyze-seq (analyzer.cljc:4003)
        cljs.analyzer/analyze-seq (analyzer.cljc:3981)
        cljs.analyzer/analyze-form (analyzer.cljc:4190)
        cljs.analyzer/analyze-form (analyzer.cljc:4187)
        cljs.analyzer/analyze* (analyzer.cljc:4243)
        cljs.analyzer/analyze* (analyzer.cljc:4235)
        cljs.analyzer/analyze (analyzer.cljc:4263)
        cljs.analyzer/analyze (analyzer.cljc:4246)
        cljs.analyzer/analyze (analyzer.cljc:4256)
        cljs.analyzer/analyze (analyzer.cljc:4246)
        cljs.analyzer/analyze (analyzer.cljc:4254)
        cljs.analyzer/analyze (analyzer.cljc:4246)
        shadow.build.cljs-hacks/shadow-parse-invoke*/fn--10896/fn--10897 (cljs_hacks.cljc:752)
        clojure.core/mapv/fn--8445 (core.clj:6912)
        clojure.core.protocols/fn--8159 (protocols.clj:168)
        clojure.core.protocols/fn--8159 (protocols.clj:124)
        clojure.core.protocols/fn--8114/G--8109--8123 (protocols.clj:19)
        clojure.core.protocols/seq-reduce (protocols.clj:31)
        clojure.core.protocols/fn--8144 (protocols.clj:75)
        clojure.core.protocols/fn--8144 (protocols.clj:75)
        clojure.core.protocols/fn--8088/G--8083--8101 (protocols.clj:13)
        clojure.core/reduce (core.clj:6828)
        clojure.core/mapv (core.clj:6903)
        clojure.core/mapv (core.clj:6903)
        shadow.build.cljs-hacks/shadow-parse-invoke*/fn--10896 (cljs_hacks.cljc:752)
        clojure.lang.Delay.deref (Delay.java:42)
        clojure.core/deref (core.clj:2320)
        clojure.core/deref (core.clj:2306)
        shadow.build.cljs-hacks/shadow-parse-invoke* (cljs_hacks.cljc:887)
        shadow.build.cljs-hacks/shadow-parse-invoke* (cljs_hacks.cljc:741)
        cljs.analyzer/parse-invoke (analyzer.cljc:3730)

From the code here I can assume that reason for this is using keywordize-map recursively.
Probably we can alias plumbing.core/keywordize-map to the recommended clojure.walk/keywordize-keys instead of keeping custom implementation.

w01fe commented