pouchdb-adapter-react-native-sqlcipher
PouchDB adapter using ReactNative SQLite with SQLCipher implementation by sreejithkrishnanr
Read this blogpost for the complete description.
Install deps
Install PouchDB core packages:
npm i pouchdb-adapter-http pouchdb-mapreduce
And install hacked packages for React Native:
npm i @craftzdog/pouchdb-core-react-native @craftzdog/pouchdb-replication-react-native
Next, install SQLite3 engine modules:
npm i pouchdb-adapter-react-native-sqlite react-native-sqlcipher-2react-native link react-native-sqlcipher-2
Then, install some packages to polyfill functions that PouchDB needs:
npm i base-64 events
Create polyfills
Make a js file to polyfill some functions that PouchDB needs:
if !globalbtoa globalbtoa = encode; if !globalatob globalatob = decode; // Avoid using node dependent modulesprocessbrowser = true
Import it at the first line of your index.js
.
Load PouchDB
Make pouchdb.js
like so:
const SQLiteAdapter =
If you need other plugins like pouchdb-find
, just add them to it.
Use PouchDB
Then, use it as usual:
{ return 'mydb.db' adapter: 'react-native-sqlite' auth: password: 'super secure password' )
Use RxDB
; RxDB
Changelog
- 1.0.0
- Initial release