- Build WASM de Postgres empaqueté dans une bibliothèque cliente TypeScript pour exécuter Postgres dans le navigateur, Node.js et Bun
- Sans autre dépendance, 3,7 Mo après compression gzip
- Peut être utilisé comme base de données temporaire en mémoire, ou de façon persistante sur le système de fichiers (Node/Bun) ou dans IndexedDB (navigateur)
- Contrairement aux autres Postgres exécutés dans le navigateur, il s’agit de « Postgres in WASM » sans machine virtuelle Linux
import { PGlite } from "@electric-sql/pglite"
const db = new PGlite()
await db.query("select 'Hello world' as message;")
// -> [ { message: "Hello world" } ]
3 commentaires
Je l’utilise très utilement pour écrire du code de test. C’est pratique pour exécuter les tests en CI.
Comme on utilise SQLite dans les applications mobiles, on pourrait donc y stocker des choses qui n’ont pas besoin d’une synchronisation avec une base de données distante. Ça pourrait même remplacer un store d’état global comme Redux, non ?!
Je ne suis pas sûr qu’il faille vraiment le remplacer en apprenant des requêtes SQL côté front, mais c’est intéressant. Il existe aussi le package
pglite-react.