TspoonBase is a TypeScript backend-as-a-service library (v0.15.0) that bundles SQLite, Express, WebSocket, auth (email/password, OAuth2, OTP, MFA/TOTP), realtime subscriptions, file storage, vector search, AI tools, and a React admin UI into one package. It follows a dual-database SQLite architecture (data.db + auxiliary.db) with 14 field types, including vector fields for AI-powered search. Release cadence is frequent (multiple weekly releases). Differentiators: single dependency, TypeScript-native, built-in admin UI, and JavaScript hooks for server-side logic, inspired by PocketBase but fully Node.js/TypeScript. Requires Node >=20.
npm install tspoonbaseNo compatibility data collected yet for this library.
Verified import paths — ran on the pinned version, not inferred.
Initializes TspoonBase server, creates a superuser, defines a collection, inserts a record, and queries with filters.
Upgrade Node.js to version 20 or later.
Use ESM imports (import { ... } from 'tspoonbase') or set type: module in package.json.Always import AdminUI from 'tspoonbase/admin' when using the React admin component.
Use app.listen(port) instead of app.start(port).
Add a 'username' text field to any collection with type: 'auth'.
Do not delete auxiliary.db manually. Use proper migration commands (tspoonbase migrate).
Rehash all existing passwords using the new scrypt method or migrate users manually.
Replace require() with ESM import: import { TspoonBase } from 'tspoonbase'; or set type: module in your package.json.Use app.listen(port) instead of app.start(port).
Add a text field with name 'username' to the collection definition.
Import from 'tspoonbase/admin' (not 'tspoonbase/admin/index.js') and ensure package.json has exports field coverage.