drh 8a6f89c845 Remove unnecessary "www." prefixes on domain names in URLs. 3 weeks ago
..
SQLTester a525d635a9 Minor doc cleanups in SQLTester.mjs and confirm that the tests pass with both OPFS VFSes. 6 months ago
api 8a6f89c845 Remove unnecessary "www." prefixes on domain names in URLs. 3 weeks ago
common da5f813878 Approximately 100 typo corrections spanning the whole tree, submitted via [forum:0db9827f0464bc33|forum post 0db9827f0464bc33] and individually audited and verified. Affects only code comments, innocuous test strings, error message text in tool (not library) code, and configure-level help text. 2 months ago
fiddle da5f813878 Approximately 100 typo corrections spanning the whole tree, submitted via [forum:0db9827f0464bc33|forum post 0db9827f0464bc33] and individually audited and verified. Affects only code comments, innocuous test strings, error message text in tool (not library) code, and configure-level help text. 2 months ago
jaccwabyt da5f813878 Approximately 100 typo corrections spanning the whole tree, submitted via [forum:0db9827f0464bc33|forum post 0db9827f0464bc33] and individually audited and verified. Affects only code comments, innocuous test strings, error message text in tool (not library) code, and configure-level help text. 2 months ago
sql 49cb8d7314 Minor cleanups in OO API #1. Add Sudoku SQL to batch-runner.js's list. 2 years ago
tests d176ef5881 Fix a long-standing filename digest computation bug in the OPFS SAHPool VFS which caused all VFS-stored filenames to have a digest value of 0. See [/forumpost/042d53c928382021] and for full details. 1 month ago
EXPORTED_FUNCTIONS.fiddle.in 278d3faf1f Fiddle: replace db export routine with a C-side one which works for both Emscripten FS-hosted and OPFS-hosted db files. Minor code-adjacent cleanups. 2 years ago
GNUmakefile c9cc6a5474 Use SQLITE_EXTRA_INIT_MUTEXED instead of SQLITE_EXTRA_INIT for the SQLITE_WASM_EXTRA_INIT feature, as suggested in [forum:14183b98fc0b1dea|forum post 14183b98fc0b1dea]. This doesn't make a functional difference now - this is in the name of future-proofing against eventual threading support in wasm. 2 months ago
README-dist.txt efbf481541 Minor wasm-specific doc touchups. 3 months ago
README.md efbf481541 Minor wasm-specific doc touchups. 3 months ago
batch-runner-sahpool.html 68003d9f18 Add a basic batch-mode SQL runner for the SAH Pool VFS, for use in comparing it against WebSQL. Bring the WebSQL batch runner up to date, noting that it cannot run without addition of an "origin trial" activation key from Google because that's now the only way to enable WebSQL in Chrome (that part is not checked in because that key is private). Minor code-adjacent cleanups. 1 year ago
batch-runner-sahpool.js 68003d9f18 Add a basic batch-mode SQL runner for the SAH Pool VFS, for use in comparing it against WebSQL. Bring the WebSQL batch runner up to date, noting that it cannot run without addition of an "origin trial" activation key from Google because that's now the only way to enable WebSQL in Chrome (that part is not checked in because that key is private). Minor code-adjacent cleanups. 1 year ago
batch-runner.html cd0df83c15 Apply considerable acrobatics to get the JS/WASM deliverables building to and loadable from a directory other than the one which contains the app-level code. Requires an only-slightly-leaky abstraction of passing a URL argument when loading sqlite3.js but provides much greater flexibility in where the JS/WASM files are located. 2 years ago
batch-runner.js 68003d9f18 Add a basic batch-mode SQL runner for the SAH Pool VFS, for use in comparing it against WebSQL. Bring the WebSQL batch runner up to date, noting that it cannot run without addition of an "origin trial" activation key from Google because that's now the only way to enable WebSQL in Chrome (that part is not checked in because that key is private). Minor code-adjacent cleanups. 1 year ago
c-pp.c da5f813878 Approximately 100 typo corrections spanning the whole tree, submitted via [forum:0db9827f0464bc33|forum post 0db9827f0464bc33] and individually audited and verified. Affects only code comments, innocuous test strings, error message text in tool (not library) code, and configure-level help text. 2 months ago
config.make.in 726a047a47 Remove some now-dead makefile code, rename a var for consistency, and fix a recipe bug introduced in the previous checkin in the bundler-friendly build. 3 months ago
demo-123-worker.html cd0df83c15 Apply considerable acrobatics to get the JS/WASM deliverables building to and loadable from a directory other than the one which contains the app-level code. Requires an only-slightly-leaky abstraction of passing a URL argument when loading sqlite3.js but provides much greater flexibility in where the JS/WASM files are located. 2 years ago
demo-123.html cd0df83c15 Apply considerable acrobatics to get the JS/WASM deliverables building to and loadable from a directory other than the one which contains the app-level code. Requires an only-slightly-leaky abstraction of passing a URL argument when loading sqlite3.js but provides much greater flexibility in where the JS/WASM files are located. 2 years ago
demo-123.js 68003d9f18 Add a basic batch-mode SQL runner for the SAH Pool VFS, for use in comparing it against WebSQL. Bring the WebSQL batch runner up to date, noting that it cannot run without addition of an "origin trial" activation key from Google because that's now the only way to enable WebSQL in Chrome (that part is not checked in because that key is private). Minor code-adjacent cleanups. 1 year ago
demo-jsstorage.html fd31ae3bf9 Rename several demo/test files and include more of them in the end-user dist archive. 2 years ago
demo-jsstorage.js 5d60f47001 Approximately 50 typo fixes, spanning the whole tree, contributed via [forum:006c8fa165083ac3|forum post 006c8fa165083ac3] and individually checked for correctness. Affects only code comments, docs, and a single line of debug output in a test app. 2 months ago
demo-worker1-promiser.c-pp.html 84016759dd Resolve duplicate loading of promiser v2 demo code (a side effect of having done precisely what it was told to do). Consolidate demo-worker1-promiser(-esm).html/(m)js variants into central copies processed with c-pp. 1 year ago
demo-worker1-promiser.c-pp.js f858182689 JS: add a mechanism to the Worker1 exec API to fetch the last_insert_rowid(), as requested in [forum:56bc35390183f5d5|forum post 56bc353901]. 2 months ago
demo-worker1.html fd31ae3bf9 Rename several demo/test files and include more of them in the end-user dist archive. 2 years ago
demo-worker1.js f858182689 JS: add a mechanism to the Worker1 exec API to fetch the last_insert_rowid(), as requested in [forum:56bc35390183f5d5|forum post 56bc353901]. 2 months ago
dist.make 3ba9adc5c1 Teach tool/stripccomments.c that a backslash immediately preceeding a forward slash means that that forward slash cannot be the start of a comment. This is intended to allow JavaScript regular expressions containing \/* (like [https://github.com/emscripten-core/emscripten/issues/23412|the one introduced in emsdk 4.0.0]) to pass through properly. Re-enable comment-stripping in the JS dist builds. 3 months ago
example_extra_init.c ef22012b6e Minor doc tweak for the previous commit. 2 years ago
fiddle.make 9ef8399055 Update path on the web server for test/snapshot instances of fiddle. 2 months ago
index-dist.html 07a2e5d1ed wasm: de-list demo-worker1-promiser-esm.html from the test pages because (per Chrome 131) "Module scripts don't support importScripts()", where "don't" means "they used to but no longer do". 3 months ago
index.html a32ea731a0 Add the pause/unpause capability to the opfs-sahpool VFS, as discussed in [forum:fe8cdb8431c|forum thread fe8cdb8431c]. Summary: this gives clients a way to eke some degree of multi-page/tab/Worker concurrency out of this VFS but requires that coordination to be implemented client-side, e.g. via a SharedWorker or WebLocks. 2 months ago
mkwasmbuilds.c e435547beb Internal doc touchups in ext/wasm/mkwasmbuilds.c. No functional changes. 1 month ago
module-symbols.html c3b7e1c4e8 Add a doc link for the new sqlite3_js_posix_create_file(). 1 year ago
scratchpad-wasmfs.html bb9549e0be More work on the wasmfs build and its test apps. 1 year ago
scratchpad-wasmfs.mjs bb9549e0be More work on the wasmfs build and its test apps. 1 year ago
speedtest1-wasmfs.html 8ba619b5f5 Minor wasm build cleanups. 1 year ago
speedtest1-wasmfs.mjs 69cce89425 wasm: replace much of the eval makefile spaghetti with equivalent code generated from a small C app. It turns out that's easier to read and write than doing the same thing from shell or tcl code, due entirely to C's lack of need for escaping dollar signs. 7 months ago
speedtest1-worker.html 68003d9f18 Add a basic batch-mode SQL runner for the SAH Pool VFS, for use in comparing it against WebSQL. Bring the WebSQL batch runner up to date, noting that it cannot run without addition of an "origin trial" activation key from Google because that's now the only way to enable WebSQL in Chrome (that part is not checked in because that key is private). Minor code-adjacent cleanups. 1 year ago
speedtest1-worker.js 6b36d0b461 Make explicit which JS APIs are for internal use only by moving the JS-bound internal-use-only functions out of client-visible reach and renaming the WASM-exported ones from sqlite3_wasm... to sqlite3__wasm... (with two underscores). These have always been documented as internal-use-only, so this is not a breaking change except for clients which have ignored the docs. 1 year ago
speedtest1.html ab8b22a03d Remove some dead JS code and tweak some docs. 2 years ago
split-speedtest1-script.sh fbf0f488cf batch-runner.js: move generated SQL files into ./sql and start adding hand-written ones (like the Mandelbrot) to that set. 2 years ago
test-opfs-vfs.html cd0df83c15 Apply considerable acrobatics to get the JS/WASM deliverables building to and loadable from a directory other than the one which contains the app-level code. Requires an only-slightly-leaky abstraction of passing a URL argument when loading sqlite3.js but provides much greater flexibility in where the JS/WASM files are located. 2 years ago
test-opfs-vfs.js 5cc4ab93f2 Fix an exception misuse in test-opfs-vfs.js. 1 year ago
tester1-worker.html 2492b6c0fb sqlite3.oo1.Stmt.finalize() now throws if sqlite3_finalize() returns non-zero. This is intended to address the INSERT RETURNING case covered in [forum:36f7a2e7494897df|forum post 36f7a2e7494897df]. 1 year ago
tester1.c-pp.html 65f7942d06 Add JS bundler-friendly JS build. Minor test code cleanups. 2 years ago
tester1.c-pp.js 69eaadbee3 Merge trunk into the sahpool-digest branch. 2 months ago
wasmfs.make efafde5eb4 Initial support for post-processing wasm files with wasm-opt (if it's available). This currently shaves 12kb off of the release-mode build of sqlite3.wasm but there are many dozens of wasm-opt flags left to try. 3 months ago

README-dist.txt

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