thin libSQL stateless http driver for TypeScript and JavaScript
npm install libsql-stateless> Thin libSQL stateless HTTP driver for TypeScript and JavaScript for the edge 🚀
- ✅ Supported runtime environments: Web API (browser, serverless), Bun, Node.js (>=18)
- ✅ Extremely thin: Has no dependency, only has a few functions that implement the Hrana v3 HTTP protocol from scratch, and has no classes (tend to duplicate memory and/or perform long memory traversals).
- ✅ Does no extra computation.
- ✅ Has no premature optimizations.
- ✅ Is extremely light: 1.15kB (unpacked)* / 548B (gzipped)
- ✅ Unlike @libsql/client/web, every function performs complete execution in exactly 1 roundtrip.
- ✅ Is built for: Quick stateless query execution. (Mainly for serverless and edge functions.)
- ✅ Supports everything in @libsql/client/web
- ⚠️ Interactive transactions are not supported because this lib is stateless but transactions are supported.
- ⚠️ The API provided by libsql-stateless is raw and explicit for reducing (computational and memory) overheads.
\* The actual js that is included with your project. (Excluding the type definitions and 2 copies of the main js for esm and cjs. (because you're gonna use one of them))
For easier DX, consider using libsql-stateless-easy instead: it, however, comes with the cost of non-zero-dependency and (computational and memory) overheads potentially unneeded by you. But is still very very very slim compared to @libsql/client.
@libsql/client/web?@libsql/client/web does a lot of, I'd argue unnecessary, computation under the hood.\sh
$ npm i libsql-stateless #pnpm, yarn, etc.
or
$ bun add libsql-stateless
`Goto
WIKI` for Specifications and Examples