Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
Valdermeyder opened this issue Jul 29, 2021 · 1 comment

Comments

@Valdermeyder
Copy link

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
Copy link
Member

w01fe commented Jul 29, 2021 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants