@kubb/plugin-msw
@kubb/plugin-msw turns your OpenAPI spec into MSW request handlers you drop into a test setup or a service worker to mock the API. Each handler matches the spec's path, method, status, and response body.
By default a handler returns an empty typed payload you fill in from tests. Set parser: 'faker' to return generated data from @kubb/plugin-faker instead.
Installation
shell
bun add -d @kubb/plugin-msw@betashell
pnpm add -D @kubb/plugin-msw@betashell
npm install --save-dev @kubb/plugin-msw@betashell
yarn add -D @kubb/plugin-msw@betaDependencies
This plugin always depends on @kubb/plugin-ts, so keep pluginTs() in the plugins array.
It depends on @kubb/plugin-faker only when you set parser: 'faker'. The default parser: 'data' doesn't need Faker.
Example
typescript
import { defineConfig } from 'kubb'
import { pluginTs } from '@kubb/plugin-ts'
import { pluginMsw } from '@kubb/plugin-msw'
export default defineConfig({
input: './petStore.yaml',
output: { path: './src/gen' },
plugins: [
pluginTs(),
pluginMsw({
output: { path: './mocks', mode: 'directory' },
group: {
type: 'tag',
name: ({ group }) => `${group}Service`,
},
handlers: true,
}),
],
})