| This is the README for the sqlite3 WASM/JS distribution. |
| |
| Main project page: https://sqlite.org |
| |
| Documentation: https://sqlite.org/wasm |
| |
| This archive contains the following deliverables for the WASM/JS |
| build: |
| |
| - jswasm/sqlite3.js is the canonical "vanilla JS" version. |
| |
| - jswasm/sqlite3.mjs is the same but in ES6 module form |
| |
| - jswasm/*-bundler-friendly.js and .mjs are variants which are |
| intended to be compatible with "bundler" tools commonly seen in |
| node.js-based projects. Projects using such tools should use those |
| variants, where available, instead of files without the |
| "-bundler-friendly" suffix. Some files do not have separate |
| variants. |
| |
| - jswasm/sqlite3.wasm is the binary WASM file imported by all of the |
| above-listed JS files. |
| |
| - The jswasm directory additionally contains a number of supplemental |
| JS files which cannot be bundled directly with the main JS files |
| but are necessary for certain usages. |
| |
| - The top-level directory contains various demonstration and test |
| applications for sqlite3.js and sqlite3.mjs. |
| sqlite3-bundler-friendly.mjs requires client-side build tools to make |
| use of and is not demonstrated here. |
| |
| Browsers will not serve WASM files from file:// URLs, so the test and |
| demonstration apps require a web server and that server must, for the |
| OPFS[^1]-related features, include the following headers in its response |
| when serving the files: |
| |
| Cross-Origin-Opener-Policy: same-origin |
| Cross-Origin-Embedder-Policy: require-corp |
| |
| Most functionality will work without those headers but the OPFS[^1] |
| storage capability will not be available without them. |
| |
| One simple way to get the demo apps up and running on Unix-style |
| systems is to install althttpd (https://sqlite.org/althttpd) and run: |
| |
| althttpd --enable-sab --page index.html |
| |
| |
| [^1]: https://developer.mozilla.org/en-US/docs/Web/API/File_System_API/Origin_private_file_system |