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.
- package/dist/bin/go-schema-gen +0 -0
- package/dist/builders/class-builder.d.ts +6 -0
- package/dist/builders/class-builder.d.ts.map +1 -1
- package/dist/builders/class-builder.js +16 -2
- package/dist/builders/class-builder.js.map +1 -1
- package/dist/generator/generator.d.ts +12 -0
- package/dist/generator/generator.d.ts.map +1 -1
- package/dist/generator/generator.js +103 -2
- package/dist/generator/generator.js.map +1 -1
- package/dist/plugins/class-transformer-plugin.d.ts +4 -0
- package/dist/plugins/class-transformer-plugin.d.ts.map +1 -1
- package/dist/plugins/class-transformer-plugin.js +22 -3
- package/dist/plugins/class-transformer-plugin.js.map +1 -1
- package/dist/plugins/class-validator-plugin.d.ts.map +1 -1
- package/dist/plugins/class-validator-plugin.js +27 -10
- package/dist/plugins/class-validator-plugin.js.map +1 -1
- package/dist/plugins/nestjs-graphql-plugin.d.ts +19 -2
- package/dist/plugins/nestjs-graphql-plugin.d.ts.map +1 -1
- package/dist/plugins/nestjs-graphql-plugin.js +95 -1
- package/dist/plugins/nestjs-graphql-plugin.js.map +1 -1
- package/dist/plugins/nestjs-swagger-plugin.d.ts +10 -1
- package/dist/plugins/nestjs-swagger-plugin.d.ts.map +1 -1
- package/dist/plugins/nestjs-swagger-plugin.js +51 -6
- package/dist/plugins/nestjs-swagger-plugin.js.map +1 -1
- package/dist/plugins/plugin-interface.d.ts +10 -1
- package/dist/plugins/plugin-interface.d.ts.map +1 -1
- package/dist/plugins/plugin-interface.js +10 -0
- package/dist/plugins/plugin-interface.js.map +1 -1
- package/package.json +1 -1
package/dist/bin/go-schema-gen
CHANGED
|
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;
|
|
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":";AAAA;;;;GAIG;;;AAEH,uCAOkB;AAOlB,mEAA+D;
|
|
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;
|
|
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;
|
|
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;
|
|
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;IAkHpD,CAAC;IAhHC;;;;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,+EAA+E;QAC/E,MAAM,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;QACvF,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;;OAEG;IACK,eAAe,CAAC,QAA4B,EAAE,eAA6B;QACjF,IAAI,CAAC,QAAQ,IAAI,CAAC,eAAe;YAAE,OAAO,KAAK,CAAC;QAChD,OAAO,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACvC,CAAC;IAED;;;OAGG;IACK,gBAAgB,CAAC,IAAmB,EAAE,eAA6B;QACzE,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;YAClB,KAAK,WAAW,CAAC;YACjB,KAAK,QAAQ;gBACX,qEAAqE;gBACrE,IAAI,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE,eAAe,CAAC,EAAE,CAAC;oBACrD,OAAO,SAAS,CAAC;gBACnB,CAAC;gBACD,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,uBAAuB;oBACvB,IAAI,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,eAAe,CAAC,EAAE,CAAC;wBACjE,OAAO,SAAS,CAAC;oBACnB,CAAC;oBACD,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,IAAI,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,eAAe,CAAC,EAAE,CAAC;wBAC1E,OAAO,SAAS,CAAC;oBACnB,CAAC;oBACD,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;AApHD,wDAoHC"}
|
|
@@ -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;
|
|
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
|
|
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.
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
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
|
|
74
|
-
context.
|
|
75
|
-
|
|
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":";AAAA;;;;;GAKG;;;AAYH,MAAa,oBAAoB;IAAjC;QACE,SAAI,GAAG,iBAAiB,CAAC;QACzB,aAAQ,GAAG,EAAE,CAAC,CAAC,+CAA+C;
|
|
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
|
|
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;
|
|
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
|
|
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":";AAAA;;;;;GAKG;;;
|
|
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;
|
|
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
|
-
//
|
|
47
|
-
const
|
|
48
|
-
if (
|
|
49
|
-
|
|
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":";AAAA;;;;;GAKG;;;AAYH,MAAa,mBAAmB;IAAhC;QACE,SAAI,GAAG,gBAAgB,CAAC;QACxB,aAAQ,GAAG,GAAG,CAAC,CAAC,uBAAuB;
|
|
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;
|
|
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":";AAAA;;;;GAIG;;;
|
|
1
|
+
{"version":3,"file":"plugin-interface.js","sourceRoot":"","sources":["../../src/plugins/plugin-interface.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED