Registry / testing / json-schema-faker

json-schema-faker

JSON →
library0.6.2jsnpmunverified

Generate valid JSON mock data from JSON Schema definitions. v0.6.2 supports JSON Schema 2019-09 and 2020-12 with deterministic output via seeded PRNG (Mulberry32). Zero production dependencies. Key differentiators: built-in format generators (email, uuid, etc.), extension support for faker/chance, custom keywords via define(), and sequential auto-incrementing seeds via createGenerator().

npm install json-schema-faker
INSTALL
IMPORT
SIG · JSON-SCHEMA-FAKER
J
json-schema-faker
testingjavascriptv0.6.2
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.

generate
import { generate } from 'json-schema-faker'
const generate = require('json-schema-faker').generate
ESM-only since v0.6.0; CommonJS require works but is discouraged. The function returns a Promise.
createGenerator
import { createGenerator } from 'json-schema-faker'
import { createGenerator } from 'json-schema-faker/cjs'
Named export, not default. No subpath exports.
registerFormat
import { registerFormat } from 'json-schema-faker'
import registerFormat from 'json-schema-faker'
Named export, not default.
define
import { define } from 'json-schema-faker'
Used for custom keyword extensions. The callback receives (value, schema, ctx).
createRemoteResolver
import { createRemoteResolver } from 'json-schema-faker'
import { createRemoteResolver } from 'json-schema-faker/remote'
No subpath exports; all are top-level.

Generate a mock object with string, integer, email, and array properties from a JSON Schema.

import { generate } from 'json-schema-faker'; const schema = { type: 'object', properties: { name: { type: 'string', minLength: 2 }, age: { type: 'integer', minimum: 0, maximum: 120 }, email: { type: 'string', format: 'email' }, tags: { type: 'array', items: { type: 'string' }, maxItems: 3 } }, required: ['name', 'email'] }; const data = await generate(schema); console.log(data); // Example: { name: 'John', age: 50, email: 'john.doe@example.com', tags: ['tag1', 'tag2'] }
Debug
Known issues
breakingRequires ESM imports starting from v0.6.0
fix
Use import syntax instead of require(). If using CommonJS, use dynamic import: const { generate } = await import('json-schema-faker');
affects: >=0.6.0
gotchagenerate() returns a Promise, not a synchronous value. Many users forget to await.
fix
Always await: const data = await generate(schema);
affects: >=0.5.0
gotchaSeeded generation may change between minor versions; do not rely on exact output for tests across versions.
fix
Pin exact version and regenerate snapshots on upgrades.
affects: *
deprecatedCustom registerFormat for standard formats (email, uuid) is redundant; they are built-in since v0.5.0.
fix
Use built-in formats directly; registerFormat is only needed for custom formats not in the standard list.
affects: >=0.5.0
gotchaWhen using createGenerator(), successive calls use auto-incrementing seeds; do not re-seed within the same generator instance.
fix
If you need the same output repeatedly, create a new generator with the same seed each time.
affects: >=0.6.0
Errors
Common errors & fixes
TypeError: generate is not a function
Using default import instead of named import.
fix
Use import { generate } from 'json-schema-faker'
Error: generate(...) returned a Promise, not a value
Missing await before generate() call.
fix
Add await: const data = await generate(schema);
SyntaxError: Cannot use import statement outside a module
Using ESM import in a CommonJS script without type:module.
fix
Add type:module to package.json or use dynamic import: const { generate } = await import('json-schema-faker');
Error: Cannot find module 'json-schema-faker'
Package not installed.
fix
Run npm install json-schema-faker
Upgrade
Version history
0.6.2latest on npm
Audit
Dependencies

No dependency data recorded yet.

Agent activity
8 hits · last 30 days
node
8
Resources
json-schema-faker — npm install json-schema-faker · libregistry