{"id":15063641,"url":"https://github.com/satoren/y_ex","last_synced_at":"2025-04-13T07:47:12.687Z","repository":{"id":249100388,"uuid":"830438433","full_name":"satoren/y_ex","owner":"satoren","description":"Yjs port for Elixir ","archived":false,"fork":false,"pushed_at":"2025-03-22T10:23:14.000Z","size":1051,"stargazers_count":87,"open_issues_count":8,"forks_count":3,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-03-28T09:01:40.571Z","etag":null,"topics":["elixir","yjs"],"latest_commit_sha":null,"homepage":"","language":"Elixir","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/satoren.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-07-18T09:18:38.000Z","updated_at":"2025-03-25T22:15:24.000Z","dependencies_parsed_at":"2024-09-16T07:28:34.978Z","dependency_job_id":"95130c7a-fde9-4241-b3ad-c4c135c7f2a3","html_url":"https://github.com/satoren/y_ex","commit_stats":null,"previous_names":["satoren/y_ex"],"tags_count":26,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/satoren%2Fy_ex","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/satoren%2Fy_ex/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/satoren%2Fy_ex/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/satoren%2Fy_ex/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/satoren","download_url":"https://codeload.github.com/satoren/y_ex/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247149505,"owners_count":20891954,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["elixir","yjs"],"created_at":"2024-09-25T00:05:16.528Z","updated_at":"2025-04-04T10:02:23.797Z","avatar_url":"https://github.com/satoren.png","language":"Elixir","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Yex\n\n[![CI](https://github.com/satoren/y_ex/actions/workflows/elixir.yml/badge.svg)](https://github.com/satoren/y_ex/actions/workflows/elixir.yml)\n[![Coverage Status](https://coveralls.io/repos/satoren/y_ex/badge.svg?branch=main)](https://coveralls.io/r/satoren/y_ex?branch=master)\n[![hex.pm version](https://img.shields.io/hexpm/v/y_ex.svg)](https://hex.pm/packages/y_ex)\n[![hex.pm downloads](https://img.shields.io/hexpm/dt/y_ex.svg)](https://hex.pm/packages/y_ex)\n[![hex.pm license](https://img.shields.io/hexpm/l/y_ex.svg)](https://github.com/satoren/y_ex/blob/master/LICENSE)\n[![Last Updated](https://img.shields.io/github/last-commit/satoren/y_ex.svg)](https://github.com/satoren/y_ex/commits/master)\n\n[Yjs](https://yjs.dev/) port for Elixir using [y-crdt](https://github.com/y-crdt/y-crdt)\n\n\nA demo using the phoenix framework can be found [here](https://github.com/satoren/y-phoenix-channel).\n\n## Installation\n\n```elixir\ndef deps do\n  [\n    {:y_ex, \"~\u003e 0.6.0\"}\n  ]\nend\n```\n\n\n## Feature parity\n\n\n|                                         |                  yjs \u003cbr/\u003e(13.6)                  |               yrs\u003cbr/\u003e(0.18)               |                y_ex\u003cbr/\u003e(0.7.0)               | \n|-----------------------------------------|:-------------------------------------------------:|:------------------------------------------:|:------------------------------------------:|\n| YText: insert/delete                    |                     \u0026#x2705;                      |                  \u0026#x2705;                  |                  \u0026#x2705;                  |\n| YText: formatting attributes and deltas |                     \u0026#x2705;                      |                  \u0026#x2705;                  |                  \u0026#x2705;                  |\n| YText: embeded elements                 |                     \u0026#x2705;                      |                  \u0026#x2705;                  |                  \u0026#x2705;                  |\n| YMap: update/delete                     |                     \u0026#x2705;                      |                  \u0026#x2705;                  |                  \u0026#x2705;                  |\n| YMap: weak links                        | \u0026#x2705; \u003cbr/\u003e \u003csmall\u003e(weak-links branch)\u003c/small\u003e |                  \u0026#x2705;                  |                  \u0026#x274C;                  |\n| YArray: insert/delete                   |                     \u0026#x2705;                      |                  \u0026#x2705;                  |                  \u0026#x2705;                  |\n| YArray \u0026 YText quotations               | \u0026#x2705; \u003cbr/\u003e \u003csmall\u003e(weak links branch)\u003c/small\u003e |                  \u0026#x2705;                  |                  \u0026#x2705;                  |\n| YArray: move                            |    \u0026#x2705; \u003cbr/\u003e \u003csmall\u003e(move branch)\u003c/small\u003e    |                  \u0026#x2705;                  |                  \u0026#x2705;                  |\n| XML Element, Fragment and Text          |                     \u0026#x2705;                      |                  \u0026#x2705;                  |                  \u0026#x2705;                  |\n| Sub-documents                           |                     \u0026#x2705;                      |                  \u0026#x2705;                  |                  \u0026#x274C;                  |\n| Shared collections: observers           |                     \u0026#x2705;                      |                  \u0026#x2705;                  |                  \u0026#x2705;                  |\n| Shared collections: recursive nesting   |                     \u0026#x2705;                      |                  \u0026#x2705;                  |                  \u0026#x2705;                  |\n| Document observers                      |                     \u0026#x2705;                      |                  \u0026#x2705;                  |                  \u0026#x2705;                  |\n| Transaction: origins                    |                     \u0026#x2705;                      |                  \u0026#x2705;                  |                  \u0026#x2705;                  |\n| Snapshots                               |                     \u0026#x2705;                      |                  \u0026#x2705;                  |                  \u0026#x274C;                  |\n| Sticky indexes                          |                     \u0026#x2705;                      |                  \u0026#x2705;                  |                  \u0026#x2705;                  |\n| Undo Manager                            |                     \u0026#x2705;                      |                  \u0026#x2705;                  |                  \u0026#x2705;                  |\n| Awareness                               |                     \u0026#x2705;                      |                  \u0026#x2705;                  |                  \u0026#x2705;                  |\n| Network provider: WebSockets            |    \u0026#x2705; \u003cbr/\u003e \u003csmall\u003e(y-websocket)\u003c/small\u003e    |  \u0026#x2705; \u003cbr/\u003e \u003csmall\u003e(yrs-warp)\u003c/small\u003e  |                  \u0026#x274C;                  |\n| Network provider: WebRTC                |     \u0026#x2705; \u003cbr/\u003e \u003csmall\u003e(y-webrtc)\u003c/small\u003e      | \u0026#x2705; \u003cbr/\u003e \u003csmall\u003e(yrs-webrtc)\u003c/small\u003e |                  \u0026#x274C;                  |\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsatoren%2Fy_ex","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsatoren%2Fy_ex","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsatoren%2Fy_ex/lists"}