[ Package conformance ]
Storage & Data · >=8.0.0
@journeyapps/react-native-quick-sqlite
native-seam: the pure-JS concurrent-lock layer (setup-open.js, type-orm.js, DBListenerManager, lock-hooks, types) runs unchanged from the bundle; only the QuickSQLite NativeModule is ours — its synchronous install() populates global.__QuickSQLiteProxy with a real bedrock-sqlite-backed proxy sharing the same WASM engine as expo-sqlite/op-sqlite/nitro-sqlite/react-native-sqlite-storage, so persistence lands in the tenant-scoped memfs IDB and survives reload. faithfully implements the PowerSync concurrent-lock model: requestLock/onLockContextIsAvailable/executeInContext/releaseLock serialized per-db over the single-threaded WASM handle (read+write contexts one-at-a-time, FIFO — exactly how one SQLite connection behaves; the native lib’s extra read connections are a throughput optimization, not an observable semantic). verified end-to-end against the on-disk bedrock build: CRUD, BEGIN/COMMIT, ROLLBACK, executeBatch, lock-context serialization ordering, and close/reopen persistence.85%
API coverage
No visual conformance cases have been published for this package yet. The registry summary below describes what the compat layer implements.
Working (10)
install()/__QuickSQLiteProxyopen/close/deleterequestLock/releaseLock + onLockContextIsAvailable dispatchexecuteInContext (real bedrock SQL incl. joins/params/RETURNING)executeBatchrefreshSchemathe upstream setup-open concurrent-connection object (executereadLock/writeLockreadTransaction/writeTransactionlistener manager) running off the seam
Missing (4)
ATTACH/DETACH across databases (a second memfs open — parked until a consumer needs itmatching react-native-sqlite-storage)loadFiletrue multi-connection parallelism (single-threaded WASM serializes — semantically equivalent for SQLite)