aerotoad / neboa

Type-safe NoSQL with Node & SQLite. 🌫️💽
https://aerotoad.github.io/neboa/
GNU Affero General Public License v3.0
169 stars 1 forks source link

Idea: Bun(/Deno) Support #2

Open HeyItsBATMAN opened 1 year ago

HeyItsBATMAN commented 1 year ago

Bun is a very fast JavaScript runtime supported by steady development, and they have their own SQLite implementation.

Deno also has its own SQLite backend iirc.

Maybe the SQLite backend used for Nebra could be chosen at runtime.

A similar small database project does this: https://github.com/tr1ckydev/great.db

What do you think of this idea? If I find the time I can also submit a PR for this.

aerotoad commented 1 year ago

I'm interested in adding support for Bun since its built-in sqlite3 driver shares the same API as better-sqlite3 therefore it should work out of the box by just changing the way the database instance is created. I will look into it once I'm done implementing the live query and collection events system.

With Deno I have some doubts since apparently the built-in sqlite driver requires using some experimental flags and I'm not fully aware of the API compatibility. Maybe if there is more interest for Deno support it might be worth it.

Nevertheless, I will probably spin out this issue into a different one specific for Bun support.

Thank you for your interest in Neboa!

drewbitt commented 2 months ago

Ideally, we should be able to drop in https://github.com/tursodatabase/libsql-js for both Bun and Deno as it is better-sqlite3 compatible, although the library is young.