Open Studio
Officialv5.0.4MITkubb >=5.0.0node >=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
Stijn Van Hulle

Stijn Van Hulle

@stijnvanhulle

Downloads
235k/ mo
Stars
8
Bundle size
161.3 kB
Updated
2w ago

@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
shell
pnpm add -D @kubb/plugin-msw
shell
npm install --save-dev @kubb/plugin-msw
shell
yarn add -D @kubb/plugin-msw

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'. The default parser: 'data' doesn't need Faker.

Important

The generated handlers need MSW v2 or higher.

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,
    }),
  ],
})

See also ​