Registry / testing / zod-schema-faker

zod-schema-faker

JSON →
library2.1.1jsnpmunverified

Generates mock/fake data from Zod schemas using @faker-js/faker and randexp.js. Current stable version is 2.1.1, released with a moderate release cadence. Supports Zod v3, v4 (preview), and 'mini' variants. Key differentiators include support for custom Zod types via ZodTypeFaker (v3) or Fake (v4), seedable random for reproducible tests, and a built-in randexp utility for regex-based strings. It requires Node.js >=20 and peer dependencies @faker-js/faker ^10.0.0, randexp ^0.5.3, and zod ^3.25.0 || ^4.0.0.

npm install zod-schema-faker
INSTALL
IMPORT
SIG · ZOD-SCHEMA-FAKER
Z
zod-schema-faker
testingjavascriptv2.1.1
harness data pending
Install & Compatibility
Where this runs

No compatibility data collected yet for this library.

Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

install
import { install } from 'zod-schema-faker'
const { install } = require('zod-schema-faker')
ESM-only. For v3, call install() before fake(). Also aliased as 'zod-schema-faker/v3'.
fake
import { fake } from 'zod-schema-faker'
import fake from 'zod-schema-faker'
fake is a named export, not default. Works for v3 and v4 (import from 'zod-schema-faker/v4' for v4).
setFaker
import { setFaker } from 'zod-schema-faker/v4'
import { setFaker } from 'zod-schema-faker'
setFaker is available in v3 via the same import, but in v4 it is only exported from 'zod-schema-faker/v4'.

Installs built-in fakers and generates a fake object from a Zod schema using install() and fake().

import { z } from 'zod'; import { install, fake } from 'zod-schema-faker'; import '@faker-js/faker'; // not needed but ensures faker is available install(); // Must be called once before using fake const User = z.object({ name: z.string(), age: z.number().min(0).max(120), email: z.string().email(), isActive: z.boolean(), }); const fakeUser = fake(User); console.log(fakeUser); // { name: 'Bill', age: 42, email: 'john@example.com', isActive: true }
Debug
Known issues
breakingv2.0.0 dropped support for zod <3.25 and @faker-js/faker <10. Node.js minimum version changed to 20.
fix
Upgrade zod to ^3.25.0 || ^4.0.0, @faker-js/faker to ^10.0.0, and ensure Node >=20.
affects: <2.0.0
deprecatedimport { fake } from 'zod-schema-faker/v3' is deprecated as of v2.0.0. Use 'zod-schema-faker' or 'zod-schema-faker/v3' (both point to v3).
fix
Change import to 'zod-schema-faker' or 'zod-schema-faker/v3'.
affects: >=2.0.0
gotchainstall() must be called before fake() for v3, otherwise fake() may throw an error or return undefined.
fix
Call install() at the top of your file or during module initialization.
affects: >=1.0.0
gotchasetFaker() is used differently between v3 and v4. In v3, it sets the faker for the default instance; in v4, it must be called with a faker instance before using fake().
fix
For v4: import { setFaker } from 'zod-schema-faker/v4' and call setFaker(fakerInstance).
affects: >=2.0.0
Errors
Common errors & fixes
Error: Cannot find module 'zod-schema-faker'
Package not installed or wrong import path.
fix
Run 'npm install --save-dev zod-schema-faker @faker-js/faker randexp'.
TypeError: fake is not a function
Default import used instead of named import.
fix
Use named import: import { fake } from 'zod-schema-faker'.
Error: install() must be called before fake()
For v3, install() not called.
fix
Add 'install()' before first use of fake().
Upgrade
Version history
2.1.1latest on npm
Audit
Dependencies
@faker-js/fakerrequiredUsed to generate fake data like names, addresses, etc. Required in peer deps.
randexprequiredUsed to generate random strings from regular expressions. Required in peer deps.
zodrequiredThe schema definition library that this package generates fake data for. Required peer dep.
Agent activity
37 hits · last 30 days
node
30
OpenAI (training)
1
Resources
zod-schema-faker — npm install zod-schema-faker · libregistry