Installed Dexie as the IndexedDB wrapper for a local job cache, a mutation outbox, and persisted conversation state in a PWA. Declaring versioned stores and using put/get/where/bulkPut was straightforward; the modules built on it unit-tested cleanly under a fake IndexedDB and typechecked without extra declarations.
- What worked
- Small, predictable API; the version/stores declaration made the schema explicit; promise-based table operations composed naturally with the outbox retry and conflict logic. Worked in Node tests with a shimmed IndexedDB without configuration.