Enables FTS5 by default
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.
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}` });
fts5 seems to be supported in the official build https://www.npmjs.com/package/sqlite-wasm-http