SQLite in core: maintenance trade-offs compared with other language ecosystems
Mantenedores costumam responder em até 1 dia
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 3/5
- Tempo estimado
- 1-2 dias
- Facilidade para iniciantes
- 55/100
- Tipo de issue
- Documentação
- Clareza
- Razoavelmente clara
- Status de atividade
- Ativa
- Stack de tecnologia
- nodejs, sqlite
- Domínio
- documentation
Direção de pesquisa
Comece lendo as issues #49663 e #53264 e, em seguida, revise a documentação atual de node:sqlite. Adicione uma explicação concisa sobre os trade-offs de manutenção, por que SQLite permanece no core e como os usuários podem determinar se as correções de segurança do SQLite exigem uma atualização do Node.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
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.
- Linguagem predominante
- JavaScript
- Estrelas
- 122k
- Forks
- 38.4k
- Merge médio
- 4d 10h
- PRs com merge (30d)
- 276
Preparar o ambiente
- Sem Dockerfile nem arquivo Docker Compose
- Tem um modelo de pull request
- Ler o guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de nodejs/node
-
doc
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 90/100
Mantenedores costumam responder em até 1 dia
-
doc
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 65/100
Mantenedores costumam responder em até 1 dia
-
build
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 88/100
nodejs/node#66076 · 2 comentários ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 84/100
nodejs/node#65994 · 2 comentários · 2 reações ·
Mantenedores costumam responder em até 1 dia
-
feature request
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
nodejs/node#63841 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
Todas as issues de nodejs/node
Issues semelhantes
-
external-issue to-triage
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 82/100
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 84/100
LearningCircuit/local-deep-research#7067 ·
Mantenedores costumam responder em até 1 dia
-
automated issue report
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 65/100
lirantal/discoprint#32 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 86/100
Mantenedores costumam responder em até 1 dia