@kubb/plugin-ts 5.0.0-beta.27 → 5.0.0-beta.29

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kubb/plugin-ts",
3
- "version": "5.0.0-beta.27",
3
+ "version": "5.0.0-beta.29",
4
4
  "description": "Generate TypeScript types, interfaces, and enums from your OpenAPI specification. The foundational plugin that powers type safety across the entire Kubb ecosystem.",
5
5
  "keywords": [
6
6
  "code-generation",
@@ -46,9 +46,9 @@
46
46
  "registry": "https://registry.npmjs.org/"
47
47
  },
48
48
  "dependencies": {
49
- "@kubb/core": "5.0.0-beta.27",
50
- "@kubb/parser-ts": "5.0.0-beta.27",
51
- "@kubb/renderer-jsx": "5.0.0-beta.27",
49
+ "@kubb/core": "5.0.0-beta.29",
50
+ "@kubb/parser-ts": "5.0.0-beta.29",
51
+ "@kubb/renderer-jsx": "5.0.0-beta.29",
52
52
  "remeda": "^2.34.1",
53
53
  "typescript": "^6.0.3"
54
54
  },
@@ -57,7 +57,7 @@
57
57
  "@internals/utils": "0.0.0"
58
58
  },
59
59
  "peerDependencies": {
60
- "@kubb/renderer-jsx": "5.0.0-beta.27"
60
+ "@kubb/renderer-jsx": "5.0.0-beta.29"
61
61
  },
62
62
  "size-limit": [
63
63
  {
@@ -82,8 +82,8 @@ export const typeGenerator = defineGenerator<PluginTs>({
82
82
  baseName={meta.file.baseName}
83
83
  path={meta.file.path}
84
84
  meta={meta.file.meta}
85
- banner={resolver.resolveBanner(ctx.meta, { output, config })}
86
- footer={resolver.resolveFooter(ctx.meta, { output, config })}
85
+ banner={resolver.resolveBanner(ctx.meta, { output, config, file: { path: meta.file.path, baseName: meta.file.baseName } })}
86
+ footer={resolver.resolveFooter(ctx.meta, { output, config, file: { path: meta.file.path, baseName: meta.file.baseName } })}
87
87
  >
88
88
  {mode === 'split' &&
89
89
  imports.map((imp) => (
@@ -233,9 +233,9 @@ export const typeGenerator = defineGenerator<PluginTs>({
233
233
 
234
234
  const responseTypes = node.responses.map((res) =>
235
235
  renderSchemaType({
236
- schema: res.schema,
236
+ schema: res.content?.[0]?.schema ?? null,
237
237
  name: resolver.resolveResponseStatusName(node, res.statusCode),
238
- keysToOmit: res.keysToOmit,
238
+ keysToOmit: res.content?.[0]?.keysToOmit,
239
239
  }),
240
240
  )
241
241
 
@@ -250,18 +250,18 @@ export const typeGenerator = defineGenerator<PluginTs>({
250
250
  })
251
251
 
252
252
  function buildResponseType() {
253
- if (!node.responses.some((res) => res.schema)) {
253
+ if (!node.responses.some((res) => res.content?.[0]?.schema)) {
254
254
  return null
255
255
  }
256
256
 
257
257
  const responseName = resolver.resolveResponseName(node)
258
258
 
259
- const responsesWithSchema = node.responses.filter((res) => res.schema)
259
+ const responsesWithSchema = node.responses.filter((res) => res.content?.[0]?.schema)
260
260
  const importedNames = new Set(
261
261
  responsesWithSchema.flatMap((res) =>
262
- res.schema
262
+ res.content?.[0]?.schema
263
263
  ? adapter
264
- .getImports(res.schema, (schemaName) => ({
264
+ .getImports(res.content[0].schema, (schemaName) => ({
265
265
  name: resolveImportName(schemaName),
266
266
  path: '',
267
267
  }))
@@ -290,8 +290,8 @@ export const typeGenerator = defineGenerator<PluginTs>({
290
290
  baseName={meta.file.baseName}
291
291
  path={meta.file.path}
292
292
  meta={meta.file.meta}
293
- banner={resolver.resolveBanner(ctx.meta, { output, config })}
294
- footer={resolver.resolveFooter(ctx.meta, { output, config })}
293
+ banner={resolver.resolveBanner(ctx.meta, { output, config, file: { path: meta.file.path, baseName: meta.file.baseName } })}
294
+ footer={resolver.resolveFooter(ctx.meta, { output, config, file: { path: meta.file.path, baseName: meta.file.baseName } })}
295
295
  >
296
296
  {paramTypes}
297
297
  {responseTypes}
package/src/utils.ts CHANGED
@@ -116,7 +116,7 @@ export function buildResponses(node: ast.OperationNode, { resolver }: BuildOpera
116
116
  }
117
117
 
118
118
  export function buildResponseUnion(node: ast.OperationNode, { resolver }: BuildOperationSchemaOptions): ast.SchemaNode | null {
119
- const responsesWithSchema = node.responses.filter((res) => res.schema)
119
+ const responsesWithSchema = node.responses.filter((res) => res.content?.[0]?.schema)
120
120
 
121
121
  if (responsesWithSchema.length === 0) {
122
122
  return null