A little teaser... Got the cljs work to the point where I can ship a npm package and use it from node:
This is now easy to try out https://github.com/replikativ/datahike/blob/main/doc/cljs-support.md#javascript-api
I am currently working through the backlog of getting all the dependencies for this branch released, tests pass already, although the cljs test coverage is not complete yet. In the server API I used a different JSON encoding that is more defensively following jsonista to ensure that all edn is properly encoded. Here we do a more direct parsing of JSON and translate strings that are prefixed with colons directly to keywords, this works well on the small scale experiments so far, but might not be a good fit for the full transactor DSL. I am happy to get feedback.
The PR is here https://github.com/replikativ/datahike/pull/748
Still need to resolve two dependencies to get into a releasable state.
Here are some preliminary docs, they still need to be polished: https://github.com/replikativ/datahike/blob/cljs-lean-cps/doc/javascript-api.md
The PR can now be tried out by anybody. The relevant docs for the new features are: https://github.com/replikativ/datahike/blob/cljs-lean-cps/doc/cljs-support.md and https://github.com/replikativ/datahike/blob/cljs-lean-cps/doc/distributed.md#streaming-writer-kabel
@alekcz360 lmk whether the cljs support would work with cloudflare like this.
In preparation of datahike cljs support I have just released the https://github.com/simm-is/distributed-scope library that is used by the new datahike kabel writer for distributed streaming. This might be of interest generally though, independently of the other replikativ libraries. We can discuss this in more detail in the #simmis channel.