Yex
January 1, 2026 · View on GitHub
Yjs port for Elixir using y-crdt
A demo using the phoenix framework can be found here.
Installation
def deps do
[
{:y_ex, "~> 0.6.0"}
]
end
Feature parity
| yjs (13.6) | yrs (0.18) | y_ex (0.10.2) | |
|---|---|---|---|
| YText: insert/delete | ✅ | ✅ | ✅ |
| YText: formatting attributes and deltas | ✅ | ✅ | ✅ |
| YText: embeded elements | ✅ | ✅ | ✅ |
| YMap: update/delete | ✅ | ✅ | ✅ |
| YMap: weak links | ✅ (weak-links branch) | ✅ | ✅ (experimental) |
| YArray: insert/delete | ✅ | ✅ | ✅ |
| YArray & YText quotations | ✅ (weak links branch) | ✅ | ✅ (experimental) |
| YArray: move | ✅ (move branch) | ✅ | ✅ |
| XML Element, Fragment and Text | ✅ | ✅ | ✅ |
| Sub-documents | ✅ | ✅ | ✅ (experimental) |
| Shared collections: observers | ✅ | ✅ | ✅ |
| Shared collections: recursive nesting | ✅ | ✅ | ✅ |
| Document observers | ✅ | ✅ | ✅ |
| Transaction: origins | ✅ | ✅ | ✅ |
| Snapshots | ✅ | ✅ | ❌ |
| Sticky indexes | ✅ | ✅ | ✅ |
| Undo Manager | ✅ | ✅ | ✅ |
| Awareness | ✅ | ✅ | ✅ |
| Network provider: WebSockets | ✅ (y-websocket) | ✅ (yrs-warp) | ✅ (y-phoenix-channel) |
| Network provider: WebRTC | ✅ (y-webrtc) | ✅ (yrs-webrtc) | ❌ |