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

@kubb/plugin-ts

Generates TypeScript types and interfaces from your OpenAPI spec, the typed foundation the other Kubb plugins build on.

typescripttypesinterfacescodegenopenapi
Downloads
709k / mo
Stars
5
Bundle size
586.4 kB
Updated
today

@kubb/plugin-ts

@kubb/plugin-ts turns your OpenAPI schemas into TypeScript types and interfaces. Most other Kubb plugins build on it. Clients, query hooks, mocks, and validators reuse the names it generates. That way every request, response, parameter, and enum is checked at compile time.

Installation

shell
bun add -d @kubb/plugin-ts@beta
shell
pnpm add -D @kubb/plugin-ts@beta
shell
npm install --save-dev @kubb/plugin-ts@beta
shell
yarn add -D @kubb/plugin-ts@beta

Dependencies

@kubb/plugin-ts has no plugin dependencies. It reads the OpenAPI spec through @kubb/adapter-oas and produces the type names every other plugin reuses, 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' },
      exclude: [{ type: 'tag', pattern: 'store' }],
      group: { type: 'tag' },
      enum: { type: 'asConst' },
      optionalType: 'questionTokenAndUndefined',
    }),
  ],
})

See also