@wundergraph/protographic 0.15.6 → 0.16.1

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 (50) hide show
  1. package/dist/src/abstract-selection-rewriter.d.ts +265 -0
  2. package/dist/src/abstract-selection-rewriter.js +585 -0
  3. package/dist/src/abstract-selection-rewriter.js.map +1 -0
  4. package/dist/src/index.d.ts +2 -0
  5. package/dist/src/index.js +4 -2
  6. package/dist/src/index.js.map +1 -1
  7. package/dist/src/naming-conventions.d.ts +59 -0
  8. package/dist/src/naming-conventions.js +82 -7
  9. package/dist/src/naming-conventions.js.map +1 -1
  10. package/dist/src/operation-to-proto.js +9 -6
  11. package/dist/src/operation-to-proto.js.map +1 -1
  12. package/dist/src/operations/field-numbering.js +6 -3
  13. package/dist/src/operations/field-numbering.js.map +1 -1
  14. package/dist/src/operations/message-builder.js +38 -23
  15. package/dist/src/operations/message-builder.js.map +1 -1
  16. package/dist/src/operations/proto-field-options.js.map +1 -1
  17. package/dist/src/operations/proto-text-generator.js +16 -27
  18. package/dist/src/operations/proto-text-generator.js.map +1 -1
  19. package/dist/src/operations/request-builder.js +5 -3
  20. package/dist/src/operations/request-builder.js.map +1 -1
  21. package/dist/src/operations/type-mapper.js +3 -22
  22. package/dist/src/operations/type-mapper.js.map +1 -1
  23. package/dist/src/proto-lock.js +19 -19
  24. package/dist/src/proto-lock.js.map +1 -1
  25. package/dist/src/proto-utils.d.ts +74 -0
  26. package/dist/src/proto-utils.js +286 -0
  27. package/dist/src/proto-utils.js.map +1 -0
  28. package/dist/src/required-fields-visitor.d.ts +230 -0
  29. package/dist/src/required-fields-visitor.js +513 -0
  30. package/dist/src/required-fields-visitor.js.map +1 -0
  31. package/dist/src/sdl-to-mapping-visitor.d.ts +9 -1
  32. package/dist/src/sdl-to-mapping-visitor.js +72 -12
  33. package/dist/src/sdl-to-mapping-visitor.js.map +1 -1
  34. package/dist/src/sdl-to-proto-visitor.d.ts +20 -66
  35. package/dist/src/sdl-to-proto-visitor.js +270 -390
  36. package/dist/src/sdl-to-proto-visitor.js.map +1 -1
  37. package/dist/src/sdl-validation-visitor.d.ts +2 -0
  38. package/dist/src/sdl-validation-visitor.js +85 -29
  39. package/dist/src/sdl-validation-visitor.js.map +1 -1
  40. package/dist/src/selection-set-validation-visitor.d.ts +112 -0
  41. package/dist/src/selection-set-validation-visitor.js +199 -0
  42. package/dist/src/selection-set-validation-visitor.js.map +1 -0
  43. package/dist/src/string-constants.d.ts +4 -0
  44. package/dist/src/string-constants.js +4 -0
  45. package/dist/src/string-constants.js.map +1 -1
  46. package/dist/src/types.d.ts +102 -0
  47. package/dist/src/types.js +37 -1
  48. package/dist/src/types.js.map +1 -1
  49. package/dist/tsconfig.tsbuildinfo +1 -1
  50. package/package.json +9 -5
@@ -1,6 +1,8 @@
1
1
  import { isEnumType, isInputObjectType, isObjectType, Kind, } from 'graphql';
2
- import { createEntityLookupMethodName, createOperationMethodName, createRequestMessageName, createResolverMethodName, createResponseMessageName, graphqlArgumentToProtoField, graphqlEnumValueToProtoEnumValue, graphqlFieldToProtoField, } from './naming-conventions.js';
3
- import { ArgumentMapping, EntityMapping, EnumMapping, EnumValueMapping, FieldMapping, GRPCMapping, LookupFieldMapping, LookupMapping, LookupType, OperationMapping, OperationType, TypeFieldMapping, } from '@wundergraph/cosmo-connect/dist/node/v1/node_pb';
2
+ import { ArgumentMapping, EntityMapping, EnumMapping, EnumValueMapping, FieldMapping, GRPCMapping, LookupFieldMapping, LookupMapping, LookupType, OperationMapping, OperationType, RequiredFieldMapping, TypeFieldMapping, } from '@wundergraph/cosmo-connect/dist/node/v1/node_pb';
3
+ import { createEntityLookupMethodName, createOperationMethodName, createRequestMessageName, createResolverMethodName, createResponseMessageName, graphqlArgumentToProtoField, graphqlEnumValueToProtoEnumValue, graphqlFieldToProtoField, formatKeyElements, } from './naming-conventions.js';
4
+ import { REQUIRES_DIRECTIVE_NAME } from './string-constants.js';
5
+ import { RequiredFieldsVisitor } from './required-fields-visitor.js';
4
6
  /**
5
7
  * Visitor that converts a GraphQL schema to gRPC mapping definitions
6
8
  *
@@ -13,7 +15,7 @@ import { ArgumentMapping, EntityMapping, EnumMapping, EnumValueMapping, FieldMap
13
15
  * The generated mappings are used to translate between GraphQL and Protocol Buffer
14
16
  * representations in a consistent manner.
15
17
  */
