Move core, sync, and transit from platform-specific .clj/.cljs to shared .cljc files with reader conditionals. This enables testing the full sync logic on the JVM and using SyncedAtom from Clojure clients. Key changes: - PStore protocol (store.cljc) decouples core from storage backend - IDB store (store/idb.cljs) and memory store (store/memory.cljc) - SyncedAtom implements CLJ IDeref/IAtom/IRef + CLJS equivalents - Sync client uses java.net.http on CLJ, fetch on CLJS - SSE remains CLJS-only; JVM clients use polling - API change: store passed explicitly instead of pb/open - 7 new JVM tests: local ops, persistence, watches, two-client sync - 28 tests total, 87 assertions, all passing
30 lines
1.5 KiB
Clojure
30 lines
1.5 KiB
Clojure
{:paths ["src"]
|
|
:deps {org.clojure/clojure {:mvn/version "1.12.0"}
|
|
org.clojure/core.async {:mvn/version "1.7.701"}
|
|
http-kit/http-kit {:mvn/version "2.8.0"}
|
|
com.cognitect/transit-clj {:mvn/version "1.0.333"}
|
|
com.taoensso/nippy {:mvn/version "3.4.2"}
|
|
com.github.seancorfield/next.jdbc {:mvn/version "1.3.955"}
|
|
org.xerial/sqlite-jdbc {:mvn/version "3.47.1.0"}
|
|
ring/ring-core {:mvn/version "1.13.0"}}
|
|
|
|
:aliases
|
|
{:dev {:extra-paths ["test"]
|
|
:extra-deps {io.github.cognitect-labs/test-runner
|
|
{:git/tag "v0.5.1" :git/sha "dfb30dd"}}}
|
|
:test {:main-opts ["-m" "cognitect.test-runner"]}
|
|
:server {:main-opts ["-m" "pocketbook.server"]}
|
|
|
|
;; ClojureScript client build
|
|
:cljs {:extra-paths ["example/todomvc"]
|
|
:extra-deps {org.clojure/clojurescript {:mvn/version "1.11.132"}
|
|
com.cognitect/transit-cljs {:mvn/version "0.8.280"}
|
|
org.clojure/core.async {:mvn/version "1.7.701"}}
|
|
:main-opts ["-m" "cljs.main" "-co" "build.edn" "-c"]}
|
|
|
|
:cljs-dev {:extra-paths ["example/todomvc"]
|
|
:extra-deps {org.clojure/clojurescript {:mvn/version "1.11.132"}
|
|
com.cognitect/transit-cljs {:mvn/version "0.8.280"}
|
|
org.clojure/core.async {:mvn/version "1.7.701"}}
|
|
:main-opts ["-m" "cljs.main" "-co" "build.edn" "-w" "src:example/todomvc" "-c"]}}}
|