@wundergraph/composition 0.0.1 → 0.3.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.
Files changed (42) hide show
  1. package/LICENSE +197 -14
  2. package/README.md +140 -1
  3. package/dist/ast/ast.d.ts +2 -0
  4. package/dist/ast/ast.js.map +1 -1
  5. package/dist/ast/utils.d.ts +7 -7
  6. package/dist/ast/utils.js +30 -16
  7. package/dist/ast/utils.js.map +1 -1
  8. package/dist/errors/errors.d.ts +8 -4
  9. package/dist/errors/errors.js +67 -10
  10. package/dist/errors/errors.js.map +1 -1
  11. package/dist/federation/federation-factory.d.ts +6 -5
  12. package/dist/federation/federation-factory.js +105 -30
  13. package/dist/federation/federation-factory.js.map +1 -1
  14. package/dist/federation/federation-result.d.ts +2 -2
  15. package/dist/federation/federation-result.js +0 -7
  16. package/dist/federation/federation-result.js.map +1 -1
  17. package/dist/index.d.ts +1 -1
  18. package/dist/index.js +1 -1
  19. package/dist/index.js.map +1 -1
  20. package/dist/normalization/normalization-factory.d.ts +9 -3
  21. package/dist/normalization/normalization-factory.js +235 -105
  22. package/dist/normalization/normalization-factory.js.map +1 -1
  23. package/dist/normalization/utils.d.ts +7 -3
  24. package/dist/normalization/utils.js +0 -1
  25. package/dist/normalization/utils.js.map +1 -1
  26. package/dist/subgraph/field-configuration.d.ts +7 -0
  27. package/dist/subgraph/field-configuration.js +3 -0
  28. package/dist/subgraph/field-configuration.js.map +1 -0
  29. package/dist/{federation → subgraph}/subgraph.d.ts +1 -1
  30. package/dist/{federation → subgraph}/subgraph.js +8 -28
  31. package/dist/subgraph/subgraph.js.map +1 -0
  32. package/dist/tsconfig.tsbuildinfo +1 -1
  33. package/dist/utils/constants.js +8 -1
  34. package/dist/utils/constants.js.map +1 -1
  35. package/dist/utils/string-constants.d.ts +1 -0
  36. package/dist/utils/string-constants.js +2 -1
  37. package/dist/utils/string-constants.js.map +1 -1
  38. package/dist/utils/utils.d.ts +22 -1
  39. package/dist/utils/utils.js +65 -3
  40. package/dist/utils/utils.js.map +1 -1
  41. package/package.json +11 -10
  42. package/dist/federation/subgraph.js.map +0 -1
