@wundergraph/composition 0.20.0 → 0.20.2

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.
@@ -31,7 +31,7 @@ export type MutableFieldNode = {
31
31
  type: MutableTypeNode;
32
32
  description?: StringValueNode;
33
33
  };
34
- export declare function getMutableFieldNode(node: FieldDefinitionNode, hostPath: string): MutableFieldNode;
34
+ export declare function getMutableFieldNode(node: FieldDefinitionNode, hostPath: string, errors: Error[]): MutableFieldNode;
35
35
  export type MutableInputObjectNode = {
36
36
  kind: Kind.INPUT_OBJECT_TYPE_DEFINITION;
37
37
  name: NameNode;
@@ -48,7 +48,7 @@ export type MutableInputValueNode = {
48
48
  defaultValue?: ConstValueNode;
49
49
  description?: StringValueNode;
50
50
  };
51
- export declare function getMutableInputValueNode(node: InputValueDefinitionNode, hostPath: string): MutableInputValueNode;
51
+ export declare function getMutableInputValueNode(node: InputValueDefinitionNode, hostPath: string, errors: Error[]): MutableInputValueNode;
52
52
  export type MutableInterfaceNode = {
53
53
  kind: Kind.INTERFACE_TYPE_DEFINITION;
54
54
  name: NameNode;
@@ -101,7 +101,7 @@ export type MutableNonNullTypeNode = {
101
101
  kind: Kind.NON_NULL_TYPE;
102
102
  type: MutableNamedTypeNode | MutableListTypeNode;
103
103
  };
104
- export declare function getMutableTypeNode(node: TypeNode, typePath: string): MutableTypeNode;
104
+ export declare function getMutableTypeNode(node: TypeNode, typePath: string, errors: Error[]): MutableTypeNode;
105
105
  export type MutableUnionNode = {
106
106
  kind: Kind.UNION_TYPE_DEFINITION;
107
107
  name: NameNode;
@@ -110,7 +110,6 @@ export type MutableUnionNode = {
110
110
  types?: NamedTypeNode[];
111
111
  };
112
112
  export declare function getMutableUnionNode(node: UnionTypeDefinitionNode): MutableUnionNode;
113
- export declare function deepCopyTypeNode(node: TypeNode, hostPath: string): TypeNode;
114
113
  export type MutableTypeDefinitionNode = MutableDirectiveDefinitionNode | MutableEnumNode | MutableInputObjectNode | MutableInterfaceNode | MutableObjectNode | MutableScalarNode | MutableUnionNode;
115
114
  export type ObjectLikeTypeNode = InterfaceTypeDefinitionNode | InterfaceTypeExtensionNode | ObjectTypeDefinitionNode | ObjectTypeExtensionNode;
116
115
  export declare function getTypeNodeNamedTypeName(typeNode: TypeNode): string;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getTypeNodeNamedTypeName = exports.deepCopyTypeNode = exports.getMutableUnionNode = exports.getMutableTypeNode = exports.getMutableScalarNode = exports.getMutableObjectExtensionNode = exports.getMutableObjectNode = exports.getMutableInterfaceNode = exports.getMutableInputValueNode = exports.getMutableInputObjectNode = exports.getMutableFieldNode = exports.getMutableEnumValueNode = exports.getMutableEnumNode = exports.getMutableDirectiveDefinitionNode = void 0;
3
+ exports.getTypeNodeNamedTypeName = exports.getMutableUnionNode = exports.getMutableTypeNode = exports.getMutableScalarNode = exports.getMutableObjectExtensionNode = exports.getMutableObjectNode = exports.getMutableInterfaceNode = exports.getMutableInputValueNode = exports.getMutableInputObjectNode = exports.getMutableFieldNode = exports.getMutableEnumValueNode = exports.getMutableEnumNode = exports.getMutableDirectiveDefinitionNode = void 0;
4
4
  const graphql_1 = require("graphql");
5
5
  const utils_1 = require("../ast/utils");
6
6
  const errors_1 = require("../errors/errors");
@@ -34,13 +34,13 @@ function getMutableEnumValueNode(node) {
34
34
  };
35
35
  }
36
36
  exports.getMutableEnumValueNode = getMutableEnumValueNode;
37
- function getMutableFieldNode(node, hostPath) {
37
+ function getMutableFieldNode(node, hostPath, errors) {
38
38
  return {
39
39
  arguments: [],
40
40
  directives: [],
41
41
  kind: node.kind,
42
42
  name: { ...node.name },
43
- type: deepCopyTypeNode(node.type, hostPath),
43
+ type: getMutableTypeNode(node.type, hostPath, errors),
44
44
  description: (0, utils_1.formatDescription)(node.description),
45
45
  };
46
46
  }
@@ -53,12 +53,12 @@ function getMutableInputObjectNode(node) {
53
53
  };
54
54
  }
55
55
  exports.getMutableInputObjectNode = getMutableInputObjectNode;
56
- function getMutableInputValueNode(node, hostPath) {
56
+ function getMutableInputValueNode(node, hostPath, errors) {
57
57
  return {
58
58
  directives: [],
59
59
  kind: node.kind,
60
60
  name: { ...node.name },
61
- type: deepCopyTypeNode(node.type, hostPath),
61
+ type: getMutableTypeNode(node.type, hostPath, errors),
62
62
  defaultValue: node.defaultValue,
63
63
  description: (0, utils_1.formatDescription)(node.description),
64
64
  };
@@ -97,7 +97,7 @@ function getMutableScalarNode(node) {
97
97
  };
98
98
  }
99
99
  exports.getMutableScalarNode = getMutableScalarNode;
100
- function getMutableTypeNode(node, typePath) {
100
+ function getMutableTypeNode(node, typePath, errors) {
101
101
  const deepCopy = { kind: node.kind };
102
102
  let lastTypeNode = deepCopy;
103
103
  for (let i = 0; i < constants_1.MAXIMUM_TYPE_NESTING; i++) {
@@ -121,7 +121,9 @@ function getMutableTypeNode(node, typePath) {
121
121
  throw (0, errors_1.unexpectedTypeNodeKindFatalError)(typePath);
122
122
  }
123
123
  }
124
- throw (0, errors_1.maximumTypeNestingExceededFatalError)(typePath, constants_1.MAXIMUM_TYPE_NESTING);
124
+ errors.push((0, errors_1.maximumTypeNestingExceededError)(typePath, constants_1.MAXIMUM_TYPE_NESTING));
125
+ // Return a dummy type when the type has exceeded nesting
126
+ return { kind: graphql_1.Kind.NAMED_TYPE, name: (0, utils_1.stringToNameNode)(getTypeNodeNamedTypeName(node)) };
125
127
  }
126
128
  exports.getMutableTypeNode = getMutableTypeNode;
127
129
  function getMutableUnionNode(node) {
@@ -132,31 +134,6 @@ function getMutableUnionNode(node) {
132
134
  };
133
135
  }
134
136
  exports.getMutableUnionNode = getMutableUnionNode;
135
- function deepCopyTypeNode(node, hostPath) {
136
- const deepCopy = { kind: node.kind };
137
- let lastTypeNode = deepCopy;
138
- for (let i = 0; i < constants_1.MAXIMUM_TYPE_NESTING; i++) {
139
- switch (node.kind) {
140
- case graphql_1.Kind.NAMED_TYPE:
141
- lastTypeNode.name = { ...node.name };
142
- return deepCopy;
143
- case graphql_1.Kind.LIST_TYPE:
144
- lastTypeNode.kind = node.kind;
145
- lastTypeNode.type = { kind: node.type.kind };
146
- lastTypeNode = lastTypeNode.type;
147
- node = node.type;
148
- continue;
149
- case graphql_1.Kind.NON_NULL_TYPE:
150
- lastTypeNode.kind = node.kind;
151
- lastTypeNode.type = { kind: node.type.kind };
152
- lastTypeNode = lastTypeNode.type;
153
- node = node.type;
154
- continue;
155
- }
156
- }
157
- throw (0, errors_1.maximumTypeNestingExceededFatalError)(hostPath, constants_1.MAXIMUM_TYPE_NESTING);
158
- }
159
- exports.deepCopyTypeNode = deepCopyTypeNode;
160
137
  function getTypeNodeNamedTypeName(typeNode) {
161
138
  switch (typeNode.kind) {
162
139
  case graphql_1.Kind.NAMED_TYPE:
@@ -1 +1 @@
1
- {"version":3,"file":"ast.js","sourceRoot":"","sources":["../../src/schema-building/ast.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ast.js","sourceRoot":"","sources":["../../src/schema-building/ast.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,9 @@
1
1
  import { TypeNode } from 'graphql';
2
+ import { FieldData } from './type-definition-data';
2
3
  export type MergedTypeResult = {
3
4
  typeErrors?: string[];
4
5
  typeNode?: TypeNode;
5
6
  };
6
- export declare function getLeastRestrictiveMergedTypeNode(current: TypeNode, other: TypeNode, hostPath: string): MergedTypeResult;
7
- export declare function getMostRestrictiveMergedTypeNode(current: TypeNode, other: TypeNode, hostPath: string): MergedTypeResult;
7
+ export declare function getLeastRestrictiveMergedTypeNode(current: TypeNode, other: TypeNode, hostPath: string, errors: Error[]): MergedTypeResult;
8
+ export declare function getMostRestrictiveMergedTypeNode(current: TypeNode, other: TypeNode, hostPath: string, errors: Error[]): MergedTypeResult;
9
+ export declare function renameNamedTypeName(fieldData: FieldData, newNamedTypeName: string, errors: Error[]): void;
@@ -1,18 +1,19 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getMostRestrictiveMergedTypeNode = exports.getLeastRestrictiveMergedTypeNode = void 0;
3
+ exports.renameNamedTypeName = exports.getMostRestrictiveMergedTypeNode = exports.getLeastRestrictiveMergedTypeNode = void 0;
4
4
  const graphql_1 = require("graphql");
5
5
  const errors_1 = require("../errors/errors");
6
6
  const ast_1 = require("./ast");
7
7
  const constants_1 = require("../utils/constants");
8
+ const utils_1 = require("../ast/utils");
8
9
  var DivergentType;
9
10
  (function (DivergentType) {
10
11
  DivergentType[DivergentType["NONE"] = 0] = "NONE";
11
12
  DivergentType[DivergentType["CURRENT"] = 1] = "CURRENT";
12
13
  DivergentType[DivergentType["OTHER"] = 2] = "OTHER";
13
14
  })(DivergentType || (DivergentType = {}));
14
- function getMergedTypeNode(current, other, hostPath, mostRestrictive) {
15
- other = (0, ast_1.deepCopyTypeNode)(other, hostPath); // current is already a deep copy
15
+ function getMergedTypeNode(current, other, hostPath, mostRestrictive, errors) {
16
+ other = (0, ast_1.getMutableTypeNode)(other, hostPath, errors); // current is already a deep copy
16
17
  // The first type of the pair to diverge in restriction takes precedence in all future differences.
17
18
  // If the other type of the pair also diverges, it's a src error.
18
19
  // To keep the output link intact, it is not possible to spread assign "lastTypeNode".
@@ -81,14 +82,30 @@ function getMergedTypeNode(current, other, hostPath, mostRestrictive) {
81
82
  // At least one of the types must be a non-null wrapper, or the types are inconsistent
82
83
  return { typeErrors: [current.kind, other.kind] };
83
84
  }
84
- throw (0, errors_1.maximumTypeNestingExceededFatalError)(hostPath, constants_1.MAXIMUM_TYPE_NESTING);
85
+ errors.push((0, errors_1.maximumTypeNestingExceededError)(hostPath, constants_1.MAXIMUM_TYPE_NESTING));
86
+ return { typeNode: current };
85
87
  }
86
- function getLeastRestrictiveMergedTypeNode(current, other, hostPath) {
87
- return getMergedTypeNode(current, other, hostPath, false);
88
+ function getLeastRestrictiveMergedTypeNode(current, other, hostPath, errors) {
89
+ return getMergedTypeNode(current, other, hostPath, false, errors);
88
90
  }
89
91
  exports.getLeastRestrictiveMergedTypeNode = getLeastRestrictiveMergedTypeNode;
90
- function getMostRestrictiveMergedTypeNode(current, other, hostPath) {
91
- return getMergedTypeNode(current, other, hostPath, true);
92
+ function getMostRestrictiveMergedTypeNode(current, other, hostPath, errors) {
93
+ return getMergedTypeNode(current, other, hostPath, true, errors);
92
94
  }
93
95
  exports.getMostRestrictiveMergedTypeNode = getMostRestrictiveMergedTypeNode;
96
+ function renameNamedTypeName(fieldData, newNamedTypeName, errors) {
97
+ let typeNode = fieldData.type;
98
+ for (let i = 0; i < constants_1.MAXIMUM_TYPE_NESTING; i++) {
99
+ if (typeNode.kind === graphql_1.Kind.NAMED_TYPE) {
100
+ fieldData.namedTypeName = newNamedTypeName;
101
+ typeNode.name = (0, utils_1.stringToNameNode)(newNamedTypeName);
102
+ return;
103
+ }
104
+ typeNode = typeNode.type;
105
+ }
106
+ // Use a dummy renamed type if the traversal fails
107
+ fieldData.type = { kind: graphql_1.Kind.NAMED_TYPE, name: (0, utils_1.stringToNameNode)(newNamedTypeName) };
108
+ errors.push((0, errors_1.maximumTypeNestingExceededError)(`${fieldData.originalParentTypeName}.${fieldData.name}`, constants_1.MAXIMUM_TYPE_NESTING));
109
+ }
110
+ exports.renameNamedTypeName = renameNamedTypeName;
94
111
  //# sourceMappingURL=type-merging.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"type-merging.js","sourceRoot":"","sources":["../../src/schema-building/type-merging.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"type-merging.js","sourceRoot":"","sources":["../../src/schema-building/type-merging.ts"],"names":[],"mappings":"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"}
@@ -20,7 +20,7 @@ export declare function addEnumDefinitionDataByNode(parentDefinitionDataByTypeNa
20
20
  export declare function addEnumExtensionDataByNode(parentExtensionDataByTypeName: Map<string, ParentExtensionData>, node: EnumTypeExtensionNode, directivesByDirectiveName: Map<string, ConstDirectiveNode[]>): void;
21
21
  export declare function addEnumValueDataByNode(enumValueDataByValueName: Map<string, EnumValueData>, node: EnumValueDefinitionNode, errors: Error[], directiveDefinitionByDirectiveName: Map<string, DirectiveDefinitionNode>, handledRepeatedDirectivesByHostPath: Map<string, Set<string>>, parentTypeName: string): void;
22
22
  export declare function addInheritedDirectivesToFieldData(parentDirectivesByDirectiveName: Map<string, ConstDirectiveNode[]>, fieldDirectivesByDirectiveName: Map<string, ConstDirectiveNode[]>): Map<string, ConstDirectiveNode[]>;
23
- export declare function addFieldDataByNode(fieldDataByFieldName: Map<string, FieldData>, node: FieldDefinitionNode, errors: Error[], argumentDataByArgumentName: Map<string, InputValueData>, directivesByDirectiveName: Map<string, ConstDirectiveNode[]>, originalParentTypeName: string, renamedParentTypeName: string, subgraphName: string, isSubgraphVersionTwo: boolean): FieldData;
23
+ export declare function addFieldDataByNode(fieldDataByFieldName: Map<string, FieldData>, node: FieldDefinitionNode, argumentDataByArgumentName: Map<string, InputValueData>, directivesByDirectiveName: Map<string, ConstDirectiveNode[]>, originalParentTypeName: string, renamedParentTypeName: string, subgraphName: string, isSubgraphVersionTwo: boolean, errors: Error[]): FieldData;
24
24
  export declare function addExtensionWithFieldsDataByNode(parentExtensionDataByTypeName: Map<string, ParentExtensionData>, node: InterfaceTypeDefinitionNode | InterfaceTypeExtensionNode | ObjectTypeDefinitionNode | ObjectTypeExtensionNode, errors: Error[], directiveDefinitionByDirectiveName: Map<string, DirectiveDefinitionNode>, handledRepeatedDirectivesByHostPath: Map<string, Set<string>>, isEntity: boolean, isRootType: boolean, subgraphName: string, renamedTypeName?: string): void;
25
25
  export declare function addInputObjectDefinitionDataByNode(parentDefinitionDataByTypeName: Map<string, ParentDefinitionData>, node: InputObjectTypeDefinitionNode, directiveDefinitionByDirectiveName: Map<string, DirectiveDefinitionNode>, handledRepeatedDirectivesByHostPath: Map<string, Set<string>>, subgraphName: string, errors: Error[]): void;
26
26
  export declare function addInputObjectExtensionDataByNode(parentExtensionDataByTypeName: Map<string, ParentExtensionData>, node: InputObjectTypeExtensionNode, directiveDefinitionByDirectiveName: Map<string, DirectiveDefinitionNode>, handledRepeatedDirectivesByHostPath: Map<string, Set<string>>, errors: Error[]): void;
@@ -44,21 +44,19 @@ function getDefinedArgumentsForDirective(directiveNode, argumentTypeNodeByArgume
44
44
  const directiveArguments = directiveNode.arguments || [];
45
45
  const directiveName = directiveNode.name.value;
46
46
  const definedArguments = new Set();
47
- const handledDuplicateArguments = new Set();
47
+ const duplicateArgumentNames = new Set();
48
+ const unexpectedArgumentNames = new Set();
48
49
  for (const argument of directiveArguments) {
49
50
  const argumentName = argument.name.value;
50
51
  // If an argument is observed more than once, it is a duplication error.
51
52
  // However, the error should only propagate once.
52
53
  if (definedArguments.has(argumentName)) {
53
- if (!handledDuplicateArguments.has(argumentName)) {
54
- handledDuplicateArguments.add(argumentName);
55
- errorMessages.push((0, errors_1.duplicateDirectiveArgumentDefinitionErrorMessage)(directiveName, hostPath, argumentName));
56
- }
54
+ duplicateArgumentNames.add(argumentName);
57
55
  continue;
58
56
  }
59
57
  const argumentTypeNode = argumentTypeNodeByArgumentName.get(argumentName);
60
58
  if (!argumentTypeNode) {
61
- errorMessages.push((0, errors_1.unexpectedDirectiveArgumentErrorMessage)(directiveName, argumentName));
59
+ unexpectedArgumentNames.add(argumentName);
62
60
  continue;
63
61
  }
64
62
  // TODO validate argument values
@@ -69,6 +67,12 @@ function getDefinedArgumentsForDirective(directiveNode, argumentTypeNodeByArgume
69
67
  // }
70
68
  definedArguments.add(argumentName);
71
69
  }
70
+ if (duplicateArgumentNames.size > 0) {
71
+ errorMessages.push((0, errors_1.duplicateDirectiveArgumentDefinitionsErrorMessage)(directiveName, hostPath, [...duplicateArgumentNames]));
72
+ }
73
+ if (unexpectedArgumentNames.size > 0) {
74
+ errorMessages.push((0, errors_1.unexpectedDirectiveArgumentErrorMessage)(directiveName, [...unexpectedArgumentNames]));
75
+ }
72
76
  return definedArguments;
73
77
  }
74
78
  exports.getDefinedArgumentsForDirective = getDefinedArgumentsForDirective;
@@ -268,7 +272,7 @@ function addInheritedDirectivesToFieldData(parentDirectivesByDirectiveName, fiel
268
272
  return fieldDirectivesByDirectiveName;
269
273
  }
270
274
  exports.addInheritedDirectivesToFieldData = addInheritedDirectivesToFieldData;
271
- function addFieldDataByNode(fieldDataByFieldName, node, errors, argumentDataByArgumentName, directivesByDirectiveName, originalParentTypeName, renamedParentTypeName, subgraphName, isSubgraphVersionTwo) {
275
+ function addFieldDataByNode(fieldDataByFieldName, node, argumentDataByArgumentName, directivesByDirectiveName, originalParentTypeName, renamedParentTypeName, subgraphName, isSubgraphVersionTwo, errors) {
272
276
  const name = node.name.value;
273
277
  const fieldPath = `${originalParentTypeName}.${name}`;
274
278
  const isNodeExternalOrShareableResult = isNodeExternalOrShareable(node, !isSubgraphVersionTwo, directivesByDirectiveName);
@@ -277,14 +281,14 @@ function addFieldDataByNode(fieldDataByFieldName, node, errors, argumentDataByAr
277
281
  isExternalBySubgraphName: new Map([[subgraphName, isNodeExternalOrShareableResult.isExternal]]),
278
282
  isInaccessible: directivesByDirectiveName.has(string_constants_1.INACCESSIBLE),
279
283
  isShareableBySubgraphName: new Map([[subgraphName, isNodeExternalOrShareableResult.isShareable]]),
280
- node: (0, ast_1.getMutableFieldNode)(node, fieldPath),
284
+ node: (0, ast_1.getMutableFieldNode)(node, fieldPath, errors),
281
285
  name,
282
286
  namedTypeName: (0, ast_1.getTypeNodeNamedTypeName)(node.type),
283
287
  originalParentTypeName,
284
288
  persistedDirectivesData: newPersistedDirectivesData(),
285
289
  renamedParentTypeName,
286
290
  subgraphNames: new Set([subgraphName]),
287
- type: (0, ast_1.getMutableTypeNode)(node.type, fieldPath),
291
+ type: (0, ast_1.getMutableTypeNode)(node.type, fieldPath, errors),
288
292
  directivesByDirectiveName,
289
293
  description: (0, utils_1.formatDescription)(node.description),
290
294
  };
@@ -359,13 +363,13 @@ function addInputValueDataByNode(inputValueDataByValueName, node, directiveDefin
359
363
  includeDefaultValue: !!node.defaultValue,
360
364
  isArgument,
361
365
  name,
362
- node: (0, ast_1.getMutableInputValueNode)(node, originalPath),
366
+ node: (0, ast_1.getMutableInputValueNode)(node, originalPath, errors),
363
367
  originalPath,
364
368
  persistedDirectivesData: newPersistedDirectivesData(),
365
369
  renamedPath: renamedPath || originalPath,
366
370
  requiredSubgraphNames: new Set(isTypeRequired(node.type) ? [subgraphName] : []),
367
371
  subgraphNames: new Set([subgraphName]),
368
- type: (0, ast_1.getMutableTypeNode)(node.type, originalPath),
372
+ type: (0, ast_1.getMutableTypeNode)(node.type, originalPath, errors),
369
373
  defaultValue: node.defaultValue,
370
374
  description: (0, utils_1.formatDescription)(node.description),
371
375
  });
@@ -842,7 +846,7 @@ function upsertFieldData(fieldDataByFieldName, incomingData, persistedDirectiveD
842
846
  return;
843
847
  }
844
848
  const fieldPath = `${existingData.renamedParentTypeName}.${existingData.name}`;
845
- const { typeErrors, typeNode } = (0, type_merging_1.getLeastRestrictiveMergedTypeNode)(existingData.type, incomingData.type, fieldPath);
849
+ const { typeErrors, typeNode } = (0, type_merging_1.getLeastRestrictiveMergedTypeNode)(existingData.type, incomingData.type, fieldPath, errors);
846
850
  if (typeNode) {
847
851
  existingData.type = typeNode;
848
852
  }
@@ -879,7 +883,7 @@ function upsertInputValueData(inputValueDataByValueName, incomingData, persisted
879
883
  (0, utils_3.addIterableValuesToSet)(incomingData.requiredSubgraphNames, existingData.requiredSubgraphNames);
880
884
  (0, utils_3.addIterableValuesToSet)(incomingData.subgraphNames, existingData.subgraphNames);
881
885
  // TODO refactor type merging
882
- const { typeErrors, typeNode } = (0, type_merging_1.getMostRestrictiveMergedTypeNode)(existingData.type, incomingData.type, existingData.originalPath);
886
+ const { typeErrors, typeNode } = (0, type_merging_1.getMostRestrictiveMergedTypeNode)(existingData.type, incomingData.type, existingData.originalPath, errors);
883
887
  if (typeNode) {
884
888
  existingData.type = typeNode;
885
889
  }
@@ -965,7 +969,8 @@ function upsertParentDefinitionData(parentDefinitionDataByTypeName, incomingData
965
969
  !entityInterfaceData.interfaceObjectSubgraphs.has(subgraphName) ||
966
970
  existingData.kind !== graphql_1.Kind.INTERFACE_TYPE_DEFINITION ||
967
971
  incomingData.kind !== graphql_1.Kind.OBJECT_TYPE_DEFINITION) {
968
- throw (0, errors_1.incompatibleParentKindFatalError)(existingData.name, existingData.kind, incomingData.kind);
972
+ errors.push((0, errors_1.incompatibleParentKindMergeError)(existingData.name, (0, utils_3.kindToTypeString)(existingData.kind), (0, utils_3.kindToTypeString)(incomingData.kind)));
973
+ return;
969
974
  }
970
975
  }
971
976
  switch (existingData.kind) {
@@ -1107,7 +1112,8 @@ function upsertValidObjectExtensionData(parentDefinitionDataByTypeName, incoming
1107
1112
  return;
1108
1113
  }
1109
1114
  if (existingData.kind !== graphql_1.Kind.OBJECT_TYPE_DEFINITION) {
1110
- throw (0, errors_1.incompatibleParentKindFatalError)(existingData.name, graphql_1.Kind.OBJECT_TYPE_DEFINITION, existingData.kind);
1115
+ errors.push((0, errors_1.incompatibleObjectExtensionOrphanBaseTypeError)(existingData.name, (0, utils_3.kindToTypeString)(existingData.kind)));
1116
+ return;
1111
1117
  }
1112
1118
  upsertPersistedDirectivesData(existingData.persistedDirectivesData, incomingData.persistedDirectivesData);
1113
1119
  (0, utils_3.addIterableValuesToSet)(incomingData.implementedInterfaceTypeNames, existingData.implementedInterfaceTypeNames);
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/schema-building/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/schema-building/utils.ts"],"names":[],"mappings":"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"}