@donotdev/demo
v0.1.44
Published
Zero-backend demo provider for DoNotDev — in-memory/localStorage CRUD, auth, storage adapters. No Supabase/Firebase, no account, free.
Maintainers
Readme
@donotdev/demo
Zero-backend demo provider for DoNotDev. Drop-in replacement for @donotdev/supabase /
@donotdev/firebase that runs entirely in the browser — no account, no network, no cost.
DemoCrudAdapter—ICrudAdapterbacked bylocalStorage(in-memory fallback for SSR/tests).DemoAuth— functional in-memoryAuthProvider. SupportsautoLoginto boot already authenticated (e.g. a demo admin), so role/tier gates pass with no sign-in flow.DemoStorageAdapter— uploads encoded as in-browser Data URLs.DemoCallableProvider— server-function calls resolve to{}.
⚠️ For demos, prototypes, and offline showcases only. There is no security at this layer and data lives in the visitor's browser. Never use for real/multi-user data.
Usage
import { configureProviders } from '@donotdev/core';
import {
DemoAuth,
DemoCrudAdapter,
DemoStorageAdapter,
DemoCallableProvider,
} from '@donotdev/demo';
const demoAdmin = {
id: 'demo-admin',
email: '[email protected]',
emailVerified: true,
role: 'admin' as const,
customClaims: { tier: 'pro' },
};
configureProviders({
crud: new DemoCrudAdapter(),
auth: new DemoAuth({ autoLogin: demoAdmin }),
storage: new DemoStorageAdapter(),
callable: new DemoCallableProvider(),
});Typical pattern: fall back to the demo provider when no real backend is configured.
if (!import.meta.env.VITE_SUPABASE_URL) {
// demo mode (above)
} else {
// real Supabase providers
}