@k0lyan/nestjs-prisma-graphql-generator 0.8.22 → 0.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"generate-grouped-fast.d.ts","sourceRoot":"","sources":["../../src/generator/generate-grouped-fast.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAgC,MAAM,cAAc,CAAC;AAIhF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAmB7D;;;GAGG;AACH,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,YAAY,EAClB,MAAM,EAAE,eAAe,GACtB,OAAO,CAAC,aAAa,EAAE,CAAC,CA6B1B"}
1
+ {"version":3,"file":"generate-grouped-fast.d.ts","sourceRoot":"","sources":["../../src/generator/generate-grouped-fast.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAgC,MAAM,cAAc,CAAC;AAIhF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAoB7D;;;GAGG;AACH,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,YAAY,EAClB,MAAM,EAAE,eAAe,GACtB,OAAO,CAAC,aAAa,EAAE,CAAC,CA6B1B"}
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.generateCodeGrouped = generateCodeGrouped;
7
7
  const types_1 = require("./dmmf/types");
8
8
  const transformer_1 = require("./dmmf/transformer");
9
+ const utils_1 = require("./templates/utils");
9
10
  const pluralize_1 = __importDefault(require("pluralize"));
10
11
  /**
11
12
  * Generate code with files grouped by model using direct string generation
@@ -143,8 +144,13 @@ function generateModelObjectType(model, dmmf, config) {
143
144
  const relatedModels = [...new Set(relationFields.map(f => f.type))].filter(m => m !== model.name);
144
145
  const enumFields = model.fields.filter(f => (0, transformer_1.isEnumField)(f));
145
146
  const enumTypes = [...new Set(enumFields.map(f => f.type))];
147
+ // Check if any field needs to be hidden
148
+ const hasHiddenField = model.fields.some(f => (0, utils_1.isHiddenField)(f.documentation));
146
149
  // Imports - paths are relative to models/{ModelName}/model.ts
147
- lines.push(`import { ObjectType, Field, ID, Int, Float } from '@nestjs/graphql';`);
150
+ const nestjsImports = ['ObjectType', 'Field', 'ID', 'Int', 'Float'];
151
+ if (hasHiddenField)
152
+ nestjsImports.push('HideField');
153
+ lines.push(`import { ${nestjsImports.join(', ')} } from '@nestjs/graphql';`);
148
154
  const scalarImports = [];
149
155
  if (hasJson)
150
156
  scalarImports.push('GraphQLJSON');
@@ -204,15 +210,21 @@ function generateRelationProperty(field) {
204
210
  function generateModelField(field, _dmmf, _config) {
205
211
  const { graphqlType, tsType } = getFieldTypes(field);
206
212
  const lines = [];
207
- // Generate @Field() decorator for scalar/enum fields
208
- const typeArg = field.isList ? `() => [${graphqlType}]` : `() => ${graphqlType}`;
209
- const options = [];
210
- if (!field.isRequired && !field.isList)
211
- options.push('nullable: true');
212
- if (field.documentation)
213
- options.push(`description: '${escapeStr(field.documentation)}'`);
214
- const optionsStr = options.length > 0 ? `, { ${options.join(', ')} }` : '';
215
- lines.push(` @Field(${typeArg}${optionsStr})`);
213
+ // Check if the field should be hidden from the GraphQL schema
214
+ if ((0, utils_1.isHiddenField)(field.documentation)) {
215
+ lines.push(` @HideField()`);
216
+ }
217
+ else {
218
+ // Generate @Field() decorator for scalar/enum fields
219
+ const typeArg = field.isList ? `() => [${graphqlType}]` : `() => ${graphqlType}`;
220
+ const options = [];
221
+ if (!field.isRequired && !field.isList)
222
+ options.push('nullable: true');
223
+ if (field.documentation)
224
+ options.push(`description: '${escapeStr(field.documentation)}'`);
225
+ const optionsStr = options.length > 0 ? `, { ${options.join(', ')} }` : '';
226
+ lines.push(` @Field(${typeArg}${optionsStr})`);
227
+ }
216
228
  let propertyType = tsType;
217
229
  if (field.isList)
218
230
  propertyType = `${propertyType}[]`;
@@ -1436,11 +1448,13 @@ function extractFieldArgs(
1436
1448
  /**
1437
1449
  * Parse a selection set into a Prisma select object.
1438
1450
  * When modelName is provided, filters out fields not in the Prisma model.
1451
+ * When defaultScalars is provided, includes scalar fields even if not queried.
1439
1452
  */
1440
1453
  function parseSelectionSetSimple(
1441
1454
  selectionSet: SelectionSetNode | undefined,
1442
1455
  info: GraphQLResolveInfo,
1443
1456
  modelFields?: ModelFieldInfo,
1457
+ defaultScalars?: true | Set<string>,
1444
1458
  ): Record<string, boolean | PrismaRelation> {
1445
1459
  const select: Record<string, boolean | PrismaRelation> = {};
1446
1460
 
@@ -1450,6 +1464,16 @@ function parseSelectionSetSimple(
1450
1464
 
1451
1465
  const variableValues = (info.variableValues ?? {}) as Record<string, unknown>;
1452
1466
 
1467
+ // Apply default scalars: add model scalars that weren't explicitly selected
1468
+ if (defaultScalars && modelFields) {
1469
+ for (const scalarName of modelFields.scalars) {
1470
+ if (EXCLUDED_FIELDS.has(scalarName)) continue;
1471
+ if (defaultScalars === true || defaultScalars.has(scalarName)) {
1472
+ select[scalarName] = true;
1473
+ }
1474
+ }
1475
+ }
1476
+
1453
1477
  for (const selection of selectionSet.selections) {
1454
1478
  // Handle field selections
1455
1479
  if (selection.kind === 'Field') {
@@ -1479,6 +1503,7 @@ function parseSelectionSetSimple(
1479
1503
  fieldNode.selectionSet,
1480
1504
  info,
1481
1505
  relatedModelFields,
1506
+ defaultScalars,
1482
1507
  );
1483
1508
  const relationArgs = extractFieldArgs(fieldNode, variableValues);
1484
1509
 
@@ -1523,14 +1548,14 @@ function parseSelectionSetSimple(
1523
1548
  const fragment = info.fragments[fragmentName];
1524
1549
 
1525
1550
  if (fragment) {
1526
- const fragmentSelect = parseSelectionSetSimple(fragment.selectionSet, info, modelFields);
1551
+ const fragmentSelect = parseSelectionSetSimple(fragment.selectionSet, info, modelFields, defaultScalars);
1527
1552
  Object.assign(select, fragmentSelect);
1528
1553
  }
1529
1554
  }
1530
1555
  // Handle inline fragments
1531
1556
  else if (selection.kind === 'InlineFragment') {
1532
1557
  if (selection.selectionSet) {
1533
- const inlineSelect = parseSelectionSetSimple(selection.selectionSet, info, modelFields);
1558
+ const inlineSelect = parseSelectionSetSimple(selection.selectionSet, info, modelFields, defaultScalars);
1534
1559
  Object.assign(select, inlineSelect);
1535
1560
  }
1536
1561
  }
@@ -1539,11 +1564,24 @@ function parseSelectionSetSimple(
1539
1564
  return select;
1540
1565
  }
1541
1566
 
1567
+ /**
1568
+ * Options for transformInfoIntoPrismaArgs
1569
+ */
1570
+ export interface TransformOptions {
1571
+ /**
1572
+ * Include scalar fields even if not requested in the query.
1573
+ * - true: include all scalar fields from the model
1574
+ * - string[]: include only the specified scalar fields
1575
+ */
1576
+ includeDefaultScalars?: boolean | string[];
1577
+ }
1578
+
1542
1579
  /**
1543
1580
  * Transform GraphQL resolve info into Prisma select/include arguments.
1544
1581
  *
1545
1582
  * @param info - GraphQL resolve info from the resolver
1546
1583
  * @param modelName - Optional model name for automatic field filtering (e.g., 'User')
1584
+ * @param options - Optional configuration
1547
1585
  * @returns Prisma select object
1548
1586
  *
1549
1587
  * @example
@@ -1552,10 +1590,17 @@ function parseSelectionSetSimple(
1552
1590
  *
1553
1591
  * // With filtering (custom @ResolveField fields excluded):
1554
1592
  * const select = transformInfoIntoPrismaArgs(info, 'User');
1593
+ *
1594
+ * // With all default scalars included:
1595
+ * const select = transformInfoIntoPrismaArgs(info, 'User', { includeDefaultScalars: true });
1596
+ *
1597
+ * // With specific default scalars:
1598
+ * const select = transformInfoIntoPrismaArgs(info, 'User', { includeDefaultScalars: ['id', 'email'] });
1555
1599
  */
1556
1600
  export function transformInfoIntoPrismaArgs(
1557
1601
  info: GraphQLResolveInfo,
1558
1602
  modelName?: string,
1603
+ options?: TransformOptions,
1559
1604
  ): PrismaSelect {
1560
1605
  // Get the first field node
1561
1606
  const fieldNode = info.fieldNodes[0];
@@ -1566,8 +1611,16 @@ export function transformInfoIntoPrismaArgs(
1566
1611
  // Get model fields if modelName is provided
1567
1612
  const modelFields = modelName ? getModelFields(modelName) : undefined;
1568
1613
 
1614
+ // Resolve default scalars option
1615
+ let defaultScalars: true | Set<string> | undefined;
1616
+ if (options?.includeDefaultScalars && modelFields) {
1617
+ defaultScalars = options.includeDefaultScalars === true
1618
+ ? true
1619
+ : new Set(options.includeDefaultScalars);
1620
+ }
1621
+
1569
1622
  // Parse the selection set directly from AST
1570
- const select = parseSelectionSetSimple(fieldNode.selectionSet, info, modelFields);
1623
+ const select = parseSelectionSetSimple(fieldNode.selectionSet, info, modelFields, defaultScalars);
1571
1624
 
1572
1625
  if (Object.keys(select).length === 0) {
1573
1626
  return {};
@@ -1 +1 @@
1
- {"version":3,"file":"generate-grouped-fast.js","sourceRoot":"","sources":["../../src/generator/generate-grouped-fast.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generate-grouped-fast.js","sourceRoot":"","sources":["../../src/generator/generate-grouped-fast.ts"],"names":[],"mappings":"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"}
@@ -159,6 +159,15 @@ export interface TransformOptions {
159
159
  * @example 'User'
160
160
  */
161
161
  modelName?: string;
162
+
163
+ /**
164
+ * Include all scalar fields from the model in the select, even if the
165
+ * GraphQL query doesn't explicitly request them. Requires dmmf and modelName.
166
+ *
167
+ * When set to true, all scalar fields are included.
168
+ * When set to an array of field names, only those specific fields are added.
169
+ */
170
+ includeDefaultScalars?: boolean | string[];
162
171
  }
163
172
 
164
173
  /**
@@ -251,6 +260,7 @@ function extractFieldArgs(
251
260
  * This function works directly with the AST without schema type introspection.
252
261
  * It also extracts relation arguments (where, orderBy, take, skip, cursor, distinct).
253
262
  * When dmmf and modelFields are provided, filters out fields not in Prisma model.
263
+ * When defaultScalars is provided, includes scalar fields even if not queried.
254
264
  */
255
265
  function parseSelectionSetSimple(
256
266
  selectionSet: SelectionSetNode | undefined,
@@ -258,6 +268,7 @@ function parseSelectionSetSimple(
258
268
  excludeFields?: Set<string>,
259
269
  dmmf?: PrismaDMMF,
260
270
  modelFields?: ModelFieldInfo,
271
+ defaultScalars?: true | Set<string>,
261
272
  ): Record<string, boolean | PrismaRelation> {
262
273
  const select: Record<string, boolean | PrismaRelation> = {};
263
274
 
@@ -267,6 +278,16 @@ function parseSelectionSetSimple(
267
278
 
268
279
  const variableValues = (info.variableValues ?? {}) as Record<string, unknown>;
269
280
 
281
+ // Apply default scalars: add model scalars that weren't explicitly selected
282
+ if (defaultScalars && modelFields) {
283
+ for (const scalarName of modelFields.scalars) {
284
+ if (EXCLUDED_FIELDS.has(scalarName) || excludeFields?.has(scalarName)) continue;
285
+ if (defaultScalars === true || defaultScalars.has(scalarName)) {
286
+ select[scalarName] = true;
287
+ }
288
+ }
289
+ }
290
+
270
291
  for (const selection of selectionSet.selections) {
271
292
  // Handle field selections
272
293
  if (selection.kind === 'Field') {
@@ -298,6 +319,7 @@ function parseSelectionSetSimple(
298
319
  excludeFields,
299
320
  dmmf,
300
321
  relatedModelFields,
322
+ defaultScalars,
301
323
  );
302
324
 
303
325
  const relationArgs = extractFieldArgs(fieldNode, variableValues);
@@ -357,6 +379,7 @@ function parseSelectionSetSimple(
357
379
  excludeFields,
358
380
  dmmf,
359
381
  modelFields,
382
+ defaultScalars,
360
383
  );
361
384
  Object.assign(select, fragmentSelect);
362
385
  }
@@ -370,6 +393,7 @@ function parseSelectionSetSimple(
370
393
  excludeFields,
371
394
  dmmf,
372
395
  modelFields,
396
+ defaultScalars,
373
397
  );
374
398
  Object.assign(select, inlineSelect);
375
399
  }
@@ -397,6 +421,20 @@ function parseSelectionSetSimple(
397
421
  * modelName: 'User',
398
422
  * });
399
423
  *
424
+ * // With all default scalars included:
425
+ * const select = transformInfoIntoPrismaArgs(info, {
426
+ * dmmf: Prisma.dmmf,
427
+ * modelName: 'User',
428
+ * includeDefaultScalars: true,
429
+ * });
430
+ *
431
+ * // With specific default scalars:
432
+ * const select = transformInfoIntoPrismaArgs(info, {
433
+ * dmmf: Prisma.dmmf,
434
+ * modelName: 'User',
435
+ * includeDefaultScalars: ['id', 'email'],
436
+ * });
437
+ *
400
438
  * // Or manually exclude specific fields:
401
439
  * const select = transformInfoIntoPrismaArgs(info, { excludeFields: ['occupationStatus'] });
402
440
  */
@@ -419,6 +457,14 @@ export function transformInfoIntoPrismaArgs(
419
457
  modelFields = getModelFields(options.dmmf, options.modelName);
420
458
  }
421
459
 
460
+ // Resolve default scalars option
461
+ let defaultScalars: true | Set<string> | undefined;
462
+ if (options?.includeDefaultScalars && modelFields) {
463
+ defaultScalars = options.includeDefaultScalars === true
464
+ ? true
465
+ : new Set(options.includeDefaultScalars);
466
+ }
467
+
422
468
  // Parse the selection set directly from AST
423
469
  const select = parseSelectionSetSimple(
424
470
  fieldNode.selectionSet,
@@ -426,6 +472,7 @@ export function transformInfoIntoPrismaArgs(
426
472
  excludeSet,
427
473
  options?.dmmf,
428
474
  modelFields,
475
+ defaultScalars,
429
476
  );
430
477
 
431
478
  if (Object.keys(select).length === 0) {
@@ -1 +1 @@
1
- {"version":3,"file":"helpers-generator.js","sourceRoot":"","sources":["../../src/generator/helpers-generator.ts"],"names":[],"mappings":";;AAOA,0CAaC;AAhBD;;GAEG;AACH,SAAgB,eAAe,CAC7B,OAAgB,EAChB,MAAuB;IAEvB,MAAM,KAAK,GAAG,IAAI,GAAG,EAAsB,CAAC;IAE5C,6BAA6B;IAC7B,MAAM,WAAW,GAAG,YAAY,CAAC;IACjC,MAAM,WAAW,GAAG,OAAO,CAAC,gBAAgB,CAAC,WAAW,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACnF,mBAAmB,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IACzC,KAAK,CAAC,GAAG,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;IAEpC,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;GAEG;AACH,SAAS,mBAAmB,CAAC,UAAsB,EAAE,OAAwB;IAC3E,UAAU,CAAC,aAAa,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2gB1B,CAAC,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"helpers-generator.js","sourceRoot":"","sources":["../../src/generator/helpers-generator.ts"],"names":[],"mappings":";;AAOA,0CAaC;AAhBD;;GAEG;AACH,SAAgB,eAAe,CAC7B,OAAgB,EAChB,MAAuB;IAEvB,MAAM,KAAK,GAAG,IAAI,GAAG,EAAsB,CAAC;IAE5C,6BAA6B;IAC7B,MAAM,WAAW,GAAG,YAAY,CAAC;IACjC,MAAM,WAAW,GAAG,OAAO,CAAC,gBAAgB,CAAC,WAAW,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACnF,mBAAmB,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IACzC,KAAK,CAAC,GAAG,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;IAEpC,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;GAEG;AACH,SAAS,mBAAmB,CAAC,UAAsB,EAAE,OAAwB;IAC3E,UAAU,CAAC,aAAa,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0jB1B,CAAC,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../../src/generator/templates/model.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,UAAU,EAAW,MAAM,UAAU,CAAC;AAGxD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAGhE;;GAEG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,YAAY,EAClB,MAAM,EAAE,eAAe,GACtB,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAqBzB"}
1
+ {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../../src/generator/templates/model.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,UAAU,EAAW,MAAM,UAAU,CAAC;AAIxD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAEhE;;GAEG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,YAAY,EAClB,MAAM,EAAE,eAAe,GACtB,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAqBzB"}
@@ -3,8 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.generateModels = generateModels;
4
4
  const types_1 = require("../dmmf/types");
5
5
  const ts_morph_1 = require("ts-morph");
6
- const transformer_1 = require("../dmmf/transformer");
7
6
  const utils_1 = require("./utils");
7
+ const transformer_1 = require("../dmmf/transformer");
8
8
  /**
9
9
  * Generate model object type files
10
10
  */
@@ -31,6 +31,9 @@ function generateModels(project, dmmf, config) {
31
31
  */
32
32
  function generateModelFile(sourceFile, model, dmmf, config) {
33
33
  const nestjsImports = ['ObjectType', 'Field', 'ID', 'Int', 'Float'];
34
+ const hasHiddenField = model.fields.some(f => (0, utils_1.isHiddenField)(f.documentation));
35
+ if (hasHiddenField)
36
+ nestjsImports.push('HideField');
34
37
  const hasJson = model.fields.some(f => f.type === 'Json');
35
38
  const hasBigInt = model.fields.some(f => f.type === 'BigInt');
36
39
  const hasDecimal = model.fields.some(f => f.type === 'Decimal');
@@ -155,18 +158,17 @@ function addFieldToClass(classDecl, field, dmmf, _config) {
155
158
  if (!field.isRequired) {
156
159
  propertyType = `${propertyType} | null`;
157
160
  }
158
- // Add property with @Field decorator
161
+ // Check if field should be hidden from GraphQL schema
162
+ const hidden = (0, utils_1.isHiddenField)(field.documentation);
163
+ // Add property with @Field or @HideField decorator
159
164
  classDecl.addProperty({
160
165
  name: field.name,
161
166
  type: propertyType,
162
167
  hasExclamationToken: field.isRequired || field.isList,
163
168
  hasQuestionToken: !field.isRequired && !field.isList,
164
- decorators: [
165
- {
166
- name: 'Field',
167
- arguments: fieldDecoratorArgs,
168
- },
169
- ],
169
+ decorators: hidden
170
+ ? [{ name: 'HideField', arguments: [] }]
171
+ : [{ name: 'Field', arguments: fieldDecoratorArgs }],
170
172
  });
171
173
  }
172
174
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"model.js","sourceRoot":"","sources":["../../../src/generator/templates/model.ts"],"names":[],"mappings":";;AAYA,wCAyBC;AApCD,yCAA4E;AAC5E,uCAAwD;AACxD,qDAAkF;AAIlF,mCAA4C;AAE5C;;GAEG;AACH,SAAgB,cAAc,CAC5B,OAAgB,EAChB,IAAkB,EAClB,MAAuB;IAEvB,MAAM,KAAK,GAAG,IAAI,GAAG,EAAsB,CAAC;IAE5C,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAChC,MAAM,QAAQ,GAAG,GAAG,KAAK,CAAC,IAAI,KAAK,CAAC;QACpC,MAAM,QAAQ,GAAG,GAAG,MAAM,CAAC,UAAU,EAAE,MAAM,IAAI,QAAQ,IAAI,QAAQ,EAAE,CAAC;QAExE,MAAM,UAAU,GAAG,OAAO,CAAC,gBAAgB,CAAC,QAAQ,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/E,iBAAiB,CAAC,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QACnD,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IAClC,CAAC;IAED,sBAAsB;IACtB,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,MAAM,SAAS,GAAG,GAAG,MAAM,CAAC,UAAU,EAAE,MAAM,IAAI,QAAQ,WAAW,CAAC;QACtE,MAAM,SAAS,GAAG,OAAO,CAAC,gBAAgB,CAAC,SAAS,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/E,sBAAsB,CAAC,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAC/C,KAAK,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IAClC,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;GAEG;AACH,SAAS,iBAAiB,CACxB,UAAsB,EACtB,KAAY,EACZ,IAAkB,EAClB,MAAuB;IAEvB,MAAM,aAAa,GAAG,CAAC,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IACpE,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;IAC1D,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;IAC9D,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;IAChE,MAAM,cAAc,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,IAAA,6BAAe,EAAC,CAAC,CAAC,CAAC,CAAC;IACpE,MAAM,aAAa,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,CAAC;IAClG,MAAM,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,IAAI,gBAAgB,CAAC;IAErE,cAAc;IACd,UAAU,CAAC,oBAAoB,CAAC;QAC9B,eAAe,EAAE,iBAAiB;QAClC,YAAY,EAAE,aAAa;KAC5B,CAAC,CAAC;IAEH,sCAAsC;IACtC,MAAM,aAAa,GAAa,EAAE,CAAC;IACnC,IAAI,OAAO;QAAE,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAC/C,IAAI,SAAS;QAAE,aAAa,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IACnD,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7B,UAAU,CAAC,oBAAoB,CAAC;YAC9B,eAAe,EAAE,iBAAiB;YAClC,YAAY,EAAE,aAAa;SAC5B,CAAC,CAAC;IACL,CAAC;IAED,qCAAqC;IACrC,IAAI,UAAU,EAAE,CAAC;QACf,UAAU,CAAC,oBAAoB,CAAC;YAC9B,eAAe,EAAE,YAAY;YAC7B,YAAY,EAAE,CAAC,gBAAgB,CAAC;SACjC,CAAC,CAAC;IACL,CAAC;IAED,2CAA2C;IAC3C,IAAI,UAAU,EAAE,CAAC;QACf,UAAU,CAAC,oBAAoB,CAAC;YAC9B,eAAe,EAAE,gBAAgB;YACjC,YAAY,EAAE,CAAC,QAAQ,CAAC;SACzB,CAAC,CAAC;IACL,CAAC;IAED,oFAAoF;IACpF,8EAA8E;IAC9E,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7B,UAAU,CAAC,aAAa,CACtB,gFAAgF,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAC7H,CAAC;IACJ,CAAC;IAED,eAAe;IACf,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,IAAA,yBAAW,EAAC,CAAC,CAAC,CAAC,CAAC;IAC5D,MAAM,SAAS,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAE5D,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,UAAU,CAAC,oBAAoB,CAAC;YAC9B,eAAe,EAAE,MAAM,MAAM,CAAC,UAAU,EAAE,KAAK,IAAI,OAAO,EAAE;YAC5D,YAAY,EAAE,SAAS;SACxB,CAAC,CAAC;IACL,CAAC;IAED,uCAAuC;IACvC,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;QACxB,UAAU,CAAC,aAAa,CAAC,OAAO,KAAK,CAAC,aAAa,KAAK,CAAC,CAAC;IAC5D,CAAC;IAED,8CAA8C;IAC9C,MAAM,SAAS,GAAG,UAAU,CAAC,QAAQ,CAAC;QACpC,IAAI,EAAE,GAAG,MAAM,CAAC,UAAU,IAAI,EAAE,GAAG,KAAK,CAAC,IAAI,GAAG,MAAM,CAAC,UAAU,IAAI,EAAE,EAAE;QACzE,UAAU,EAAE,IAAI;QAChB,UAAU,EAAE;YACV;gBACE,IAAI,EAAE,YAAY;gBAClB,SAAS,EAAE;oBACT,kBAAO,CAAC,MAAM,CAAC;wBACb,WAAW,EAAE,KAAK,CAAC,aAAa;4BAC9B,CAAC,CAAC,IAAI,IAAA,yBAAiB,EAAC,KAAK,CAAC,aAAa,CAAC,GAAG;4BAC/C,CAAC,CAAC,WAAW;qBAChB,CAAC;iBACH;aACF;SACF;KACF,CAAC,CAAC;IAEH,aAAa;IACb,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;QACjC,eAAe,CAAC,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IAClD,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,eAAe,CACtB,SAA6C,EAC7C,KAAiB,EACjB,IAAkB,EAClB,OAAwB;IAExB,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAC3D,MAAM,UAAU,GAAG,IAAA,6BAAe,EAAC,KAAK,CAAC,CAAC;IAE1C,mCAAmC;IACnC,MAAM,kBAAkB,GAAa,EAAE,CAAC;IAExC,wEAAwE;IACxE,IAAI,UAAU,EAAE,CAAC;QACf,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YACjB,kBAAkB,CAAC,IAAI,CAAC,qBAAqB,KAAK,CAAC,IAAI,MAAM,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC;QAC9E,CAAC;aAAM,CAAC;YACN,kBAAkB,CAAC,IAAI,CAAC,oBAAoB,KAAK,CAAC,IAAI,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;QAC5E,CAAC;IACH,CAAC;SAAM,CAAC;QACN,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YACjB,kBAAkB,CAAC,IAAI,CAAC,UAAU,WAAW,GAAG,CAAC,CAAC;QACpD,CAAC;aAAM,CAAC;YACN,kBAAkB,CAAC,IAAI,CAAC,SAAS,WAAW,EAAE,CAAC,CAAC;QAClD,CAAC;IACH,CAAC;IAED,iBAAiB;IACjB,MAAM,OAAO,GAA2B,EAAE,CAAC;IAE3C,IAAI,CAAC,KAAK,CAAC,UAAU,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QACvC,OAAO,CAAC,UAAU,CAAC,GAAG,MAAM,CAAC;IAC/B,CAAC;IAED,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;QACxB,OAAO,CAAC,aAAa,CAAC,GAAG,IAAI,IAAA,yBAAiB,EAAC,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC;IACzE,CAAC;IAED,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpC,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC;aACvC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;aAC7B,IAAI,CAAC,IAAI,CAAC,CAAC;QACd,kBAAkB,CAAC,IAAI,CAAC,KAAK,UAAU,IAAI,CAAC,CAAC;IAC/C,CAAC;IAED,4BAA4B;IAC5B,IAAI,YAAY,GAAG,MAAM,CAAC;IAC1B,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;QACjB,YAAY,GAAG,GAAG,MAAM,IAAI,CAAC;IAC/B,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;QACtB,YAAY,GAAG,GAAG,YAAY,SAAS,CAAC;IAC1C,CAAC;IAED,qCAAqC;IACrC,SAAS,CAAC,WAAW,CAAC;QACpB,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,IAAI,EAAE,YAAY;QAClB,mBAAmB,EAAE,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,MAAM;QACrD,gBAAgB,EAAE,CAAC,KAAK,CAAC,UAAU,IAAI,CAAC,KAAK,CAAC,MAAM;QACpD,UAAU,EAAE;YACV;gBACE,IAAI,EAAE,OAAO;gBACb,SAAS,EAAE,kBAAkB;aAC9B;SACF;KACF,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,SAAS,aAAa,CACpB,KAAiB,EACjB,KAAmB;IAEnB,6CAA6C;IAC7C,IAAI,IAAA,2BAAa,EAAC,KAAK,CAAC,EAAE,CAAC;QACzB,wBAAwB;QACxB,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAC1B,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;QACvD,CAAC;QAED,MAAM,WAAW,GAAG,gCAAwB,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC;QACrE,MAAM,MAAM,GAAG,yBAAiB,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC;QAEzD,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC;IACjC,CAAC;IAED,qBAAqB;IACrB,IAAI,IAAA,yBAAW,EAAC,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,EAAE,WAAW,EAAE,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC;IACzD,CAAC;IAED,yBAAyB;IACzB,IAAI,IAAA,6BAAe,EAAC,KAAK,CAAC,EAAE,CAAC;QAC3B,OAAO,EAAE,WAAW,EAAE,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC;IACzD,CAAC;IAED,WAAW;IACX,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;AACrD,CAAC;AAED;;GAEG;AACH,SAAS,sBAAsB,CAAC,UAAsB,EAAE,MAAe;IACrE,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,UAAU,CAAC,oBAAoB,CAAC;YAC9B,eAAe,EAAE,KAAK,KAAK,CAAC,IAAI,EAAE;SACnC,CAAC,CAAC;IACL,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"model.js","sourceRoot":"","sources":["../../../src/generator/templates/model.ts"],"names":[],"mappings":"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"}
@@ -2,4 +2,9 @@
2
2
  * Escape a description string for use in generated code
3
3
  */
4
4
  export declare function escapeDescription(description: string): string;
5
+ /**
6
+ * Check if a field should be hidden from the GraphQL schema
7
+ * based on its documentation containing @HideField() or @TypeGraphQL.omit(output: true)
8
+ */
9
+ export declare function isHiddenField(documentation?: string): boolean;
5
10
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/generator/templates/utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAO7D"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/generator/templates/utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAO7D;AAID;;;GAGG;AACH,wBAAgB,aAAa,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,OAAO,CAE7D"}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.escapeDescription = escapeDescription;
4
+ exports.isHiddenField = isHiddenField;
4
5
  /**
5
6
  * Escape a description string for use in generated code
6
7
  */
@@ -12,4 +13,12 @@ function escapeDescription(description) {
12
13
  .replace(/\r/g, '\\r') // Escape carriage returns
13
14
  .replace(/\t/g, '\\t'); // Escape tabs
14
15
  }
16
+ const HIDE_FIELD_PATTERN = /@HideField\(\)|@TypeGraphQL\.omit\(output:\s*true\)/;
17
+ /**
18
+ * Check if a field should be hidden from the GraphQL schema
19
+ * based on its documentation containing @HideField() or @TypeGraphQL.omit(output: true)
20
+ */
21
+ function isHiddenField(documentation) {
22
+ return documentation != null && HIDE_FIELD_PATTERN.test(documentation);
23
+ }
15
24
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/generator/templates/utils.ts"],"names":[],"mappings":";;AAGA,8CAOC;AAVD;;GAEG;AACH,SAAgB,iBAAiB,CAAC,WAAmB;IACnD,OAAO,WAAW;SACf,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,2BAA2B;SAClD,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,uBAAuB;SAC5C,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,kBAAkB;SACxC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,0BAA0B;SAChD,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,cAAc;AAC1C,CAAC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/generator/templates/utils.ts"],"names":[],"mappings":";;AAGA,8CAOC;AAQD,sCAEC;AApBD;;GAEG;AACH,SAAgB,iBAAiB,CAAC,WAAmB;IACnD,OAAO,WAAW;SACf,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,2BAA2B;SAClD,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,uBAAuB;SAC5C,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,kBAAkB;SACxC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,0BAA0B;SAChD,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,cAAc;AAC1C,CAAC;AAED,MAAM,kBAAkB,GAAG,qDAAqD,CAAC;AAEjF;;;GAGG;AACH,SAAgB,aAAa,CAAC,aAAsB;IAClD,OAAO,aAAa,IAAI,IAAI,IAAI,kBAAkB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;AACzE,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@k0lyan/nestjs-prisma-graphql-generator",
3
- "version": "0.8.22",
3
+ "version": "0.9.0",
4
4
  "description": "Prisma generator for NestJS 11 GraphQL with optimized query building from GraphQL selections",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",