Migration: @kubb/plugin-cypress
Part of the v4 → v5 migration guide. For the full option reference, see @kubb/plugin-cypress.
resolver.resolveName replaces transformers.name.
Removed: paramsType, pathParamsType, paramsCasing
These three options are gone. Each request helper now takes a single grouped options object shaped as { body, path, query, headers } with camelCase property names. The request still sends the original parameter names from the spec, and Kubb writes that mapping for you.
pluginCypress({
paramsType: 'object',
pathParamsType: 'object',
paramsCasing: 'camelcase',
})The helper signature changes from positional arguments to one object. The first argument is typed XxxRequestConfig, the RequestConfig type @kubb/plugin-ts generates. When an operation has a required parameter in a group, that group (path, query, or headers) is required too. The trailing options argument is unchanged.
showPetById(2, { limit: 10 })
showPetById({ path: { petId: 2 }, query: { limit: 10 } })export function showPetById(petId: number, query?: ShowPetByIdQueryParams, options = {}) {}
export function showPetById({ path, query }: ShowPetByIdRequestConfig, options = {}) {}Removed: dataReturnType
dataReturnType is gone. Every helper now yields the response body, typed Cypress.Chainable<T>, so the 'data' and 'full' choice no longer applies.
pluginCypress({
dataReturnType: 'data',
})baseURL stays the same, and exclude, include, and override keep their v4 shape. Cypress has no validator option, unlike the client plugins.
Generated output
Two things change. HTTP method constants are now uppercase ('post' becomes 'POST'), and imports follow the new *Data / *Response naming.
import type { AddPetMutationRequest, AddPetMutationResponse } from '../../models/AddPet.ts'
export function addPet(data: AddPetMutationRequest): Cypress.Chainable<AddPetMutationResponse> {
return cy.request<AddPetMutationResponse>({
method: 'post',
url: 'http://localhost:3000/pet',
import type { AddPetData, AddPetResponse } from '../../models.ts'
export function addPet(data: AddPetData): Cypress.Chainable<AddPetResponse> {
return cy.request<AddPetResponse>({
method: 'POST',
url: `http://localhost:3000/pet`,