{;; Exact pins — the Closure compiler version rides on these two (the same
;; known-good pair as the kits and the games); half of the deterministic-build
;; story. They are also the pair both suite kits were released with, and their
;; sources are compiled from this classpath, so a different pair would mean a
;; different compile of somebody else's released kit.
;;
;; Relative paths only: the idpat publish gate scans every decompressed git
;; object for local path fragments and aborts on one. Never :local/root.
;;
;; OUR OWN KITS ARE CLOJURESCRIPT LIBRARIES AND ARE CONSUMED AS SOURCE: their
;; src/ goes on this classpath and is compiled into whatever build needs it —
;; one cljs.core, one copy per build, DCE'd against actual use. Foreign
;; JS/native packages (@noble/*, the libp2p family, @multiformats/*) stay
;; string requires: that is ordinary interop, not the hybrid. The npm sha pins
;; in package.json are still the ONE cross-repo dependency mechanism
;; (dev/docs/CLJS.md); this only changes how the pinned tree is READ.
;;
;; Bind the DEFINING namespaces — ardegazu.id.{crypto,identity,profile,
;; protocol,xkey,bridge-host} and ardegazu.social.{friends,invites,lbgossip,
;; net,notify,presence,receipts,selfsync,text} — never `ardegazu.id.index` or
;; `ardegazu.social.index`, which are re-export shims for the ESM surface and
;; have no business on a classpath consumer's requires.
;;
;; BOTH paths are required. Classpath consumption is TRANSITIVE: social-kit's
;; own sources require ardegazu.id.*, so id-kit's src has to be here even for
;; the namespaces home reaches only through social-kit. id-kit's landed one
;; commit ahead of the requires (a5c7e65) for exactly that reason.
;;
;; ardegazu.social.net is on this classpath too, deliberately. It is the one
;; namespace in the kit that touches libp2p, and every package it names is
;; already a direct dependency of this app — nothing new enters the resolution
;; graph. The boundary that matters is a MODULE boundary in shadow-cljs.edn,
;; not a package one: only home.social requires it, so it lands in :social and
;; libp2p stays out of the initial download. scripts/build.mjs asserts that
;; against the emitted bundles with the kit's own wire vocabulary, which is a
;; stronger gate than the npm subpath ever was.
:paths ["src"
"node_modules/ardegazu-id-kit/src"
"node_modules/ardegazu-social-kit/src"]
:deps {org.clojure/clojurescript {:mvn/version "1.12.134"}
thheller/shadow-cljs {:mvn/version "3.3.6"}}
:aliases
{:dev {:extra-deps {cider/cider-nrepl {:mvn/version "0.59.0"}}}}}