openapi-to-k6 options
Every configuration option of @spartaficial/openapi-to-k6: 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 k6 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.
| Option | Type | Default | In defaults | Description |
|---|---|---|---|---|
input | string | required | no | Input OpenAPI specification file path (YAML or JSON) |
outputClient | string | required | no | Output client file path for generated K6 client (passthrough layer) |
outputTypes | string | required | no | Output file path for generated types |
basePath | string | — | yes | Base path to prepend to all API endpoints |
batchSize | number > 0 | 10 | yes | Batch size for parallel execution |
defaultNullable | boolean | false | yes | Treat all properties as nullable by default when not explicitly specified |
enumFormat | "enum" | "union" | "const-object" | "union" | yes | Format for the enums in the generated types file |
fileHeader | string[] | — | yes | Custom comment lines to add at the very top of generated files |
ignoreHeaders | string[] | — | yes | Header parameters to ignore during generation |
includeDescriptions | boolean | true | yes | Whether to include JSDoc comments with descriptions |
name | string | — | no | A label for this specification entry |
operationFilters | object | — | yes | Operation filtering options (see the table below) |
outputService | string | — | no | Output service file path for generated K6 service (validation layer) |
preferredContentTypes | string[] | ["application/json"] | yes | Preferred content types for request/response handling, in order of priority |
prefix | string | — | yes | Prefix to add to all generated type/schema names |
refMappings | Record<string, string> | — | yes | Redirect remote $ref documents to local files, keyed by URL prefix |
showStats | boolean | true | yes | Whether to show generation statistics |
showWarnings | boolean | true | yes | Enable or disable warning messages during generation |
stripPathPrefix | string | — | yes | Strip a common prefix from all paths before processing |
stripSchemaPrefix | string | string[] | — | yes | Strip a common prefix from all schema names before processing |
suffix | string | — | yes | Suffix to add to generated type/schema names |
useOperationId | boolean | false | yes | Whether to use operationId from OpenAPI spec for generated naming |
operationFilters
Options of the operationFilters object. These are the operation filters every generator shares.
| Option | Type | Default | Description |
|---|---|---|---|
excludeDeprecated | boolean | false | Exclude operations marked as deprecated |
excludeMethods | string[] | — | Exclude operations with one of these HTTP methods |
excludeOperationIds | string[] | — | Exclude operations whose operationId matches one of these patterns |
excludePaths | string[] | — | Exclude operations whose path matches one of these patterns |
excludeTags | string[] | — | Exclude operations that carry any of these tags |
includeMethods | string[] | — | Include only operations with one of these HTTP methods |
includeOperationIds | string[] | — | Include only operations whose operationId matches one of these patterns |
includePaths | string[] | — | Include only operations whose path matches one of these patterns |
includeTags | string[] | — | Include only operations that carry at least one of these tags |
Config file
The generator reads openapi-to-k6.config.ts, openapi-to-k6.config.json or an "openapi-to-k6" key in package.json. Whatever the format, the file has this shape:
import { defineConfig } from "@spartaficial/openapi-to-k6";
export default defineConfig({
// Optional. Any of the 17 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: "k6/api-client.ts", outputTypes: "k6/api-types.ts" }],
// Optional. How several entries are processed: "parallel" or "sequential"; default "parallel"
executionMode: "parallel",
});
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.