Registry / testing / graphql-codegen-typescript-mock-data

graphql-codegen-typescript-mock-data

JSON →
library5.1.1jsnpmunverified

A GraphQL Codegen plugin that generates TypeScript mock data factories based on your GraphQL schema. Current stable version is 5.1.1, requires Node >=18, graphql >=14.6.0, and TypeScript >=5.0.0. The plugin supports custom scalar mappers (casual or faker), circular relationship termination, enum value transformation, and includes/excludes filters for specific types. It integrates with the GraphQL Code Generator pipeline to produce type-safe, realistic fake data for testing and development. Compared to alternatives like graphql-faker or msw's data generation, this plugin generates compile-time validated mock objects directly from schema types with TypeScript type inference.

npm install graphql-codegen-typescript-mock-data
INSTALL
IMPORT
SIG · GRAPHQL-CODEGEN-TY
G
graphql-codegen-typescript-mock-data
testingjavascriptv5.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.

default
import plugin from 'graphql-codegen-typescript-mock-data'
const plugin = require('graphql-codegen-typescript-mock-data')
The plugin is exported as a function; use default import for codegen config. CommonJS require works in some setups but ESM is preferred.
Config
import type { Config } from 'graphql-codegen-typescript-mock-data'
import { Config } from 'graphql-codegen-typescript-mock-data'
Config is only a type, not a runtime value. Use import type to avoid bundling.
generateMockData
import { generateMockData } from 'graphql-codegen-typescript-mock-data'
import generateMockData from 'graphql-codegen-typescript-mock-data'
generateMockData is a named export (the generated factory), not default. Commonly mistaken for default export.

Example GraphQL Codegen configuration using the mock data plugin with custom scalar mapping for DateTime, adding __typename, and generating 2 elements per list.

// codegen.ts import type { CodegenConfig } from '@graphql-codegen/cli'; import * as process from 'process'; const config: CodegenConfig = { schema: './src/schema.graphql', generates: { './src/generated/mocks.ts': { plugins: ['typescript-mock-data'], config: { typesFile: './src/generated/types.ts', addTypename: true, listElementCount: 2, scalars: { DateTime: { generator: 'date', arguments: { format: 'YYYY-MM-DD' }, }, }, }, }, }, }; export default config;
Debug
Known issues
breakingIn v5, the plugin dropped support for Node <18 and TypeScript <5.
fix
Upgrade Node to >=18 and TypeScript to >=5.0.0 before upgrading.
affects: >=5.0.0
deprecatedThe 'avoidOptionals' configuration option is deprecated and will be removed in v6.
fix
Use 'maybeValue' with explicit undefined handling instead.
affects: >=4.0.0 <6.0.0
gotchaCircular relationships cause infinite recursion if terminateCircularRelationships is not set to true.
fix
Set terminateCircularRelationships: true in config to prevent stack overflow.
affects: all
breakingThe default prefix changed from 'an' to 'a' for consonants and 'an' for vowels in v3.
fix
Set prefix: 'an' explicitly if you need the old behavior.
affects: >=3.0.0
Errors
Common errors & fixes
Error: Cannot find module 'graphql-codegen-typescript-mock-data'
Package not installed or not found in node_modules.
fix
Run 'yarn add -D graphql-codegen-typescript-mock-data' or 'npm install --save-dev graphql-codegen-typescript-mock-data'.
TypeError: (0 , graphqlCodegenTypescriptMockData.default) is not a function
Incorrect import style in codegen config (using named import instead of default).
fix
Use 'import plugin from 'graphql-codegen-typescript-mock-data'' or require it with .default.
Error: GraphQL Code Generator: Plugin 'typescript-mock-data' requires 'typesFile' config option
Missing required 'typesFile' configuration pointing to the generated TypeScript types.
fix
Add typesFile: './src/generated/types.ts' (or your types path) to the plugin config.
Error: Cannot use import statement outside a module
Using ESM import in a CommonJS project without proper configuration.
fix
Add 'type': 'module' to package.json or use 'require('graphql-codegen-typescript-mock-data').default'.
Upgrade
Version history
5.1.1latest on npm
Audit
Dependencies
graphqlrequiredPeer dependency - required to parse GraphQL schema and types for code generation.
typescriptrequiredPeer dependency - required for TypeScript output, version >=5.0 needed for certain features.
casualoptionalOptional dependency for generating random data (if using casual-based scalar mocks).
fakeroptionalOptional dependency for generating random data (if using faker-based scalar mocks).
Agent activity
4 hits · last 30 days
node
4
Resources
graphql-codegen-typescript-mock-data — npm install graphql-codegen-typescript-mock-data · libregistry