Build on the supported package contract
Use @absolutejs/sync-automerge through its supported public entry points.
@absolutejs/sync-automergev0.0.4betaData & SyncAutomerge-backed collaborative-text CRDT adapter for @absolutejs/sync
bun add @absolutejs/sync-automergeAn Automerge-backed collaborative-text CRDT for @absolutejs/sync, behind the same CrdtText / TextCrdtAdapter contract as the core's zero-dependency rgaText and @absolutejs/sync-yjs.
@absolutejs/sync/crdt ships a first-party RGA text CRDT that's great for offline-merge and moderate collaboration. Automerge is a mature, battle-tested CRDT library; this adapter lets you swap it in without touching your call sites.
The serialized state is a base64 string of an Automerge document — JSON-safe for the sync engine's change feed. merge is commutative/associative/idempotent.
Implements TextCrdtAdapter from @absolutejs/sync/crdt: create, merge, empty, textOf. The replica argument is accepted for contract compatibility; Automerge manages actor identity internally.
Outcomes
Use @absolutejs/sync-automerge through its supported public entry points.
Hardening checklist
Follow in order
Working example for Use.
import { automergeText } from '@absolutejs/sync-automerge';
// ...instead of: import { rgaText } from '@absolutejs/sync/crdt';
// Server — declare the CRDT field with this backend
engine.registerCrdt('doc', { state: automergeText });
// Client — same hook, just pass the backend's factory
const doc = useCollaborativeText({
collection: 'doc',
field: 'state',
id: 'shared',
url,
create: (replica) => createAutomergeText(replica)
});Supported entry points declared by this package manifest.
Package entry point declared in package.json.
Scripts declared by this package manifest.
Search the declarations exported by the current package type files. Expand a symbol to inspect its source-backed signature.