Early alpha. Not production-ready, and APIs can change. Read the status

LongHorn

Runtimes

A LongHorn app runs on Node, Bun, Deno or Cloudflare Workers, using each platform's own server rather than a compatibility layer. To change host, you change one import and the last line of the app.

What changes between hosts

HostImportStart withStorage
NodenodeRuntime from @longhornjs/nodeapp.listen(nodeRuntime)SQLite, PostgreSQL, Redis
BunbunRuntime from @longhornjs/bunapp.listen(bunRuntime)Native bun:sqlite
DenodenoRuntime from @longhornjs/denoapp.listen(denoRuntime)Built-in SQLite
Cloudflare WorkerscreateWorker from @longhornjs/workersexport default createWorker(app)D1, Durable Object SQLite

Limits to plan around

Versions checked

Shared packages were checked locally on Node 20.19.4, Bun 1.4.4, Deno 2.9.6 and workerd 1.20250718.0, on macOS ARM64. All 10 CI jobs have passed on hosted Ubuntu 24.04, which reaches all 66 gates. Nothing has run on Windows.