SQLite in core: maintenance trade-offs compared with other language ecosystems
Chưa có ai nhận issue này.
- Ngôn ngữ chính
- JavaScript
- Star
- 122k
- Fork
- 37.3k
- Merge trung bình
- 4 ngày 2 giờ
- Pull request đã merge (30 ngày)
- 283
Mô tả
I've been reading #49663 and #53264 to understand how SQLite ended up in Node core. I understand that it was first accepted for localStorage, and that exposing node:sqlite followed from that.
Looking at other ecosystems, there seem to be a few different approaches:
- Python includes the sqlite3 wrapper in its standard library, though how the SQLite engine is supplied depends on the distribution.
- Java provides JDBC, while SQLite support comes through a separate driver.
- .NET provides an official Microsoft.Data.Sqlite package, installed separately through NuGet.
- Go provides database/sql and leaves the actual drivers to external packages.
- Bun and Deno both provide built-in SQLite APIs.
The .NET approach seems particularly interesting here: users get an officially maintained integration, but its updates can be delivered separately from the runtime.
Given that Node already needs SQLite for localStorage, how much additional maintenance and security exposure comes from offering the broader public API? Was an official, separately distributed binding considered, and what made keeping it in core preferable?
I'm also curious how this works in practice when SQLite publishes a security fix. Where can users find out whether it affects Node's build and exposed functionality, and whether a Node update is needed?
A short explanation of these trade-offs in the docs would be useful. The original issues explain the path to inclusion, but I still have trouble understanding the long-term maintenance implications. Happy to be pointed to an existing discussion if I've missed it.
Hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Hướng nghiên cứu
Bắt đầu bằng cách đọc các issue #49663 và #53264, sau đó xem lại tài liệu node:sqlite hiện tại. Thêm một phần giải thích ngắn gọn về các đánh đổi trong việc bảo trì, lý do SQLite vẫn nằm trong core và cách người dùng xác định liệu các bản sửa lỗi bảo mật của SQLite có yêu cầu cập nhật Node hay không.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- nodejs, sqlite
- Lĩnh vực
- documentation
- Loại issue
- Tài liệu
- Độ khó
- 3/5
- Thời gian dự kiến
- 1-2 ngày
- Mức độ hoạt động
- Sôi nổi
- Độ rõ ràng
- Khá rõ ràng
- Mức phù hợp với người mới
- 55/100