This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2023-05-06
Channels
- # babashka (130)
- # beginners (97)
- # biff (36)
- # calva (6)
- # cherry (23)
- # clojure (29)
- # clojure-dev (1)
- # clojure-europe (9)
- # clojurescript (5)
- # datomic (24)
- # emacs (13)
- # fulcro (5)
- # hyperfiddle (33)
- # interop (2)
- # jobs (18)
- # kaocha (1)
- # london-clojurians (1)
- # lsp (20)
- # nrepl (1)
- # off-topic (60)
- # pathom (4)
- # reitit (7)
- # releases (1)
- # remote-jobs (4)
- # scittle (3)
- # specter (1)
- # tools-deps (7)
- # xtdb (16)
I'm wondering what sort of accretion strategy people use with Pathom: keep growing your one environment by adding resolvers or have multiple separate environments for different parts of the application.
I’m using multiple environments for different parts of my app. A number of resolvers are used in all environments, e.g. those for accessing domain values, but mostly resolvers are added as needed. That does make for a bit tighter coupling, but for now I think that’s a worthy trade-off for not having to worry about resolvers clashing. What is your approach?
Does it depend on your domain? I for one have all resolvers feeding into a single environment, defined in my integrant configuration on a per-deployment basis, because my property graph can span from patient to encounter to diagnosis to treatment to socioeconomic deprivation etc.. I seek a maximal graph there, but I could see a situation where multiple environments might suit... either because the graphs are fundamentally separate... or because you might use different environments as a mechanism to enforce security policies?
> What is your approach? I'm using Pathom as part of Fulcro RAD so it ties into all the attributes that end up being used by the frontend client, but I also use Pathom by itself - without going through the RAD plumbing - to perform some ETL. I've been keeping these two areas as separate environments. It does make some sense to separate the user-facing attributes from internal ones that might trigger long loads times, as in the case of certain ETL routines. Sometimes I do find myself needing resolvers from the RAD environment in the ETL one, so the two environments have started to overlap a little. For me this separation mostly happened by accident because I wanted Pathom Viz to debug my ETL stuff, and I didn't see an easy way of adding Viz to RAD until this https://github.com/fulcrologic/fulcro-rad/pull/106#pullrequestreview-1276472142 got merged.