@eristack/backseat
v0.1.2
Published
Frontend mock backend engine: in-browser REST server with pluggable store, controllers, and TanStack Query hooks
Maintainers
Readme
@eristack/backseat
Frontend-first fake backend — store, router, flexible controllers, TanStack Query hooks, and devtools for in-browser ERP prototypes.
Install
pnpm add @eristack/backseat @tanstack/react-queryQuick example
import { createBackseat } from "@eristack/backseat";
import { createIndexedDbBackseatStore } from "@eristack/backseat/store";
import { createErpDemoSnapshot } from "@eristack/backseat/seeds";
export const api = createBackseat({
store: createIndexedDbBackseatStore({ dbName: "demo-erp" }),
baseUrl: "/api",
seed: createErpDemoSnapshot,
collections: { partners: {}, products: {}, purchaseOrders: {} },
});
await api.reseed();
// TanStack Query
const orders = await api.handlers.purchaseOrders.list({
where: { status: "approved" },
});import { BackseatProvider, BackseatDevtools } from "@eristack/backseat/react";
<BackseatProvider backseat={api}>
<App />
{import.meta.env.DEV ? <BackseatDevtools /> : null}
</BackseatProvider>Docs
| Guide | Topic | | --- | --- | | Overview | Mental model, exports, comparisons | | Getting started | Full integration walkthrough | | Controllers | Custom routes, actions, ERP patterns | | API reference | Types, methods, hooks | | Devtools | Insert, reset, re-seed, snapshots | | Graduation | Frontend-first → real backend | | Architecture | Store / router / controller layers | | Vision | Goals and non-goals |
Default store: IndexedDB in browser · Memory store: unit tests only · Not for production persistence.