16
- export class GraphQLToProtoVisitor {
18
+ export class GraphQLToMappingVisitor {
17
19
  /**
18
20
  * Creates a new visitor for generating gRPC mappings from a GraphQL schema
19
21
  *
@@ -66,13 +68,15 @@ export class GraphQLToProtoVisitor {
66
68
  const typeMap = this.schema.getTypeMap();
67
69
  for (const [typeName, type] of Object.entries(typeMap)) {
68
70
  // Skip built-in types and query/mutation/subscription types
69
- if (this.shouldSkipRootType(type))
71
+ if (this.shouldSkipRootType(type)) {
70
72
  continue;
73
+ }
71
74
  // Check if this is an entity type (has @key directive)
72
75
  if (isObjectType(type)) {
73
76
  const keyDirectives = this.getKeyDirectives(type);
74
- if (keyDirectives.length === 0)
77
+ if (keyDirectives.length === 0) {
75
78
  continue;
79
+ }
76
80
  // Process each @key directive separately
77
81
  for (const keyDirective of keyDirectives) {
78
82
  const key = this.getKeyFromDirective(keyDirective);
@@ -81,9 +85,58 @@ export class GraphQLToProtoVisitor {
81
85
  this.createEntityMapping(typeName, key);
82
86
  }
83
87
  }
88
+ this.createRequiredFieldsMapping(type);
84
89
  }
85
90
  }
86
91
  }
92
+ createRequiredFieldsMapping(type) {
93
+ var _a;
94
+ const fields = Object.values(type.getFields()).filter((field) => { var _a, _b; return (_b = (_a = field.astNode) === null || _a === void 0 ? void 0 : _a.directives) === null || _b === void 0 ? void 0 : _b.some((d) => d.name.value === REQUIRES_DIRECTIVE_NAME); });
95
+ if (fields.length === 0) {
96
+ return;
97
+ }
98
+ for (const field of fields) {
99
+ const visitor = new RequiredFieldsVisitor(this.schema, type, field, this.getRequiredFieldSet(field));
100
+ visitor.visit();
101
+ const mapping = visitor.getMapping();
102
+ const seenKeys = new Set();
103
+ for (const [key, value] of Object.entries(mapping)) {
104
+ const normalizedKey = formatKeyElements(key).join(' ');
105
+ if (seenKeys.has(normalizedKey)) {
106
+ continue;
107
+ }
108
+ seenKeys.add(normalizedKey);
109
+ // Compare normalized versions of both keys to handle different formatting
110
+ const em = this.mapping.entityMappings.find((em) => em.typeName === type.name && formatKeyElements(em.key).join(' ') === normalizedKey);
111
+ if (!em) {
112
+ throw new Error(`Entity mapping not found for type ${type.name} and key ${key}`);
113
+ }
114
+ if (!value.rpc) {
115
+ throw new Error(`RPC method not found for required field ${(_a = value.requiredFieldMapping) === null || _a === void 0 ? void 0 : _a.original}`);
116
+ }
117
+ em.requiredFieldMappings.push(new RequiredFieldMapping({
118
+ fieldMapping: value.requiredFieldMapping,
119
+ request: value.rpc.request,
120
+ response: value.rpc.response,
121
+ rpc: value.rpc.name,
122
+ }));
123
+ }
124
+ }
125
+ }
126
+ /**
127
+ * Extracts the required field set from a field's requires directive
128
+ * @param field - The GraphQL field to get the required field set from
129
+ * @returns The required field set string
130
+ * @throws Error if the required field set is not found or is not a string
131
+ */
132
+ getRequiredFieldSet(field) {
133
+ var _a, _b, _c, _d;
134
+ const arg = (_d = (_c = (_b = (_a = field.astNode) === null || _a === void 0 ? void 0 : _a.directives) === null || _b === void 0 ? void 0 : _b.find((d) => d.name.value === REQUIRES_DIRECTIVE_NAME)) === null || _c === void 0 ? void 0 : _c.arguments) === null || _d === void 0 ? void 0 : _d.find((arg) => arg.name.value === 'fields');
135
+ if (!arg || arg.value.kind !== Kind.STRING) {
136
+ throw new Error(`Required field set not found for field ${field.name}`);
137
+ }
138
+ return arg.value.value;
139
+ }
87
140
  /**
88
141
  * Extract all key directives from a GraphQL object type
89
142
  *
@@ -109,9 +162,10 @@ export class GraphQLToProtoVisitor {
109
162
  typeName,
110
163
  kind: 'entity',
111
164
  key: keyField,
112
- rpc: rpc,
165
+ rpc,
113
166
  request: createRequestMessageName(rpc),
114
167
  response: createResponseMessageName(rpc),
168
+ requiredFieldMappings: [],
115
169
  });
116
170
  this.mapping.entityMappings.push(entityMapping);
117
171
  }
@@ -169,14 +223,17 @@ export class GraphQLToProtoVisitor {
169
223
  const typeMap = this.schema.getTypeMap();
170
224
  for (const typeName in typeMap) {
171
225
  const type = typeMap[typeName];
172
- if (this.shouldSkipRootType(type))
226
+ if (this.shouldSkipRootType(type)) {
173
227
  continue;
174
- if (!isObjectType(type))
228
+ }
229
+ if (!isObjectType(type)) {
175
230
  continue;
231
+ }
176
232
  const fields = type.getFields();
177
233
  for (const field of Object.values(fields)) {
178
- if (field.args.length === 0)
234
+ if (field.args.length === 0) {
179
235
  continue;
236
+ }
180
237
  this.createLookupMapping(LookupType.RESOLVE, type.name, field);
181
238
  }
182
239
  }
@@ -192,8 +249,9 @@ export class GraphQLToProtoVisitor {
192
249
  * @param graphqlType - The GraphQL type to process
193
250
  */
194
251
  processType(operationTypeName, operationType, graphqlType) {
195
- if (!graphqlType)
252
+ if (!graphqlType) {
196
253
  return;
254
+ }
197
255
  const typeFieldMapping = new TypeFieldMapping({
198
256
  type: operationTypeName,
199
257
  fieldMappings: [],
@@ -201,8 +259,9 @@ export class GraphQLToProtoVisitor {
201
259
  const fields = graphqlType.getFields();
202
260
  for (const fieldName in fields) {
203
261
  // Skip special federation fields
204
- if (fieldName === '_entities')
262
+ if (fieldName === '_entities' || fieldName === '_service') {
205
263
  continue;
264
+ }
206
265
  const field = fields[fieldName];
207
266
  const mappedName = createOperationMethodName(operationTypeName, fieldName);
208
267
  this.createOperationMapping(operationType, fieldName, mappedName);
@@ -249,8 +308,9 @@ export class GraphQLToProtoVisitor {
249
308
  const typeMap = this.schema.getTypeMap();
250
309
  for (const typeName in typeMap) {
251
310
  const type = typeMap[typeName];
252
- if (this.shouldSkipRootType(type))
311
+ if (this.shouldSkipRootType(type)) {
253
312
  continue;
313
+ }
254
314
  // Process each type according to its kind
255
315
  if (isObjectType(type)) {
256
316
  this.processObjectType(type);
@@ -1 +1 @@
1
- {"version":3,"file":"sdl-to-mapping-visitor.js","sourceRoot":"","sources":["../../src/sdl-to-mapping-visitor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sdl-to-mapping-visitor.js","sourceRoot":"","sources":["../../src/sdl-to-mapping-visitor.ts"],"names":[],"mappings":"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"}
@@ -76,6 +76,12 @@ export declare class GraphQLToProtoTextVisitor {
76
76
  * @param options - Configuration options for the visitor
77
77
  */
78
78
  constructor(schema: GraphQLSchema, options?: GraphQLToProtoTextVisitorOptions);
79
+ /**
80
+ * Visit the GraphQL schema to generate Proto buffer definition
81
+ *
82
+ * @returns The complete Protocol Buffer definition as a string
83
+ */
84
+ visit(): string;
79
85
  /**
80
86
  * Initialize the field numbers map from the lock data to preserve field numbers
81
87
  * even when fields are removed and later re-added
@@ -118,12 +124,6 @@ export declare class GraphQLToProtoTextVisitor {
118
124
  * Build the proto file header with syntax, package, imports, and options
119
125
  */
120
126
  private buildProtoHeader;
121
- /**
122
- * Visit the GraphQL schema to generate Proto buffer definition
123
- *
124
- * @returns The complete Protocol Buffer definition as a string
125
- */
126
- visit(): string;
127
127
  /**
128
128
  * Trim empty lines from the beginning and end of the array
129
129
  */
@@ -194,6 +194,12 @@ export declare class GraphQLToProtoTextVisitor {
194
194
  * @returns Array of all key directives found
195
195
  */
196
196
  private getKeyDirectives;
197
+ /**
198
+ * Checks if a type has a @key directive
199
+ * @param type - The type to check
200
+ * @returns True if the type has a @key directive, false otherwise
201
+ */
202
+ private hasKeyDirective;
197
203
  /**
198
204
  * Extract key info from a directive
199
205
  *
@@ -205,6 +211,8 @@ export declare class GraphQLToProtoTextVisitor {
205
211
  */
206
212
  private getKeyInfoFromDirective;
207
213
  private collectResolverRpcMethods;
214
+ private collectRequiredFieldRpcMethods;
215
+ private getRequiredFieldSet;
208
216
  private getFieldContext;
209
217
  private getIDFields;
210
218
  private getUnderlyingType;
@@ -258,6 +266,12 @@ export declare class GraphQLToProtoTextVisitor {
258
266
  */
259
267
  private createResolverResponseMessage;
260
268
  private isOperationType;
269
+ /**
270
+ * Checks if a type is an entity type
271
+ * @param type - The type to check
272
+ * @returns True if the type is an entity type, false otherwise
273
+ */
274
+ private isEntityType;
261
275
  /**
262
276
  * Queue all types from the schema that need processing
263
277
  */
@@ -347,59 +361,6 @@ export declare class GraphQLToProtoTextVisitor {
347
361
  * @returns The corresponding Protocol Buffer type name
348
362
  */
349
363
  private getProtoTypeFromGraphQL;
350
- /**
351
- * Converts GraphQL list types to appropriate Protocol Buffer representations.
352
- *
353
- * For non-nullable, single-level lists (e.g., [String!]!), generates simple repeated fields.
354
- * For nullable lists (e.g., [String]) or nested lists (e.g., [[String]]), creates wrapper
355
- * messages to properly handle nullability in proto3.
356
- *
357
- * Examples:
358
- * - [String!]! → repeated string field_name = 1;
359
- * - [String] → ListOfString field_name = 1; (with wrapper message)
360
- * - [[String!]!]! → ListOfListOfString field_name = 1; (with nested wrapper messages)
361
- * - [[String]] → ListOfListOfString field_name = 1; (with nested wrapper messages)
362
- *
363
- * @param graphqlType - The GraphQL list type to convert
364
- * @returns ProtoType object containing the type name and whether it should be repeated
365
- */
366
- private handleListType;
367
- /**
368
- * Creates wrapper messages for nullable or nested GraphQL lists.
369
- *
370
- * Generates Protocol Buffer message definitions to handle list nullability and nesting.
371
- * The wrapper messages are stored and later included in the final proto output.
372
- *
373
- * For level 1: Creates simple wrapper like:
374
- * message ListOfString {
375
- * repeated string items = 1;
376
- * }
377
- *
378
- * For level > 1: Creates nested wrapper structures like:
379
- * message ListOfListOfString {
380
- * message List {
381
- * repeated ListOfString items = 1;
382
- * }
383
- * List list = 1;
384
- * }
385
- *
386
- * @param level - The nesting level (1 for simple wrapper, >1 for nested structures)
387
- * @param baseType - The GraphQL base type being wrapped (e.g., String, User, etc.)
388
- * @returns The generated wrapper message name (e.g., "ListOfString", "ListOfListOfUser")
389
- */
390
- private createNestedListWrapper;
391
- /**
392
- * Builds the message lines for a wrapper message
393
- */
394
- private buildWrapperMessage;
395
- /**
396
- * Get indentation based on the current level
397
- *
398
- * Helper method to maintain consistent indentation in the output.
399
- *
400
- * @returns String with spaces for the current indentation level
401
- */
402
- private getIndent;
403
364
  /**
404
365
  * Get the generated lock data after visiting
405
366
  *
@@ -429,11 +390,4 @@ export declare class GraphQLToProtoTextVisitor {
429
390
  * @returns The message definition
430
391
  */
431
392
  private buildMessage;
432
- /**
433
- * Formats the indent for the content
434
- * @param indent - The indent level
435
- * @param content - The content to format
436
- * @returns The formatted content
437
- */
438
- private formatIndent;
439
393
  }