@kubb/plugin-ts 3.2.0 → 3.3.0

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.
Files changed (73) hide show
  1. package/dist/{chunk-KFZ72XC5.cjs → chunk-2M6PDW4T.cjs} +19 -15
  2. package/dist/chunk-2M6PDW4T.cjs.map +1 -0
  3. package/dist/{chunk-OJLL42LQ.js → chunk-65CJCKDZ.js} +44 -40
  4. package/dist/chunk-65CJCKDZ.js.map +1 -0
  5. package/dist/{chunk-UE4AMVPZ.cjs → chunk-WETJULJE.cjs} +42 -39
  6. package/dist/chunk-WETJULJE.cjs.map +1 -0
  7. package/dist/{chunk-S2CJKQ76.js → chunk-Z7RYCWNL.js} +11 -7
  8. package/dist/chunk-Z7RYCWNL.js.map +1 -0
  9. package/dist/components.cjs +3 -3
  10. package/dist/components.d.cts +3 -2
  11. package/dist/components.d.ts +3 -2
  12. package/dist/components.js +1 -1
  13. package/dist/generators.cjs +4 -4
  14. package/dist/generators.d.cts +1 -1
  15. package/dist/generators.d.ts +1 -1
  16. package/dist/generators.js +2 -2
  17. package/dist/index.cjs +4 -4
  18. package/dist/index.d.cts +1 -1
  19. package/dist/index.d.ts +1 -1
  20. package/dist/index.js +2 -2
  21. package/dist/{types-Dy6NIaQp.d.cts → types-9taMMp9y.d.cts} +6 -0
  22. package/dist/{types-Dy6NIaQp.d.ts → types-9taMMp9y.d.ts} +6 -0
  23. package/package.json +9 -9
  24. package/src/components/Type.tsx +45 -39
  25. package/src/generators/__snapshots__/bodyUploadFileApiAssetsPost.ts +5 -5
  26. package/src/generators/__snapshots__/catTypeAsConst.ts +10 -10
  27. package/src/generators/__snapshots__/createPet.ts +27 -28
  28. package/src/generators/__snapshots__/createPetWithUnknownTypeUnknown.ts +27 -28
  29. package/src/generators/__snapshots__/deletePet.ts +5 -6
  30. package/src/generators/__snapshots__/dogTypeAsConst.ts +10 -10
  31. package/src/generators/__snapshots__/enumAllOf.ts +7 -7
  32. package/src/generators/__snapshots__/enumArray.ts +12 -16
  33. package/src/generators/__snapshots__/enumInObject.ts +10 -10
  34. package/src/generators/__snapshots__/enumItems.ts +5 -5
  35. package/src/generators/__snapshots__/enumNames.ts +3 -3
  36. package/src/generators/__snapshots__/enumNamesConst.ts +3 -3
  37. package/src/generators/__snapshots__/enumNamesLiteral.ts +2 -2
  38. package/src/generators/__snapshots__/enumNamesPascalConst.ts +5 -5
  39. package/src/generators/__snapshots__/enumNamesType.ts +5 -5
  40. package/src/generators/__snapshots__/enumNullableMember.ts +5 -5
  41. package/src/generators/__snapshots__/enumNullableType.ts +5 -5
  42. package/src/generators/__snapshots__/enumString.ts +7 -7
  43. package/src/generators/__snapshots__/enumVarNamesType.ts +5 -5
  44. package/src/generators/__snapshots__/getPets.ts +19 -20
  45. package/src/generators/__snapshots__/mixedValueTypeConst.ts +6 -6
  46. package/src/generators/__snapshots__/nullConstNull.ts +4 -5
  47. package/src/generators/__snapshots__/numberValueConst.ts +6 -6
  48. package/src/generators/__snapshots__/petMapper.ts +14 -14
  49. package/src/generators/__snapshots__/petQuestionToken.ts +18 -19
  50. package/src/generators/__snapshots__/petQuestionTokenAndUndefined.ts +18 -19
  51. package/src/generators/__snapshots__/petUndefined.ts +18 -19
  52. package/src/generators/__snapshots__/pets.ts +13 -13
  53. package/src/generators/__snapshots__/petsInterface.ts +14 -0
  54. package/src/generators/__snapshots__/petsStoreAdvancedDiscriminator.ts +32 -29
  55. package/src/generators/__snapshots__/petsStoreDiscriminator.ts +10 -10
  56. package/src/generators/__snapshots__/petsStoreRef.ts +1 -1
  57. package/src/generators/__snapshots__/plainDateDate.ts +1 -1
  58. package/src/generators/__snapshots__/plainDateString.ts +1 -1
  59. package/src/generators/__snapshots__/plainEmail.ts +1 -1
  60. package/src/generators/__snapshots__/plainFile.ts +1 -1
  61. package/src/generators/__snapshots__/plainTimeDate.ts +1 -1
  62. package/src/generators/__snapshots__/plainUuid.ts +1 -1
  63. package/src/generators/__snapshots__/readOnly.ts +19 -20
  64. package/src/generators/__snapshots__/showPetById.ts +24 -25
  65. package/src/generators/__snapshots__/stringValueConst.ts +6 -6
  66. package/src/generators/typeGenerator.tsx +4 -2
  67. package/src/parser/index.ts +2 -1
  68. package/src/plugin.ts +2 -0
  69. package/src/types.ts +6 -0
  70. package/dist/chunk-KFZ72XC5.cjs.map +0 -1
  71. package/dist/chunk-OJLL42LQ.js.map +0 -1
  72. package/dist/chunk-S2CJKQ76.js.map +0 -1
  73. package/dist/chunk-UE4AMVPZ.cjs.map +0 -1
