openapi-class-transformer 1.0.7 → 1.0.9

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.
@@ -17,6 +17,11 @@ export interface GeneratorOptions {
17
17
  * @default false
18
18
  */
19
19
  modelsOnly?: boolean;
20
+ /**
21
+ * Include NestJS Swagger @ApiProperty decorators
22
+ * @default false
23
+ */
24
+ nestJsSwagger?: boolean;
20
25
  /**
21
26
  * Additional OpenAPI Generator properties
22
27
  */
@@ -1 +1 @@
1
- {"version":3,"file":"generator.d.ts","sourceRoot":"","sources":["../src/generator.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB;;OAEG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC/C;AAED,qBAAa,SAAS;IACpB,OAAO,CAAC,OAAO,CAA6B;gBAEhC,OAAO,EAAE,gBAAgB;IAWrC;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAgB7B;;OAEG;IACH,OAAO,CAAC,eAAe;IAUvB;;OAEG;IACG,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CA2FhC"}
1
+ {"version":3,"file":"generator.d.ts","sourceRoot":"","sources":["../src/generator.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB;;OAEG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC/C;AAED,qBAAa,SAAS;IACpB,OAAO,CAAC,OAAO,CAA6B;gBAEhC,OAAO,EAAE,gBAAgB;IAYrC;;OAEG;IACH,OAAO,CAAC,qBAAqB;IA8B7B;;OAEG;IACH,OAAO,CAAC,eAAe;IAUvB;;OAEG;IACG,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CA6FhC"}
package/dist/generator.js CHANGED
@@ -43,6 +43,7 @@ class Generator {
43
43
  this.options = {
44
44
  templateDir: this.getDefaultTemplateDir(),
45
45
  modelsOnly: false,
46
+ nestJsSwagger: false,
46
47
  additionalProperties: {},
47
48
  ...options
48
49
  };
@@ -52,15 +53,29 @@ class Generator {
52
53
  * Get the default template directory (bundled with the package)
53
54
  */
54
55
  getDefaultTemplateDir() {
55
- // In development, templates are in the root
56
- // After build, they should be adjacent to dist
57
- const devPath = path.join(__dirname, '../templates');
58
- const prodPath = path.join(__dirname, '../../templates');
59
- if (fs.existsSync(devPath)) {
60
- return devPath;
56
+ // Try various paths to support different installation scenarios:
57
+ // 1. Development (src/../templates)
58
+ // 2. Production (dist/../templates)
59
+ // 3. pnpm workspace (dist/../../templates)
60
+ // 4. Hoisted node_modules (../../../templates from dist)
61
+ // 5. Global install or npx
62
+ const paths = [
63
+ path.join(__dirname, '../templates'), // Dev
64
+ path.join(__dirname, '../../templates'), // Prod
65
+ path.join(__dirname, '../../../templates'), // pnpm workspace
66
+ path.join(process.cwd(), 'node_modules/openapi-class-transformer/templates') // From cwd
67
+ ];
68
+ // Try require.resolve (may fail in test environments)
69
+ try {
70
+ paths.push(path.join(require.resolve('openapi-class-transformer'), '../../templates'));
71
+ }
72
+ catch {
73
+ // Ignore if require.resolve fails
61
74
  }
62
- if (fs.existsSync(prodPath)) {
63
- return prodPath;
75
+ for (const templatePath of paths) {
76
+ if (fs.existsSync(templatePath)) {
77
+ return templatePath;
78
+ }
64
79
  }
65
80
  throw new Error('Could not find templates directory');
66
81
  }
@@ -91,6 +106,7 @@ class Generator {
91
106
  supportsES6: 'true',
92
107
  useSingleRequestParameter: 'true',
93
108
  withNodeImports: 'true',
109
+ nestJsSwagger: this.options.nestJsSwagger ? 'true' : 'false',
94
110
  ...this.options.additionalProperties
95
111
  };
96
112
  const propsString = Object.entries(additionalProps)
@@ -145,7 +161,7 @@ class Generator {
145
161
  }
146
162
  // Post-process generated files
147
163
  console.log('Post-processing generated files...');
148
- const postProcessor = new post_processor_1.PostProcessor(this.options.inputSpec, this.options.outputDir);
164
+ const postProcessor = new post_processor_1.PostProcessor(this.options.inputSpec, this.options.outputDir, this.options.nestJsSwagger);
149
165
  await postProcessor.process();
150
166
  console.log('Generation complete!');
151
167
  }
@@ -1 +1 @@
1
- {"version":3,"file":"generator.js","sourceRoot":"","sources":["../src/generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../src/generator.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,10 @@
1
1
  export declare class PostProcessor {
2
2
  private openApiSpec;
3
3
  private outputDir;
4
+ private nestJsSwagger;
4
5
  private unionTypeMap;
5
- constructor(specPath: string, outputDir: string);
6
+ private discriminatedUnionMap;
7
+ constructor(specPath: string, outputDir: string, nestJsSwagger?: boolean);
6
8
  /**
7
9
  * Load OpenAPI specification
8
10
  */
@@ -11,6 +13,14 @@ export declare class PostProcessor {
11
13
  * Build a map of properties that should be union types instead of generated classes
12
14
  */
13
15
  private buildUnionTypeMap;
16
+ /**
17
+ * Process a property that might be a union type (oneOf/anyOf)
18
+ */
19
+ private processUnionType;
20
+ /**
21
+ * Extract class names from $ref union types
22
+ */
23
+ private getUnionTypesFromRefs;
14
24
  /**
15
25
  * Convert anyOf array to TypeScript union type if all types are simple
16
26
  */
@@ -35,6 +45,7 @@ export declare class PostProcessor {
35
45
  /**
36
46
  * Fix the main index.ts file to export from models/index.js instead of models.js
37
47
  * Also fix API files that import from models
48
+ * Also re-export Configuration from api.ts for convenience
38
49
  */
39
50
  private fixMainIndex;
40
51
  /**
@@ -49,6 +60,10 @@ export declare class PostProcessor {
49
60
  * Replace generated class types with union types where appropriate
50
61
  */
51
62
  private replaceUnionTypes;
63
+ /**
64
+ * Fix discriminated unions by removing invalid @Type decorators and replacing union type classes
65
+ */
66
+ private fixDiscriminatedUnions;
52
67
  /**
53
68
  * Add vendor extensions to JSDoc comments
54
69
  */
@@ -61,6 +76,10 @@ export declare class PostProcessor {
61
76
  * Get vendor extensions for a specific property
62
77
  */
63
78
  private getVendorExtensionsForProperty;
79
+ /**
80
+ * Remove NestJS Swagger decorators and imports
81
+ */
82
+ private removeNestJsDecorators;
64
83
  /**
65
84
  * Add .js extensions to relative imports
66
85
  */
@@ -1 +1 @@
1
- {"version":3,"file":"post-processor.d.ts","sourceRoot":"","sources":["../src/post-processor.ts"],"names":[],"mappings":"AAGA,qBAAa,aAAa;IACxB,OAAO,CAAC,WAAW,CAAM;IACzB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,YAAY,CAAgF;gBAExF,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;IAO/C;;OAEG;IACH,OAAO,CAAC,QAAQ;IAShB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAoCzB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAuB7B;;OAEG;IACH,OAAO,CAAC,0BAA0B;IAWlC;;OAEG;IACH,OAAO,CAAC,iCAAiC;IAOzC;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAkC9B;;;OAGG;IACH,OAAO,CAAC,0BAA0B;IAmBlC;;;OAGG;IACH,OAAO,CAAC,YAAY;IAiCpB;;OAEG;IACH,OAAO,CAAC,QAAQ;IAqBhB;;OAEG;IACH,OAAO,CAAC,cAAc;IAqBtB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAiDzB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IA6B3B;;OAEG;IACH,OAAO,CAAC,kCAAkC;IA8C1C;;OAEG;IACH,OAAO,CAAC,8BAA8B;IA+BtC;;OAEG;IACH,OAAO,CAAC,mBAAmB;IA2B3B;;OAEG;IACH,OAAO,CAAC,OAAO;IA4Cf;;OAEG;IACH,OAAO,CAAC,WAAW;CAMpB"}
1
+ {"version":3,"file":"post-processor.d.ts","sourceRoot":"","sources":["../src/post-processor.ts"],"names":[],"mappings":"AAGA,qBAAa,aAAa;IACxB,OAAO,CAAC,WAAW,CAAM;IACzB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,aAAa,CAAU;IAC/B,OAAO,CAAC,YAAY,CAAgF;IACpG,OAAO,CAAC,qBAAqB,CAAwG;gBAEzH,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,aAAa,GAAE,OAAe;IAS/E;;OAEG;IACH,OAAO,CAAC,QAAQ;IAShB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAgCzB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAyCxB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAgB7B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAuB7B;;OAEG;IACH,OAAO,CAAC,0BAA0B;IAWlC;;OAEG;IACH,OAAO,CAAC,iCAAiC;IASzC;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IA0C9B;;;OAGG;IACH,OAAO,CAAC,0BAA0B;IAmBlC;;;;OAIG;IACH,OAAO,CAAC,YAAY;IAsDpB;;OAEG;IACH,OAAO,CAAC,QAAQ;IAqBhB;;OAEG;IACH,OAAO,CAAC,cAAc;IAqBtB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAiDzB;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAoF9B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IA6B3B;;OAEG;IACH,OAAO,CAAC,kCAAkC;IA8C1C;;OAEG;IACH,OAAO,CAAC,8BAA8B;IA+CtC;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAU9B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IA2B3B;;OAEG;IACH,OAAO,CAAC,OAAO;IA8Df;;OAEG;IACH,OAAO,CAAC,WAAW;CAMpB"}
@@ -37,10 +37,12 @@ exports.PostProcessor = void 0;
37
37
  const fs = __importStar(require("fs"));
38
38
  const path = __importStar(require("path"));
39
39
  class PostProcessor {
40
- constructor(specPath, outputDir) {
40
+ constructor(specPath, outputDir, nestJsSwagger = false) {
41
41
  this.outputDir = outputDir;
42
+ this.nestJsSwagger = nestJsSwagger;
42
43
  this.loadSpec(specPath);
43
44
  this.unionTypeMap = new Map();
45
+ this.discriminatedUnionMap = new Map();
44
46
  this.buildUnionTypeMap();
45
47
  }
46
48
  /**
@@ -69,27 +71,78 @@ class PostProcessor {
69
71
  }
70
72
  for (const [propName, propDef] of Object.entries(schemaObj.properties)) {
71
73
  const propDefObj = propDef;
72
- // Check if this is an anyOf with simple types
74
+ // Handle arrays with oneOf/anyOf items
75
+ if (propDefObj.type === 'array' && propDefObj.items) {
76
+ this.processUnionType(schemaName, propName, propDefObj.items, true);
77
+ }
78
+ // Check if this is a direct anyOf with simple types
73
79
  if (propDefObj.anyOf && Array.isArray(propDefObj.anyOf)) {
74
- const unionType = this.getUnionTypeFromAnyOf(propDefObj.anyOf);
75
- if (unionType) {
76
- // Find the generated class name for this property
77
- const generatedClassName = this.findGeneratedClassNameForProperty(schemaName, propName);
78
- if (generatedClassName) {
79
- if (!this.unionTypeMap.has(generatedClassName)) {
80
- this.unionTypeMap.set(generatedClassName, []);
81
- }
82
- this.unionTypeMap.get(generatedClassName).push({
83
- className: schemaName,
84
- propertyName: propName,
85
- unionType
86
- });
87
- }
88
- }
80
+ this.processUnionType(schemaName, propName, propDefObj, false);
81
+ }
82
+ // Check if this is a direct oneOf with refs (discriminated union)
83
+ if (propDefObj.oneOf && Array.isArray(propDefObj.oneOf)) {
84
+ this.processUnionType(schemaName, propName, propDefObj, false);
89
85
  }
90
86
  }
91
87
  }
92
88
  }
89
+ /**
90
+ * Process a property that might be a union type (oneOf/anyOf)
91
+ */
92
+ processUnionType(schemaName, propName, propDefObj, isArrayItems = false) {
93
+ const unionData = propDefObj.anyOf || propDefObj.oneOf;
94
+ if (!unionData || !Array.isArray(unionData)) {
95
+ return;
96
+ }
97
+ // Check if this is a simple union (string | number, etc.)
98
+ const simpleUnionType = this.getUnionTypeFromAnyOf(unionData);
99
+ if (simpleUnionType) {
100
+ const generatedClassName = this.findGeneratedClassNameForProperty(schemaName, propName, isArrayItems);
101
+ if (generatedClassName) {
102
+ if (!this.unionTypeMap.has(generatedClassName)) {
103
+ this.unionTypeMap.set(generatedClassName, []);
104
+ }
105
+ this.unionTypeMap.get(generatedClassName).push({
106
+ className: schemaName,
107
+ propertyName: propName,
108
+ unionType: simpleUnionType
109
+ });
110
+ }
111
+ return;
112
+ }
113
+ // Check if this is a discriminated union (oneOf/anyOf with $ref)
114
+ const refUnionTypes = this.getUnionTypesFromRefs(unionData);
115
+ if (refUnionTypes.length > 0) {
116
+ const generatedClassName = this.findGeneratedClassNameForProperty(schemaName, propName, isArrayItems);
117
+ if (generatedClassName) {
118
+ if (!this.discriminatedUnionMap.has(generatedClassName)) {
119
+ this.discriminatedUnionMap.set(generatedClassName, []);
120
+ }
121
+ this.discriminatedUnionMap.get(generatedClassName).push({
122
+ className: schemaName,
123
+ propertyName: propName,
124
+ discriminator: propDefObj.discriminator,
125
+ unionTypes: refUnionTypes
126
+ });
127
+ }
128
+ }
129
+ }
130
+ /**
131
+ * Extract class names from $ref union types
132
+ */
133
+ getUnionTypesFromRefs(unionData) {
134
+ const types = [];
135
+ for (const item of unionData) {
136
+ if (item.$ref) {
137
+ // Extract class name from $ref like "#/components/schemas/HelmComponent"
138
+ const match = item.$ref.match(/#\/components\/schemas\/(\w+)/);
139
+ if (match) {
140
+ types.push(match[1]);
141
+ }
142
+ }
143
+ }
144
+ return types;
145
+ }
93
146
  /**
94
147
  * Convert anyOf array to TypeScript union type if all types are simple
95
148
  */
@@ -132,11 +185,13 @@ class PostProcessor {
132
185
  /**
133
186
  * Find the generated class name for a property (OpenAPI Generator creates classes for anyOf)
134
187
  */
135
- findGeneratedClassNameForProperty(schemaName, propertyName) {
188
+ findGeneratedClassNameForProperty(schemaName, propertyName, isArrayItems = false) {
136
189
  // OpenAPI Generator typically creates class names like: SchemaNamePropertyName
137
190
  // e.g., for Replica.count, it might create ReplicaCount
191
+ // For array items with oneOf/anyOf, it adds "Inner": SchemaNamePropertyNameInner
138
192
  const capitalizedPropName = propertyName.charAt(0).toUpperCase() + propertyName.slice(1);
139
- return schemaName + capitalizedPropName;
193
+ const baseName = schemaName + capitalizedPropName;
194
+ return isArrayItems ? baseName + 'Inner' : baseName;
140
195
  }
141
196
  /**
142
197
  * Process all generated TypeScript files
@@ -151,6 +206,12 @@ class PostProcessor {
151
206
  content = this.fixImportTypes(content);
152
207
  // Replace generated classes with union types where appropriate
153
208
  content = this.replaceUnionTypes(content);
209
+ // Fix discriminated unions (remove invalid @Type decorators)
210
+ content = this.fixDiscriminatedUnions(content);
211
+ // Remove NestJS decorators if not enabled (before adding vendor extensions)
212
+ if (!this.nestJsSwagger) {
213
+ content = this.removeNestJsDecorators(content);
214
+ }
154
215
  // Add vendor extensions to comments
155
216
  content = this.addVendorExtensions(content);
156
217
  // Populate vendor extensions in attributeTypeMap
@@ -186,6 +247,7 @@ class PostProcessor {
186
247
  /**
187
248
  * Fix the main index.ts file to export from models/index.js instead of models.js
188
249
  * Also fix API files that import from models
250
+ * Also re-export Configuration from api.ts for convenience
189
251
  */
190
252
  fixMainIndex() {
191
253
  const indexPath = path.join(this.outputDir, 'index.ts');
@@ -213,6 +275,25 @@ class PostProcessor {
213
275
  fs.writeFileSync(filePath, content, 'utf-8');
214
276
  }
215
277
  }
278
+ // Add Configuration re-export to api.ts (Issue #3)
279
+ const apiIndexPath = path.join(this.outputDir, 'api.ts');
280
+ if (fs.existsSync(apiIndexPath)) {
281
+ let content = fs.readFileSync(apiIndexPath, 'utf-8');
282
+ // Check if Configuration is not already exported
283
+ if (!content.includes('export { Configuration }') && !content.includes('export * from \'./configuration')) {
284
+ // Add the export at the top after any existing exports
285
+ const exportPattern = /(export \* from ['"]\.\/)/;
286
+ if (exportPattern.test(content)) {
287
+ // Insert before the first export * from
288
+ content = content.replace(exportPattern, 'export { Configuration } from \'./configuration.js\';\n$1');
289
+ }
290
+ else {
291
+ // No exports found, add at the beginning
292
+ content = `export { Configuration } from './configuration.js';\n${content}`;
293
+ }
294
+ fs.writeFileSync(apiIndexPath, content, 'utf-8');
295
+ }
296
+ }
216
297
  }
217
298
  /**
218
299
  * Walk directory tree and find all .ts files
@@ -285,6 +366,67 @@ class PostProcessor {
285
366
  });
286
367
  return content;
287
368
  }
369
+ /**
370
+ * Fix discriminated unions by removing invalid @Type decorators and replacing union type classes
371
+ */
372
+ fixDiscriminatedUnions(content) {
373
+ const classMatch = content.match(/export class (\w+)/);
374
+ if (!classMatch) {
375
+ return content;
376
+ }
377
+ const className = classMatch[1];
378
+ // Handle properties that are discriminated unions
379
+ content = content.replace(/(@Expose\(\)[\s\S]*?)(@Type\(\(\)\s*=>\s*(\w+)\)\s*)?'(\w+)'(\?)?:\s*(Array<(\w+)>|\w+);/g, (fullMatch, exposeDecorator, typeDecorator, typeInDecorator, propName, optional, fullTypeName, arrayInnerType) => {
380
+ // Get the actual type name (could be inside Array<>)
381
+ const typeName = arrayInnerType || fullTypeName;
382
+ // Check if this type is in our discriminated union map
383
+ const discriminatedInfo = this.discriminatedUnionMap.get(typeName);
384
+ if (discriminatedInfo && discriminatedInfo.length > 0) {
385
+ const matchingInfo = discriminatedInfo.find(info => info.className === className && info.propertyName === propName);
386
+ if (matchingInfo) {
387
+ // Create the union type from the ref types
388
+ const unionType = matchingInfo.unionTypes.join(' | ');
389
+ const optionalMarker = optional || '';
390
+ // If it's an array, keep the array wrapper
391
+ const finalType = arrayInnerType ? `Array<${unionType}>` : unionType;
392
+ // Remove the @Type decorator and replace the type with the union
393
+ return `${exposeDecorator}'${propName}'${optionalMarker}: ${finalType};`;
394
+ }
395
+ }
396
+ return fullMatch;
397
+ });
398
+ // Remove imports for discriminated union type classes that are no longer needed
399
+ // And add imports for the actual union component types
400
+ this.discriminatedUnionMap.forEach((discriminatedInfo, generatedClassName) => {
401
+ if (discriminatedInfo.some(info => info.className === className)) {
402
+ // Remove the import for this generated union class
403
+ content = content.replace(new RegExp(`import \\{ ${generatedClassName} \\} from [^;]+;\\s*`, 'g'), '');
404
+ content = content.replace(new RegExp(`import type \\{ ${generatedClassName} \\} from [^;]+;\\s*`, 'g'), '');
405
+ // Add imports for the union component types
406
+ const matchingInfo = discriminatedInfo.find(info => info.className === className);
407
+ if (matchingInfo) {
408
+ const importSection = content.match(/(import[\s\S]*?from [^;]+;[\s\S]*?)(\n\nexport class)/);
409
+ if (importSection) {
410
+ // Add imports for each union type component
411
+ let importsToAdd = '';
412
+ matchingInfo.unionTypes.forEach(unionType => {
413
+ const kebabCaseName = this.toKebabCase(unionType);
414
+ const importStatement = `import { ${unionType} } from './${kebabCaseName}.js';\n`;
415
+ // Only add if not already present
416
+ if (!content.includes(importStatement) && !content.includes(`import { ${unionType} }`)) {
417
+ importsToAdd += importStatement;
418
+ }
419
+ });
420
+ if (importsToAdd) {
421
+ // Insert the new imports after the existing imports
422
+ content = content.replace(/(\nimport { Expose, Type } from 'class-transformer';)/, `$1\n${importsToAdd.trim()}`);
423
+ }
424
+ }
425
+ }
426
+ }
427
+ });
428
+ return content;
429
+ }
288
430
  /**
289
431
  * Add vendor extensions to JSDoc comments
290
432
  */
@@ -347,13 +489,26 @@ class PostProcessor {
347
489
  /**
348
490
  * Get vendor extensions for a specific property
349
491
  */
350
- getVendorExtensionsForProperty(schemaName, propertyName) {
492
+ getVendorExtensionsForProperty(className, propertyName) {
351
493
  // Support both OpenAPI 3.x (components.schemas) and Swagger 2.0 (definitions)
352
494
  const schemas = this.openApiSpec.components?.schemas || this.openApiSpec.definitions;
353
495
  if (!schemas) {
354
496
  return {};
355
497
  }
356
- const schema = schemas[schemaName];
498
+ // Try exact match first
499
+ let schema = schemas[className];
500
+ // If not found, search for a schema that matches when normalized
501
+ // OpenAPI Generator converts: "io.k8s.api.core.v1.PodSpec" -> "IoK8sApiCoreV1PodSpec"
502
+ if (!schema) {
503
+ const normalizedClassName = className.toLowerCase().replace(/[^a-z0-9]/g, '');
504
+ for (const [schemaName, schemaObj] of Object.entries(schemas)) {
505
+ const normalizedSchemaName = schemaName.toLowerCase().replace(/[^a-z0-9]/g, '');
506
+ if (normalizedSchemaName === normalizedClassName) {
507
+ schema = schemaObj;
508
+ break;
509
+ }
510
+ }
511
+ }
357
512
  if (!schema?.properties) {
358
513
  return {};
359
514
  }
@@ -369,6 +524,16 @@ class PostProcessor {
369
524
  });
370
525
  return extensions;
371
526
  }
527
+ /**
528
+ * Remove NestJS Swagger decorators and imports
529
+ */
530
+ removeNestJsDecorators(content) {
531
+ // Remove @nestjs/swagger import
532
+ content = content.replace(/import\s+\{[^}]*\}\s+from\s+['"]@nestjs\/swagger['"];?\s*/g, '');
533
+ // Remove @ApiProperty decorators (including multi-line with non-greedy match)
534
+ content = content.replace(/@ApiProperty\(\{[\s\S]*?\}\)\s*/g, '');
535
+ return content;
536
+ }
372
537
  /**
373
538
  * Add .js extensions to relative imports
374
539
  */
@@ -416,6 +581,14 @@ class PostProcessor {
416
581
  fs.rmSync(filepath, { force: true });
417
582
  }
418
583
  });
584
+ // Remove generated discriminated union type class files
585
+ this.discriminatedUnionMap.forEach((discriminatedInfo, generatedClassName) => {
586
+ const kebabCaseName = this.toKebabCase(generatedClassName);
587
+ const filepath = path.join(this.outputDir, 'models', `${kebabCaseName}.ts`);
588
+ if (fs.existsSync(filepath)) {
589
+ fs.rmSync(filepath, { force: true });
590
+ }
591
+ });
419
592
  // Update the index.ts to remove exports of deleted union type classes
420
593
  const indexPath = path.join(this.outputDir, 'models', 'index.ts');
421
594
  if (fs.existsSync(indexPath)) {
@@ -425,6 +598,11 @@ class PostProcessor {
425
598
  // Remove export lines for the deleted class
426
599
  indexContent = indexContent.replace(new RegExp(`export \\* from ['"]\\.\\/${kebabCaseName}(\\.js)?['"];?\\s*`, 'g'), '');
427
600
  });
601
+ this.discriminatedUnionMap.forEach((discriminatedInfo, generatedClassName) => {
602
+ const kebabCaseName = this.toKebabCase(generatedClassName);
603
+ // Remove export lines for the deleted class
604
+ indexContent = indexContent.replace(new RegExp(`export \\* from ['"]\\.\\/${kebabCaseName}(\\.js)?['"];?\\s*`, 'g'), '');
605
+ });
428
606
  fs.writeFileSync(indexPath, indexContent, 'utf-8');
429
607
  }
430
608
  }
@@ -1 +1 @@
1
- {"version":3,"file":"post-processor.js","sourceRoot":"","sources":["../src/post-processor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"post-processor.js","sourceRoot":"","sources":["../src/post-processor.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "openapi-class-transformer",
3
- "version": "1.0.7",
3
+ "version": "1.0.9",
4
4
  "description": "Generate class-transformer compatible TypeScript classes from OpenAPI specs with full decorator support",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -1,5 +1,6 @@
1
1
 
2
- import { Expose, Type } from 'class-transformer';
2
+ import { Expose, Type } from 'class-transformer';{{#nestJsSwagger}}
3
+ import { ApiProperty } from '@nestjs/swagger';{{/nestJsSwagger}}
3
4
 
4
5
  {{#description}}
5
6
  /**
@@ -22,7 +23,19 @@ export class {{classname}} {{#parent}}extends {{{.}}} {{/parent}}{
22
23
  {{#deprecated}}
23
24
  * @deprecated
24
25
  {{/deprecated}}
25
- */
26
+ */{{#nestJsSwagger}}
27
+ @ApiProperty({
28
+ description: {{#description}}`{{{description}}}`{{/description}}{{^description}}undefined{{/description}},{{#required}}
29
+ required: true,{{/required}}{{^required}}
30
+ required: false,{{/required}}{{#isNullable}}
31
+ nullable: true,{{/isNullable}}{{#deprecated}}
32
+ deprecated: true,{{/deprecated}}{{#isEnum}}
33
+ enum: {{enumName}},{{/isEnum}}{{^isEnum}}{{#isContainer}}
34
+ type: () => [{{#items}}{{^isPrimitiveType}}{{{complexType}}}{{/isPrimitiveType}}{{#isPrimitiveType}}{{{datatype}}}{{/isPrimitiveType}}{{/items}}],{{/isContainer}}{{^isContainer}}{{^isPrimitiveType}}
35
+ type: () => {{{dataType}}},{{/isPrimitiveType}}{{#isPrimitiveType}}
36
+ type: '{{{datatype}}}',{{/isPrimitiveType}}{{/isContainer}}{{/isEnum}}{{#dataFormat}}
37
+ format: '{{dataFormat}}',{{/dataFormat}}
38
+ }){{/nestJsSwagger}}
26
39
  @Expose()
27
40
  {{^isPrimitiveType}}{{^isEnum}}{{#isContainer}}{{#items}}{{^isPrimitiveType}}@Type(() => {{{complexType}}}){{/isPrimitiveType}}{{/items}}{{/isContainer}}{{^isContainer}}@Type(() => {{{dataType}}}){{/isContainer}}
28
41
  {{/isEnum}}{{/isPrimitiveType}}'{{baseName}}'{{^required}}?{{/required}}: {{#isEnum}}{{{datatypeWithEnum}}}{{/isEnum}}{{^isEnum}}{{{dataType}}}{{/isEnum}}{{#isNullable}} | null{{/isNullable}};