https://github.com/satoren/y_ex
Yjs port for Elixir
https://github.com/satoren/y_ex
elixir yjs
Last synced: about 1 year ago
JSON representation
Yjs port for Elixir
- Host: GitHub
- URL: https://github.com/satoren/y_ex
- Owner: satoren
- License: mit
- Created: 2024-07-18T09:18:38.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2025-03-22T10:23:14.000Z (about 1 year ago)
- Last Synced: 2025-03-28T09:01:40.571Z (about 1 year ago)
- Topics: elixir, yjs
- Language: Elixir
- Homepage:
- Size: 1 MB
- Stars: 87
- Watchers: 3
- Forks: 3
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Yex
[](https://github.com/satoren/y_ex/actions/workflows/elixir.yml)
[](https://coveralls.io/r/satoren/y_ex?branch=master)
[](https://hex.pm/packages/y_ex)
[](https://hex.pm/packages/y_ex)
[](https://github.com/satoren/y_ex/blob/master/LICENSE)
[](https://github.com/satoren/y_ex/commits/master)
[Yjs](https://yjs.dev/) port for Elixir using [y-crdt](https://github.com/y-crdt/y-crdt)
A demo using the phoenix framework can be found [here](https://github.com/satoren/y-phoenix-channel).
## Installation
```elixir
def deps do
[
{:y_ex, "~> 0.6.0"}
]
end
```
## Feature parity
| | yjs
(13.6) | yrs
(0.18) | y_ex
(0.7.0) |
|-----------------------------------------|:-------------------------------------------------:|:------------------------------------------:|:------------------------------------------:|
| YText: insert/delete | ✅ | ✅ | ✅ |
| YText: formatting attributes and deltas | ✅ | ✅ | ✅ |
| YText: embeded elements | ✅ | ✅ | ✅ |
| YMap: update/delete | ✅ | ✅ | ✅ |
| YMap: weak links | ✅
(weak-links branch) | ✅ | ❌ |
| YArray: insert/delete | ✅ | ✅ | ✅ |
| YArray & YText quotations | ✅
(weak links branch) | ✅ | ✅ |
| YArray: move | ✅
(move branch) | ✅ | ✅ |
| XML Element, Fragment and Text | ✅ | ✅ | ✅ |
| Sub-documents | ✅ | ✅ | ❌ |
| Shared collections: observers | ✅ | ✅ | ✅ |
| Shared collections: recursive nesting | ✅ | ✅ | ✅ |
| Document observers | ✅ | ✅ | ✅ |
| Transaction: origins | ✅ | ✅ | ✅ |
| Snapshots | ✅ | ✅ | ❌ |
| Sticky indexes | ✅ | ✅ | ✅ |
| Undo Manager | ✅ | ✅ | ✅ |
| Awareness | ✅ | ✅ | ✅ |
| Network provider: WebSockets | ✅
(y-websocket) | ✅
(yrs-warp) | ❌ |
| Network provider: WebRTC | ✅
(y-webrtc) | ✅
(yrs-webrtc) | ❌ |