About this project

The PouchDB SQLite adapter provides a generic SQLite backend for PouchDB, decoupling core adapter logic from specific SQLite implementations. It follows a layered architecture: a core layer handling PouchDB adapter functions (document storage, queries, attachments), an abstract database interface layer defining SQLite interaction contracts, and implementation layers for concrete SQLite libraries. Currently supported implementations include Capacitor SQLite, Expo SQLite, OP SQLite, and Cloudflare Durable Objects, with a plugin system allowing new adapters to be added. The adapter is designed for cross‑platform use (Web, React Native, Electron, Node.js) and includes optimized attachment handling and configuration guidance. Usage involves installing pouchdb‑core, the sqlite‑core plugin, and the specific SQLite implementation plugin, then configuring the PouchDB instance with adapter:'sqlite' and sqliteImplementation. The README also notes known issues with React Native, providing polyfill and dependency recommendations, and credits an earlier React Native SQLite adapter.