@kubb/plugin-ts
@kubb/plugin-ts turns your OpenAPI schemas into TypeScript types and interfaces that other Kubb plugins build on. Clients, query hooks, mocks, and validators reuse the names it generates, so every request, response, parameter, and enum is checked at compile time.
Installation
shell
bun add -d @kubb/plugin-ts@betashell
pnpm add -D @kubb/plugin-ts@betashell
npm install --save-dev @kubb/plugin-ts@betashell
yarn add -D @kubb/plugin-ts@betaDependencies
@kubb/plugin-ts has no plugin dependencies. It reads the OpenAPI spec through @kubb/adapter-oas, so add it whenever a client, query, mock, or validator plugin needs typed output.
Example
typescript
import { defineConfig } from 'kubb'
import { pluginTs } from '@kubb/plugin-ts'
export default defineConfig({
input: './petStore.yaml',
output: { path: './src/gen' },
plugins: [
pluginTs({
output: { path: './types', mode: 'directory' },
exclude: [{ type: 'tag', pattern: 'store' }],
group: { type: 'tag' },
enum: { type: 'asConst' },
optionalType: 'questionTokenAndUndefined',
}),
],
})