Skip to content
shamock logoshamock logo

shamock

Real schemas. Ghost data.

Schema-validated mocks and a mock API over fetch, shaped like your real data.

Terminal window
pnpm add shamock
Terminal window
import { installMock } from 'shamock'
const mock = await installMock({
baseUrl: 'https://api.example.com',
seed: { products: [{ id: 1, name: 'A' }] },
timing: 0,
})
const response = await fetch('https://api.example.com/products/search', {
method: 'POST',
body: '{}',
})
const { data } = await response.json()
mock.restore()

Validator-agnostic

Validates against any Standard Schema implementation: Zod, Valibot, ArkType.

Mock API over fetch

search, mutate and DELETE routes served from seed data, with atomic writes and bounded inputs.

Zero dependencies

Accepts any { schema } object. No SDK, no server, Node.js 22 or later.

Project Role
nexdk One resource grammar for REST, GraphQL and WebSocket backends.
beepr Typed events and notification adapters.
dialectr One query builder that compiles to lomkit, Strapi and PocketBase.

Each library works on its own. None is published to npm yet.