Our great sponsors
-
sqlsync
SQLSync is a collaborative offline-first wrapper around SQLite. It is designed to synchronize web application state between users, devices, and the edge.
-
SurveyJS
Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App. With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.
If you're looking for a very real use case of SQLite in the browser, there's SQLSync[1]. It was recently discussed on HN[2].
[1]: https://sqlsync.dev/posts/stop-building-databases/, https://sqlsync.dev/
I couldn't find do these wrappers support read-only SQLite databases with HTTP range requests, like in this famous post [1]. Phiresky's wrapper supports it, but it seems to be rebuilding the whole sql.js [2], I'd rather have it as VFS on top of sqlite.org's own WASM module. I like the idea of HTTP range requests, but I don't want to run a fork, that will be unmaintained in few years.
[1]: https://news.ycombinator.com/item?id=27016630
[2]: https://github.com/phiresky/sql.js-httpvfs
Have you checked out Anytype[0]. Was recently posted/discussed here on HN a few days ago[1].
No affiliation, just interesting project that aligns with your description.
[0]: https://anytype.io/
It seems indeed very nice, the examples are clear and everything works from async. I tried with Deno, and now experimenting with my own VFS.
It does seem to suffer from maintainer problems too though, and I don't blame Roy Hashimoto for that. I wouldn't want to maintain such an obvious wrapper when it should be a task for SQLite's team to upstream the changes.
Roy Hashimoto doesn't want to maintain it as an NPM package for instance, as it is just an experiment: https://github.com/rhashimoto/wa-sqlite/issues/12
"Low traffic is a happy place - I don't have any motivation to mess with that."