Syncly Engine is a local-first database synchronization engine for Expo/React Native apps, implementing the transactional outbox pattern to reliably sync data with cloud backends (initially Firestore). Current version 0.1.10 is under active development and not production-ready. It uses SQLite as the single source of truth, ULID keys for sortable IDs, soft deletes via deletedAt, and a provider abstraction for swappable cloud adapters. Key differentiators: offline-first, atomic writes of business data and sync payloads, conflict resolution tracking.
npm install syncly-engineNo compatibility data collected yet for this library.
Verified import paths — ran on the pinned version, not inferred.
Demonstrates initializing SynclyClient, attaching a Firestore adapter, starting periodic sync, inserting a record into the local repository (which automatically queues a sync payload), and stopping sync.
Pin to exact version and expect breakage on updates.
Use Firestore or implement custom adapter.
Use expo-dev-client or eject to bare workflow.
Use import syntax; for Jest, configure transformIgnorePatterns.
Install with: npm install syncly-engine
Await client.initialize() before using client.repository.
Call initializeApp() before getFirestore().