Nuxt
unplugin-kubb/nuxt runs Kubb as a Nuxt module. It works with Nuxt 3 and Nuxt 4. The module registers Kubb as both a Vite plugin and a webpack plugin, so Nuxt picks the right one for its active builder.
Install
shell
bun add -d unplugin-kubb@betashell
pnpm add -D unplugin-kubb@betashell
npm install --save-dev unplugin-kubb@betashell
yarn add -D unplugin-kubb@betaConfigure
Pass your Kubb config as the second element of the module tuple. Nuxt auto-imports defineNuxtConfig, so you do not import it.
typescript
import { defineConfig } from 'kubb'
import { pluginTs } from '@kubb/plugin-ts'
const config = defineConfig({
root: '.',
input: { path: './petStore.yaml' },
output: { path: './src/gen', clean: true },
plugins: [pluginTs({ output: { path: 'models' } })],
})
export default defineNuxtConfig({
modules: [['unplugin-kubb/nuxt', { config }]],
})NOTE
With the default Vite builder, generation runs during nuxt build only, not during nuxt dev. Run kubb generate before you start the dev server.