microsoft / vscode-node-sqlite3

Asynchronous, non-blocking SQLite3 bindings for Node.js
BSD 3-Clause "New" or "Revised" License
34 stars 10 forks source link

Clarify intentions of vscode-node-sqlite3 #14

Closed tsondergaard closed 2 years ago

tsondergaard commented 2 years ago

The lack of response to https://github.com/mapbox/node-sqlite3/issues/1493 has caused a bit of frustration and projects are increasingly turning to vscode-node-sqlite3 as a new maintained fork. One example of a project that is changing to @vscode/sqlite3 is Knex. A pretty popular SQL query builder. See https://github.com/knex/knex/issues/4858 and https://github.com/knex/knex/pull/4866.

It is unclear from https://www.npmjs.com/package/@vscode/sqlite3 and the commits, issues, comments associated with this repo whether this is indeed the intent of microsoft/vscode-node-sqlite3.

Could you clarify your intentions? Can this be considered a new long-term public fork of node-sqlite3?

gnprice commented 2 years ago

FWIW my reading of this repo's commit logs and so on is that it is pretty clearly intended as a small fork for vscode's own convenience, with no promises at all of being useful to anyone else or responsive to anyone else's needs. (Which, to be clear, is a perfectly reasonable thing for its authors to do!)

For a start, the commit that makes most of the changes in this branch has a commit message of literally "chore: vscode specific changes": 59a82b27a.

I think the lack of response to this issue over the past month is also a sign that this repo's maintainers do not intend for it to be something maintained for other people to use.

In the case of mapbox#1493, the thing that's being requested upstream is just to publish a release to NPM; the needed change is already merged in the master branch. So the thing that this repo is providing relative to upstream is purely that they've posted a build to NPM. And… looking at the "Versions" tab on the NPM page: https://www.npmjs.com/package/@vscode/sqlite3 one sees that they posted a burst of new versions in mid-November last year, one version last August, and that's the whole list. So in the absence of any commitments from the maintainers, I think that history doesn't give any reason to predict that they'll be regularly publishing new releases in the future either.


For anyone using sqlite3 who wants a version with the mapbox#1493 issue fixed, I think the good solutions are:

bpasero commented 2 years ago

Our intent is not to create another distribution of this library but track the original library as closely as possible. In fact, https://github.com/microsoft/vscode-node-sqlite3/issues/11 tracks upstreaming our changes and then we will delete this repository very likely.

Not using pre-bundled binaries for native modules is just a choice we made in VSCode where we build all native modules on each CI run and not rely on prebuild binaries. The reason is that we want to build native libraries in the same environment that we build VSCode in.