This library is a plugin for the SurrealDB JavaScript SDK, which can be used to run SurrealDB as an embedded database within a Node.js server side environment.
It enables SurrealDB to be run in-memory, or to persist data by running on top of SurrealKV. It allows for a consistent JavaScript and TypeScript API when using the surrealdb.js library by adding support for embedded storage engines (memory, surrealkv) alongside the remote connection protocols (http, https, ws, wss).
The Node engine is available on NPM as surrealdb.node
and requires the JavaScript SDK to operate.
import { Surreal } from 'surrealdb'; import { surrealdbNodeEngines } from 'surrealdb.node'; // Enable the WebAssembly engines const db = new Surreal({ engines: surrealdbNodeEngines(), }); // Now we can start SurrealDB as an in-memory database await db.connect("mem://"); // Or we can start a persisted SurrealKV database await db.connect("surrealkv://demo"); // Now use the JavaScript SDK as normal.