-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Enables FTS5 by default #594
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
P-de-Jong
commented
Oct 31, 2024
This would be great. It would mean we wouldn't need a custom build anymore.
Hi ! Asset sizes are often a limiting factor when integrating large libraries like sql.js.
I agree we should include a FTS5 build in our build process, include it in tests, and distribute pre-compiled wasm files for easy access. But it should not be part of the default build.
Ideally, we could make it so that switching to fts5 would be as easy as
const SQL = await initSqlJs({ locateFile: file => `/dist/fts5.${file}` });
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'd rather not increase the default asset size for all existing users, none of whom use fts5.
lsb
commented
Aug 13, 2025
fts5 seems to be supported in the official build https://www.npmjs.com/package/sqlite-wasm-http
Uh oh!
There was an error while loading. Please reload this page.
This PR enables the FTS5 extension by default.
Why I think it should be supported by default:
The feature is very useful to a wide range of client-based applications, one core use case for sql.js.
The size increase seems reasonable considering the new capabilities, being only 744K for the wasm file (638K before this PR).
Using a custom sql.js build should be last resort, as it means it'll be harder for users to upgrade.
Closes #199, which included additional unrelated changes and didn't have tests.