Skip to main content

openapi-to-zod-playwright options

Every configuration option of @spartaficial/openapi-to-zod-playwright: its type, its default and where it may be set. This page is generated from the generator's configuration schema, so it cannot drift from the code. For how the options combine, read the Playwright generator guide; for where the options go, read Configuration files; for what the other generators accept, read Option parity.

Spec entry options​

Each entry in specs accepts these options. The 3 required options come first, then the rest alphabetically. The "In defaults" column says whether the option may also be set once, under defaults, for every entry.

OptionTypeDefaultIn defaultsDescription
inputstringrequirednoInput OpenAPI specification file path (YAML or JSON)
outputClientstringrequirednoOutput file path for client class
outputTypesstringrequirednoOutput file path for the generated schemas and types, or for the types alone when outputZodSchemas is set
basePathstring—yesBase path to prepend to all API endpoints
batchSizenumber > 010yesBatch size for parallel execution
cacheSizenumber > 01000yesCache size for pattern regex compilation
customDateTimeFormatRegexstring | RegExp—yesCustom regex pattern for date-time format validation
defaultNullablebooleanfalseyesTreat all properties as nullable by default when not explicitly specified
emptyObjectBehavior"strict" | "loose" | "record""loose"yesBehavior for empty object schemas (objects with no properties defined)
enumFormat"union" | "const-object""const-object"yesFormat for generating enums in TypeScript types (when using outputZodSchemas)
fallbackContentTypeParsing"text" | "json" | "body""text"yesFallback parsing method for unknown or missing content types in service generation
fileHeaderstring[]—yesCustom comment lines to add at the very top of generated files
ignoreHeadersstring[]—yesHeader parameters to ignore during schema and service generation
includeDescriptionsbooleantrueyesInclude JSDoc comments from schema descriptions
mode"strict" | "normal" | "loose""strict"yesObject validation mode
namestring—noA label for this specification entry
operationFiltersobject—yesOperation filtering options (Playwright-specific with status code support) (see the table below)
outputstring—noDeprecated. Former name of outputTypes, accepted for backward compatibility
outputServicestring—noOutput file path for the service class
outputZodSchemasstring—noOutput path for Zod schemas when using separate type/schema files
preferredContentTypesstring[]["application/json"]yesPreferred content types for response handling, in order of priority
prefixstring—yesPrefix to add to all generated type/schema names
refMappingsRecord<string, string>—yesRedirect remote $ref documents to local files, keyed by URL prefix
requestobject—yesRequest-specific options that override the top-level options (see the table below)
responseobject—yesResponse-specific options that override the top-level options (see the table below)
showStatsbooleantrueyesShow generation statistics in output file
showWarningsbooleantrueyesEnable or disable warning messages during generation
stripPathPrefixstring—yesStrip a common prefix from all paths before processing
stripSchemaPrefixstring | string[]—yesStrip a common prefix from all schema names before processing
suffixstring—yesSuffix to add to generated type/schema names
typeAssertionThresholdinteger >= 00yesComplexity threshold for switching to the double assertion (as unknown as) in generated schema declarations (only applies when outputZodSchemas is used)
useDescribebooleanfalseyesWhether to add .describe() calls for better error messages
useOperationIdbooleanfalseyesWhether to use operationId from OpenAPI spec for method names
uuidFormat"uuid" | "guid" | "uuidv1" | "uuidv2" | "uuidv3" | "uuidv4" | "uuidv5" | "uuidv6" | "uuidv7" | "uuidv8""uuid"yesUUID/GUID format for Zod validation
validateServiceRequestbooleanfalseyesWhether to validate request body data with Zod schemas in service methods
zodErrorFormat"standard" | "prettify" | "prettifyWithValues""prettifyWithValues"yesZod error formatting style for validation errors in service methods

operationFilters​

Options of the operationFilters object. This generator adds includeStatusCodes and excludeStatusCodes to the operation filters every generator shares.

OptionTypeDefaultDescription
excludeDeprecatedbooleanfalseExclude operations marked as deprecated
excludeMethodsstring[]—Exclude operations with one of these HTTP methods
excludeOperationIdsstring[]—Exclude operations whose operationId matches one of these patterns
excludePathsstring[]—Exclude operations whose path matches one of these patterns
excludeStatusCodesstring[]—Exclude these status codes from generated response types
excludeTagsstring[]—Exclude operations that carry any of these tags
includeMethodsstring[]—Include only operations with one of these HTTP methods
includeOperationIdsstring[]—Include only operations whose operationId matches one of these patterns
includePathsstring[]—Include only operations whose path matches one of these patterns
includeStatusCodesstring[]—Include only these status codes in generated response types
includeTagsstring[]—Include only operations that carry at least one of these tags

request and response​

The request and response objects accept the same options, each applying to its own side of the exchange.

OptionTypeDefaultDescription
defaultNullablebooleanthe top-level defaultNullableAccepted for symmetry with the top-level option, but not applied: the top-level defaultNullable governs both contexts
emptyObjectBehavior"strict" | "loose" | "record"the top-level emptyObjectBehaviorAccepted for symmetry with the top-level option, but not applied: the top-level emptyObjectBehavior governs both contexts
includeDescriptionsbooleanthe top-level includeDescriptionsWhether to include descriptions as JSDoc comments
mode"strict" | "normal" | "loose"the top-level modeObject validation mode
useDescribebooleanthe top-level useDescribeWhether to add .describe() calls for better error messages

Config file​

The generator reads openapi-to-zod-playwright.config.ts, openapi-to-zod-playwright.config.json or an "openapi-to-zod-playwright" key in package.json. Whatever the format, the file has this shape:

import { defineConfig } from "@spartaficial/openapi-to-zod-playwright";

export default defineConfig({
// Optional. Any of the 29 options marked "yes" above, applied to every entry in specs
defaults: {},
// Required. One entry per specification; an entry's own options override defaults
specs: [{ input: "openapi.yaml", outputClient: "tests/client.ts", outputTypes: "tests/schemas.ts" }],
// Optional. How several entries are processed: "parallel" or "sequential"; default "sequential"
executionMode: "sequential",
});

defaults takes the options marked "yes" in the "In defaults" column; paths and name are always per entry. executionMode only matters when specs has more than one entry.