Open Studio
Officialv5.0.2MITkubb >=5.0.0node >=22

@kubb/plugin-ts

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

typescripttypesinterfacescodegenopenapi
Stijn Van Hulle

Stijn Van Hulle

@stijnvanhulle

Downloads
1.1M/ mo
Stars
8
Bundle size
593.4 kB
Updated
3w ago

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

Dependencies ​

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

See also ​