@@ -1,11 +1,16 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.unexpectedDirectiveLocationError = exports.incompatibleParentKindFatalError = exports.unexpectedParentKindErrorMessage = exports.invalidMultiGraphNodeFatalError = exports.unexpectedKindFatalError = exports.undefinedParentFatalError = exports.invalidKeyDirectiveError = exports.invalidEntityKeyError = exports.invalidNestingErrorMessage = exports.invalidNestingClosureErrorMessage = exports.invalidClosingBraceErrorMessage = exports.invalidOpeningBraceErrorMessage = exports.invalidGraphQLNameErrorMessage = exports.invalidKeyDirectiveArgumentErrorMessage = exports.duplicateDirectiveArgumentDefinitionErrorMessage = exports.unexpectedDirectiveArgumentErrorMessage = exports.undefinedRequiredArgumentsErrorMessage = exports.unexpectedDirectiveArgumentsErrorMessage = exports.invalidDirectiveLocationErrorMessage = exports.invalidDirectiveError = exports.invalidUnionError = exports.invalidRepeatedDirectiveErrorMessage = exports.federationRequiredInputFieldError = exports.federationInvalidParentTypeError = exports.federationUnexpectedNodeKindError = exports.undefinedTypeError = exports.unresolvableFieldError = exports.undefinedEntityKeyErrorMessage = exports.undefinedDirectiveError = exports.shareableFieldDefinitionsError = exports.operationDefinitionError = exports.noDefinedUnionMembersError = exports.noBaseTypeExtensionError = exports.duplicateOperationTypeDefinitionError = exports.duplicateTypeDefinitionError = exports.duplicateValueExtensionError = exports.duplicateUnionMemberError = exports.duplicateInterfaceError = exports.duplicateFieldExtensionError = exports.duplicateEnumValueDefinitionError = exports.duplicateDirectiveDefinitionError = exports.duplicateFieldDefinitionError = exports.invalidSubgraphNamesError = exports.incompatibleExtensionKindsError = exports.incompatibleSharedEnumError = exports.incompatibleArgumentDefaultValueTypeError = exports.incompatibleArgumentDefaultValueError = exports.incompatibleChildTypesError = exports.incompatibleArgumentTypesError = exports.minimumSubgraphRequirementError = void 0;
4
- exports.subgraphInvalidSyntaxError = exports.invalidRootTypeDefinitionError = exports.invalidOperationTypeDefinitionError = exports.invalidSubgraphNameErrorMessage = exports.subgraphValidationFailureErrorMessage = exports.subgraphValidationError = exports.objectInCompositeKeyWithoutSelectionsErrorMessage = exports.unexpectedTypeNodeKindError = void 0;
3
+ exports.unexpectedParentKindErrorMessage = exports.invalidMultiGraphNodeFatalError = exports.unexpectedKindFatalError = exports.undefinedParentFatalError = exports.invalidKeyDirectiveError = exports.invalidEntityKeyError = exports.invalidNestingErrorMessage = exports.invalidNestingClosureErrorMessage = exports.invalidClosingBraceErrorMessage = exports.invalidOpeningBraceErrorMessage = exports.invalidGraphQLNameErrorMessage = exports.invalidKeyDirectiveArgumentErrorMessage = exports.duplicateDirectiveArgumentDefinitionErrorMessage = exports.unexpectedDirectiveArgumentErrorMessage = exports.undefinedRequiredArgumentsErrorMessage = exports.unexpectedDirectiveArgumentsErrorMessage = exports.invalidDirectiveLocationErrorMessage = exports.invalidDirectiveError = exports.invalidUnionError = exports.invalidRepeatedDirectiveErrorMessage = exports.federationRequiredInputFieldError = exports.federationInvalidParentTypeError = exports.federationUnexpectedNodeKindError = exports.undefinedTypeError = exports.unresolvableFieldError = exports.undefinedEntityKeyErrorMessage = exports.undefinedDirectiveError = exports.shareableFieldDefinitionsError = exports.operationDefinitionError = exports.noDefinedUnionMembersError = exports.noBaseTypeExtensionError = exports.duplicateOperationTypeDefinitionError = exports.duplicateTypeDefinitionError = exports.duplicateValueExtensionError = exports.duplicateUnionMemberError = exports.duplicateInterfaceError = exports.duplicateInterfaceExtensionError = exports.duplicateFieldExtensionError = exports.duplicateEnumValueDefinitionError = exports.duplicateDirectiveDefinitionError = exports.duplicateFieldDefinitionError = exports.invalidSubgraphNamesError = exports.incompatibleExtensionKindsError = exports.incompatibleSharedEnumError = exports.incompatibleArgumentDefaultValueTypeError = exports.incompatibleArgumentDefaultValueError = exports.incompatibleChildTypesError = exports.incompatibleArgumentTypesError = exports.incompatibleExtensionError = exports.minimumSubgraphRequirementError = void 0;
4
+ exports.unimplementedInterfaceFieldsError = exports.subgraphInvalidSyntaxError = exports.invalidRootTypeDefinitionError = exports.invalidOperationTypeDefinitionError = exports.invalidSubgraphNameErrorMessage = exports.subgraphValidationFailureErrorMessage = exports.subgraphValidationError = exports.objectInCompositeKeyWithoutSelectionsErrorMessage = exports.unexpectedTypeNodeKindError = exports.unexpectedDirectiveLocationError = exports.incompatibleParentKindFatalError = void 0;
5
5
  const utils_1 = require("../ast/utils");
6
6
  const graphql_1 = require("graphql");
7
7
  const utils_2 = require("../utils/utils");
8
8
  exports.minimumSubgraphRequirementError = new Error('At least one subgraph is required for federation.');
