@taladb/node
v0.8.0
Published
TalaDB Node.js native module — document queries and vector search via napi-rs
Readme
@taladb/node
Node.js native module for TalaDB — high-performance local-first storage via a napi-rs Rust binding.
Note: Most users should install
taladbinstead, which auto-selects this package when running in Node.js.
What it provides
- TalaDB's Rust core exposed via napi-rs — zero marshalling overhead
- Synchronous hot-path methods +
asyncvariants for non-blocking server use - Pre-built binaries for
linux-x64,linux-arm64,darwin-x64,darwin-arm64,win32-x64 - No
node-gyprequired — binaries ship with the package
Requirements
- Node.js 18+
Installation
pnpm add taladb @taladb/nodeUsage
Use through the unified taladb package:
import { openDB } from 'taladb';
const db = await openDB('./myapp.db');
const users = db.collection('users');
await users.createIndex('email');
await users.insert({ name: 'Alice', email: '[email protected]', role: 'admin' });
const alice = await users.findOne({ email: '[email protected]' });
const admins = await users.find({ role: 'admin' });CommonJS
const { openDB } = require('taladb');
async function main() {
const db = await openDB('./myapp.db');
const col = db.collection('items');
await col.insert({ name: 'Widget', price: 9.99 });
const results = await col.find({ price: { $lt: 20 } });
console.log(results);
await db.close();
}
main();Direct usage (advanced)
const { TalaDBNode } = require('@taladb/node');
const db = TalaDBNode.open('./myapp.db');
const col = db.collection('items');
// Synchronous (no await)
const id = col.insert({ x: 1 });
const docs = col.find(null);
db.close();Building from source
# Install napi-rs CLI
pnpm add -g @napi-rs/cli
# Build for current platform
pnpm --filter @taladb/node buildFull Documentation
https://thinkgrid-labs.github.io/taladb/guide/node
License
MIT © ThinkGrid Labs
