This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2018-01-13
Channels
- # beginners (99)
- # boot (2)
- # boot-dev (4)
- # chestnut (2)
- # cider (75)
- # clara (43)
- # cljs-dev (1)
- # cljsjs (6)
- # cljsrn (4)
- # clojars (2)
- # clojure (76)
- # clojure-brasil (1)
- # clojure-france (1)
- # clojure-italy (2)
- # clojure-spec (30)
- # clojure-uk (4)
- # clojurescript (39)
- # core-async (1)
- # core-logic (2)
- # cursive (1)
- # data-science (7)
- # datomic (14)
- # docker (12)
- # emacs (6)
- # fulcro (69)
- # garden (4)
- # hoplon (7)
- # jobs-discuss (46)
- # leiningen (3)
- # lumo (3)
- # off-topic (12)
- # om (2)
- # parinfer (12)
- # perun (9)
- # re-frame (44)
- # reagent (6)
- # rum (1)
- # shadow-cljs (73)
- # specter (5)
- # unrepl (10)
- # vim (2)
circular dependency: [:shadow.build.classpath/resource "dlt/events.cljs"] -> [:shadow.build.classpath/resource "dlt/core.cljs"] -> [:shadow.build.classpath/resource "dlt/events.cljs"] -> [:shadow.build.classpath/resource "dlt/fx.cljs"] -> [:shadow.build.classpath/resource "dlt/graphql/core.cljs"] {:resource-id [:shadow.build.classpath/resource "dlt/events.cljs"], :stack ([:shadow.build.classpath/resource "dlt/core.cljs"] [:shadow.build.classpath/resource "dlt/events.cljs"] [:shadow.build.classpath/resource "dlt/fx.cljs"] [:shadow.build.classpath/resource "dlt/graphql/core.cljs"])} ExceptionInfo: circular dependency: [:shadow.build.classpath/resource "dlt/events.cljs"] -> [:shadow.build.classpath/resource "dlt/core.cljs"] -> [:shadow.build.classpath/resource "dlt/events.cljs"] -> [:shadow.build.classpath/resource "dlt/fx.cljs"] -> [:shadow.build.classpath/resource "dlt/graphql/core.cljs"]
the only thing that requires dlt.core, if anything, is that it's :modules {:main {:entries [dlt.core]}} in the shadow-cljs.edn
(ns dlt.events (:require-macros [cljs.core.async.macros :refer [go]] [dlt.util.macros :refer [p<! jsp<!]]) (:require [clojure.string :as s] [re-frame.core :as re-frame] [dlt.db :as db] [dlt.fx :as fx] [dlt.util.core :as u]))
I mean, as I said, the only mention of dlt.core anywhere is in the shadow-cljs.edn for the :entries thing
(ns dlt.fx (:require-macros [cljs.core.async.macros :refer [go]] [dlt.util.macros :refer [p<! jsp<!]]) (:require [clojure.string :as s] [re-frame.core :as re-frame] [dlt.graphql.core :as gql] [dlt.util.core :as u]))
(ns dlt.graphql.core (:require [clojure.string :as s] [graphql-builder.parser :refer-macros [defgraphql]] [graphql-builder.core :as gql-builder] [reagent.core :as r] [re-frame.core :as re-frame] [apollo-client :refer [ApolloClient createNetworkInterface]] [graphql-tag :as gql] [dlt.util.core :as u]))
~/code/dlt-frontend-shadowcljs master [1+] ❯ ag dlt.core src/clj/dlt/core.clj 1:(ns dlt.core) src/cljs/dlt/core.cljs 1:(ns dlt.core public/index.html 29: <script>dlt.core.init();</script> shadow-cljs.edn 26: :modules {:main {:entries [dlt.core]}} 33: :after-load dlt.core/on-js-reload assets/index.html 29: <script>dlt.core.init();</script>
I had a version with a circular dependency at some point, but I fixed that by factoring the circular bits out into that fx namespace
circular dependency: [:shadow.build.classpath/resource "dlt/events.cljs"] -> [:shadow.build.classpath/resource "dlt/core.cljs"] -> [:shadow.build.classpath/resource "dlt/events.cljs"] -> [:shadow.build.classpath/resource "dlt/fx.cljs"] -> [:shadow.build.classpath/resource "dlt/graphql/core.cljs"] {:resource-id [:shadow.build.classpath/resource "dlt/events.cljs"], :stack ([:shadow.build.classpath/resource "dlt/core.cljs"] [:shadow.build.classpath/resource "dlt/events.cljs"] [:shadow.build.classpath/resource "dlt/fx.cljs"] [:shadow.build.classpath/resource "dlt/graphql/core.cljs"])} ExceptionInfo: circular dependency: [:shadow.build.classpath/resource "dlt/events.cljs"] -> [:shadow.build.classpath/resource "dlt/core.cljs"] -> [:shadow.build.classpath/resource "dlt/events.cljs"] -> [:shadow.build.classpath/resource "dlt/fx.cljs"] -> [:shadow.build.classpath/resource "dlt/graphql/core.cljs"]
one quick note: the :exlusions
are incorrect, just one vector with symbols, no nested vectors
(somehow did work well enough to get rid of my issues though - a warning with cuerdas and the fact that I wanted to use react 16 instead of 15.something)
cljsjs
is all ignored anyways so it doesn’t matter much which version you have on the classpath
and thats just my preference but do you really like putting everything into separate source paths?
well, as I warned you a few days ago, I've only started looking into clojurescript ~2 weeks ago
some of the lein-fighweel boiler plates for reagent or re-frame did that structure of src/clj/foo, src/cljs/foo