@kubb/swagger-zodios 🦙 ​
With the Swagger zodios plugin you can use zodios to validate your schema's based on a Swagger file.
Installation ​
shell
bun add @kubb/swagger-zodios @kubb/swagger-zod @kubb/swagger
shell
pnpm add @kubb/swagger-zodios @kubb/swagger-zod @kubb/swagger
shell
npm install @kubb/swagger-zodios @kubb/swagger-zod @kubb/swagger
shell
yarn add @kubb/swagger-zodios @kubb/swagger-zod @kubb/swagger
Options ​
output ​
output.path ​
Output to save the zodios instance.
Output should be a file(ending with .ts or .js).
INFO
Type: string
Default: 'zodios.ts'
typescript
import { pluginZodios } from '@kubb/swagger-zodios'
const plugin = pluginZodios({
output: {
path: './zodios.ts',
},
})
output.exportAs ​
Name to be used for the export * as from './'
INFO
Type: string
typescript
import { pluginZodios } from '@kubb/swagger-zodios'
const plugin = pluginZodios({
output: {
path: './zodios.ts',
exportAs: 'zodios',
},
})
output.extName ​
Add an extension to the generated imports and exports, default it will not use an extension
INFO
Type: string
typescript
import { pluginZodios } from '@kubb/swagger-zodios'
const plugin = pluginZodios({
output: {
path: './zodios.ts',
extName: '.js',
},
})
output.exportType ​
Define what needs to exported, here you can also disable the export of barrel files
INFO
Type: 'barrel' | 'barrelNamed' | false
typescript
import { pluginZodios } from '@kubb/swagger-zodios'
const plugin = pluginZodios({
output: {
path: './zodios.ts',
exportType: 'barrel',
},
})
Example ​
typescript
import { defineConfig } from '@kubb/core'
import { pluginOas } from '@kubb/plugin-oas'
import { pluginZod } from '@kubb/swagger-zod'
import { pluginZodios } from '@kubb/swagger-zodios'
export default defineConfig({
input: {
path: './petStore.yaml',
},
output: {
path: './src/gen',
},
plugins: [
pluginOas(),
pluginZod(),
pluginZodios({
output: {
path: './zodios.ts',
},
}),
],
})