Skip to content

chore(sqlite3mc-wasm): bump SQLite3MultipleCiphers to 2.3.5 - #24293

Merged
mverzilli merged 1 commit into
merge-train/fairies-v5from
martin/bump-sqlite3mc-2.3.5
Jun 25, 2026
Merged

chore(sqlite3mc-wasm): bump SQLite3MultipleCiphers to 2.3.5#24293
mverzilli merged 1 commit into
merge-train/fairies-v5from
martin/bump-sqlite3mc-2.3.5

Conversation

@mverzilli

@mverzilli mverzilli commented Jun 25, 2026

Copy link
Copy Markdown
Contributor

Bumps to the latest SQLite3mc release, which solves some module exporting issues

Closes F-744

….53.2)

Bumps the vendored sqlite3mc WASM build from 2.2.4 (SQLite 3.50.4) to 2.3.5
(SQLite 3.53.2). Upstream consolidated the bundler-friendly ES module into
`sqlite3.mjs` (the old `sqlite3-bundler-friendly.mjs` is gone), so the wrapper
entry, the locally-authored `.d.mts` companion, the vendor allowlist, and the
vendor-script paths are updated to match.

The new build feature-detects Node via `globalThis.process` instead of a bare
`process` global, so the OPFS Web Worker bundles cleanly under
vite-plugin-node-polyfills with no per-consumer worker config. It also brings
three SQLite minor releases of fixes and query-planner improvements, plus the
new opfs-wl (Web Locks) VFS.

Validated: re-vendored via scripts/vendor.sh (zip SHA verified, SHA256SUMS
regenerated), the wrapper and kv-store compile, and the full sqlite-opfs browser
suite passes (112 tests, including the ChaCha20 encryption paths).
@mverzilli mverzilli assigned Thunkar and unassigned Thunkar Jun 25, 2026
@mverzilli
mverzilli requested review from Thunkar and nchamo June 25, 2026 11:44
@mverzilli
mverzilli merged commit 267a3d9 into merge-train/fairies-v5 Jun 25, 2026
15 checks passed
@mverzilli
mverzilli deleted the martin/bump-sqlite3mc-2.3.5 branch June 25, 2026 14:07
Thunkar added a commit that referenced this pull request Jul 6, 2026
SQLite3MultipleCiphers 2.3.5 (#24293) stopped shipping the
bundler-friendly build variant, so the package entry re-exports the
plain sqlite3.mjs. That loader always resolves sqlite3.wasm through its
Module['locateFile'] hook, which computes new URL(path, import.meta.url)
with a dynamic path — invisible to bundlers. Bundled consumers (e.g.
Vite apps using @aztec/kv-store/sqlite-opfs) request an unhashed
sqlite3.wasm relative to the emitted chunk and 404 at runtime; dev
servers are unaffected, so only production builds break.

Wrap the init and inject emscriptenLocateFile (the vendored loader's
supported escape hatch= resolving the wasm via a static `new
URL('../vendor/jswasm/sqlite3.wasm', import.meta.url)` that bundlers
detect, emit, and rewrite. Unbundled usage is unaffected: the static URL
resolves to the real vendored path.

Verified by building a Vite consumer against the patched dest/: the
emitted worker chunk resolves the hashed wasm asset through the hook.

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants