wallet-kit / deps.edn
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
{;; Exact pins — the Closure compiler version rides on these two, and the
 ;; committed dist/ must rebuild byte-identical (deploy/check-dist.sh). Same
 ;; known-good pair as social-kit and the rest of the suite's CLJS repos.
 ;;
 ;; Relative paths only — never :local/root, never an absolute path: the idpat
 ;; publish gate scans every decompressed git object for local path fragments.
 ;;
 ;; OUR OWN KITS ARE CLOJURESCRIPT LIBRARIES AND ARE CONSUMED AS SOURCE: their
 ;; src/ goes on this classpath and gets compiled into whatever build needs it,
 ;; one copy per build, DCE'd against actual use. Foreign JS/native packages
 ;; (@noble/*, @libp2p/*, node-datachannel …) stay string requires — that is
 ;; ordinary interop, not the hybrid. The npm sha pins in package.json are still
 ;; the cross-repo dependency mechanism (dev/docs/CLJS.md); this only changes
 ;; how the pinned tree is READ — as sources rather than as a compiled dist.
 ;;
 ;; `canon` does not fork under this: forking would need two DIFFERENT canons,
 ;; and there is exactly one source of it — social-kit's — pinned by sha and
 ;; compiled here from those very bytes. What used to be a second linked copy of
 ;; social-kit's output is now the same function compiled once into this build.
 ;;
 ;; BOTH paths are required even though only social-kit is used directly:
 ;; classpath consumption is TRANSITIVE. social-kit's sources require
 ;; ardegazu.id.*, so this consumer must carry id-kit's src too or the build
 ;; cannot resolve them.
 ;;
 ;; Relative to node_modules, never an absolute path — same idpat rule as above.
 ;;
 ;; No libp2p, and none of social-kit's optional libp2p peer family: this kit is
 ;; the ARTIFACT layer. It builds, verifies, folds and links — it never opens a
 ;; socket. Transport belongs to whatever ships next on top of it. Only the
 ;; namespaces this kit actually requires get compiled, so social-kit's
 ;; socket-bearing `net` namespace never enters the build.
 :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"}}}
  ;; cljfmt is a TOOL, not a dependency. :replace-deps keeps it off the build
  ;; classpath (neither shadow-cljs nor clojurescript is loaded to run it) and
  ;; :replace-paths keeps the sources off it too — cljfmt only ever reads the
  ;; files named on the command line. Exact pin, same rule as the two above.
  ;; The config is committed beside this file; both paths are relative, because
  ;; the idpat publish gate aborts on a local filesystem path in any object.
  ;; Wired into `npm test` as the FIRST link of the test script itself, not as
  ;; a `pretest` hook: an npm lifecycle hook is skipped outright under
  ;; `ignore-scripts=true`, which is a gate that passes by not running.
  :cljfmt {:replace-deps {dev.weavejester/cljfmt {:mvn/version "0.13.1"}}
           :replace-paths []
           :main-opts ["-m" "cljfmt.main" "--config" ".cljfmt.edn"]}}}

static mirror of HEAD · about · clone: git clone https://git.ardegazu.ro/wallet-kit.git