Native SQLite for Node.js 20+ without the experimental flag. Drop-in replacement for node:sqlite
.
npm install @photostructure/sqlite
import { DatabaseSync } from "@photostructure/sqlite";
const db = new DatabaseSync(":memory:");
db.exec("CREATE TABLE users (id INTEGER PRIMARY KEY, name TEXT)");
const insert = db.prepare("INSERT INTO users (name) VALUES (?)");
insert.run("Alice");
const users = db.prepare("SELECT * FROM users").all();
console.log(users); // [{ id: 1, name: 'Alice' }]
db.close();
• 100% compatible with Node.js built-in sqlite module
• Zero dependencies - native SQLite implementation
• Synchronous API - no async overhead
• Performance matches leading SQLite libraries
• Full SQLite feature set (details)
• TypeScript support with complete type definitions
• Cross-platform prebuilt binaries (Windows/macOS/Linux, x64/ARM64)
• User-defined functions and aggregates
• Database backups and session/changeset support
• URI filename support for advanced configuration
• Worker thread safe
• Compare with other libraries →
Getting Started
Using SQLite
Reference
- 🐛 Issues
- 💬 Discussions
- 📧 Security
MIT - see LICENSE for details.
This package includes SQLite (public domain) and code from Node.js (MIT licensed).
Note: This package is not affiliated with the Node.js project. It extracts and redistributes Node.js's SQLite implementation under the MIT license.