sql.js is a port of SQLite to JavaScript, by compiling the SQLite C code with Emscripten. It uses a virtual database file stored in memory, and thus doesn't persist the changes made to the database.
At this point the createFromLocation option discussed in option 1 will only work in cordova-sqlite-ext (and certain other cordova-sqlite-evplus-legacy versions). (The other options will work in all ...