Skip to content

Cordova plugin that migrates WebSQL, localStorage and IndexedDB (iOS only) data when you start using the `cordova-plugin-ionic-webview` plugin, that works for both Android and iOS.

Notifications You must be signed in to change notification settings

helmac/cordova-plugin-ionic-migrate-storage

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

cordova-plugin-ionic-migrate-storage

Cordova plugin that migrates WebSQL, localStorage and IndexedDB* data when you start using the cordova-plugin-ionic-webview plugin. This works for both Android and iOS!

* Only on iOS

Installation

Straight forward, just via cordova plugin add.

cordova plugin add https://github.com/pointmanhq/cordova-plugin-ionic-migrate-storage#v0.1.0 --save

The plugin uses the WKPort preference supplied to the ionic webview. If that was not found, the default port is used (8080).

Testing

To test this, you will have to do the following:

  • Delete the app from your device
  • Remove the webview and migrate plugins from your app:
cordova plugin rm --save cordova-plugin-ionic-webview cordova-plugin-ionic-migrate-storage
  • Build your app and run it. Store something in localStorage, WebSQL and IndexedDB.
  • Add the plugins back:
cordova plugin add --save [email protected] https://github.com/pointmanhq/cordova-plugin-ionic-migrate-storage#v0.1.0
  • Build your app and run it. The stored data must all exist!

Caveats / Warnings / Gotchas

  • Until the plugin reaches v.1.0.0, breaking changes will be introduced in every minor version upgrade! Use one of the tags listed here if you want to lock it down to a specific changeset.
  • This has been tested only with [email protected]!
  • Currently, this plugin does not work on simulators. PRs welcome!
  • IndexedDB migration has not been implemented in Android, because it looks tricky.
  • IndexedDB migration on iOS may be buggy, a PR or two will be needed to make it better.
  • This copy is uni-directional, from old webview to new webview. It does not go the other way around. So essentially, this plugin will run only once!

Thanks

Most of the code in this plugin was either adapted or inspired from a plethora of other sources. Creating this plugin would not have been possible if not for these repositories and their contributors:

TODO

  • Pull out debug flags to make them platform specific and not rely on booleans in the code.
  • Add some unit testing.
  • Open source stuff - github issue templates, CONTRIBUTING doc, Local development doc etc.
  • Publish this to npm.

About

Cordova plugin that migrates WebSQL, localStorage and IndexedDB (iOS only) data when you start using the `cordova-plugin-ionic-webview` plugin, that works for both Android and iOS.

Resources

Stars

Watchers

Forks

Packages

No packages published