klasik 2.6.4 → 2.6.6

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 (29) hide show
  1. package/dist/bin/go-schema-gen +0 -0
  2. package/dist/builders/class-builder.d.ts +6 -0
  3. package/dist/builders/class-builder.d.ts.map +1 -1
  4. package/dist/builders/class-builder.js +16 -2
  5. package/dist/builders/class-builder.js.map +1 -1
  6. package/dist/generator/generator.d.ts +12 -0
  7. package/dist/generator/generator.d.ts.map +1 -1
  8. package/dist/generator/generator.js +103 -2
  9. package/dist/generator/generator.js.map +1 -1
  10. package/dist/plugins/class-transformer-plugin.d.ts +4 -0
  11. package/dist/plugins/class-transformer-plugin.d.ts.map +1 -1
  12. package/dist/plugins/class-transformer-plugin.js +22 -3
  13. package/dist/plugins/class-transformer-plugin.js.map +1 -1
  14. package/dist/plugins/class-validator-plugin.d.ts.map +1 -1
  15. package/dist/plugins/class-validator-plugin.js +27 -10
  16. package/dist/plugins/class-validator-plugin.js.map +1 -1
  17. package/dist/plugins/nestjs-graphql-plugin.d.ts +19 -2
  18. package/dist/plugins/nestjs-graphql-plugin.d.ts.map +1 -1
  19. package/dist/plugins/nestjs-graphql-plugin.js +95 -1
  20. package/dist/plugins/nestjs-graphql-plugin.js.map +1 -1
  21. package/dist/plugins/nestjs-swagger-plugin.d.ts +10 -1
  22. package/dist/plugins/nestjs-swagger-plugin.d.ts.map +1 -1
  23. package/dist/plugins/nestjs-swagger-plugin.js +51 -6
  24. package/dist/plugins/nestjs-swagger-plugin.js.map +1 -1
  25. package/dist/plugins/plugin-interface.d.ts +10 -1
  26. package/dist/plugins/plugin-interface.d.ts.map +1 -1
  27. package/dist/plugins/plugin-interface.js +10 -0
  28. package/dist/plugins/plugin-interface.js.map +1 -1
  29. package/package.json +1 -1
Binary file
@@ -13,6 +13,8 @@ export interface GenerationContext {
13
13
  project: Project;
14
14
  importManager: ImportManager;
15
15
  options: GeneratorOptions;
16
+ /** Names of schemas with type 'enum' - used by plugins to handle enum references differently */
17
+ enumSchemaNames?: Set<string>;
16
18
  }
17
19
  /**
18
20
  * Generator options
@@ -83,6 +85,10 @@ export declare class ClassBuilder {
83
85
  * Get type string for attributeTypeMap
84
86
  */
85
87
  private getTypeMapTypeString;
88
+ /**
89
+ * Check if a type references an enum schema
90
+ */
91
+ private isEnumReference;
86
92
  /**
87
93
  * Check if a type is complex (requires modelClass in attributeTypeMap)
88
94
  */
