@kubb/plugin-ts 3.0.14 → 3.2.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.
@@ -1,4 +1,4 @@
1
- import { init_esm_shims, Type, OasType } from './chunk-PVC2RYSR.js';
1
+ import { init_esm_shims, Type, OasType } from './chunk-OJLL42LQ.js';
2
2
  import transformers, { camelCase, pascalCase } from '@kubb/core/transformers';
3
3
  import { print } from '@kubb/parser-ts';
4
4
  import * as factory from '@kubb/parser-ts/factory';
@@ -52,6 +52,7 @@ var pluginTs = createPlugin((options) => {
52
52
  // keep the used enumnames between SchemaGenerator and OperationGenerator per plugin(pluginKey)
53
53
  usedEnumNames: {},
54
54
  unknownType,
55
+ group,
55
56
  override,
56
57
  mapper
57
58
  },
@@ -59,13 +60,18 @@ var pluginTs = createPlugin((options) => {
59
60
  resolvePath(baseName, pathMode, options2) {
60
61
  const root = path.resolve(this.config.root, this.config.output.path);
61
62
  const mode = pathMode ?? FileManager.getMode(path.resolve(root, output.path));
62
- if (options2?.tag && group?.type === "tag") {
63
- const groupName = group?.name ? group.name : (ctx) => `${ctx.group}Controller`;
64
- return path.resolve(root, output.path, groupName({ group: camelCase(options2.tag) }), baseName);
65
- }
66
63
  if (mode === "single") {
67
64
  return path.resolve(root, output.path);
68
65
  }
66
+ if (options2?.group && group) {
67
+ const groupName = group?.name ? group.name : (ctx) => {
68
+ if (group?.type === "path") {
69
+ return `${ctx.group.split("/")[1]}`;
70
+ }
71
+ return `${camelCase(ctx.group)}Controller`;
72
+ };
73
+ return path.resolve(root, output.path, groupName({ group: options2.group }), baseName);
74
+ }
69
75
  return path.resolve(root, output.path, baseName);
70
76
  },
71
77
  resolveName(name, type) {
@@ -200,7 +206,7 @@ var typeGenerator = createReactGenerator({
200
206
  const { mapper, enumType, optionalType } = options;
201
207
  const { plugin, pluginManager, mode } = useApp();
202
208
  const oas = useOas();
203
- const { getSchemas, getFile, getName } = useOperationManager();
209
+ const { getSchemas, getFile, getName, getGroup } = useOperationManager();
204
210
  const schemaManager = useSchemaManager();
205
211
  const file = getFile(operation);
206
212
  const schemas = getSchemas(operation);
@@ -217,10 +223,11 @@ var typeGenerator = createReactGenerator({
217
223
  const mapOperationSchema = ({ name, schema, description, keysToOmit, ...options2 }, i) => {
218
224
  const tree = schemaGenerator.parse({ schema, name });
219
225
  const imports = schemaManager.getImports(tree);
226
+ const group = options2.operation ? getGroup(options2.operation, plugin.options.group) : void 0;
220
227
  const type2 = {
221
228
  name: schemaManager.getName(name, { type: "type" }),
222
229
  typedName: schemaManager.getName(name, { type: "type" }),
223
- file: schemaManager.getFile(options2.operationName || name, { tag: options2.operation?.getTags()[0]?.name })
230
+ file: schemaManager.getFile(options2.operationName || name, { group })
224
231
  };
225
232
  return /* @__PURE__ */ jsxs(Oas.Schema, { name, value: schema, tree, children: [
226
233
  mode === "split" && imports.map((imp, index) => /* @__PURE__ */ jsx(File.Import, { root: file.path, path: imp.path, name: imp.name, isTypeOnly: true }, index)),
@@ -302,5 +309,5 @@ var oasGenerator = createReactGenerator({
302
309
  });
303
310
 
304
311
  export { oasGenerator, pluginTs, pluginTsName, typeGenerator };
305
- //# sourceMappingURL=chunk-NI3HYW4D.js.map
306
- //# sourceMappingURL=chunk-NI3HYW4D.js.map
312
+ //# sourceMappingURL=chunk-S2CJKQ76.js.map
313
+ //# sourceMappingURL=chunk-S2CJKQ76.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/generators/index.ts","../src/generators/typeGenerator.tsx","../src/index.ts","../src/plugin.ts","../src/generators/oasGenerator.tsx"],"names":["transformers","options","SchemaGenerator","type","createReactGenerator","useApp","useOas","jsxs","File","jsx"],"mappings":"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","file":"chunk-S2CJKQ76.js","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"]}
@@ -59,9 +59,9 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
59
59
  mod
60
60
  ));
61
61
 
62
- // ../../node_modules/.pnpm/tsup@8.3.5_@microsoft+api-extractor@7.48.0_@types+node@20.17.9__@swc+core@1.7.22_jiti@2.4.0_p_o6ucrqtqfvhds6uapvsrcokpru/node_modules/tsup/assets/cjs_shims.js
62
+ // ../../node_modules/.pnpm/tsup@8.3.5_@microsoft+api-extractor@7.48.0_@types+node@20.17.10__@swc+core@1.7.22_jiti@2.4.1__hkerfy4gjupxun6rli2ifyvj2q/node_modules/tsup/assets/cjs_shims.js
63
63
  var init_cjs_shims = __esm({
64
- "../../node_modules/.pnpm/tsup@8.3.5_@microsoft+api-extractor@7.48.0_@types+node@20.17.9__@swc+core@1.7.22_jiti@2.4.0_p_o6ucrqtqfvhds6uapvsrcokpru/node_modules/tsup/assets/cjs_shims.js"() {
64
+ "../../node_modules/.pnpm/tsup@8.3.5_@microsoft+api-extractor@7.48.0_@types+node@20.17.10__@swc+core@1.7.22_jiti@2.4.1__hkerfy4gjupxun6rli2ifyvj2q/node_modules/tsup/assets/cjs_shims.js"() {
65
65
  }
66
66
  });
67
67
 
@@ -2562,5 +2562,5 @@ react/cjs/react.development.js:
2562
2562
  exports.OasType = OasType;
2563
2563
  exports.Type = Type2;
2564
2564
  exports.init_cjs_shims = init_cjs_shims;
2565
- //# sourceMappingURL=chunk-NK52ZAG6.cjs.map
2566
- //# sourceMappingURL=chunk-NK52ZAG6.cjs.map
2565
+ //# sourceMappingURL=chunk-UE4AMVPZ.cjs.map
2566
+ //# sourceMappingURL=chunk-UE4AMVPZ.cjs.map