SQLite driver for Cordova apps using localForage.
- Cordova/ionic
 - Cordova SQLite storage plugin or Cordova SQLite Plugin 2
 - localForage v1.5.0+
- for localforage 1.4.x, please use the v1.5.0 release of this package
 - for even older versions of localforage, please use the v1.2.x releases
 
 
- install Cordova-sqlite-storage plugin 
cordova plugin add https://github.com/litehelpers/Cordova-sqlite-storage.git - install localForage-cordovaSQLiteDriver
- via npm with: 
npm i --save localforage localforage-cordovasqlitedriver(ionic 2 users might prefer ths one) - via bower with: 
bower install --save localforage localForage-cordovaSQLiteDriver 
 - via npm with: 
 
Reduce driver size (almost by 50%) by "inheriting" the method implementations of the localforage.WEBSQL driver.
Add support for newer versions of Cordova SQLite storage plugin (v0.8.x & v1.2.x).
UPGRADE WARNING: The default storage location for SQLite has changed in newer versions of Cordova SQLite storage plugin. The new "default" location value is NOT the same as the old "default" location and will break an upgrade for an app that was using the old default value (0) on iOS. If you are upgrading to a newer version of localForage-cordovaSQLiteDriver you need to verify where your previous storage location was and update the location property of the localForage database. Otherwise the default is 'default'. This is to avoid breaking the iCloud Design Guide. See here for further details.
Try using the getSerializer() (available in localforage v1.3) as the prefered way to retrieve the serializer.
- Include localforage and localForage-cordovaSQLiteDriver in your main html page, after the cordova include.
 - Call 
defineDriverandsetDriverto make localForage use the cordovaSQLiteDriver. 
<script src="cordova.js"></script>
<script src="lib/localforage/dist/localforage.js"></script>
<script src="lib/localForage-cordovaSQLiteDriver/dist/localforage-cordovasqlitedriver.js"></script>
<script>
localforage.defineDriver(window.cordovaSQLiteDriver).then(function() {
    return localforage.setDriver([
    	// Try setting cordovaSQLiteDriver if available,
      window.cordovaSQLiteDriver._driver,
      // otherwise use one of the default localforage drivers as a fallback.
      // This should allow you to transparently do your tests in a browser
      localforage.INDEXEDDB,
      localforage.WEBSQL,
      localforage.LOCALSTORAGE
    ]);
}).then(function() {
  // this should alert "cordovaSQLiteDriver" when in an emulator or a device
  alert(localforage.driver());
  // set a value;
  return localforage.setItem('testPromiseKey', 'testPromiseValue');
}).then(function() {
  return localforage.getItem('testPromiseKey');
}).then(function(value) {
  alert(value);
}).catch(function(err) {
  alert(err);
});
</script>