@@ -1 +1 @@
1
- {"version":3,"file":"class-builder.d.ts","sourceRoot":"","sources":["../../src/builders/class-builder.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,OAAO,EACP,UAAU,EACV,gBAAgB,EAChB,mBAAmB,EAGpB,MAAM,UAAU,CAAC;AAClB,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAEnB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAGjD;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,EAAE,aAAa,CAAC;IAC7B,OAAO,EAAE,gBAAgB,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,GAAG,aAAa,CAAC;IAC9B,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAC;IAC9D,WAAW,CAAC,EAAE,WAAW,GAAG,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAC;IACvD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,UAAU,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC;IAC/B,cAAc,CAAC,EAAE,YAAY,GAAG,aAAa,CAAC;IAC9C,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED;;GAEG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,SAAS,CAAmB;IACpC,OAAO,CAAC,OAAO,CAAoB;IACnC,OAAO,CAAC,cAAc,CAAiB;gBAGrC,OAAO,EAAE,iBAAiB,EAC1B,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM;IAWnB;;OAEG;IACH,mBAAmB,IAAI,gBAAgB;IAIvC;;OAEG;IACH,aAAa,IAAI,UAAU;IAI3B;;OAEG;IACH,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAUtC;;OAEG;IACH,WAAW,CAAC,WAAW,EAAE,kBAAkB,GAAG,mBAAmB;IA0BjE;;OAEG;IACH,mBAAmB,CAAC,MAAM,EAAE,gBAAgB,GAAG,IAAI;IAsDnD;;OAEG;IACH,YAAY,IAAI,IAAI;IAKpB;;OAEG;IACH,MAAM,IAAI,IAAI;IAQd;;OAEG;IACH,KAAK,IAAI,UAAU;IAInB;;OAEG;IACH,OAAO,CAAC,eAAe;IAkCvB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IA6B5B;;OAEG;IACH,OAAO,CAAC,aAAa;IAYrB;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,eAAe;CAcxB"}
1
+ {"version":3,"file":"class-builder.d.ts","sourceRoot":"","sources":["../../src/builders/class-builder.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,OAAO,EACP,UAAU,EACV,gBAAgB,EAChB,mBAAmB,EAGpB,MAAM,UAAU,CAAC;AAClB,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAEnB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAGjD;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,EAAE,aAAa,CAAC;IAC7B,OAAO,EAAE,gBAAgB,CAAC;IAC1B,gGAAgG;IAChG,eAAe,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,GAAG,aAAa,CAAC;IAC9B,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAC;IAC9D,WAAW,CAAC,EAAE,WAAW,GAAG,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAC;IACvD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,UAAU,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC;IAC/B,cAAc,CAAC,EAAE,YAAY,GAAG,aAAa,CAAC;IAC9C,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED;;GAEG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,SAAS,CAAmB;IACpC,OAAO,CAAC,OAAO,CAAoB;IACnC,OAAO,CAAC,cAAc,CAAiB;gBAGrC,OAAO,EAAE,iBAAiB,EAC1B,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM;IAWnB;;OAEG;IACH,mBAAmB,IAAI,gBAAgB;IAIvC;;OAEG;IACH,aAAa,IAAI,UAAU;IAI3B;;OAEG;IACH,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAUtC;;OAEG;IACH,WAAW,CAAC,WAAW,EAAE,kBAAkB,GAAG,mBAAmB;IA0BjE;;OAEG;IACH,mBAAmB,CAAC,MAAM,EAAE,gBAAgB,GAAG,IAAI;IAsDnD;;OAEG;IACH,YAAY,IAAI,IAAI;IAKpB;;OAEG;IACH,MAAM,IAAI,IAAI;IAQd;;OAEG;IACH,KAAK,IAAI,UAAU;IAInB;;OAEG;IACH,OAAO,CAAC,eAAe;IAkCvB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IA6B5B;;OAEG;IACH,OAAO,CAAC,eAAe;IAWvB;;OAEG;IACH,OAAO,CAAC,aAAa;IAYrB;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,eAAe;CAcxB"}
@@ -81,8 +81,8 @@ class ClassBuilder {
81
81
  }
82
82
  // Add vendorExtensions
83
83
  entry.vendorExtensions = prop.metadata.vendorExtensions || {};
84
- // Add modelClass for complex types
85
- if (this.isComplexType(prop.type)) {
84
+ // Add modelClass for complex types (skip enums - they're not classes)
85
+ if (this.isComplexType(prop.type) && !this.isEnumReference(prop.type)) {
86
86
  entry.modelClass = prop.type.name;
87
87
  }
88
88
  return entry;
@@ -194,6 +194,20 @@ class ClassBuilder {
194
194
  return 'object';
195
195
  }
196
196
  }
197
+ /**
198
+ * Check if a type references an enum schema
199
+ */
200
+ isEnumReference(type) {
201
+ if (!this.context.enumSchemaNames)
202
+ return false;
203
+ if ((type.kind === 'reference' || type.kind === 'object') && type.name) {
204
+ return this.context.enumSchemaNames.has(type.name);
205
+ }
206
+ if (type.kind === 'array' && type.elementType) {
207
+ return this.isEnumReference(type.elementType);
208
+ }
209
+ return false;
210
+ }
197
211
  /**
198
212
  * Check if a type is complex (requires modelClass in attributeTypeMap)
199
213
  */
@@ -1 +1 @@
1
- {"version":3,"file":"class-builder.js","sourceRoot":"","sources":["../../src/builders/class-builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"class-builder.js","sourceRoot":"","sources":["../../src/builders/class-builder.ts"],"names":[],"mappings":"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"}
@@ -26,6 +26,18 @@ export declare class Generator {
26
26
  * Generate a single model file
27
27
  */
28
28
  private generateModel;
29
+ /**
30
+ * Generate a TypeScript enum file for an enum schema
31
+ */
32
+ private generateEnumModel;
33
+ /**
34
+ * Build enum member declarations from schema enumValues
35
+ */
36
+ private buildEnumMembers;
37
+ /**
38
+ * Convert an enum value to a valid TypeScript enum member name (PascalCase)
39
+ */
40
+ private enumValueToMemberName;
29
41
  /**
30
42
  * Add imports for types referenced in properties
31
43
  */
@@ -1 +1 @@
1
- {"version":3,"file":"generator.d.ts","sourceRoot":"","sources":["../../src/generator/generator.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,EACL,QAAQ,EAET,MAAM,aAAa,CAAC;AAErB,OAAO,EAAmC,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAW9F;;GAEG;AACH,qBAAa,SAAS;IACpB,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,OAAO,CAAmB;gBAEtB,OAAO,EAAE,gBAAgB;IAqBrC;;OAEG;IACG,QAAQ,CAAC,EAAE,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAyC3C;;OAEG;YACW,cAAc;IAc5B;;OAEG;YACW,aAAa;IA6D3B;;OAEG;IACH,OAAO,CAAC,cAAc;IAuBtB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IA+B1B;;OAEG;YACW,mBAAmB;IAwEjC;;OAEG;YACW,mBAAmB;IA8BjC;;OAEG;YACW,gBAAgB;IA+B9B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IA0BzB;;OAEG;IACH,OAAO,CAAC,aAAa;IAQrB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAI7B;;OAEG;IACH,OAAO,CAAC,eAAe;IAMvB;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAUzB;;OAEG;IACH,OAAO,CAAC,kBAAkB;CAgB3B"}
1
+ {"version":3,"file":"generator.d.ts","sourceRoot":"","sources":["../../src/generator/generator.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,EACL,QAAQ,EAET,MAAM,aAAa,CAAC;AAGrB,OAAO,EAAmC,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAW9F;;GAEG;AACH,qBAAa,SAAS;IACpB,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,OAAO,CAAmB;gBAEtB,OAAO,EAAE,gBAAgB;IAqBrC;;OAEG;IACG,QAAQ,CAAC,EAAE,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAyC3C;;OAEG;YACW,cAAc;IAc5B;;OAEG;YACW,aAAa;IAkE3B;;OAEG;YACW,iBAAiB;IAgD/B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IA0BxB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IA0B7B;;OAEG;IACH,OAAO,CAAC,cAAc;IAuBtB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IA+B1B;;OAEG;YACW,mBAAmB;IAwEjC;;OAEG;YACW,mBAAmB;IA8BjC;;OAEG;YACW,gBAAgB;IA+B9B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IA0BzB;;OAEG;IACH,OAAO,CAAC,aAAa;IAmBrB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAI7B;;OAEG;IACH,OAAO,CAAC,eAAe;IAMvB;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAUzB;;OAEG;IACH,OAAO,CAAC,kBAAkB;CAgB3B"}
@@ -83,7 +83,7 @@ class Generator {
83
83
  // Create output directory
84
84
  this.ensureOutputDirectory();
85
85
  // Create generation context
86
- const context = this.createContext();
86
+ const context = this.createContext(ir);
87
87
  // Run before generation hooks
88
88
  await this.pluginRunner.runBeforeGeneration(context, ir);
89
89
  // Generate models
@@ -127,6 +127,10 @@ class Generator {
127
127
  * Generate a single model file
128
128
  */
129
129
  async generateModel(schema, context, modelsDir) {
130
+ // Generate TypeScript enum for enum schemas
131
+ if (schema.type === 'enum') {
132
+ return this.generateEnumModel(schema, context, modelsDir);
133
+ }
130
134
  // Determine file name using centralized logic
131
135
  const fileName = this.getSchemaFileName(schema) + '.ts';
132
136
  const filePath = path.join(modelsDir, fileName);
@@ -164,6 +168,93 @@ class Generator {
164
168
  builder.format();
165
169
  // Build completes when we save the project
166
170
  }
171
+ /**
172
+ * Generate a TypeScript enum file for an enum schema
173
+ */
174
+ async generateEnumModel(schema, context, modelsDir) {
175
+ const fileName = this.getSchemaFileName(schema) + '.ts';
176
+ const filePath = path.join(modelsDir, fileName);
177
+ // Create source file
178
+ const sourceFile = this.project.createSourceFile(filePath, '', { overwrite: true });
179
+ // Create a fresh ImportManager (not cloned from global - enums don't need class-transformer imports)
180
+ const fileImportManager = new import_manager_1.ImportManager({ esm: this.options.esm });
181
+ const fileContext = {
182
+ ...context,
183
+ importManager: fileImportManager,
184
+ };
185
+ // Build enum members
186
+ const members = this.buildEnumMembers(schema);
187
+ // Add enum declaration
188
+ const enumDecl = sourceFile.addEnum({
189
+ name: schema.name,
190
+ isExported: true,
191
+ members,
192
+ });
193
+ // Add JSDoc
194
+ if (schema.description) {
195
+ enumDecl.addJsDoc({
196
+ description: schema.description,
197
+ });
198
+ }
199
+ // Run plugin hooks for enum decoration
200
+ await this.pluginRunner.runDecorateEnum(sourceFile, schema, fileContext);
201
+ // Apply imports
202
+ fileImportManager.applyToSourceFile(sourceFile);
203
+ // Format
204
+ sourceFile.formatText({
205
+ indentSize: 2,
206
+ convertTabsToSpaces: true,
207
+ });
208
+ }
209
+ /**
210
+ * Build enum member declarations from schema enumValues
211
+ */
212
+ buildEnumMembers(schema) {
213
+ if (!schema.enumValues || schema.enumValues.length === 0) {
214
+ return [];
215
+ }
216
+ const usedNames = new Set();
217
+ return schema.enumValues.map(value => {
218
+ let name = this.enumValueToMemberName(value);
219
+ // Deduplicate member names
220
+ if (usedNames.has(name)) {
221
+ let suffix = 2;
222
+ while (usedNames.has(`${name}${suffix}`)) {
223
+ suffix++;
224
+ }
225
+ name = `${name}${suffix}`;
226
+ }
227
+ usedNames.add(name);
228
+ return {
229
+ name,
230
+ value: typeof value === 'string' ? value : value,
231
+ };
232
+ });
233
+ }
234
+ /**
235
+ * Convert an enum value to a valid TypeScript enum member name (PascalCase)
236
+ */
237
+ enumValueToMemberName(value) {
238
+ if (typeof value === 'number') {
239
+ return `_${value}`;
240
+ }
241
+ // Replace non-alphanumeric chars with separator, then PascalCase
242
+ let name = value
243
+ .replace(/[^a-zA-Z0-9]+/g, '_')
244
+ .split('_')
245
+ .filter(Boolean)
246
+ .map(part => part.charAt(0).toUpperCase() + part.slice(1))
247
+ .join('');
248
+ // Ensure starts with letter or underscore
249
+ if (/^[0-9]/.test(name)) {
250
+ name = '_' + name;
251
+ }
252
+ // Handle empty string
253
+ if (!name) {
254
+ name = 'Empty';
255
+ }
256
+ return name;
257
+ }
167
258
  /**
168
259
  * Add imports for types referenced in properties
169
260
  */
@@ -345,11 +436,21 @@ class Generator {
345
436
  /**
346
437
  * Create generation context
347
438
  */
348
- createContext() {
439
+ createContext(ir) {
440
+ // Collect enum schema names so plugins can handle enum references differently
441
+ const enumSchemaNames = new Set();
442
+ if (ir) {
443
+ for (const [name, schema] of ir.schemas) {
444
+ if (schema.type === 'enum') {
445
+ enumSchemaNames.add(name);
446
+ }
447
+ }
448
+ }
349
449
  return {
350
450
  project: this.project,
351
451
  importManager: new import_manager_1.ImportManager({ esm: this.options.esm }),
352
452
  options: this.options,
453
+ enumSchemaNames,
353
454
  };
354
455
  }
355
456
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../src/generator/generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../src/generator/generator.ts"],"names":[],"mappings":"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"}
@@ -25,6 +25,10 @@ export declare class ClassTransformerPlugin implements GeneratorPlugin {
25
25
  * Add class-transformer to package.json dependencies
26
26
  */
27
27
  modifyPackageJson(packageJson: any, context: GenerationContext): void;
28
+ /**
29
+ * Check if a type name is an enum schema (enums don't need @Type)
30
+ */
31
+ private isEnumReference;
28
32
  /**
29
33
  * Get @Type() decorator argument for a type
30
34
  * Returns undefined if no @Type() decorator is needed
@@ -1 +1 @@
1
- {"version":3,"file":"class-transformer-plugin.d.ts","sourceRoot":"","sources":["../../src/plugins/class-transformer-plugin.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAElB,QAAQ,EACT,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAE9D,qBAAa,sBAAuB,YAAW,eAAe;IAC5D,IAAI,SAAuB;IAC3B,QAAQ,SAAO;IAEf;;;;OAIG;IACH,gBAAgB,CAAC,OAAO,EAAE,iBAAiB,EAAE,EAAE,EAAE,QAAQ,GAAG,IAAI;IAIhE;;OAEG;IACH,gBAAgB,CACd,QAAQ,EAAE,mBAAmB,EAC7B,WAAW,EAAE,kBAAkB,EAC/B,MAAM,EAAE,gBAAgB,EACxB,OAAO,EAAE,iBAAiB,GACzB,IAAI;IAkBP;;OAEG;IACH,iBAAiB,CAAC,WAAW,EAAE,GAAG,EAAE,OAAO,EAAE,iBAAiB,GAAG,IAAI;IASrE;;;OAGG;IACH,OAAO,CAAC,gBAAgB;CA0CzB"}
1
+ {"version":3,"file":"class-transformer-plugin.d.ts","sourceRoot":"","sources":["../../src/plugins/class-transformer-plugin.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAElB,QAAQ,EACT,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAE9D,qBAAa,sBAAuB,YAAW,eAAe;IAC5D,IAAI,SAAuB;IAC3B,QAAQ,SAAO;IAEf;;;;OAIG;IACH,gBAAgB,CAAC,OAAO,EAAE,iBAAiB,EAAE,EAAE,EAAE,QAAQ,GAAG,IAAI;IAIhE;;OAEG;IACH,gBAAgB,CACd,QAAQ,EAAE,mBAAmB,EAC7B,WAAW,EAAE,kBAAkB,EAC/B,MAAM,EAAE,gBAAgB,EACxB,OAAO,EAAE,iBAAiB,GACzB,IAAI;IAkBP;;OAEG;IACH,iBAAiB,CAAC,WAAW,EAAE,GAAG,EAAE,OAAO,EAAE,iBAAiB,GAAG,IAAI;IASrE;;OAEG;IACH,OAAO,CAAC,eAAe;IAKvB;;;OAGG;IACH,OAAO,CAAC,gBAAgB;CAqDzB"}
@@ -29,8 +29,8 @@ class ClassTransformerPlugin {
29
29
  name: 'Expose',
30
30
  arguments: [],
31
31
  });
32
- // Add @Type() for complex types
33
- const typeDecorator = this.getTypeDecorator(propertyDef.type);
32
+ // Add @Type() for complex types (skip enum references - enums are not classes)
33
+ const typeDecorator = this.getTypeDecorator(propertyDef.type, context.enumSchemaNames);
34
34
  if (typeDecorator) {
35
35
  context.importManager.addImport('class-transformer', 'Type');
36
36
  property.addDecorator({
@@ -49,14 +49,26 @@ class ClassTransformerPlugin {
49
49
  packageJson.dependencies['class-transformer'] = '^0.5.1';
50
50
  packageJson.dependencies['reflect-metadata'] = '^0.2.2';
51
51
  }
52
+ /**
53
+ * Check if a type name is an enum schema (enums don't need @Type)
54
+ */
55
+ isEnumReference(typeName, enumSchemaNames) {
56
+ if (!typeName || !enumSchemaNames)
57
+ return false;
58
+ return enumSchemaNames.has(typeName);
59
+ }
52
60
  /**
53
61
  * Get @Type() decorator argument for a type
54
62
  * Returns undefined if no @Type() decorator is needed
55
63
  */
56
- getTypeDecorator(type) {
64
+ getTypeDecorator(type, enumSchemaNames) {
57
65
  switch (type.kind) {
58
66
  case 'reference':
59
67
  case 'object':
68
+ // Skip enum references - enums are plain values, not class instances
69
+ if (this.isEnumReference(type.name, enumSchemaNames)) {
70
+ return undefined;
71
+ }
60
72
  // @Type(() => ClassName)
61
73
  if (type.name) {
62
74
  return `() => ${type.name}`;
@@ -68,6 +80,10 @@ class ClassTransformerPlugin {
68
80
  }
69
81
  // For arrays of complex types: @Type(() => ClassName)
70
82
  if (type.elementType.kind === 'reference' || type.elementType.kind === 'object') {
83
+ // Skip enum references
84
+ if (this.isEnumReference(type.elementType.name, enumSchemaNames)) {
85
+ return undefined;
86
+ }
71
87
  return `() => ${type.elementType.name}`;
72
88
  }
73
89
  // For arrays of primitives, no @Type() needed
@@ -78,6 +94,9 @@ class ClassTransformerPlugin {
78
94
  (type.additionalProperties.kind === 'reference' ||
79
95
  type.additionalProperties.kind === 'object') &&
80
96
  type.additionalProperties.name) {
97
+ if (this.isEnumReference(type.additionalProperties.name, enumSchemaNames)) {
98
+ return undefined;
99
+ }
81
100
  return `() => ${type.additionalProperties.name}`;
82
101
  }
83
102
  return undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"class-transformer-plugin.js","sourceRoot":"","sources":["../../src/plugins/class-transformer-plugin.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAYH,MAAa,sBAAsB;IAAnC;QACE,SAAI,GAAG,mBAAmB,CAAC;QAC3B,aAAQ,GAAG,GAAG,CAAC,CAAC,kCAAkC;IA+FpD,CAAC;IA7FC;;;;OAIG;IACH,gBAAgB,CAAC,OAA0B,EAAE,EAAY;QACvD,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,mBAAmB,EAAE,QAAQ,CAAC,CAAC;IACjE,CAAC;IAED;;OAEG;IACH,gBAAgB,CACd,QAA6B,EAC7B,WAA+B,EAC/B,MAAwB,EACxB,OAA0B;QAE1B,uBAAuB;QACvB,QAAQ,CAAC,YAAY,CAAC;YACpB,IAAI,EAAE,QAAQ;YACd,SAAS,EAAE,EAAE;SACd,CAAC,CAAC;QAEH,gCAAgC;QAChC,MAAM,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAC9D,IAAI,aAAa,EAAE,CAAC;YAClB,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAC;YAC7D,QAAQ,CAAC,YAAY,CAAC;gBACpB,IAAI,EAAE,MAAM;gBACZ,SAAS,EAAE,CAAC,aAAa,CAAC;aAC3B,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED;;OAEG;IACH,iBAAiB,CAAC,WAAgB,EAAE,OAA0B;QAC5D,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC;YAC9B,WAAW,CAAC,YAAY,GAAG,EAAE,CAAC;QAChC,CAAC;QAED,WAAW,CAAC,YAAY,CAAC,mBAAmB,CAAC,GAAG,QAAQ,CAAC;QACzD,WAAW,CAAC,YAAY,CAAC,kBAAkB,CAAC,GAAG,QAAQ,CAAC;IAC1D,CAAC;IAED;;;OAGG;IACK,gBAAgB,CAAC,IAAmB;QAC1C,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;YAClB,KAAK,WAAW,CAAC;YACjB,KAAK,QAAQ;gBACX,yBAAyB;gBACzB,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;oBACd,OAAO,SAAS,IAAI,CAAC,IAAI,EAAE,CAAC;gBAC9B,CAAC;gBACD,OAAO,SAAS,CAAC;YAEnB,KAAK,OAAO;gBACV,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;oBACtB,OAAO,SAAS,CAAC;gBACnB,CAAC;gBACD,sDAAsD;gBACtD,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,KAAK,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBAChF,OAAO,SAAS,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;gBAC1C,CAAC;gBACD,8CAA8C;gBAC9C,OAAO,SAAS,CAAC;YAEnB,KAAK,YAAY;gBACf,uCAAuC;gBACvC,IAAI,IAAI,CAAC,oBAAoB;oBACzB,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,KAAK,WAAW;wBAC9C,IAAI,CAAC,oBAAoB,CAAC,IAAI,KAAK,QAAQ,CAAC;oBAC7C,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,CAAC;oBACnC,OAAO,SAAS,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,CAAC;gBACnD,CAAC;gBACD,OAAO,SAAS,CAAC;YAEnB,KAAK,OAAO;gBACV,8CAA8C;gBAC9C,2CAA2C;gBAC3C,OAAO,SAAS,CAAC;YAEnB,KAAK,WAAW,CAAC;YACjB,KAAK,SAAS,CAAC;YACf;gBACE,OAAO,SAAS,CAAC;QACrB,CAAC;IACH,CAAC;CACF;AAjGD,wDAiGC"}
1
+ {"version":3,"file":"class-transformer-plugin.js","sourceRoot":"","sources":["../../src/plugins/class-transformer-plugin.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"class-validator-plugin.d.ts","sourceRoot":"","sources":["../../src/plugins/class-validator-plugin.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAGnB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAE9D,qBAAa,oBAAqB,YAAW,eAAe;IAC1D,IAAI,SAAqB;IACzB,QAAQ,SAAM;IAEd;;;OAGG;IAEH;;OAEG;IACH,gBAAgB,CACd,QAAQ,EAAE,mBAAmB,EAC7B,WAAW,EAAE,kBAAkB,EAC/B,MAAM,EAAE,gBAAgB,EACxB,OAAO,EAAE,iBAAiB,GACzB,IAAI;IAoBP;;OAEG;IACH,iBAAiB,CAAC,WAAW,EAAE,GAAG,EAAE,OAAO,EAAE,iBAAiB,GAAG,IAAI;IASrE;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAsDzB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAuB7B;;;;;OAKG;IACH,OAAO,CAAC,mBAAmB;IAkF3B;;OAEG;IACH,OAAO,CAAC,uBAAuB;CAiGhC"}
1
+ {"version":3,"file":"class-validator-plugin.d.ts","sourceRoot":"","sources":["../../src/plugins/class-validator-plugin.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAGnB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAE9D,qBAAa,oBAAqB,YAAW,eAAe;IAC1D,IAAI,SAAqB;IACzB,QAAQ,SAAM;IAEd;;;OAGG;IAEH;;OAEG;IACH,gBAAgB,CACd,QAAQ,EAAE,mBAAmB,EAC7B,WAAW,EAAE,kBAAkB,EAC/B,MAAM,EAAE,gBAAgB,EACxB,OAAO,EAAE,iBAAiB,GACzB,IAAI;IAoBP;;OAEG;IACH,iBAAiB,CAAC,WAAW,EAAE,GAAG,EAAE,OAAO,EAAE,iBAAiB,GAAG,IAAI;IASrE;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAoEzB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAuB7B;;;;;OAKG;IACH,OAAO,CAAC,mBAAmB;IAkF3B;;OAEG;IACH,OAAO,CAAC,uBAAuB;CAiGhC"}
@@ -57,22 +57,39 @@ class ClassValidatorPlugin {
57
57
  case 'array':
58
58
  context.importManager.addImport('class-validator', 'IsArray');
59
59
  property.addDecorator({ name: 'IsArray', arguments: [] });
60
- // Add @ValidateNested({ each: true }) for arrays of objects
60
+ // Add validation for arrays of objects or enums
61
61
  if (type.elementType &&
62
62
  (type.elementType.kind === 'reference' || type.elementType.kind === 'object')) {
63
- context.importManager.addImport('class-validator', 'ValidateNested');
64
- property.addDecorator({
65
- name: 'ValidateNested',
66
- arguments: ['{ each: true }'],
67
- });
68
- // Also need @Type() which is added by ClassTransformerPlugin
63
+ if (type.elementType.name && context.enumSchemaNames?.has(type.elementType.name)) {
64
+ // Arrays of enums: use @IsEnum(EnumType, { each: true })
65
+ context.importManager.addImport('class-validator', 'IsEnum');
66
+ property.addDecorator({
67
+ name: 'IsEnum',
68
+ arguments: [type.elementType.name, '{ each: true }'],
69
+ });
70
+ }
71
+ else {
72
+ // Arrays of objects: use @ValidateNested({ each: true })
73
+ context.importManager.addImport('class-validator', 'ValidateNested');
74
+ property.addDecorator({
75
+ name: 'ValidateNested',
76
+ arguments: ['{ each: true }'],
77
+ });
78
+ }
69
79
  }
70
80
  break;
71
81
  case 'reference':
72
82
  case 'object':
73
- // For nested objects
74
- context.importManager.addImport('class-validator', 'ValidateNested');
75
- property.addDecorator({ name: 'ValidateNested', arguments: [] });
83
+ // For enum references, use @IsEnum() instead of @ValidateNested()
84
+ if (type.name && context.enumSchemaNames?.has(type.name)) {
85
+ context.importManager.addImport('class-validator', 'IsEnum');
86
+ property.addDecorator({ name: 'IsEnum', arguments: [type.name] });
87
+ }
88
+ else {
89
+ // For nested objects
90
+ context.importManager.addImport('class-validator', 'ValidateNested');
91
+ property.addDecorator({ name: 'ValidateNested', arguments: [] });
92
+ }
76
93
  break;
77
94
  case 'dictionary':
78
95
  // Dictionaries are just objects
@@ -1 +1 @@
1
- {"version":3,"file":"class-validator-plugin.js","sourceRoot":"","sources":["../../src/plugins/class-validator-plugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"class-validator-plugin.js","sourceRoot":"","sources":["../../src/plugins/class-validator-plugin.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@
4
4
  * Adds @ObjectType() and @Field() decorators from @nestjs/graphql
5
5
  * Properly handles types, descriptions, nullability, and deprecation
6
6
  */
7
- import { ClassDeclaration, PropertyDeclaration } from 'ts-morph';
7
+ import { ClassDeclaration, PropertyDeclaration, SourceFile } from 'ts-morph';
8
8
  import { GeneratorPlugin } from './plugin-interface';
9
9
  import { SchemaDefinition, PropertyDefinition, SchemaIR } from '../ir/types';
10
10
  import { GenerationContext } from '../builders/class-builder';
@@ -12,7 +12,8 @@ export declare class NestJSGraphQLPlugin implements GeneratorPlugin {
12
12
  name: string;
13
13
  priority: number;
14
14
  /**
15
- * Add @nestjs/graphql imports before generation
15
+ * Add @nestjs/graphql imports and auto-rename schemas that conflict with
16
+ * GraphQL built-in scalar types (Boolean, Int, Float, String, ID).
16
17
  */
17
18
  beforeGeneration(context: GenerationContext, ir: SchemaIR): void;
18
19
  /**
@@ -23,6 +24,10 @@ export declare class NestJSGraphQLPlugin implements GeneratorPlugin {
23
24
  * Decorate property with @Field(() => Type, { options })
24
25
  */
25
26
  decorateProperty(property: PropertyDeclaration, propertyDef: PropertyDefinition, schema: SchemaDefinition, context: GenerationContext): void;
27
+ /**
28
+ * Register enum types with NestJS GraphQL
29
+ */
30
+ decorateEnum(sourceFile: SourceFile, schema: SchemaDefinition, context: GenerationContext): void;
26
31
  /**
27
32
  * Add @nestjs/graphql to package.json
28
33
  */
@@ -54,5 +59,17 @@ export declare class NestJSGraphQLPlugin implements GeneratorPlugin {
54
59
  * Escape special characters for template literals
55
60
  */
56
61
  private escapeForTemplate;
62
+ /**
63
+ * Auto-rename schemas whose names exactly match GraphQL built-in scalar types.
64
+ * Appends "Model" suffix (e.g., Boolean → BooleanModel).
65
+ * Mutates the IR in-place so all downstream generation uses the safe names.
66
+ *
67
+ * Uses exact matching — schemas like "NullableBoolean" or "StringMap" are NOT renamed.
68
+ */
69
+ private autoRenameConflictingSchemas;
70
+ /**
71
+ * Recursively update type reference names based on rename map
72
+ */
73
+ private updateTypeRefs;
57
74
  }
58
75
  //# sourceMappingURL=nestjs-graphql-plugin.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"nestjs-graphql-plugin.d.ts","sourceRoot":"","sources":["../../src/plugins/nestjs-graphql-plugin.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAElB,QAAQ,EACT,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAE9D,qBAAa,mBAAoB,YAAW,eAAe;IACzD,IAAI,SAAoB;IACxB,QAAQ,SAAO;IAEf;;OAEG;IACH,gBAAgB,CAAC,OAAO,EAAE,iBAAiB,EAAE,EAAE,EAAE,QAAQ,GAAG,IAAI;IAKhE;;OAEG;IACH,aAAa,CACX,SAAS,EAAE,gBAAgB,EAC3B,MAAM,EAAE,gBAAgB,EACxB,OAAO,EAAE,iBAAiB,GACzB,IAAI;IAkBP;;OAEG;IACH,gBAAgB,CACd,QAAQ,EAAE,mBAAmB,EAC7B,WAAW,EAAE,kBAAkB,EAC/B,MAAM,EAAE,gBAAgB,EACxB,OAAO,EAAE,iBAAiB,GACzB,IAAI;IAoBP;;OAEG;IACH,iBAAiB,CAAC,WAAW,EAAE,GAAG,EAAE,OAAO,EAAE,iBAAiB,GAAG,IAAI;IAQrE;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IA2B3B;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAmB/B;;;;OAIG;IACH,OAAO,CAAC,cAAc;IAYtB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAyBzB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAkB1B;;OAEG;IACH,OAAO,CAAC,iBAAiB;CAM1B"}
1
+ {"version":3,"file":"nestjs-graphql-plugin.d.ts","sourceRoot":"","sources":["../../src/plugins/nestjs-graphql-plugin.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAC7E,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAElB,QAAQ,EACT,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAM9D,qBAAa,mBAAoB,YAAW,eAAe;IACzD,IAAI,SAAoB;IACxB,QAAQ,SAAO;IAEf;;;OAGG;IACH,gBAAgB,CAAC,OAAO,EAAE,iBAAiB,EAAE,EAAE,EAAE,QAAQ,GAAG,IAAI;IAQhE;;OAEG;IACH,aAAa,CACX,SAAS,EAAE,gBAAgB,EAC3B,MAAM,EAAE,gBAAgB,EACxB,OAAO,EAAE,iBAAiB,GACzB,IAAI;IAkBP;;OAEG;IACH,gBAAgB,CACd,QAAQ,EAAE,mBAAmB,EAC7B,WAAW,EAAE,kBAAkB,EAC/B,MAAM,EAAE,gBAAgB,EACxB,OAAO,EAAE,iBAAiB,GACzB,IAAI;IAoBP;;OAEG;IACH,YAAY,CACV,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,gBAAgB,EACxB,OAAO,EAAE,iBAAiB,GACzB,IAAI;IAYP;;OAEG;IACH,iBAAiB,CAAC,WAAW,EAAE,GAAG,EAAE,OAAO,EAAE,iBAAiB,GAAG,IAAI;IAQrE;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IA2B3B;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAmB/B;;;;OAIG;IACH,OAAO,CAAC,cAAc;IAYtB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAyBzB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAkB1B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAOzB;;;;;;OAMG;IACH,OAAO,CAAC,4BAA4B;IAsDpC;;OAEG;IACH,OAAO,CAAC,cAAc;CAkBvB"}
@@ -7,17 +7,22 @@
7
7
  */
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
9
  exports.NestJSGraphQLPlugin = void 0;
10
+ /** GraphQL built-in scalar type names that cannot be used as ObjectType names */
11
+ const GRAPHQL_BUILT_IN_SCALARS = new Set(['Boolean', 'Int', 'Float', 'String', 'ID']);
10
12
  class NestJSGraphQLPlugin {
11
13
  constructor() {
12
14
  this.name = 'nestjs-graphql';
13
15
  this.priority = 100;
14
16
  }
15
17
  /**
16
- * Add @nestjs/graphql imports before generation
18
+ * Add @nestjs/graphql imports and auto-rename schemas that conflict with
19
+ * GraphQL built-in scalar types (Boolean, Int, Float, String, ID).
17
20
  */
18
21
  beforeGeneration(context, ir) {
19
22
  context.importManager.addImport('@nestjs/graphql', 'ObjectType');
20
23
  context.importManager.addImport('@nestjs/graphql', 'Field');
24
+ // Auto-rename schemas that collide with GraphQL built-in scalars
25
+ this.autoRenameConflictingSchemas(ir);
21
26
  }
22
27
  /**
23
28
  * Decorate class with @ObjectType()
@@ -56,6 +61,18 @@ class NestJSGraphQLPlugin {
56
61
  arguments: [`() => ${fieldType}${optionsStr}`],
57
62
  });
58
63
  }
64
+ /**
65
+ * Register enum types with NestJS GraphQL
66
+ */
67
+ decorateEnum(sourceFile, schema, context) {
68
+ context.importManager.addImport('@nestjs/graphql', 'registerEnumType');
69
+ let optionsStr = `{ name: '${schema.name}'`;
70
+ if (schema.description) {
71
+ optionsStr += `, description: \`${this.escapeForTemplate(schema.description)}\``;
72
+ }
73
+ optionsStr += ' }';
74
+ sourceFile.addStatements(`\nregisterEnumType(${schema.name}, ${optionsStr});`);
75
+ }
59
76
  /**
60
77
  * Add @nestjs/graphql to package.json
61
78
  */
@@ -177,6 +194,83 @@ class NestJSGraphQLPlugin {
177
194
  .replace(/`/g, '\\`')
178
195
  .replace(/\$/g, '\\$');
179
196
  }
197
+ /**
198
+ * Auto-rename schemas whose names exactly match GraphQL built-in scalar types.
199
+ * Appends "Model" suffix (e.g., Boolean → BooleanModel).
200
+ * Mutates the IR in-place so all downstream generation uses the safe names.
201
+ *
202
+ * Uses exact matching — schemas like "NullableBoolean" or "StringMap" are NOT renamed.
203
+ */
204
+ autoRenameConflictingSchemas(ir) {
205
+ // Find exact matches only
206
+ const renames = new Map();
207
+ for (const name of ir.schemas.keys()) {
208
+ if (GRAPHQL_BUILT_IN_SCALARS.has(name)) {
209
+ renames.set(name, `${name}Model`);
210
+ }
211
+ }
212
+ if (renames.size === 0)
213
+ return;
214
+ // Rebuild schemas map with renamed keys and updated schema names
215
+ const entries = Array.from(ir.schemas.entries());
216
+ ir.schemas.clear();
217
+ for (const [originalName, schema] of entries) {
218
+ const newName = renames.get(originalName);
219
+ if (newName) {
220
+ schema.name = newName;
221
+ }
222
+ ir.schemas.set(newName || originalName, schema);
223
+ }
224
+ // Update all type references across schemas
225
+ for (const schema of ir.schemas.values()) {
226
+ for (const prop of schema.properties.values()) {
227
+ this.updateTypeRefs(prop.type, renames);
228
+ }
229
+ }
230
+ // Update all type references across operations
231
+ for (const op of ir.operations.values()) {
232
+ for (const param of op.parameters) {
233
+ this.updateTypeRefs(param.type, renames);
234
+ }
235
+ if (op.requestBody?.content) {
236
+ for (const type of op.requestBody.content.values()) {
237
+ this.updateTypeRefs(type, renames);
238
+ }
239
+ }
240
+ for (const response of op.responses.values()) {
241
+ if (response.content) {
242
+ for (const type of response.content.values()) {
243
+ this.updateTypeRefs(type, renames);
244
+ }
245
+ }
246
+ }
247
+ }
248
+ const renamed = Array.from(renames.entries())
249
+ .map(([from, to]) => `${from} → ${to}`)
250
+ .join(', ');
251
+ console.log(`NestJS GraphQL: auto-renamed ${renames.size} schema(s) conflicting with built-in scalars: ${renamed}`);
252
+ }
253
+ /**
254
+ * Recursively update type reference names based on rename map
255
+ */
256
+ updateTypeRefs(type, renames) {
257
+ if (!type)
258
+ return;
259
+ if ((type.kind === 'reference' || type.kind === 'object') && type.name && renames.has(type.name)) {
260
+ type.name = renames.get(type.name);
261
+ }
262
+ if (type.elementType) {
263
+ this.updateTypeRefs(type.elementType, renames);
264
+ }
265
+ if (type.unionTypes) {
266
+ for (const t of type.unionTypes) {
267
+ this.updateTypeRefs(t, renames);
268
+ }
269
+ }
270
+ if (type.additionalProperties) {
271
+ this.updateTypeRefs(type.additionalProperties, renames);
272
+ }
273
+ }
180
274
  }
181
275
  exports.NestJSGraphQLPlugin = NestJSGraphQLPlugin;
182
276
  //# sourceMappingURL=nestjs-graphql-plugin.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"nestjs-graphql-plugin.js","sourceRoot":"","sources":["../../src/plugins/nestjs-graphql-plugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"nestjs-graphql-plugin.js","sourceRoot":"","sources":["../../src/plugins/nestjs-graphql-plugin.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@
4
4
  * Adds @ApiProperty decorators from @nestjs/swagger
5
5
  * Properly handles types, descriptions, constraints, and examples
6
6
  */
7
- import { PropertyDeclaration } from 'ts-morph';
7
+ import { PropertyDeclaration, SourceFile } from 'ts-morph';
8
8
  import { GeneratorPlugin } from './plugin-interface';
9
9
  import { SchemaDefinition, PropertyDefinition, SchemaIR } from '../ir/types';
10
10
  import { GenerationContext } from '../builders/class-builder';
@@ -19,6 +19,10 @@ export declare class NestJSSwaggerPlugin implements GeneratorPlugin {
19
19
  * Decorate property with @ApiProperty()
20
20
  */
21
21
  decorateProperty(property: PropertyDeclaration, propertyDef: PropertyDefinition, schema: SchemaDefinition, context: GenerationContext): void;
22
+ /**
23
+ * Add @ApiExtraModels for enum types so Swagger discovers them
24
+ */
25
+ decorateEnum(sourceFile: SourceFile, schema: SchemaDefinition, context: GenerationContext): void;
22
26
  /**
23
27
  * Add @nestjs/swagger to package.json
24
28
  */
@@ -27,6 +31,11 @@ export declare class NestJSSwaggerPlugin implements GeneratorPlugin {
27
31
  * Build @ApiProperty options object
28
32
  */
29
33
  private buildApiPropertyOptions;
34
+ /**
35
+ * Get the enum type name if a type references an enum schema
36
+ * Returns the enum name for direct references, null otherwise
37
+ */
38
+ private getEnumReferenceName;
30
39
  /**
31
40
  * Get Swagger-compatible type for @ApiProperty
32
41
  *
@@ -1 +1 @@
1
- {"version":3,"file":"nestjs-swagger-plugin.d.ts","sourceRoot":"","sources":["../../src/plugins/nestjs-swagger-plugin.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAElB,QAAQ,EACT,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAE9D,qBAAa,mBAAoB,YAAW,eAAe;IACzD,IAAI,SAAoB;IACxB,QAAQ,SAAO;IAEf;;OAEG;IACH,gBAAgB,CAAC,OAAO,EAAE,iBAAiB,EAAE,EAAE,EAAE,QAAQ,GAAG,IAAI;IAIhE;;OAEG;IACH,gBAAgB,CACd,QAAQ,EAAE,mBAAmB,EAC7B,WAAW,EAAE,kBAAkB,EAC/B,MAAM,EAAE,gBAAgB,EACxB,OAAO,EAAE,iBAAiB,GACzB,IAAI;IAUP;;OAEG;IACH,iBAAiB,CAAC,WAAW,EAAE,GAAG,EAAE,OAAO,EAAE,iBAAiB,GAAG,IAAI;IAQrE;;OAEG;IACH,OAAO,CAAC,uBAAuB;IA4E/B;;;;;OAKG;IACH,OAAO,CAAC,cAAc;IA+CtB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IA+B1B;;;OAGG;IACH,OAAO,CAAC,iBAAiB;CAM1B"}
1
+ {"version":3,"file":"nestjs-swagger-plugin.d.ts","sourceRoot":"","sources":["../../src/plugins/nestjs-swagger-plugin.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAElB,QAAQ,EACT,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAE9D,qBAAa,mBAAoB,YAAW,eAAe;IACzD,IAAI,SAAoB;IACxB,QAAQ,SAAO;IAEf;;OAEG;IACH,gBAAgB,CAAC,OAAO,EAAE,iBAAiB,EAAE,EAAE,EAAE,QAAQ,GAAG,IAAI;IAIhE;;OAEG;IACH,gBAAgB,CACd,QAAQ,EAAE,mBAAmB,EAC7B,WAAW,EAAE,kBAAkB,EAC/B,MAAM,EAAE,gBAAgB,EACxB,OAAO,EAAE,iBAAiB,GACzB,IAAI;IAUP;;OAEG;IACH,YAAY,CACV,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,gBAAgB,EACxB,OAAO,EAAE,iBAAiB,GACzB,IAAI;IAKP;;OAEG;IACH,iBAAiB,CAAC,WAAW,EAAE,GAAG,EAAE,OAAO,EAAE,iBAAiB,GAAG,IAAI;IAQrE;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAgG/B;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IAU5B;;;;;OAKG;IACH,OAAO,CAAC,cAAc;IA+CtB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAkC1B;;;OAGG;IACH,OAAO,CAAC,iBAAiB;CAM1B"}
@@ -22,13 +22,20 @@ class NestJSSwaggerPlugin {
22
22
  * Decorate property with @ApiProperty()
23
23
  */
24
24
  decorateProperty(property, propertyDef, schema, context) {
25
- const options = this.buildApiPropertyOptions(propertyDef, schema);
25
+ const options = this.buildApiPropertyOptions(propertyDef, schema, context);
26
26
  const optionsStr = this.buildOptionsString(options);
27
27
  property.addDecorator({
28
28
  name: 'ApiProperty',
29
29
  arguments: [optionsStr],
30
30
  });
31
31
  }
32
+ /**
33
+ * Add @ApiExtraModels for enum types so Swagger discovers them
34
+ */
35
+ decorateEnum(sourceFile, schema, context) {
36
+ // No Swagger-specific decoration needed for enum files
37
+ // Enum values are handled at the property level via { enum: EnumName }
38
+ }
32
39
  /**
33
40
  * Add @nestjs/swagger to package.json
34
41
  */
@@ -41,12 +48,34 @@ class NestJSSwaggerPlugin {
41
48
  /**
42
49
  * Build @ApiProperty options object
43
50
  */
44
- buildApiPropertyOptions(propertyDef, schema) {
51
+ buildApiPropertyOptions(propertyDef, schema, context) {
45
52
  const options = {};
46
- // Type - use constructor reference (String, Number, Boolean, not 'string', 'number', 'boolean')
47
- const swaggerType = this.getSwaggerType(propertyDef.type);
48
- if (swaggerType) {
49
- options.type = swaggerType;
53
+ // Check if this property references an enum schema
54
+ const enumRefName = this.getEnumReferenceName(propertyDef.type, context?.enumSchemaNames);
55
+ if (enumRefName) {
56
+ // Use enum: EnumName for enum references (not type: () => EnumName)
57
+ options.enum = enumRefName;
58
+ }
59
+ else if (propertyDef.type.kind === 'array' && propertyDef.type.elementType) {
60
+ // Check for arrays of enums
61
+ const arrayEnumName = this.getEnumReferenceName(propertyDef.type.elementType, context?.enumSchemaNames);
62
+ if (arrayEnumName) {
63
+ options.enum = arrayEnumName;
64
+ options.isArray = true;
65
+ }
66
+ else {
67
+ const swaggerType = this.getSwaggerType(propertyDef.type);
68
+ if (swaggerType) {
69
+ options.type = swaggerType;
70
+ }
71
+ }
72
+ }
73
+ else {
74
+ // Type - use constructor reference (String, Number, Boolean, not 'string', 'number', 'boolean')
75
+ const swaggerType = this.getSwaggerType(propertyDef.type);
76
+ if (swaggerType) {
77
+ options.type = swaggerType;
78
+ }
50
79
  }
51
80
  // Description
52
81
  if (propertyDef.description) {
@@ -103,6 +132,18 @@ class NestJSSwaggerPlugin {
103
132
  }
104
133
  return options;
105
134
  }
135
+ /**
136
+ * Get the enum type name if a type references an enum schema
137
+ * Returns the enum name for direct references, null otherwise
138
+ */
139
+ getEnumReferenceName(type, enumSchemaNames) {
140
+ if (!enumSchemaNames)
141
+ return null;
142
+ if ((type.kind === 'reference' || type.kind === 'object') && type.name && enumSchemaNames.has(type.name)) {
143
+ return type.name;
144
+ }
145
+ return null;
146
+ }
106
147
  /**
107
148
  * Get Swagger-compatible type for @ApiProperty
108
149
  *
@@ -163,6 +204,10 @@ class NestJSSwaggerPlugin {
163
204
  // Don't quote function references or constructor names
164
205
  valueStr = value;
165
206
  }
207
+ else if (key === 'enum' && /^[A-Z]/.test(value)) {
208
+ // Enum type reference - output as bare identifier
209
+ valueStr = value;
210
+ }
166
211
  else {
167
212
  // Quote strings and use template literal for proper escaping
168
213
  valueStr = `\`${value}\``;
@@ -1 +1 @@
1
- {"version":3,"file":"nestjs-swagger-plugin.js","sourceRoot":"","sources":["../../src/plugins/nestjs-swagger-plugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"nestjs-swagger-plugin.js","sourceRoot":"","sources":["../../src/plugins/nestjs-swagger-plugin.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * Defines the contract for generator plugins that extend functionality
5
5
  */
6
- import { ClassDeclaration, PropertyDeclaration } from 'ts-morph';
6
+ import { ClassDeclaration, PropertyDeclaration, SourceFile } from 'ts-morph';
7
7
  import { SchemaDefinition, PropertyDefinition, SchemaIR } from '../ir/types';
8
8
  import { GenerationContext } from '../builders/class-builder';
9
9
  /**
@@ -37,6 +37,11 @@ export interface GeneratorPlugin {
37
37
  * Add property-level decorators
38
38
  */
39
39
  decorateProperty?(property: PropertyDeclaration, propertyDef: PropertyDefinition, schema: SchemaDefinition, context: GenerationContext): void | Promise<void>;
40
+ /**
41
+ * Called when generating an enum schema
42
+ * Add enum-level decorations (e.g., registerEnumType for GraphQL)
43
+ */
44
+ decorateEnum?(sourceFile: SourceFile, schema: SchemaDefinition, context: GenerationContext): void | Promise<void>;
40
45
  /**
41
46
  * Called after all generation is complete
42
47
  * Use for post-processing, cleanup, validation
@@ -104,6 +109,10 @@ export declare class PluginRunner {
104
109
  * Run decorateProperty hooks
105
110
  */
106
111
  runDecorateProperty(property: PropertyDeclaration, propertyDef: PropertyDefinition, schema: SchemaDefinition, context: GenerationContext): Promise<void>;
112
+ /**
113
+ * Run decorateEnum hooks
114
+ */
115
+ runDecorateEnum(sourceFile: SourceFile, schema: SchemaDefinition, context: GenerationContext): Promise<void>;
107
116
  /**
108
117
  * Run afterGeneration hooks
109
118
  */
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-interface.d.ts","sourceRoot":"","sources":["../../src/plugins/plugin-interface.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AACjE,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,QAAQ,EACT,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAE9D;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;;;;;OAMG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;;OAGG;IACH,gBAAgB,CAAC,CAAC,OAAO,EAAE,iBAAiB,EAAE,EAAE,EAAE,QAAQ,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAElF;;;OAGG;IACH,aAAa,CAAC,CACZ,SAAS,EAAE,gBAAgB,EAC3B,MAAM,EAAE,gBAAgB,EACxB,OAAO,EAAE,iBAAiB,GACzB,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAExB;;;OAGG;IACH,gBAAgB,CAAC,CACf,QAAQ,EAAE,mBAAmB,EAC7B,WAAW,EAAE,kBAAkB,EAC/B,MAAM,EAAE,gBAAgB,EACxB,OAAO,EAAE,iBAAiB,GACzB,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAExB;;;OAGG;IACH,eAAe,CAAC,CAAC,OAAO,EAAE,iBAAiB,EAAE,EAAE,EAAE,QAAQ,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjF;;;OAGG;IACH,iBAAiB,CAAC,CAChB,WAAW,EAAE,GAAG,EAChB,OAAO,EAAE,iBAAiB,GACzB,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACzB;AAED;;GAEG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,OAAO,CAAyB;IAExC;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,eAAe,GAAG,IAAI;IAUvC;;OAEG;IACH,WAAW,CAAC,OAAO,EAAE,eAAe,EAAE,GAAG,IAAI;IAM7C;;OAEG;IACH,MAAM,IAAI,eAAe,EAAE;IAI3B;;OAEG;IACH,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS;IAIpD;;OAEG;IACH,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI1B;;OAEG;IACH,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAS7B;;OAEG;IACH,KAAK,IAAI,IAAI;IAIb;;OAEG;IACH,OAAO,CAAC,WAAW;CAGpB;AAED;;GAEG;AACH,qBAAa,YAAY;IACX,OAAO,CAAC,OAAO;gBAAP,OAAO,EAAE,eAAe,EAAE;IAE9C;;OAEG;IACG,mBAAmB,CAAC,OAAO,EAAE,iBAAiB,EAAE,EAAE,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAQlF;;OAEG;IACG,gBAAgB,CACpB,SAAS,EAAE,gBAAgB,EAC3B,MAAM,EAAE,gBAAgB,EACxB,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,IAAI,CAAC;IAQhB;;OAEG;IACG,mBAAmB,CACvB,QAAQ,EAAE,mBAAmB,EAC7B,WAAW,EAAE,kBAAkB,EAC/B,MAAM,EAAE,gBAAgB,EACxB,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,IAAI,CAAC;IAQhB;;OAEG;IACG,kBAAkB,CAAC,OAAO,EAAE,iBAAiB,EAAE,EAAE,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAQjF;;OAEG;IACG,oBAAoB,CAAC,WAAW,EAAE,GAAG,EAAE,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;CAOxF"}
1
+ {"version":3,"file":"plugin-interface.d.ts","sourceRoot":"","sources":["../../src/plugins/plugin-interface.ts"],"names":[],"mappings":"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"}
@@ -112,6 +112,16 @@ class PluginRunner {
112
112
  }
113
113
  }
114
114
  }
115
+ /**
116
+ * Run decorateEnum hooks
117
+ */
118
+ async runDecorateEnum(sourceFile, schema, context) {
119
+ for (const plugin of this.plugins) {
120
+ if (plugin.decorateEnum) {
121
+ await plugin.decorateEnum(sourceFile, schema, context);
122
+ }
123
+ }
124
+ }
115
125
  /**
116
126
  * Run afterGeneration hooks
117
127
  */
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-interface.js","sourceRoot":"","sources":["../../src/plugins/plugin-interface.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plugin-interface.js","sourceRoot":"","sources":["../../src/plugins/plugin-interface.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "klasik",
3
- "version": "2.6.4",
3
+ "version": "2.6.6",
4
4
  "description": "TypeScript code generator from OpenAPI/CRD/JSON Schema/Go structs - rebuilt from ground up with AST-based generation",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",