@@ -1,31 +1,30 @@
1
+ export type ShowPetByIdPathParams = {
2
+ /**
3
+ * @description The id of the pet to retrieve
4
+ * @type string
5
+ */
6
+ petId: string
7
+ /**
8
+ * @description The id of the pet to retrieve
9
+ * @type string
10
+ */
11
+ testId: string
12
+ }
1
13
 
2
- export type ShowPetByIdPathParams = {
3
- /**
4
- * @description The id of the pet to retrieve
5
- * @type string
6
- */
7
- petId: string;
8
- /**
9
- * @description The id of the pet to retrieve
10
- * @type string
11
- */
12
- testId: string;
13
- };
14
-
15
- /**
14
+ /**
16
15
  * @description Expected response to a valid request
17
- */
18
- export type ShowPetById200 = pet;
16
+ */
17
+ export type ShowPetById200 = pet
19
18
 
20
- /**
19
+ /**
21
20
  * @description unexpected error
22
- */
23
- export type ShowPetByIdError = error;
21
+ */
22
+ export type ShowPetByIdError = error
24
23
 
25
- export type ShowPetByIdQueryResponse = showPetById200;
24
+ export type ShowPetByIdQueryResponse = showPetById200
26
25
 
27
- export type showPetByIdQuery = {
28
- Response: showPetById200;
29
- PathParams: showPetByIdPathParams;
30
- Errors: any;
31
- };
26
+ export type showPetByIdQuery = {
27
+ Response: showPetById200
28
+ PathParams: showPetByIdPathParams
29
+ Errors: any
30
+ }
@@ -1,9 +1,9 @@
1
1
  /**
2
2
  * @description its value is equal to the value of the keyword
3
- */
3
+ */
4
4
  export type stringValueConst = {
5
- /**
6
- * @type string | undefined
7
- */
8
- foobar?: "foobar";
9
- };
5
+ /**
6
+ * @type string | undefined
7
+ */
8
+ foobar?: 'foobar'
9
+ }
@@ -104,7 +104,7 @@ function printCombinedSchema({ name, schemas, pluginManager }: { name: string; s
104
104
  export const typeGenerator = createReactGenerator<PluginTs>({
105
105
  name: 'typescript',
106
106
  Operation({ operation, options }) {
107
- const { mapper, enumType, optionalType } = options
107
+ const { mapper, enumType, syntaxType, optionalType } = options
108
108
 
109
109
  const { plugin, pluginManager, mode } = useApp<PluginTs>()
110
110
  const oas = useOas()
@@ -150,6 +150,7 @@ export const typeGenerator = createReactGenerator<PluginTs>({
150
150
  enumType={enumType}
151
151
  optionalType={optionalType}
152
152
  keysToOmit={keysToOmit}
153
+ syntaxType={syntaxType}
153
154
  />
154
155
  </Oas.Schema>
155
156
  )
@@ -166,7 +167,7 @@ export const typeGenerator = createReactGenerator<PluginTs>({
166
167
  )
167
168
  },
168
169
  Schema({ schema, options }) {
169
- const { mapper, enumType, optionalType } = options
170
+ const { mapper, enumType, syntaxType, optionalType } = options
170
171
  const {
171
172
  mode,
172
173
  plugin: {
@@ -198,6 +199,7 @@ export const typeGenerator = createReactGenerator<PluginTs>({
198
199
  mapper={mapper}
199
200
  enumType={enumType}
200
201
  optionalType={optionalType}
202
+ syntaxType={syntaxType}
201
203
  />
202
204
  </File>
203
205
  )
@@ -121,7 +121,7 @@ export const typeKeywordMapper = {
121
121
 
122
122
  type ParserOptions = {
123
123
  name: string
124
- typeName?: string
124
+ typedName?: string
125
125
  description?: string
126
126
  /**
127
127
  * @default `'questionToken'`
@@ -132,6 +132,7 @@ type ParserOptions = {
132
132
  * asPascalConst is deprecated
133
133
  */
134
134
  enumType: 'enum' | 'asConst' | 'asPascalConst' | 'constEnum' | 'literal'
135
+ syntaxType: 'type' | 'interface'
135
136
  keysToOmit?: string[]
136
137
  mapper?: Record<string, ts.PropertySignature>
137
138
  }
package/src/plugin.ts CHANGED
@@ -23,6 +23,7 @@ export const pluginTs = createPlugin<PluginTs>((options) => {
23
23
  dateType = 'string',
24
24
  unknownType = 'any',
25
25
  optionalType = 'questionToken',
26
+ syntaxType = 'type',
26
27
  transformers = {},
27
28
  oasType = false,
28
29
  mapper = {},
@@ -42,6 +43,7 @@ export const pluginTs = createPlugin<PluginTs>((options) => {
42
43
  // keep the used enumnames between SchemaGenerator and OperationGenerator per plugin(pluginKey)
43
44
  usedEnumNames: {},
44
45
  unknownType,
46
+ syntaxType,
45
47
  group,
46
48
  override,
47
49
  mapper,
package/src/types.ts CHANGED
@@ -30,6 +30,11 @@ export type Options = {
30
30
  * asPascalConst is deprecated
31
31
  */
32
32
  enumType?: 'enum' | 'asConst' | 'asPascalConst' | 'constEnum' | 'literal'
33
+ /**
34
+ * Switch between type or interface for creating TypeScript types
35
+ * @default 'type'
36
+ */
37
+ syntaxType?: 'type' | 'interface'
33
38
  /**
34
39
  * Set a suffix for the generated enums.
35
40
  * @default 'enum'
@@ -91,6 +96,7 @@ type ResolvedOptions = {
91
96
  optionalType: NonNullable<Options['optionalType']>
92
97
  transformers: NonNullable<Options['transformers']>
93
98
  oasType: NonNullable<Options['oasType']>
99
+ syntaxType: NonNullable<Options['syntaxType']>
94
100
  usedEnumNames: Record<string, number>
95
101
  mapper: Record<string, any>
96
102
  }
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/generators/index.ts","../src/generators/typeGenerator.tsx","../src/index.ts","../src/plugin.ts","../src/generators/oasGenerator.tsx"],"names":["init_cjs_shims","createPlugin","transformers","pluginOasName","options","path","FileManager","camelCase","pascalCase","PluginManager","SchemaGenerator","OperationGenerator","factory","print","createReactGenerator","useApp","useOas","useOperationManager","useSchemaManager","type","Oas","jsx","File","Type","jsxs","OasType"],"mappings":"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","file":"chunk-KFZ72XC5.cjs","sourcesContent":["export { typeGenerator } from './typeGenerator.tsx'\nexport { oasGenerator } from './oasGenerator.tsx'\n","import type { PluginManager } from '@kubb/core'\nimport transformers from '@kubb/core/transformers'\nimport { print } from '@kubb/parser-ts'\nimport * as factory from '@kubb/parser-ts/factory'\nimport { type OperationSchema as OperationSchemaType, type OperationSchemas, SchemaGenerator, createReactGenerator, schemaKeywords } from '@kubb/plugin-oas'\nimport { Oas } from '@kubb/plugin-oas/components'\nimport { useOas, useOperationManager, useSchemaManager } from '@kubb/plugin-oas/hooks'\nimport { pluginTsName } from '@kubb/plugin-ts'\nimport { File, useApp } from '@kubb/react'\nimport type ts from 'typescript'\nimport { Type } from '../components'\nimport type { PluginTs } from '../types'\n\nfunction printCombinedSchema({ name, schemas, pluginManager }: { name: string; schemas: OperationSchemas; pluginManager: PluginManager }): string {\n const properties: Record<string, ts.TypeNode> = {}\n\n if (schemas.response) {\n properties['response'] = factory.createUnionDeclaration({\n nodes: schemas.responses.map((res) => {\n const identifier = pluginManager.resolveName({\n name: res.name,\n pluginKey: [pluginTsName],\n type: 'function',\n })\n\n return factory.createTypeReferenceNode(factory.createIdentifier(identifier), undefined)\n }),\n })!\n }\n\n if (schemas.request) {\n const identifier = pluginManager.resolveName({\n name: schemas.request.name,\n pluginKey: [pluginTsName],\n type: 'function',\n })\n properties['request'] = factory.createTypeReferenceNode(factory.createIdentifier(identifier), undefined)\n }\n\n if (schemas.pathParams) {\n const identifier = pluginManager.resolveName({\n name: schemas.pathParams.name,\n pluginKey: [pluginTsName],\n type: 'function',\n })\n properties['pathParams'] = factory.createTypeReferenceNode(factory.createIdentifier(identifier), undefined)\n }\n\n if (schemas.queryParams) {\n const identifier = pluginManager.resolveName({\n name: schemas.queryParams.name,\n pluginKey: [pluginTsName],\n type: 'function',\n })\n properties['queryParams'] = factory.createTypeReferenceNode(factory.createIdentifier(identifier), undefined)\n }\n\n if (schemas.headerParams) {\n const identifier = pluginManager.resolveName({\n name: schemas.headerParams.name,\n pluginKey: [pluginTsName],\n type: 'function',\n })\n properties['headerParams'] = factory.createTypeReferenceNode(factory.createIdentifier(identifier), undefined)\n }\n\n if (schemas.errors) {\n properties['errors'] = factory.createUnionDeclaration({\n nodes: schemas.errors.map((error) => {\n const identifier = pluginManager.resolveName({\n name: error.name,\n pluginKey: [pluginTsName],\n type: 'function',\n })\n\n return factory.createTypeReferenceNode(factory.createIdentifier(identifier), undefined)\n }),\n })!\n }\n\n const namespaceNode = factory.createTypeAliasDeclaration({\n name,\n type: factory.createTypeLiteralNode(\n Object.keys(properties)\n .map((key) => {\n const type = properties[key]\n if (!type) {\n return undefined\n }\n\n return factory.createPropertySignature({\n name: transformers.pascalCase(key),\n type,\n })\n })\n .filter(Boolean),\n ),\n modifiers: [factory.modifiers.export],\n })\n\n return print([namespaceNode])\n}\n\nexport const typeGenerator = createReactGenerator<PluginTs>({\n name: 'typescript',\n Operation({ operation, options }) {\n const { mapper, enumType, optionalType } = options\n\n const { plugin, pluginManager, mode } = useApp<PluginTs>()\n const oas = useOas()\n const { getSchemas, getFile, getName, getGroup } = useOperationManager()\n const schemaManager = useSchemaManager()\n\n const file = getFile(operation)\n const schemas = getSchemas(operation)\n const type = getName(operation, { type: 'function', pluginKey: [pluginTsName] })\n const combinedSchemaName = operation.method === 'get' ? `${type}Query` : `${type}Mutation`\n const schemaGenerator = new SchemaGenerator(options, {\n oas,\n plugin,\n pluginManager,\n mode,\n override: options.override,\n })\n\n const operationSchemas = [schemas.pathParams, schemas.queryParams, schemas.headerParams, schemas.statusCodes, schemas.request, schemas.response]\n .flat()\n .filter(Boolean)\n\n const mapOperationSchema = ({ name, schema, description, keysToOmit, ...options }: OperationSchemaType, i: number) => {\n const tree = schemaGenerator.parse({ schema, name })\n const imports = schemaManager.getImports(tree)\n const group = options.operation ? getGroup(options.operation, plugin.options.group) : undefined\n\n const type = {\n name: schemaManager.getName(name, { type: 'type' }),\n typedName: schemaManager.getName(name, { type: 'type' }),\n file: schemaManager.getFile(options.operationName || name, { group }),\n }\n\n return (\n <Oas.Schema key={i} name={name} value={schema} tree={tree}>\n {mode === 'split' && imports.map((imp, index) => <File.Import key={index} root={file.path} path={imp.path} name={imp.name} isTypeOnly />)}\n <Type\n name={type.name}\n typedName={type.typedName}\n description={description}\n tree={tree}\n mapper={mapper}\n enumType={enumType}\n optionalType={optionalType}\n keysToOmit={keysToOmit}\n />\n </Oas.Schema>\n )\n }\n\n return (\n <File baseName={file.baseName} path={file.path} meta={file.meta} banner={plugin.options.output?.banner} footer={plugin.options.output?.footer}>\n {operationSchemas.map(mapOperationSchema)}\n\n <File.Source name={combinedSchemaName} isExportable isIndexable isTypeOnly>\n {printCombinedSchema({ name: combinedSchemaName, schemas, pluginManager })}\n </File.Source>\n </File>\n )\n },\n Schema({ schema, options }) {\n const { mapper, enumType, optionalType } = options\n const {\n mode,\n plugin: {\n options: { output },\n },\n } = useApp<PluginTs>()\n\n const { getName, getImports, getFile } = useSchemaManager()\n const imports = getImports(schema.tree)\n\n if (enumType === 'asPascalConst') {\n console.warn(`enumType '${enumType}' is deprecated`)\n }\n\n const type = {\n name: getName(schema.name, { type: 'function' }),\n typedName: getName(schema.name, { type: 'type' }),\n file: getFile(schema.name),\n }\n\n return (\n <File baseName={type.file.baseName} path={type.file.path} meta={type.file.meta} banner={output?.banner} footer={output?.footer}>\n {mode === 'split' && imports.map((imp, index) => <File.Import key={index} root={type.file.path} path={imp.path} name={imp.name} isTypeOnly />)}\n <Type\n name={type.name}\n typedName={type.typedName}\n description={schema.value.description}\n tree={schema.tree}\n mapper={mapper}\n enumType={enumType}\n optionalType={optionalType}\n />\n </File>\n )\n },\n})\n","export { pluginTs, pluginTsName } from './plugin.ts'\nexport type { PluginTs } from './types.ts'\n","import path from 'node:path'\n\nimport { FileManager, type Group, PluginManager, createPlugin } from '@kubb/core'\nimport { camelCase, pascalCase } from '@kubb/core/transformers'\nimport { OperationGenerator, SchemaGenerator, pluginOasName } from '@kubb/plugin-oas'\n\nimport type { Plugin } from '@kubb/core'\nimport type { PluginOas as SwaggerPluginOptions } from '@kubb/plugin-oas'\nimport { oasGenerator, typeGenerator } from './generators'\nimport type { PluginTs } from './types.ts'\n\nexport const pluginTsName = 'plugin-ts' satisfies PluginTs['name']\n\nexport const pluginTs = createPlugin<PluginTs>((options) => {\n const {\n output = { path: 'types', barrelType: 'named' },\n group,\n exclude = [],\n include,\n override = [],\n enumType = 'asConst',\n enumSuffix = 'enum',\n dateType = 'string',\n unknownType = 'any',\n optionalType = 'questionToken',\n transformers = {},\n oasType = false,\n mapper = {},\n generators = [typeGenerator, oasType === 'infer' ? oasGenerator : undefined].filter(Boolean),\n } = options\n\n return {\n name: pluginTsName,\n options: {\n output,\n transformers,\n dateType,\n optionalType,\n oasType,\n enumType,\n enumSuffix,\n // keep the used enumnames between SchemaGenerator and OperationGenerator per plugin(pluginKey)\n usedEnumNames: {},\n unknownType,\n group,\n override,\n mapper,\n },\n pre: [pluginOasName],\n resolvePath(baseName, pathMode, options) {\n const root = path.resolve(this.config.root, this.config.output.path)\n const mode = pathMode ?? FileManager.getMode(path.resolve(root, output.path))\n\n if (mode === 'single') {\n /**\n * when output is a file then we will always append to the same file(output file), see fileManager.addOrAppend\n * Other plugins then need to call addOrAppend instead of just add from the fileManager class\n */\n return path.resolve(root, output.path)\n }\n\n if (options?.group && group) {\n const groupName: Group['name'] = group?.name\n ? group.name\n : (ctx) => {\n if (group?.type === 'path') {\n return `${ctx.group.split('/')[1]}`\n }\n return `${camelCase(ctx.group)}Controller`\n }\n\n return path.resolve(root, output.path, groupName({ group: options.group }), baseName)\n }\n\n return path.resolve(root, output.path, baseName)\n },\n resolveName(name, type) {\n const resolvedName = pascalCase(name, { isFile: type === 'file' })\n\n if (type) {\n return transformers?.name?.(resolvedName, type) || resolvedName\n }\n\n return resolvedName\n },\n async buildStart() {\n const [swaggerPlugin]: [Plugin<SwaggerPluginOptions>] = PluginManager.getDependedPlugins<SwaggerPluginOptions>(this.plugins, [pluginOasName])\n\n const oas = await swaggerPlugin.context.getOas()\n const root = path.resolve(this.config.root, this.config.output.path)\n const mode = FileManager.getMode(path.resolve(root, output.path))\n\n const schemaGenerator = new SchemaGenerator(this.plugin.options, {\n oas,\n pluginManager: this.pluginManager,\n plugin: this.plugin,\n contentType: swaggerPlugin.context.contentType,\n include: undefined,\n override,\n mode,\n output: output.path,\n })\n\n const schemaFiles = await schemaGenerator.build(...generators)\n await this.addFile(...schemaFiles)\n\n const operationGenerator = new OperationGenerator(this.plugin.options, {\n oas,\n pluginManager: this.pluginManager,\n plugin: this.plugin,\n contentType: swaggerPlugin.context.contentType,\n exclude,\n include,\n override,\n mode,\n })\n\n const operationFiles = await operationGenerator.build(...generators)\n await this.addFile(...operationFiles)\n\n const barrelFiles = await this.fileManager.getBarrelFiles({\n type: output.barrelType ?? 'named',\n root,\n output,\n files: this.fileManager.files,\n meta: {\n pluginKey: this.plugin.key,\n },\n logger: this.logger,\n })\n\n await this.addFile(...barrelFiles)\n },\n }\n})\n","import { createReactGenerator } from '@kubb/plugin-oas'\nimport { useOas } from '@kubb/plugin-oas/hooks'\nimport { File, useApp } from '@kubb/react'\nimport { OasType } from '../components'\nimport type { PluginTs } from '../types.ts'\n\nexport const oasGenerator = createReactGenerator<PluginTs>({\n name: 'oas',\n Operations() {\n const {\n pluginManager,\n plugin: {\n options: { output },\n key: pluginKey,\n },\n } = useApp<PluginTs>()\n const oas = useOas()\n\n const file = pluginManager.getFile({ name: 'oas', extname: '.ts', pluginKey })\n\n return (\n <File baseName={file.baseName} path={file.path} meta={file.meta} banner={output?.banner} footer={output?.footer}>\n <File.Import name={['Infer']} path=\"@kubb/oas\" isTypeOnly />\n\n <OasType name={'oas'} typeName={'Oas'} api={oas.api} />\n </File>\n )\n },\n})\n"]}