@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.
- package/LICENSE +197 -14
- package/README.md +140 -1
- package/dist/ast/ast.d.ts +2 -0
- package/dist/ast/ast.js.map +1 -1
- package/dist/ast/utils.d.ts +7 -7
- package/dist/ast/utils.js +30 -16
- package/dist/ast/utils.js.map +1 -1
- package/dist/errors/errors.d.ts +8 -4
- package/dist/errors/errors.js +67 -10
- package/dist/errors/errors.js.map +1 -1
- package/dist/federation/federation-factory.d.ts +6 -5
- package/dist/federation/federation-factory.js +105 -30
- package/dist/federation/federation-factory.js.map +1 -1
- package/dist/federation/federation-result.d.ts +2 -2
- package/dist/federation/federation-result.js +0 -7
- package/dist/federation/federation-result.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/normalization/normalization-factory.d.ts +9 -3
- package/dist/normalization/normalization-factory.js +235 -105
- package/dist/normalization/normalization-factory.js.map +1 -1
- package/dist/normalization/utils.d.ts +7 -3
- package/dist/normalization/utils.js +0 -1
- package/dist/normalization/utils.js.map +1 -1
- package/dist/subgraph/field-configuration.d.ts +7 -0
- package/dist/subgraph/field-configuration.js +3 -0
- package/dist/subgraph/field-configuration.js.map +1 -0
- package/dist/{federation → subgraph}/subgraph.d.ts +1 -1
- package/dist/{federation → subgraph}/subgraph.js +8 -28
- package/dist/subgraph/subgraph.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/utils/constants.js +8 -1
- package/dist/utils/constants.js.map +1 -1
- package/dist/utils/string-constants.d.ts +1 -0
- package/dist/utils/string-constants.js +2 -1
- package/dist/utils/string-constants.js.map +1 -1
- package/dist/utils/utils.d.ts +22 -1
- package/dist/utils/utils.js +65 -3
- package/dist/utils/utils.js.map +1 -1
- package/package.json +11 -10
- package/dist/federation/subgraph.js.map +0 -1
package/dist/errors/errors.js
CHANGED
|
@@ -1,11 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
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
|
|
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(
|
|
147
|
+
function unresolvableFieldError(rootTypeField, fieldName, unresolvablePaths, fieldSubgraphs, parentTypeName) {
|
|
138
148
|
const fieldPath = `${parentTypeName}.${fieldName}`;
|
|
139
|
-
return new Error(`The following
|
|
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
|
|
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
|
|
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
|
|
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 ${
|
|
160
|
+
` type ${rootTypeField.parentTypeName} {\n` +
|
|
150
161
|
` ...\n` +
|
|
151
|
-
` ${
|
|
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
|
|
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,
|
|
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 '
|
|
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
|
-
|
|
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("
|
|
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)(
|
|
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
|
-
|
|
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.
|
|
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.
|
|
322
|
+
const dependentResponsesByFieldName = this.sharedRootTypeFieldDependentResponses.get(this.parentTypeName);
|
|
322
323
|
if (dependentResponsesByFieldName) {
|
|
323
324
|
dependentResponsesByFieldName.push(potentiallyUnresolvableField);
|
|
324
325
|
return;
|
|
325
326
|
}
|
|
326
|
-
this.
|
|
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
|
|
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
|
-
|
|
362
|
-
|
|
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
|
|
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.
|
|
570
|
+
const operationFields = this.rootTypeFieldsByResponseTypeName.get(concreteTypeName);
|
|
570
571
|
if (!operationFields) {
|
|
571
|
-
this.
|
|
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.
|
|
618
|
+
if (this.sharedRootTypeFieldDependentResponses.size < 1) {
|
|
618
619
|
return;
|
|
619
620
|
}
|
|
620
|
-
for (const [parentTypeName, potentiallyUnresolvableFields] of this.
|
|
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.
|
|
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 =
|
|
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
|
-
|
|
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 =
|
|
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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"}
|