node:sqlite

JavaScript 🟡 Mid

Définition

Module SQLite intégré à Node.js, ajouté en 22.5.0, sorti du drapeau --expérimental-sqlite en 23.4.0 et 22.13.0, et passé « release candidate » (stabilité 1.2) en 25.7.0. API synchrone : DatabaseSync, prépare(), run/get/all/iterate, plus un SQLTagStore qui met en cache des requêtes écrites en template literal. Bun 1.4 annonce 100 % de compatibilité avec ce module.

Analogie

Un carnet de comptes rangé dans le tiroir du bureau : pas besoin d'aller à la banque pour une addition.

Exemple de code

import { DatabaseSync } from 'node:sqlite';
const db = new DatabaseSync('app.db'); // ou ':memory:'
db.exec('CREATE TABLE IF NOT EXISTS todo(id INTEGER PRIMARY KEY, txt TEXT) STRICT');
const ins = db.prepare('INSERT INTO todo (txt) VALUES (?)');
ins.run('acheter du pain');
const tous = db.prepare('SELECT * FROM todo').all();
console.log(tous); // [{ id: 1, txt: 'acheter du pain' }]
db.close();

Cas d'usage

CLI, prototypes, caches locaux, tests : une base relationnelle sans dépendance native ni serveur.

Anti-pattern

Utiliser l'API synchrone au cœur d'un serveur HTTP très sollicité : chaque requête bloque la boucle d'événements.
#tooling#node22#node25#donnees

Dans l'actu

  • 14/10 Node.js 24.22.0 (LTS « Krypton ») : crypto.parsePKCS12(), modes SIV et GCM-SIV dans Cipher/Decipher, util.throttle() et util.debounce() natifs, envoi de net.BoundSocket vers les threads et processus enfants, close() et Symbol.dispose sur StatementSync de node:sqlite. Semaine 42 (1re moitié) · 12 – 14 octobre 2026 →
  • 07/10 Node.js 26.11.0 (Current) : node:sqlite gagne le support des tables virtuelles via createModule(), le module http ajoute isValidHeaderName() et isValidHeaderValue(), process.ref/unref passent stables, npm monte en 11.20.0 et Alpine Linux passe en support tier 2. Semaine 41 (1re moitié) · 5 – 7 octobre 2026 →
  • 20/08 Bun 1.4 est publié : le runtime est désormais écrit en Rust (porté depuis Zig),… La release ajoute 1 517 tests de la suite Node.js (node:quic, node:events et node:sqlite à 100 %) et de nouvelles APIs : Bun.Image, Bun.WebView, Bun.markdown, Bun.cron(), plus bun run --parallel et bun audit fix. Bilan août 2026 →
  • 26/08 Node.js 26.8.0 (Current) : classes ZipEntry/ZipFile/ZipBuffer dans zlib pour lire les archives ZIP, coloration syntaxique basique dans le REPL, TracingChannel (diagnostics_channel) passe stable, modes SIV/GCM-SIV dans crypto, StatementSync.close() et Symbol.dispose pour SQLite. Bilan août 2026 →

Fiche mise à jour le 2026-09-27

← → au clavier pour passer d'une fiche à l'autre