Build on the supported package contract
Use @absolutejs/sync-automerge through its supported public entry points.
@absolutejs/sync-automergev0.0.5betaData & 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.