This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2018-03-24
Channels
- # beginners (108)
- # boot (16)
- # bristol-clojurians (1)
- # cider (20)
- # cljs-dev (167)
- # clojure (64)
- # clojure-greece (4)
- # clojure-hamburg (1)
- # clojure-russia (1)
- # clojure-uk (27)
- # clojurescript (235)
- # datomic (1)
- # devops (2)
- # fulcro (80)
- # graphql (6)
- # heroku (2)
- # jobs-discuss (1)
- # jobs-rus (2)
- # lein-figwheel (1)
- # lumo (2)
- # nyc (1)
- # off-topic (22)
- # portkey (4)
- # re-frame (44)
- # reagent (39)
- # ring-swagger (9)
- # shadow-cljs (90)
- # tools-deps (5)
- # vim (8)
- # yada (2)
Acid Jazz bands?
Daniel has just announced the release of re-frame-10x
0.3.0
It includes a big new feature: form level code tracing. You can view exactly how the code in your event handlers executed.
Pretty cool!
@hoppy how are you compiling? i.e. is this a lein project using a cljsjs version of reagent?
@justinlee its a lein project, just has [reagent "0.7.0"] in the dependencies is there a better way?
well i was just making sure you weren’t using shadow-cljs because you do things differently there. there were a number of changes in the way react was packaged and I don’t really remember how it all lines up. this is a dumb question but you’ve cleaned before building?
well its supposed to load all the necessary items. sorry i’m not quite sure what the issue is.
@hoppy First thing to check for every React problem: lein deps :tree
and check which cljsjs React dependency version you have
[cljsjs/react "15.0.1-1"], which seems be happening because of react-bootstrap, prolly need to bump that one
ah so if two cljsjs packages have two conflicting dependencies it just includes them both
@lee.justin.m I don’t think so? It uses Maven dependency resolution I thought. So there will only ever be one version of an artifact included
But Maven only goes by artifact name so if you have two differently named packages with conflicting contents then you can run into trouble
@danielcompton hm i’m just trying to understand how hoppy got into trouble then. if react-bootstrap is including cljsjs/react “15.0.1-1” and reagent requires (through a couple of transitive dependencies) cljsjs/react 15.6.2-4, how does that resolve without at least a warning?
https://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html
You can turn on warnings with lein
:pedantic? :abort
You should also see a warning when you run lein deps:tree
About conflicting dependencies
things quieted down after I kicked up react-bootstrap. It seemed to be forcing in an older react somehow
Did you have react-bootstrap or reagent first on your dependencies list?
hmh, transitive dependencies should be solved in order but \o/
Anyway, good idea to check lein deps :tree
especially if using other libs which depend on cljsjs/react
In addition to ensuring all packages uses recent version, you can add :exclusion [cljsjs/react cljsjs/react-dom]
to problematic dependencies, or just add direct dependency on cljsjs packages on your project, which will always override any transitive dependencies
I wrote this down for future: https://github.com/reagent-project/reagent/blob/master/docs/FAQ/CljsjsReactProblems.md