Beta You're reading the docs for Kubb v5, which is currently in beta. View the stable v4 docs
Skip to content

Options

@kubb/parser-ts takes no options of its own. You add it to the parsers list as-is. To change the extension written into generated imports, set output.extension on defineConfig. The parser reads that map and rewrites each import path.

For example, output.extension: { '.ts': '.js' } turns import { Pet } from './Pet' into import { Pet } from './Pet.js'. Node's ESM resolver expects that .js suffix.

typescript
import { defineConfig } from 'kubb'
import { adapterOas } from '@kubb/adapter-oas'
import { parserTs } from '@kubb/parser-ts'

export default defineConfig({
  input: { path: './petStore.yaml' },
  output: { path: './src/gen', extension: { '.ts': '.js' } },
  adapter: adapterOas(),
  parsers: [parserTs],
  plugins: [],
})
typescript
import type { Pet } from './Pet.js'