Automerge Repo is a wrapper for the Automerge CRDT library which provides facilities to support working with many documents at once, as well as pluggable networking and storage.
This is a monorepo containing the following packages:
- automerge-repo: The core library. Handles dispatch of events and provides shared functionality such as deciding which peers to connect to or when to write data out to storage.
- automerge-repo-demo-counter: A React-based demonstration application.
- automerge-repo-react-hooks: Example hooks for use with React.
- automerge-repo-sync-server: A small synchronization server that facilitates asynchronous communication between peers
- automerge-repo-storage-localforage: A storage adapter to persist data in a browser
- automerge-repo-storage-nodefs: A storage adapter to write changes to the filesystem
- automerge-repo-network-websocket: Network adapters for both sides of a client/server configuration over websocket
- automerge-repo-network-localfirstrelay: A network client that uses @localfirst/relay to relay traffic between peers
- automerge-repo-network-messagechannel: A network adapter that uses the MessageChannel API to communicate between tabs
- automerge-repo-network-broadcastchannel: Likely only useful for experimentation, but allows simple (inefficient) tab-to-tab data synchronization