WebAssembly

WebAssembly engine

The @surrealdb/wasm package is a plugin for the JavaScript SDK that runs SurrealDB as an embedded database within a browser environment. It supports in-memory databases and persistent storage via IndexedDB, and can optionally run inside a Web Worker.

Installation

First, install the JavaScript SDK if you haven't already. Then add the WASM engine:

npm install --save @surrealdb/wasm

Quick start

import { Surreal, createRemoteEngines } from 'surrealdb';
import { createWasmEngines } from '@surrealdb/wasm';

const db = new Surreal({
engines: {
...createRemoteEngines(),
...createWasmEngines(),
},
});

await db.connect('mem://');

For a complete guide covering engine registration, supported protocols (mem://, indxdb://), Web Worker support, and bundler configuration, see the WebAssembly concept page.

Learn more