Skip to content
Official v5.0.0-beta.101 MIT kubb >=5.0.0 node >=22

@kubb/plugin-msw

Generates MSW request handlers from your OpenAPI spec so you can mock the API in tests and during local development.

mswmock-service-workerapi-mockingmockstestingcodegenopenapi
Downloads
127k / mo
Stars
5
Bundle size
148.5 kB
Updated
today

@kubb/plugin-msw

@kubb/plugin-msw turns your OpenAPI spec into MSW request handlers. Drop them 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@beta
shell
pnpm add -D @kubb/plugin-msw@beta
shell
npm install --save-dev @kubb/plugin-msw@beta
shell
yarn add -D @kubb/plugin-msw@beta

Dependencies

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'. With the default parser: 'data', Faker is not needed.

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' },
      group: {
        type: 'tag',
        name: ({ group }) => `${group}Service`,
      },
      handlers: true,
    }),
  ],
})

See also