9
+ function incompatibleExtensionError(typeName, baseKind, extensionKind) {
10
+ return new Error(`Extension error:\n Incompatible types: ` +
11
+ `"${typeName}" is type "${baseKind}", but an extension of the same name is type "${extensionKind}.`);
12
+ }
13
+ exports.incompatibleExtensionError = incompatibleExtensionError;
9
14
  function incompatibleArgumentTypesError(argName, parentName, childName, expectedType, actualType) {
10
15
  return new Error(`Incompatible types when merging two instances of argument "${argName}" for "${parentName}.${childName}":\n` +
11
16
  ` Expected type "${expectedType}" but received "${actualType}"`);
@@ -30,6 +35,7 @@ function incompatibleSharedEnumError(parentName) {
30
35
  return new Error(`Enum "${parentName}" was used as both an input and output but was inconsistently defined across inclusive subgraphs.`);
31
36
  }
32
37
  exports.incompatibleSharedEnumError = incompatibleSharedEnumError;
38
+ // The @extends directive means a TypeDefinitionNode is possible
33
39
  function incompatibleExtensionKindsError(node, existingKind) {
34
40
  const name = node.kind === graphql_1.Kind.SCHEMA_EXTENSION ? 'schema' : node.name.value;
35
41
  return new Error(`Expected extension "${name}" to be type ${existingKind} but received ${node.kind}.`);
@@ -63,9 +69,13 @@ function duplicateFieldExtensionError(typeName, childName) {
63
69
  ` More than one extension attempts to extend type "${typeName}" with the field "${childName}".`);
64
70
  }
65
71
  exports.duplicateFieldExtensionError = duplicateFieldExtensionError;
66
- function duplicateInterfaceError(interfaceName, typeName) {
72
+ function duplicateInterfaceExtensionError(interfaceName, typeName) {
67
73
  return new Error(`Extension error:\n Interface "${interfaceName}" is already implemented by type "${typeName}".`);
68
74
  }
75
+ exports.duplicateInterfaceExtensionError = duplicateInterfaceExtensionError;
76
+ function duplicateInterfaceError(interfaceName, typeName) {
77
+ return new Error(`Interface "${interfaceName}" can only be defined on type "${typeName}" once.`);
78
+ }
69
79
  exports.duplicateInterfaceError = duplicateInterfaceError;
70
80
  function duplicateUnionMemberError(memberName, typeName) {
71
81
  return new Error(`Extension error:\n Member "${memberName}" already exists on union "${typeName}".`);
@@ -134,21 +144,22 @@ function undefinedEntityKeyErrorMessage(fieldName, objectName) {
134
144
  ` defined on the object "${objectName}".`);
135
145
  }
136
146
  exports.undefinedEntityKeyErrorMessage = undefinedEntityKeyErrorMessage;
137
- function unresolvableFieldError(operationField, fieldName, unresolvablePaths, fieldSubgraphs, parentTypeName) {
147
+ function unresolvableFieldError(rootTypeField, fieldName, unresolvablePaths, fieldSubgraphs, parentTypeName) {
138
148
  const fieldPath = `${parentTypeName}.${fieldName}`;
139
- return new Error(`The following operation path${unresolvablePaths.length > 1 ? 's are' : ' is'} unresolvable:\n ` +
149
+ return new Error(`The following root path${unresolvablePaths.length > 1 ? 's are' : ' is'} unresolvable:\n ` +
140
150
  unresolvablePaths.join('\n') +
141
151
  `\nThis is because:\n` +
142
- ` The operation "${operationField.path}" is defined in the following subgraphs: "${Array.from(operationField.subgraphs).join('", "')}".\n` +
152
+ ` The root type field "${rootTypeField.path}" is defined in the following subgraphs: "` +
153
+ [...rootTypeField.subgraphs].join('", "') + `".\n` +
143
154
  ` However, "${fieldPath}" is only defined in the following subgraphs: "${fieldSubgraphs}".\n` +
144
- ` Consequently, "${fieldPath}" cannot be resolved through the operation "${operationField.path}".\n` +
155
+ ` Consequently, "${fieldPath}" cannot be resolved through the root type field "${rootTypeField.path}".\n` +
145
156
  `Potential solutions:\n` +
146
157
  ` Convert "${parentTypeName}" into an entity using a "@key" directive.\n` +
147
- ` Add the shareable operation "${operationField.path}" to the following subgraphs: "${fieldSubgraphs}".\n` +
158
+ ` Add the shareable root type field "${rootTypeField.path}" to the following subgraphs: "${fieldSubgraphs}".\n` +
148
159
  ` For example (note that V1 fields are shareable by default and do not require a directive):\n` +
149
- ` type ${operationField.parentTypeName} {\n` +
160
+ ` type ${rootTypeField.parentTypeName} {\n` +
150
161
  ` ...\n` +
151
- ` ${operationField.name}: ${operationField.responseType} @shareable\n` +
162
+ ` ${rootTypeField.name}: ${rootTypeField.responseType} @shareable\n` +
152
163
  ` }`);
153
164
  }
154
165
  exports.unresolvableFieldError = unresolvableFieldError;
@@ -299,4 +310,50 @@ function subgraphInvalidSyntaxError(error) {
299
310
  return new Error(`The subgraph has syntax errors and could not be parsed:\n ${error}`);
300
311
  }
301
312
  exports.subgraphInvalidSyntaxError = subgraphInvalidSyntaxError;
313
+ function unimplementedInterfaceFieldsError(parentTypeName, parentTypeString, implementationErrorsMap) {
314
+ const messages = [];
315
+ for (const [interfaceName, implementationErrors] of implementationErrorsMap) {
316
+ let message = ` The implementation of interface "${interfaceName}" by "${parentTypeName}"` +
317
+ ` is invalid because:\n`;
318
+ const unimplementedFieldsLength = implementationErrors.unimplementedFields.length;
319
+ if (unimplementedFieldsLength) {
320
+ message += ` The following field${unimplementedFieldsLength > 1 ? 's are' : ' is'} not implemented: "`
321
+ + implementationErrors.unimplementedFields.join('", "') + '"\n';
322
+ }
323
+ for (const [fieldName, invalidFieldImplementation] of implementationErrors.invalidFieldImplementations) {
324
+ const unimplementedArgumentsSize = invalidFieldImplementation.unimplementedArguments.size;
325
+ const invalidArgumentsLength = invalidFieldImplementation.invalidImplementedArguments.length;
326
+ const invalidAdditionalArgumentsSize = invalidFieldImplementation.invalidAdditionalArguments.size;
327
+ message += ` The field "${fieldName}" is invalid because:\n`;
328
+ if (unimplementedArgumentsSize) {
329
+ message += ` The following argument${unimplementedArgumentsSize > 1 ? 's are' : ' is'} not implemented: "`
330
+ + [...invalidFieldImplementation.unimplementedArguments].join('", "') + '"\n';
331
+ }
332
+ if (invalidArgumentsLength) {
333
+ message += ` The following implemented argument${invalidArgumentsLength > 1 ? 's are' : ' is'} invalid:\n`;
334
+ for (const invalidArgument of invalidFieldImplementation.invalidImplementedArguments) {
335
+ message += ` The argument "${invalidArgument.argumentName}" must define type "` +
336
+ invalidArgument.expectedType + `" and not "${invalidArgument.actualType}"\n`;
337
+ }
338
+ }
339
+ if (invalidAdditionalArgumentsSize) {
340
+ message += ` If a field from an interface is implemented, any additional arguments that were not defined` +
341
+ ` on the original interface field must be optional (nullable).\n`;
342
+ message += ` The following additional argument` +
343
+ (invalidFieldImplementation.invalidAdditionalArguments.size > 1 ? `s are` : ` is`) +
344
+ ` not defined as optional: "` +
345
+ [...invalidFieldImplementation.invalidAdditionalArguments].join(`", "`) + `"\n`;
346
+ }
347
+ if (invalidFieldImplementation.implementedResponseType) {
348
+ message += ` The implemented response type "${invalidFieldImplementation.implementedResponseType}" is not` +
349
+ ` a valid subset (equally or more restrictive) of the response type "` +
350
+ invalidFieldImplementation.originalResponseType + `" for "${interfaceName}.${fieldName}".`;
351
+ }
352
+ }
353
+ messages.push(message);
354
+ }
355
+ return new Error(`The ${parentTypeString} "${parentTypeName}" has the following interface implementation errors:\n` +
356
+ messages.join('\n'));
357
+ }
358
+ exports.unimplementedInterfaceFieldsError = unimplementedInterfaceFieldsError;
302
359
  //# sourceMappingURL=errors.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/errors/errors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/errors/errors.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,9 @@
1
1
  import { MultiGraph } from 'graphology';
2
- import { ConstValueNode, DirectiveDefinitionNode, EnumValueDefinitionNode, FieldDefinitionNode, InputValueDefinitionNode, InterfaceTypeDefinitionNode, ObjectTypeExtensionNode, TypeDefinitionNode, UnionTypeDefinitionNode, ObjectTypeDefinitionNode } from 'graphql';
2
+ import { ConstValueNode, DirectiveDefinitionNode, EnumValueDefinitionNode, FieldDefinitionNode, InputValueDefinitionNode, InterfaceTypeDefinitionNode, NamedTypeNode, ObjectTypeDefinitionNode, ObjectTypeExtensionNode, TypeDefinitionNode, UnionTypeDefinitionNode } from 'graphql';
3
3
  import { ConstValueNodeWithValue } from '../ast/ast';
4
- import { EntityContainer, ExtensionContainer, FieldContainer, InputValueContainer, MergeMethod, ObjectContainer, ObjectExtensionContainer, OperationField, ParentContainer, ParentMap, PotentiallyUnresolvableField } from '../ast/utils';
4
+ import { EntityContainer, ExtensionContainer, FieldContainer, InputValueContainer, InterfaceContainer, MergeMethod, ObjectContainer, ObjectExtensionContainer, ParentContainer, ParentMap, PotentiallyUnresolvableField, RootTypeField } from '../ast/utils';
5
5
  import { FederationResult } from './federation-result';
6
- import { InternalSubgraph, Subgraph } from './subgraph';
6
+ import { InternalSubgraph, Subgraph } from '../subgraph/subgraph';
7
7
  export declare function federateSubgraphs(subgraphs: Subgraph[]): FederationResult;
8
8
  export declare class FederationFactory {
9
9
  abstractToConcreteTypeNames: Map<string, Set<string>>;
@@ -25,11 +25,11 @@ export declare class FederationFactory {
25
25
  isCurrentParentExtensionType: boolean;
26
26
  isParentRootType: boolean;
27
27
  isParentInputObject: boolean;
28
- operationFieldsByResponseTypeName: Map<string, Map<string, OperationField>>;
29
28
  outputFieldTypeNameSet: Set<string>;
30
29
  parentMap: ParentMap;
30
+ rootTypeFieldsByResponseTypeName: Map<string, Map<string, RootTypeField>>;
31
31
  rootTypeNames: Set<string>;
32
- sharedOperationDependentResponses: Map<string, PotentiallyUnresolvableField[]>;
32
+ sharedRootTypeFieldDependentResponses: Map<string, PotentiallyUnresolvableField[]>;
33
33
  subgraphs: InternalSubgraph[];
34
34
  shareableErrorTypeNames: Map<string, Set<string>>;
35
35
  constructor(subgraphs: InternalSubgraph[]);
@@ -54,5 +54,6 @@ export declare class FederationFactory {
54
54
  upsertAbstractObjectLikeOperationFieldNode(fieldName: string, fieldTypeName: string, operationFieldPath: string, responseType: string, concreteTypeNames: Set<string>): void;
55
55
  validatePotentiallyUnresolvableFields(): void;
56
56
  upsertExtensionNode(node: ObjectTypeExtensionNode): void;
57
+ getAndValidateImplementedInterfaces(container: ObjectContainer | InterfaceContainer): NamedTypeNode[];
57
58
  federate(): FederationResult;
58
59
  }
@@ -8,10 +8,11 @@ const ast_1 = require("../ast/ast");
8
8
  const utils_1 = require("../ast/utils");
9
9
  const errors_1 = require("../errors/errors");
10
10
  const type_merging_1 = require("../type-merging/type-merging");
11
- const subgraph_1 = require("./subgraph");
11
+ const subgraph_1 = require("../subgraph/subgraph");
12
12
  const string_constants_1 = require("../utils/string-constants");
13
13
  const utils_2 = require("../utils/utils");
14
14
  const normalization_factory_1 = require("../normalization/normalization-factory");
15
+ const merge_1 = require("@graphql-tools/merge");
15
16
  function federateSubgraphs(subgraphs) {
16
17
  if (subgraphs.length < 1) {
17
18
  throw errors_1.minimumSubgraphRequirementError;
@@ -49,7 +50,7 @@ function federateSubgraphs(subgraphs) {
49
50
  }
50
51
  const allErrors = [];
51
52
  if (invalidNameErrorMessages.length > 0 || nonUniqueSubgraphNames.size > 0) {
52
- allErrors.push((0, errors_1.invalidSubgraphNamesError)(Array.from(nonUniqueSubgraphNames), invalidNameErrorMessages));
53
+ allErrors.push((0, errors_1.invalidSubgraphNamesError)([...nonUniqueSubgraphNames], invalidNameErrorMessages));
53
54
  }
54
55
  allErrors.push(...validationErrors);
55
56
  if (allErrors.length > 0) {
@@ -79,11 +80,11 @@ class FederationFactory {
79
80
  isCurrentParentExtensionType = false;
80
81
  isParentRootType = false;
81
82
  isParentInputObject = false;
82
- operationFieldsByResponseTypeName = new Map();
83
83
  outputFieldTypeNameSet = new Set();
84
84
  parentMap = new Map();
85
+ rootTypeFieldsByResponseTypeName = new Map();
85
86
  rootTypeNames = new Set([string_constants_1.DEFAULT_MUTATION, string_constants_1.DEFAULT_QUERY, string_constants_1.DEFAULT_SUBSCRIPTION]);
86
- sharedOperationDependentResponses = new Map();
87
+ sharedRootTypeFieldDependentResponses = new Map();
87
88
  subgraphs = [];
88
89
  shareableErrorTypeNames = new Map();
89
90
  constructor(subgraphs) {
@@ -256,7 +257,7 @@ class FederationFactory {
256
257
  }
257
258
  addPotentiallyUnresolvableField(parent, fieldName) {
258
259
  const fieldContainer = (0, utils_2.getOrThrowError)(parent.fields, fieldName);
259
- for (const [responseTypeName, operation] of this.operationFieldsByResponseTypeName) {
260
+ for (const [responseTypeName, operation] of this.rootTypeFieldsByResponseTypeName) {
260
261
  // If the operation response type has no path to the parent type, continue
261
262
  const paths = (0, graphology_simple_path_1.allSimplePaths)(this.graph, responseTypeName, this.parentTypeName);
262
263
  if (responseTypeName === this.parentTypeName) {
@@ -315,15 +316,15 @@ class FederationFactory {
315
316
  const potentiallyUnresolvableField = {
316
317
  fieldContainer,
317
318
  fullResolverPaths,
318
- operationField,
319
+ rootTypeField: operationField,
319
320
  };
320
321
  // The parent might already have unresolvable fields that have already been added
321
- const dependentResponsesByFieldName = this.sharedOperationDependentResponses.get(this.parentTypeName);
322
+ const dependentResponsesByFieldName = this.sharedRootTypeFieldDependentResponses.get(this.parentTypeName);
322
323
  if (dependentResponsesByFieldName) {
323
324
  dependentResponsesByFieldName.push(potentiallyUnresolvableField);
324
325
  return;
325
326
  }
326
- this.sharedOperationDependentResponses.set(this.parentTypeName, [potentiallyUnresolvableField]);
327
+ this.sharedRootTypeFieldDependentResponses.set(this.parentTypeName, [potentiallyUnresolvableField]);
327
328
  }
328
329
  }
329
330
  }
@@ -334,7 +335,7 @@ class FederationFactory {
334
335
  if (parent.kind !== graphql_1.Kind.OBJECT_TYPE_DEFINITION &&
335
336
  parent.kind !== graphql_1.Kind.INTERFACE_TYPE_DEFINITION &&
336
337
  parent.kind !== graphql_1.Kind.OBJECT_TYPE_EXTENSION) {
337
- throw new Error(''); // TODO
338
+ throw (0, errors_1.unexpectedKindFatalError)(this.parentTypeName);
338
339
  }
339
340
  const fieldMap = parent.fields;
340
341
  const isFieldShareable = this.isFieldShareable(node, parent);
@@ -358,8 +359,8 @@ class FederationFactory {
358
359
  this.errors.push((0, errors_1.incompatibleChildTypesError)(this.parentTypeName, this.childName, typeErrors[0], typeErrors[1]));
359
360
  }
360
361
  this.upsertArgumentsForFieldNode(node, existingFieldNode);
361
- if (!this.isCurrentParentInterface && !(existingFieldNode.isShareable || isFieldShareable)) {
362
- // TODO
362
+ // If the parent is not an interface and both fields are not shareable, is it is a shareable error
363
+ if (!this.isCurrentParentInterface && (!existingFieldNode.isShareable || !isFieldShareable)) {
363
364
  const shareableErrorTypeNames = this.shareableErrorTypeNames.get(this.parentTypeName);
364
365
  if (shareableErrorTypeNames) {
365
366
  shareableErrorTypeNames.add(this.childName);
@@ -398,7 +399,7 @@ class FederationFactory {
398
399
  throw (0, errors_1.federationInvalidParentTypeError)(this.parentTypeName, this.childName);
399
400
  }
400
401
  if (parent.kind !== graphql_1.Kind.ENUM_TYPE_DEFINITION) {
401
- throw new Error(''); // TODO
402
+ throw (0, errors_1.incompatibleParentKindFatalError)(this.parentTypeName, graphql_1.Kind.ENUM_TYPE_DEFINITION, parent.kind);
402
403
  }
403
404
  const enumValues = parent.values;
404
405
  const enumValue = enumValues.get(this.childName);
@@ -566,9 +567,9 @@ class FederationFactory {
566
567
  }
567
568
  }
568
569
  upsertConcreteObjectLikeOperationFieldNode(fieldName, fieldTypeName, operationFieldPath, responseType, concreteTypeName = fieldTypeName, hasAbstractParent = false) {
569
- const operationFields = this.operationFieldsByResponseTypeName.get(concreteTypeName);
570
+ const operationFields = this.rootTypeFieldsByResponseTypeName.get(concreteTypeName);
570
571
  if (!operationFields) {
571
- this.operationFieldsByResponseTypeName.set(concreteTypeName, new Map([
572
+ this.rootTypeFieldsByResponseTypeName.set(concreteTypeName, new Map([
572
573
  [
573
574
  operationFieldPath,
574
575
  {
@@ -614,18 +615,18 @@ class FederationFactory {
614
615
  this.graphEdges.add(operationFieldPath);
615
616
  }
616
617
  validatePotentiallyUnresolvableFields() {
617
- if (this.sharedOperationDependentResponses.size < 1) {
618
+ if (this.sharedRootTypeFieldDependentResponses.size < 1) {
618
619
  return;
619
620
  }
620
- for (const [parentTypeName, potentiallyUnresolvableFields] of this.sharedOperationDependentResponses) {
621
+ for (const [parentTypeName, potentiallyUnresolvableFields] of this.sharedRootTypeFieldDependentResponses) {
621
622
  for (const potentiallyUnresolvableField of potentiallyUnresolvableFields) {
622
623
  // There is no issue if the field is resolvable from at least one subgraph
623
- const operationField = potentiallyUnresolvableField.operationField;
624
+ const operationField = potentiallyUnresolvableField.rootTypeField;
624
625
  const fieldContainer = potentiallyUnresolvableField.fieldContainer;
625
626
  if ((0, utils_2.doSetsHaveAnyOverlap)(fieldContainer.subgraphs, operationField.subgraphs)) {
626
627
  continue;
627
628
  }
628
- const fieldSubgraphs = Array.from(fieldContainer.subgraphs).join('", "');
629
+ const fieldSubgraphs = [...fieldContainer.subgraphs].join('", "');
629
630
  this.errors.push((0, errors_1.unresolvableFieldError)(operationField, fieldContainer.node.name.value, potentiallyUnresolvableField.fullResolverPaths, fieldSubgraphs, parentTypeName));
630
631
  }
631
632
  }
@@ -657,6 +658,90 @@ class FederationFactory {
657
658
  interfaces,
658
659
  });
659
660
  }
661
+ getAndValidateImplementedInterfaces(container) {
662
+ const interfaces = [];
663
+ if (container.interfaces.size < 1) {
664
+ return interfaces;
665
+ }
666
+ const implementationErrorsMap = new Map();
667
+ for (const interfaceName of container.interfaces) {
668
+ interfaces.push((0, utils_1.stringToNamedTypeNode)(interfaceName));
669
+ const interfaceContainer = (0, utils_2.getOrThrowError)(this.parentMap, interfaceName);
670
+ if (interfaceContainer.kind !== graphql_1.Kind.INTERFACE_TYPE_DEFINITION) {
671
+ throw (0, errors_1.incompatibleParentKindFatalError)(interfaceName, graphql_1.Kind.INTERFACE_TYPE_DEFINITION, interfaceContainer.kind);
672
+ }
673
+ const implementationErrors = {
674
+ invalidFieldImplementations: new Map(),
675
+ unimplementedFields: [],
676
+ };
677
+ let hasErrors = false;
678
+ for (const [fieldName, interfaceField] of interfaceContainer.fields) {
679
+ let hasNestedErrors = false;
680
+ const containerField = container.fields.get(fieldName);
681
+ if (!containerField) {
682
+ hasErrors = true;
683
+ implementationErrors.unimplementedFields.push(fieldName);
684
+ continue;
685
+ }
686
+ const invalidFieldImplementation = {
687
+ invalidAdditionalArguments: new Set(),
688
+ invalidImplementedArguments: [],
689
+ originalResponseType: (0, merge_1.printTypeNode)(interfaceField.node.type),
690
+ unimplementedArguments: new Set(),
691
+ };
692
+ // The implemented field type must be equally or more restrictive than the original interface field type
693
+ if (!(0, utils_2.isTypeValidImplementation)(interfaceField.node.type, containerField.node.type)) {
694
+ hasErrors = true;
695
+ hasNestedErrors = true;
696
+ invalidFieldImplementation.implementedResponseType = (0, merge_1.printTypeNode)(containerField.node.type);
697
+ }
698
+ const handledArguments = new Set();
699
+ for (const [argumentName, inputValueContainer] of interfaceField.arguments) {
700
+ const interfaceArgument = inputValueContainer.node;
701
+ handledArguments.add(argumentName);
702
+ const containerArgument = containerField.arguments.get(argumentName)?.node;
703
+ // The type implementing the interface must include all arguments with no variation for that argument
704
+ if (!containerArgument) {
705
+ hasErrors = true;
706
+ hasNestedErrors = true;
707
+ invalidFieldImplementation.unimplementedArguments.add(argumentName);
708
+ continue;
709
+ }
710
+ // Implemented arguments should be the exact same type
711
+ const actualType = (0, merge_1.printTypeNode)(containerArgument.type);
712
+ const expectedType = (0, merge_1.printTypeNode)(interfaceArgument.type);
713
+ if (expectedType !== actualType) {
714
+ hasErrors = true;
715
+ hasNestedErrors = true;
716
+ invalidFieldImplementation.invalidImplementedArguments.push({ actualType, argumentName, expectedType });
717
+ }
718
+ }
719
+ // Additional arguments must be optional (nullable)
720
+ for (const [argumentName, inputValueContainer] of containerField.arguments) {
721
+ const argumentNode = inputValueContainer.node;
722
+ if (handledArguments.has(argumentName)) {
723
+ continue;
724
+ }
725
+ if (argumentNode.type.kind !== graphql_1.Kind.NON_NULL_TYPE) {
726
+ continue;
727
+ }
728
+ hasErrors = true;
729
+ hasNestedErrors = true;
730
+ invalidFieldImplementation.invalidAdditionalArguments.add(argumentName);
731
+ }
732
+ if (hasNestedErrors) {
733
+ implementationErrors.invalidFieldImplementations.set(fieldName, invalidFieldImplementation);
734
+ }
735
+ }
736
+ if (hasErrors) {
737
+ implementationErrorsMap.set(interfaceName, implementationErrors);
738
+ }
739
+ }
740
+ if (implementationErrorsMap.size) {
741
+ this.errors.push((0, errors_1.unimplementedInterfaceFieldsError)(container.node.name.value, (0, utils_2.kindToTypeString)(container.kind), implementationErrorsMap));
742
+ }
743
+ return interfaces;
744
+ }
660
745
  federate() {
661
746
  this.populateMultiGraphAndRenameOperations(this.subgraphs);
662
747
  const factory = this;
@@ -729,7 +814,7 @@ class FederationFactory {
729
814
  values.push(value.node);
730
815
  }
731
816
  break;
732
- case utils_1.MergeMethod.UNION:
817
+ default:
733
818
  values.push(value.node);
734
819
  break;
735
820
  }
@@ -791,18 +876,8 @@ class FederationFactory {
791
876
  }
792
877
  fields.push(field.node);
793
878
  }
794
- const interfaces = [];
795
- for (const iFace of parent.interfaces) {
796
- interfaces.push({
797
- kind: graphql_1.Kind.NAMED_TYPE,
798
- name: {
799
- kind: graphql_1.Kind.NAME,
800
- value: iFace,
801
- },
802
- });
803
- }
804
879
  parent.node.fields = fields;
805
- parent.node.interfaces = interfaces;
880
+ parent.node.interfaces = this.getAndValidateImplementedInterfaces(parent);
806
881
  definitions.push(parent.node);
807
882
  break;
808
883
  case graphql_1.Kind.SCALAR_TYPE_DEFINITION:
@@ -1 +1 @@
1
- {"version":3,"file":"federation-factory.js","sourceRoot":"","sources":["../../src/federation/federation-factory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"federation-factory.js","sourceRoot":"","sources":["../../src/federation/federation-factory.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { DocumentNode, GraphQLSchema } from 'graphql';
2
- export declare class FederationResult {
2
+ export type FederationResult = {
3
3
  errors?: Error[];
4
4
  federatedGraphAST?: DocumentNode;
5
5
  federatedGraphSchema?: GraphQLSchema;
6
- }
6
+ };