Fork me on GitHub
#shadow-cljs
<
2020-10-10
>
Andrei Stan08:10:03

Hello, guys! I just started learning clojure/clojurescript and i am trying to use re-com (https://github.com/day8/re-com) in my app built with shadow-cljs. When compiling, i receive an error :

shadow-cljs - updating dependencies
shadow-cljs - dependencies updated
shadow-cljs - HTTP server available at 
shadow-cljs - server version: 2.8.110 running at 
shadow-cljs - nREPL server started on port 3333
shadow-cljs - watching build :app
[:app] Configuring build.
[:app] Compiling ...
[:app] Build failure:
------ ERROR -------------------------------------------------------------------
 File: /home/nas/proiecte/homebank-ofx/src/main/netdava/homebank/app/hello.cljs
no source by provide: recom.core
{:provide recom.core}
ExceptionInfo: no source by provide: recom.core
        shadow.build.data/get-source-id-by-provide (data.clj:186)
        shadow.build.data/get-source-id-by-provide (data.clj:183)
        shadow.build.data/get-source-by-provide (data.clj:189)
        shadow.build.data/get-source-by-provide (data.clj:188)
        shadow.build.compiler/fn--11892 (compiler.clj:340)
        shadow.build.compiler/fn--11892 (compiler.clj:322)
        clojure.lang.MultiFn.invoke (MultiFn.java:234)
        shadow.build.compiler/do-compile-cljs-resource/fn--11967/fn--11976 (compiler.clj:623)
        shadow.build.compiler/do-compile-cljs-resource/fn--11967 (compiler.clj:618)
        shadow.build.compiler/do-compile-cljs-resource (compiler.clj:562)
        shadow.build.compiler/do-compile-cljs-resource (compiler.clj:520)
        shadow.build.compiler/maybe-compile-cljs/fn--12065 (compiler.clj:897)
        shadow.build.compiler/maybe-compile-cljs (compiler.clj:896)
        shadow.build.compiler/maybe-compile-cljs (compiler.clj:872)
        shadow.build.compiler/par-compile-one (compiler.clj:1005)
        shadow.build.compiler/par-compile-one (compiler.clj:960)
        shadow.build.compiler/par-compile-cljs-sources/fn--12101/iter--12123--12127/fn--12128/fn--12129/fn--12130 (compiler.clj:1078)
        clojure.core/apply (core.clj:665)
        clojure.core/with-bindings* (core.clj:1973)
        clojure.core/with-bindings* (core.clj:1973)
        clojure.core/apply (core.clj:669)
        clojure.core/bound-fn*/fn--5749 (core.clj:2003)
        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:834)
Here is my shadow-cljs.edn:
{:builds
 {:app {:asset-path "/js"
        :modules {:main {:init-fn netdava.homebank.app.core/main}}
        :output-dir "public/js"
        :target :browser}
  :csv2json {:target :node-library
             :output-to "csv2json.js"
             :output-dir "out/csv2json-lib"
             :exports-fn netdava.homebank.csv/generate-exports}
  :parse-demo {:target :node-script
               :main netdava.homebank.csv-demo/main
               :output-to "out/parse-demo.js"}
  :dir-converter {:target :node-script
               :main netdava.homebank.dir-converter/main
               :output-to "out/dir-converter.js"}
  :test {:ns-regexp "-nodetest$"
         :output-to "out/test.js"
         :target :node-test
         :compiler-options {:infer-externs :auto}}
  :ci {:target :karma
       :output-to "out/ci.js"
       :ns-regexp "-test$"}}
 :dependencies [[bux "0.3.0"]
                [devcards "0.2.6"]
                [re-com "2.9.0"]
                [reagent "0.8.1"]]
 :dev-http {3000 "public"}
 :nrepl {:port 3333}
 :source-paths ["src/main" "src/csv2json" "src/test"]}
thanks in advance.

thheller09:10:36

@andrei.stan the ns is re-com.core not recom.core?

thheller09:10:02

also .. upgrade. you are on an old version.

Andrei Stan12:10:08

hi, what exactly should i upgrade?

thheller12:10:30

shadow-cljs

Andrei Stan05:10:35

i have upgraded, build is ok, it still doesn't work. the build is ok, but i receive errors in browser console:

Andrei Stan05:10:30

component.cljs:127 Error rendering component (in netdava.homebank.app.hello.converter >  >  >  > re_com.buttons.button)
reagent$impl$component$do_render	@	component.cljs:127
eval	@	component.cljs:143
reagent$ratom$in_context	@	ratom.cljs:37
reagent$ratom$deref_capture	@	ratom.cljs:43
reagent$ratom$run_in_reaction	@	ratom.cljs:504
netdava.homebank.app.hello.convert_btn_render	@	component.cljs:143
finishClassComponent	@	react-dom.development.js:14742
updateClassComponent	@	react-dom.development.js:14697
beginWork	@	react-dom.development.js:15645
performUnitOfWork	@	react-dom.development.js:19313
workLoop	@	react-dom.development.js:19353
callCallback	@	react-dom.development.js:150
invokeGuardedCallbackImpl	@	react-dom.development.js:200
invokeGuardedCallback	@	react-dom.development.js:257
replayUnitOfWork	@	react-dom.development.js:18579
renderRoot	@	react-dom.development.js:19469
performWorkOnRoot	@	react-dom.development.js:20343
performWork	@	react-dom.development.js:20255
requestWork	@	react-dom.development.js:20229
scheduleWork	@	react-dom.development.js:19912
updateContainerAtExpirationTime	@	react-dom.development.js:20573
updateContainer	@	react-dom.development.js:20658
ReactRoot.render	@	react-dom.development.js:20954
eval	@	react-dom.development.js:21091
unbatchedUpdates	@	react-dom.development.js:20460
legacyRenderSubtreeIntoContainer	@	react-dom.development.js:21087
render	@	react-dom.development.js:21156
reagent$dom$render_comp	@	dom.cljs:21
eval	@	dom.cljs:44
eval	@	dom.cljs:39
eval	@	core.cljs:74
netdava$homebank$app$core$render	@	core.cljs:20
netdava$homebank$app$core$main	@	core.cljs:25
eval	@	shadow.module.main.append.js:4
goog.globalEval	@	main.js:577
env.evalLoad	@	main.js:1670
(anonymous)	@	main.js:1941

Andrei Stan06:10:46

main.js:1673 TypeError: Cannot read property 'cljs$core$IFn$_invoke$arity$1' of undefined
    at eval (validate.cljs:87)
    at validate_arg (validate.cljs:87)
    at eval (core.cljs:4736)
    at eval (core.cljs:4736)
    at Object.eval [as sval] (core.cljs:3439)
    at Object.eval [as cljs$core$ISeqable$_seq$arity$1] (core.cljs:3496)
    at Object.cljs$core$seq [as seq] (core.cljs:1234)
    at Object.cljs$core$every_QMARK_ [as every_QMARK_] (core.cljs:4239)
    at Object.re_com$validate$validate_fns_pass_QMARK_ [as validate_fns_pass_QMARK_] (validate.cljs:102)
    at Function.eval [as cljs$core$IFn$_invoke$arity$variadic] (validate.cljs:117)

thheller08:10:12

looks like you have something undefined that shouldn't be [thing {:foo "bar"}] where thing is undefined or so