@apollo/federation-internals 2.0.0-alpha.1 → 2.0.0-alpha.5
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/CHANGELOG.md +24 -0
- package/dist/buildSchema.d.ts.map +1 -1
- package/dist/buildSchema.js +3 -3
- package/dist/buildSchema.js.map +1 -1
- package/dist/coreSpec.d.ts +1 -1
- package/dist/coreSpec.d.ts.map +1 -1
- package/dist/coreSpec.js +2 -0
- package/dist/coreSpec.js.map +1 -1
- package/dist/debug.d.ts.map +1 -1
- package/dist/debug.js +7 -23
- package/dist/debug.js.map +1 -1
- package/dist/definitions.d.ts +28 -13
- package/dist/definitions.d.ts.map +1 -1
- package/dist/definitions.js +132 -71
- package/dist/definitions.js.map +1 -1
- package/dist/error.d.ts +88 -3
- package/dist/error.d.ts.map +1 -1
- package/dist/error.js +145 -5
- package/dist/error.js.map +1 -1
- package/dist/extractSubgraphsFromSupergraph.d.ts.map +1 -1
- package/dist/extractSubgraphsFromSupergraph.js +60 -8
- package/dist/extractSubgraphsFromSupergraph.js.map +1 -1
- package/dist/federation.d.ts +7 -6
- package/dist/federation.d.ts.map +1 -1
- package/dist/federation.js +261 -81
- package/dist/federation.js.map +1 -1
- package/dist/genErrorCodeDoc.d.ts +2 -0
- package/dist/genErrorCodeDoc.d.ts.map +1 -0
- package/dist/genErrorCodeDoc.js +55 -0
- package/dist/genErrorCodeDoc.js.map +1 -0
- package/dist/inaccessibleSpec.d.ts +1 -1
- package/dist/inaccessibleSpec.d.ts.map +1 -1
- package/dist/inaccessibleSpec.js +5 -5
- package/dist/inaccessibleSpec.js.map +1 -1
- package/dist/joinSpec.d.ts.map +1 -1
- package/dist/joinSpec.js +6 -5
- package/dist/joinSpec.js.map +1 -1
- package/dist/operations.d.ts.map +1 -1
- package/dist/operations.js +16 -16
- package/dist/operations.js.map +1 -1
- package/dist/print.d.ts +1 -1
- package/dist/print.d.ts.map +1 -1
- package/dist/print.js +4 -4
- package/dist/print.js.map +1 -1
- package/dist/suggestions.js +1 -1
- package/dist/suggestions.js.map +1 -1
- package/dist/tagSpec.d.ts +2 -2
- package/dist/tagSpec.d.ts.map +1 -1
- package/dist/tagSpec.js +10 -2
- package/dist/tagSpec.js.map +1 -1
- package/dist/utils.d.ts +17 -0
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +97 -1
- package/dist/utils.js.map +1 -1
- package/dist/validate.js.map +1 -1
- package/dist/values.d.ts +2 -1
- package/dist/values.d.ts.map +1 -1
- package/dist/values.js +29 -4
- package/dist/values.js.map +1 -1
- package/jest.config.js +5 -1
- package/package.json +4 -8
- package/src/__tests__/definitions.test.ts +3 -3
- package/src/__tests__/extractSubgraphsFromSupergraph.test.ts +432 -0
- package/src/__tests__/matchers/toMatchString.ts +2 -2
- package/src/__tests__/removeInaccessibleElements.test.ts +8 -8
- package/src/__tests__/subgraphValidation.test.ts +480 -0
- package/src/__tests__/utils.test.ts +92 -0
- package/src/buildSchema.ts +12 -11
- package/src/coreSpec.ts +12 -10
- package/src/debug.ts +8 -25
- package/src/definitions.ts +249 -115
- package/src/error.ts +340 -7
- package/src/extractSubgraphsFromSupergraph.ts +80 -19
- package/src/federation.ts +350 -139
- package/src/genErrorCodeDoc.ts +69 -0
- package/src/inaccessibleSpec.ts +13 -8
- package/src/joinSpec.ts +11 -8
- package/src/operations.ts +40 -38
- package/src/print.ts +8 -8
- package/src/suggestions.ts +1 -1
- package/src/tagSpec.ts +12 -7
- package/src/types.ts +1 -1
- package/src/utils.ts +131 -0
- package/src/validate.ts +4 -4
- package/src/values.ts +51 -9
- package/tsconfig.test.tsbuildinfo +1 -1
- package/tsconfig.tsbuildinfo +1 -1
package/dist/federation.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ExternalTester = exports.addSubgraphToError = exports.addSubgraphToASTNode = exports.Subgraph = exports.Subgraphs = exports.subgraphsFromServiceList = exports.parseFieldSetArgument = exports.isEntityType = exports.isFederationDirective = exports.isFederationField = exports.isFederationTypeName = exports.isFederationType = exports.isFederationSubgraphSchema = exports.federationBuiltIns = exports.FederationBuiltIns = exports.FEDERATION_RESERVED_SUBGRAPH_NAME = exports.entitiesFieldName = exports.serviceFieldName = exports.tagDirectiveName = exports.providesDirectiveName = exports.requiresDirectiveName = exports.externalDirectiveName = exports.extendsDirectiveName = exports.keyDirectiveName = exports.fieldSetTypeName = exports.anyTypeName = exports.serviceTypeName = exports.entityTypeName = void 0;
|
|
3
|
+
exports.ExternalTester = exports.addSubgraphToError = exports.addSubgraphToASTNode = exports.Subgraph = exports.Subgraphs = exports.subgraphsFromServiceList = exports.parseFieldSetArgument = exports.buildSubgraph = exports.isEntityType = exports.isFederationDirective = exports.isFederationField = exports.isFederationTypeName = exports.isFederationType = exports.isFederationSubgraphSchema = exports.federationBuiltIns = exports.FederationBuiltIns = exports.FEDERATION_RESERVED_SUBGRAPH_NAME = exports.entitiesFieldName = exports.serviceFieldName = exports.tagDirectiveName = exports.providesDirectiveName = exports.requiresDirectiveName = exports.externalDirectiveName = exports.extendsDirectiveName = exports.keyDirectiveName = exports.fieldSetTypeName = exports.anyTypeName = exports.serviceTypeName = exports.entityTypeName = void 0;
|
|
4
4
|
const definitions_1 = require("./definitions");
|
|
5
5
|
const utils_1 = require("./utils");
|
|
6
6
|
const specifiedRules_1 = require("graphql/validation/specifiedRules");
|
|
@@ -55,25 +55,46 @@ function validateFieldSetSelections(directiveName, selectionSet, hasExternalInPa
|
|
|
55
55
|
for (const selection of selectionSet.selections()) {
|
|
56
56
|
if (selection.kind === 'FieldSelection') {
|
|
57
57
|
const field = selection.element().definition;
|
|
58
|
-
if (field.hasArguments()) {
|
|
59
|
-
throw new graphql_1.GraphQLError(`field ${field.coordinate} cannot be included because it has arguments (fields with argument are not allowed in @${directiveName})`, field.sourceAST);
|
|
60
|
-
}
|
|
61
|
-
const mustBeExternal = !selection.selectionSet && !allowOnNonExternalLeafFields && !hasExternalInParents;
|
|
62
58
|
const isExternal = externalTester.isExternal(field);
|
|
63
59
|
if (isExternal) {
|
|
64
60
|
externalFieldCoordinatesCollector.push(field.coordinate);
|
|
65
61
|
}
|
|
66
|
-
|
|
62
|
+
if (field.hasArguments()) {
|
|
63
|
+
throw error_1.ERROR_CATEGORIES.FIELDS_HAS_ARGS.get(directiveName).err({
|
|
64
|
+
message: `field ${field.coordinate} cannot be included because it has arguments (fields with argument are not allowed in @${directiveName})`,
|
|
65
|
+
nodes: field.sourceAST
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
const mustBeExternal = !selection.selectionSet && !allowOnNonExternalLeafFields && !hasExternalInParents;
|
|
69
|
+
if (!isExternal && mustBeExternal) {
|
|
70
|
+
const errorCode = error_1.ERROR_CATEGORIES.DIRECTIVE_FIELDS_MISSING_EXTERNAL.get(directiveName);
|
|
67
71
|
if (externalTester.isFakeExternal(field)) {
|
|
68
|
-
throw
|
|
69
|
-
|
|
72
|
+
throw errorCode.err({
|
|
73
|
+
message: `field "${field.coordinate}" should not be part of a @${directiveName} since it is already "effectively" provided by this subgraph `
|
|
74
|
+
+ `(while it is marked @${exports.externalDirectiveName}, it is a @${exports.keyDirectiveName} field of an extension type, which are not internally considered external for historical/backward compatibility reasons)`,
|
|
75
|
+
nodes: field.sourceAST
|
|
76
|
+
});
|
|
70
77
|
}
|
|
71
78
|
else {
|
|
72
|
-
throw
|
|
79
|
+
throw errorCode.err({
|
|
80
|
+
message: `field "${field.coordinate}" should not be part of a @${directiveName} since it is already provided by this subgraph (it is not marked @${exports.externalDirectiveName})`,
|
|
81
|
+
nodes: field.sourceAST
|
|
82
|
+
});
|
|
73
83
|
}
|
|
74
84
|
}
|
|
75
85
|
if (selection.selectionSet) {
|
|
76
|
-
|
|
86
|
+
let newHasExternalInParents = hasExternalInParents || isExternal;
|
|
87
|
+
const parentType = field.parent;
|
|
88
|
+
if (!newHasExternalInParents && (0, definitions_1.isInterfaceType)(parentType)) {
|
|
89
|
+
for (const implem of parentType.possibleRuntimeTypes()) {
|
|
90
|
+
const fieldInImplem = implem.field(field.name);
|
|
91
|
+
if (fieldInImplem && externalTester.isExternal(fieldInImplem)) {
|
|
92
|
+
newHasExternalInParents = true;
|
|
93
|
+
break;
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
validateFieldSetSelections(directiveName, selection.selectionSet, newHasExternalInParents, externalTester, externalFieldCoordinatesCollector, allowOnNonExternalLeafFields);
|
|
77
98
|
}
|
|
78
99
|
}
|
|
79
100
|
else {
|
|
@@ -81,48 +102,74 @@ function validateFieldSetSelections(directiveName, selectionSet, hasExternalInPa
|
|
|
81
102
|
}
|
|
82
103
|
}
|
|
83
104
|
}
|
|
84
|
-
function validateFieldSet(type, directive,
|
|
105
|
+
function validateFieldSet(type, directive, externalTester, externalFieldCoordinatesCollector, allowOnNonExternalLeafFields, onFields) {
|
|
106
|
+
var _a;
|
|
85
107
|
try {
|
|
86
|
-
const
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
throw e;
|
|
94
|
-
}
|
|
95
|
-
const nodes = (0, definitions_1.sourceASTs)(directive);
|
|
96
|
-
if (e.nodes) {
|
|
97
|
-
nodes.push(...e.nodes);
|
|
98
|
-
}
|
|
99
|
-
let msg = e.message.trim();
|
|
100
|
-
if (msg.startsWith('Cannot query field')) {
|
|
101
|
-
if (msg.endsWith('.')) {
|
|
102
|
-
msg = msg.slice(0, msg.length - 1);
|
|
108
|
+
const fieldAcessor = onFields
|
|
109
|
+
? (type, fieldName) => {
|
|
110
|
+
const field = type.field(fieldName);
|
|
111
|
+
if (field) {
|
|
112
|
+
onFields(field);
|
|
113
|
+
}
|
|
114
|
+
return field;
|
|
103
115
|
}
|
|
104
|
-
|
|
105
|
-
|
|
116
|
+
: undefined;
|
|
117
|
+
const selectionSet = parseFieldSetArgument(type, directive, fieldAcessor);
|
|
118
|
+
try {
|
|
119
|
+
validateFieldSetSelections(directive.name, selectionSet, false, externalTester, externalFieldCoordinatesCollector, allowOnNonExternalLeafFields);
|
|
120
|
+
return undefined;
|
|
121
|
+
}
|
|
122
|
+
catch (e) {
|
|
123
|
+
if (!(e instanceof graphql_1.GraphQLError)) {
|
|
124
|
+
throw e;
|
|
106
125
|
}
|
|
107
|
-
|
|
108
|
-
|
|
126
|
+
const nodes = (0, definitions_1.sourceASTs)(directive);
|
|
127
|
+
if (e.nodes) {
|
|
128
|
+
nodes.push(...e.nodes);
|
|
109
129
|
}
|
|
130
|
+
const codeDef = (_a = (0, error_1.errorCodeDef)(e)) !== null && _a !== void 0 ? _a : error_1.ERROR_CATEGORIES.DIRECTIVE_INVALID_FIELDS.get(directive.name);
|
|
131
|
+
return codeDef.err({
|
|
132
|
+
message: `${fieldSetErrorDescriptor(directive)}: ${e.message.trim()}`,
|
|
133
|
+
nodes,
|
|
134
|
+
originalError: e,
|
|
135
|
+
});
|
|
110
136
|
}
|
|
111
|
-
return new graphql_1.GraphQLError(`On ${targetDescription}, for ${directive}: ${msg}`, nodes);
|
|
112
137
|
}
|
|
138
|
+
catch (e) {
|
|
139
|
+
if (e instanceof graphql_1.GraphQLError) {
|
|
140
|
+
return e;
|
|
141
|
+
}
|
|
142
|
+
else {
|
|
143
|
+
throw e;
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
function fieldSetErrorDescriptor(directive) {
|
|
148
|
+
return `On ${fieldSetTargetDescription(directive)}, for ${directiveStrUsingASTIfPossible(directive)}`;
|
|
149
|
+
}
|
|
150
|
+
function directiveStrUsingASTIfPossible(directive) {
|
|
151
|
+
return directive.sourceAST ? (0, graphql_1.print)(directive.sourceAST) : directive.toString();
|
|
113
152
|
}
|
|
114
|
-
function
|
|
153
|
+
function fieldSetTargetDescription(directive) {
|
|
154
|
+
var _a;
|
|
155
|
+
const targetKind = directive.parent instanceof definitions_1.FieldDefinition ? "field" : "type";
|
|
156
|
+
return `${targetKind} "${(_a = directive.parent) === null || _a === void 0 ? void 0 : _a.coordinate}"`;
|
|
157
|
+
}
|
|
158
|
+
function validateAllFieldSet(definition, targetTypeExtractor, errorCollector, externalTester, externalFieldCoordinatesCollector, isOnParentType, allowOnNonExternalLeafFields, onFields) {
|
|
115
159
|
for (const application of definition.applications()) {
|
|
116
160
|
const elt = application.parent;
|
|
117
161
|
const type = targetTypeExtractor(elt);
|
|
118
|
-
const targetDescription = targetDescriptionExtractor(elt);
|
|
119
162
|
const parentType = isOnParentType ? type : elt.parent;
|
|
120
163
|
if ((0, definitions_1.isInterfaceType)(parentType)) {
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
:
|
|
164
|
+
const code = error_1.ERROR_CATEGORIES.DIRECTIVE_UNSUPPORTED_ON_INTERFACE.get(definition.name);
|
|
165
|
+
errorCollector.push(code.err({
|
|
166
|
+
message: isOnParentType
|
|
167
|
+
? `Cannot use ${definition.coordinate} on interface "${parentType.coordinate}": ${definition.coordinate} is not yet supported on interfaces`
|
|
168
|
+
: `Cannot use ${definition.coordinate} on ${fieldSetTargetDescription(application)} of parent type "${parentType}": ${definition.coordinate} is not yet supported within interfaces`,
|
|
169
|
+
nodes: (0, definitions_1.sourceASTs)(application).concat(isOnParentType ? [] : (0, definitions_1.sourceASTs)(type)),
|
|
170
|
+
}));
|
|
124
171
|
}
|
|
125
|
-
const error = validateFieldSet(type, application,
|
|
172
|
+
const error = validateFieldSet(type, application, externalTester, externalFieldCoordinatesCollector, allowOnNonExternalLeafFields, onFields);
|
|
126
173
|
if (error) {
|
|
127
174
|
errorCollector.push(error);
|
|
128
175
|
}
|
|
@@ -138,8 +185,11 @@ function validateAllExternalFieldsUsed(schema, externalTester, allExternalFields
|
|
|
138
185
|
continue;
|
|
139
186
|
}
|
|
140
187
|
if (!isFieldSatisfyingInterface(field)) {
|
|
141
|
-
errorCollector.push(
|
|
142
|
-
|
|
188
|
+
errorCollector.push(error_1.ERRORS.EXTERNAL_UNUSED.err({
|
|
189
|
+
message: `Field "${field.coordinate}" is marked @external but is not used in any federation directive (@key, @provides, @requires) or to satisfy an interface;`
|
|
190
|
+
+ ' the field declaration has no use and should be removed (or the field should not be @external).',
|
|
191
|
+
nodes: field.sourceAST,
|
|
192
|
+
}));
|
|
143
193
|
}
|
|
144
194
|
}
|
|
145
195
|
}
|
|
@@ -147,6 +197,38 @@ function validateAllExternalFieldsUsed(schema, externalTester, allExternalFields
|
|
|
147
197
|
function isFieldSatisfyingInterface(field) {
|
|
148
198
|
return field.parent.interfaces().some(itf => itf.field(field.name));
|
|
149
199
|
}
|
|
200
|
+
function validateInterfaceRuntimeImplementationFieldsTypes(itf, externalTester, errorCollector) {
|
|
201
|
+
const runtimeTypes = itf.possibleRuntimeTypes();
|
|
202
|
+
for (const field of itf.fields()) {
|
|
203
|
+
const withExternalOrRequires = [];
|
|
204
|
+
const typeToImplems = new utils_1.MultiMap();
|
|
205
|
+
const nodes = [];
|
|
206
|
+
for (const type of runtimeTypes) {
|
|
207
|
+
const implemField = type.field(field.name);
|
|
208
|
+
if (!implemField)
|
|
209
|
+
continue;
|
|
210
|
+
if (implemField.sourceAST) {
|
|
211
|
+
nodes.push(implemField.sourceAST);
|
|
212
|
+
}
|
|
213
|
+
if (externalTester.isExternal(implemField) || implemField.hasAppliedDirective(exports.requiresDirectiveName)) {
|
|
214
|
+
withExternalOrRequires.push(implemField);
|
|
215
|
+
}
|
|
216
|
+
const returnType = implemField.type;
|
|
217
|
+
typeToImplems.add(returnType.toString(), implemField);
|
|
218
|
+
}
|
|
219
|
+
if (withExternalOrRequires.length > 0 && typeToImplems.size > 1) {
|
|
220
|
+
const typeToImplemsArray = [...typeToImplems.entries()];
|
|
221
|
+
errorCollector.push(error_1.ERRORS.INTERFACE_FIELD_IMPLEM_TYPE_MISMATCH.err({
|
|
222
|
+
message: `Some of the runtime implementations of interface field "${field.coordinate}" are marked @external or have a @require (${withExternalOrRequires.map(printFieldCoordinate)}) so all the implementations should use the same type (a current limitation of federation; see https://github.com/apollographql/federation/issues/1257), but ${formatFieldsToReturnType(typeToImplemsArray[0])} while ${(0, utils_1.joinStrings)(typeToImplemsArray.slice(1).map(formatFieldsToReturnType), ' and ')}.`,
|
|
223
|
+
nodes
|
|
224
|
+
}));
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
const printFieldCoordinate = (f) => `"${f.coordinate}"`;
|
|
229
|
+
function formatFieldsToReturnType([type, implems]) {
|
|
230
|
+
return `${(0, utils_1.joinStrings)(implems.map(printFieldCoordinate))} ${implems.length == 1 ? 'has' : 'have'} type "${type}"`;
|
|
231
|
+
}
|
|
150
232
|
class FederationBuiltIns extends definitions_1.BuiltIns {
|
|
151
233
|
addBuiltInTypes(schema) {
|
|
152
234
|
super.addBuiltInTypes(schema);
|
|
@@ -159,16 +241,16 @@ class FederationBuiltIns extends definitions_1.BuiltIns {
|
|
|
159
241
|
super.addBuiltInDirectives(schema);
|
|
160
242
|
const fieldSetType = new definitions_1.NonNullType(schema.type(exports.fieldSetTypeName));
|
|
161
243
|
const keyDirective = this.addBuiltInDirective(schema, exports.keyDirectiveName)
|
|
162
|
-
.addLocations(
|
|
244
|
+
.addLocations(graphql_1.DirectiveLocation.OBJECT, graphql_1.DirectiveLocation.INTERFACE);
|
|
163
245
|
keyDirective.repeatable = true;
|
|
164
246
|
keyDirective.addArgument('fields', fieldSetType);
|
|
165
247
|
this.addBuiltInDirective(schema, exports.extendsDirectiveName)
|
|
166
|
-
.addLocations(
|
|
248
|
+
.addLocations(graphql_1.DirectiveLocation.OBJECT, graphql_1.DirectiveLocation.INTERFACE);
|
|
167
249
|
this.addBuiltInDirective(schema, exports.externalDirectiveName)
|
|
168
|
-
.addLocations(
|
|
250
|
+
.addLocations(graphql_1.DirectiveLocation.OBJECT, graphql_1.DirectiveLocation.FIELD_DEFINITION);
|
|
169
251
|
for (const name of [exports.requiresDirectiveName, exports.providesDirectiveName]) {
|
|
170
252
|
this.addBuiltInDirective(schema, name)
|
|
171
|
-
.addLocations(
|
|
253
|
+
.addLocations(graphql_1.DirectiveLocation.FIELD_DEFINITION)
|
|
172
254
|
.addArgument('fields', fieldSetType);
|
|
173
255
|
}
|
|
174
256
|
const directive = this.addBuiltInDirective(schema, 'tag').addLocations(...tagSpec_1.tagLocations);
|
|
@@ -195,7 +277,7 @@ class FederationBuiltIns extends definitions_1.BuiltIns {
|
|
|
195
277
|
}
|
|
196
278
|
const queryRoot = schema.schemaDefinition.root("query");
|
|
197
279
|
const queryType = queryRoot ? queryRoot.type : schema.addType(new definitions_1.ObjectType("Query"));
|
|
198
|
-
|
|
280
|
+
const entityField = queryType.field(exports.entitiesFieldName);
|
|
199
281
|
if (hasEntities) {
|
|
200
282
|
const anyType = schema.type(exports.anyTypeName);
|
|
201
283
|
(0, utils_1.assert)(anyType, `The schema should have the _Any type`);
|
|
@@ -224,9 +306,12 @@ class FederationBuiltIns extends definitions_1.BuiltIns {
|
|
|
224
306
|
if (type && type.name !== defaultName) {
|
|
225
307
|
const existing = schema.type(defaultName);
|
|
226
308
|
if (existing) {
|
|
227
|
-
errors.push(
|
|
228
|
-
|
|
229
|
-
|
|
309
|
+
errors.push(error_1.ERROR_CATEGORIES.ROOT_TYPE_USED.get(k).err({
|
|
310
|
+
message: `The schema has a type named "${defaultName}" but it is not set as the ${k} root type ("${type.name}" is instead): `
|
|
311
|
+
+ 'this is not supported by federation. '
|
|
312
|
+
+ 'If a root type does not use its default name, there should be no other type with that default name.',
|
|
313
|
+
nodes: (0, definitions_1.sourceASTs)(type, existing),
|
|
314
|
+
}));
|
|
230
315
|
}
|
|
231
316
|
type.rename(defaultName);
|
|
232
317
|
}
|
|
@@ -234,15 +319,29 @@ class FederationBuiltIns extends definitions_1.BuiltIns {
|
|
|
234
319
|
const externalTester = new ExternalTester(schema);
|
|
235
320
|
const externalFieldsInFedDirectivesCoordinates = [];
|
|
236
321
|
const keyDirective = this.keyDirective(schema);
|
|
237
|
-
validateAllFieldSet(keyDirective, type => type,
|
|
238
|
-
|
|
322
|
+
validateAllFieldSet(keyDirective, type => type, errors, externalTester, externalFieldsInFedDirectivesCoordinates, true, true, field => {
|
|
323
|
+
if ((0, definitions_1.isListType)(field.type) || (0, definitions_1.isUnionType)(field.type) || (0, definitions_1.isInterfaceType)(field.type)) {
|
|
324
|
+
let kind = field.type.kind;
|
|
325
|
+
kind = kind.slice(0, kind.length - 'Type'.length);
|
|
326
|
+
throw error_1.ERRORS.KEY_FIELDS_SELECT_INVALID_TYPE.err({
|
|
327
|
+
message: `field "${field.coordinate}" is a ${kind} type which is not allowed in @key`
|
|
328
|
+
});
|
|
329
|
+
}
|
|
330
|
+
});
|
|
331
|
+
validateAllFieldSet(this.requiresDirective(schema), field => field.parent, errors, externalTester, externalFieldsInFedDirectivesCoordinates, false, false);
|
|
239
332
|
validateAllFieldSet(this.providesDirective(schema), field => {
|
|
333
|
+
if (externalTester.isExternal(field)) {
|
|
334
|
+
throw new graphql_1.GraphQLError(`Cannot have both @provides and @external on field "${field.coordinate}"`, field.sourceAST);
|
|
335
|
+
}
|
|
240
336
|
const type = (0, definitions_1.baseType)(field.type);
|
|
241
|
-
if (!(0, definitions_1.
|
|
242
|
-
throw
|
|
337
|
+
if (!(0, definitions_1.isCompositeType)(type)) {
|
|
338
|
+
throw error_1.ERRORS.PROVIDES_ON_NON_OBJECT_FIELD.err({
|
|
339
|
+
message: `Invalid @provides directive on field "${field.coordinate}": field has type "${field.type}" which is not a Composite Type`,
|
|
340
|
+
nodes: field.sourceAST,
|
|
341
|
+
});
|
|
243
342
|
}
|
|
244
343
|
return type;
|
|
245
|
-
},
|
|
344
|
+
}, errors, externalTester, externalFieldsInFedDirectivesCoordinates, false, false);
|
|
246
345
|
validateAllExternalFieldsUsed(schema, externalTester, externalFieldsInFedDirectivesCoordinates, errors);
|
|
247
346
|
const tagDirective = this.tagDirective(schema);
|
|
248
347
|
if (!tagDirective.isBuiltIn) {
|
|
@@ -251,6 +350,9 @@ class FederationBuiltIns extends definitions_1.BuiltIns {
|
|
|
251
350
|
errors.push(error);
|
|
252
351
|
}
|
|
253
352
|
}
|
|
353
|
+
for (const itf of schema.types('InterfaceType')) {
|
|
354
|
+
validateInterfaceRuntimeImplementationFieldsTypes(itf, externalTester, errors);
|
|
355
|
+
}
|
|
254
356
|
return errors;
|
|
255
357
|
}
|
|
256
358
|
validationRules() {
|
|
@@ -276,7 +378,7 @@ class FederationBuiltIns extends definitions_1.BuiltIns {
|
|
|
276
378
|
}
|
|
277
379
|
maybeUpdateSubgraphDocument(schema, document) {
|
|
278
380
|
document = super.maybeUpdateSubgraphDocument(schema, document);
|
|
279
|
-
|
|
381
|
+
const definitions = document.definitions.concat();
|
|
280
382
|
for (const directiveName of FEDERATION_DIRECTIVES) {
|
|
281
383
|
const directive = schema.directive(directiveName);
|
|
282
384
|
(0, utils_1.assert)(directive, 'This method should only have been called on a schema with federation built-ins');
|
|
@@ -285,7 +387,7 @@ class FederationBuiltIns extends definitions_1.BuiltIns {
|
|
|
285
387
|
}
|
|
286
388
|
}
|
|
287
389
|
return {
|
|
288
|
-
kind:
|
|
390
|
+
kind: graphql_1.Kind.DOCUMENT,
|
|
289
391
|
loc: document.loc,
|
|
290
392
|
definitions
|
|
291
393
|
};
|
|
@@ -329,21 +431,72 @@ function buildSubgraph(name, source) {
|
|
|
329
431
|
}
|
|
330
432
|
catch (e) {
|
|
331
433
|
if (e instanceof graphql_1.GraphQLError) {
|
|
332
|
-
throw addSubgraphToError(e, name);
|
|
434
|
+
throw addSubgraphToError(e, name, error_1.ERRORS.INVALID_GRAPHQL);
|
|
333
435
|
}
|
|
334
436
|
else {
|
|
335
437
|
throw e;
|
|
336
438
|
}
|
|
337
439
|
}
|
|
338
440
|
}
|
|
441
|
+
exports.buildSubgraph = buildSubgraph;
|
|
339
442
|
function parseFieldSetArgument(parentType, directive, fieldAccessor = (type, name) => type.field(name)) {
|
|
340
|
-
|
|
443
|
+
var _a;
|
|
444
|
+
try {
|
|
445
|
+
const selectionSet = (0, operations_1.parseSelectionSet)(parentType, validateFieldSetValue(directive), new definitions_1.VariableDefinitions(), undefined, fieldAccessor);
|
|
446
|
+
selectionSet.validate();
|
|
447
|
+
return selectionSet;
|
|
448
|
+
}
|
|
449
|
+
catch (e) {
|
|
450
|
+
if (!(e instanceof graphql_1.GraphQLError)) {
|
|
451
|
+
throw e;
|
|
452
|
+
}
|
|
453
|
+
const nodes = (0, definitions_1.sourceASTs)(directive);
|
|
454
|
+
if (e.nodes) {
|
|
455
|
+
nodes.push(...e.nodes);
|
|
456
|
+
}
|
|
457
|
+
let msg = e.message.trim();
|
|
458
|
+
if (msg.startsWith('Cannot query field')) {
|
|
459
|
+
if (msg.endsWith('.')) {
|
|
460
|
+
msg = msg.slice(0, msg.length - 1);
|
|
461
|
+
}
|
|
462
|
+
if (directive.name === exports.keyDirectiveName) {
|
|
463
|
+
msg = msg + ' (the field should be either be added to this subgraph or, if it should not be resolved by this subgraph, you need to add it to this subgraph with @external).';
|
|
464
|
+
}
|
|
465
|
+
else {
|
|
466
|
+
msg = msg + ' (if the field is defined in another subgraph, you need to add it to this subgraph with @external).';
|
|
467
|
+
}
|
|
468
|
+
}
|
|
469
|
+
const codeDef = (_a = (0, error_1.errorCodeDef)(e)) !== null && _a !== void 0 ? _a : error_1.ERROR_CATEGORIES.DIRECTIVE_INVALID_FIELDS.get(directive.name);
|
|
470
|
+
throw codeDef.err({
|
|
471
|
+
message: `${fieldSetErrorDescriptor(directive)}: ${msg}`,
|
|
472
|
+
nodes,
|
|
473
|
+
originalError: e,
|
|
474
|
+
});
|
|
475
|
+
}
|
|
341
476
|
}
|
|
342
477
|
exports.parseFieldSetArgument = parseFieldSetArgument;
|
|
343
478
|
function validateFieldSetValue(directive) {
|
|
479
|
+
var _a;
|
|
344
480
|
const fields = directive.arguments().fields;
|
|
481
|
+
const nodes = directive.sourceAST;
|
|
345
482
|
if (typeof fields !== 'string') {
|
|
346
|
-
throw
|
|
483
|
+
throw error_1.ERROR_CATEGORIES.DIRECTIVE_INVALID_FIELDS_TYPE.get(directive.name).err({
|
|
484
|
+
message: `Invalid value for argument "${directive.definition.argument('fields').name}": must be a string.`,
|
|
485
|
+
nodes,
|
|
486
|
+
});
|
|
487
|
+
}
|
|
488
|
+
if (nodes && nodes.kind === 'Directive') {
|
|
489
|
+
for (const argNode of (_a = nodes.arguments) !== null && _a !== void 0 ? _a : []) {
|
|
490
|
+
if (argNode.name.value === 'fields') {
|
|
491
|
+
if (argNode.value.kind !== 'StringValue') {
|
|
492
|
+
throw error_1.ERROR_CATEGORIES.DIRECTIVE_INVALID_FIELDS_TYPE.get(directive.name).err({
|
|
493
|
+
message: `Invalid value for argument "${directive.definition.argument('fields').name}": must be a string.`,
|
|
494
|
+
nodes,
|
|
495
|
+
});
|
|
496
|
+
}
|
|
497
|
+
break;
|
|
498
|
+
}
|
|
499
|
+
}
|
|
347
500
|
}
|
|
348
501
|
return fields;
|
|
349
502
|
}
|
|
@@ -370,47 +523,40 @@ function subgraphsFromServiceList(serviceList) {
|
|
|
370
523
|
exports.subgraphsFromServiceList = subgraphsFromServiceList;
|
|
371
524
|
class Subgraphs {
|
|
372
525
|
constructor() {
|
|
373
|
-
this.subgraphs =
|
|
374
|
-
}
|
|
375
|
-
idx(name) {
|
|
376
|
-
return this.subgraphs.findIndex(s => s.name === name);
|
|
526
|
+
this.subgraphs = new utils_1.OrderedMap();
|
|
377
527
|
}
|
|
378
528
|
add(subgraphOrName, url, schema) {
|
|
379
529
|
const toAdd = typeof subgraphOrName === 'string'
|
|
380
530
|
? new Subgraph(subgraphOrName, url, schema instanceof definitions_1.Schema ? schema : buildSubgraph(subgraphOrName, schema))
|
|
381
531
|
: subgraphOrName;
|
|
382
532
|
if (toAdd.name === exports.FEDERATION_RESERVED_SUBGRAPH_NAME) {
|
|
383
|
-
throw
|
|
533
|
+
throw error_1.ERRORS.INVALID_SUBGRAPH_NAME.err({ message: `Invalid name ${exports.FEDERATION_RESERVED_SUBGRAPH_NAME} for a subgraph: this name is reserved` });
|
|
384
534
|
}
|
|
385
|
-
|
|
386
|
-
if (idx >= 0) {
|
|
535
|
+
if (this.subgraphs.has(toAdd.name)) {
|
|
387
536
|
throw new Error(`A subgraph named ${toAdd.name} already exists` + (toAdd.url ? ` (with url '${toAdd.url}')` : ''));
|
|
388
537
|
}
|
|
389
|
-
this.subgraphs.
|
|
390
|
-
this.subgraphs.sort();
|
|
538
|
+
this.subgraphs.add(toAdd.name, toAdd);
|
|
391
539
|
return toAdd;
|
|
392
540
|
}
|
|
393
541
|
get(name) {
|
|
394
|
-
|
|
395
|
-
return idx >= 0 ? this.subgraphs[idx] : undefined;
|
|
396
|
-
}
|
|
397
|
-
getByIdx(idx) {
|
|
398
|
-
return this.subgraphs[idx];
|
|
542
|
+
return this.subgraphs.get(name);
|
|
399
543
|
}
|
|
400
544
|
size() {
|
|
401
|
-
return this.subgraphs.
|
|
545
|
+
return this.subgraphs.size;
|
|
402
546
|
}
|
|
403
547
|
names() {
|
|
404
|
-
return this.subgraphs.
|
|
548
|
+
return this.subgraphs.keys();
|
|
405
549
|
}
|
|
406
550
|
values() {
|
|
407
|
-
return this.subgraphs;
|
|
408
|
-
}
|
|
409
|
-
[Symbol.iterator]() {
|
|
410
551
|
return this.subgraphs.values();
|
|
411
552
|
}
|
|
553
|
+
*[Symbol.iterator]() {
|
|
554
|
+
for (const subgraph of this.subgraphs) {
|
|
555
|
+
yield subgraph;
|
|
556
|
+
}
|
|
557
|
+
}
|
|
412
558
|
toString() {
|
|
413
|
-
return '[' + this.subgraphs.
|
|
559
|
+
return '[' + this.subgraphs.keys().join(', ') + ']';
|
|
414
560
|
}
|
|
415
561
|
}
|
|
416
562
|
exports.Subgraphs = Subgraphs;
|
|
@@ -435,8 +581,29 @@ function addSubgraphToASTNode(node, subgraph) {
|
|
|
435
581
|
};
|
|
436
582
|
}
|
|
437
583
|
exports.addSubgraphToASTNode = addSubgraphToASTNode;
|
|
438
|
-
function addSubgraphToError(e, subgraphName) {
|
|
439
|
-
const updatedCauses = (0, definitions_1.errorCauses)(e).map(cause =>
|
|
584
|
+
function addSubgraphToError(e, subgraphName, errorCode) {
|
|
585
|
+
const updatedCauses = (0, definitions_1.errorCauses)(e).map(cause => {
|
|
586
|
+
var _a;
|
|
587
|
+
const message = `[${subgraphName}] ${cause.message}`;
|
|
588
|
+
const nodes = cause.nodes
|
|
589
|
+
? cause.nodes.map(node => addSubgraphToASTNode(node, subgraphName))
|
|
590
|
+
: undefined;
|
|
591
|
+
const code = (_a = (0, error_1.errorCodeDef)(cause)) !== null && _a !== void 0 ? _a : errorCode;
|
|
592
|
+
if (code) {
|
|
593
|
+
return code.err({
|
|
594
|
+
message,
|
|
595
|
+
nodes,
|
|
596
|
+
source: cause.source,
|
|
597
|
+
positions: cause.positions,
|
|
598
|
+
path: cause.path,
|
|
599
|
+
originalError: cause.originalError,
|
|
600
|
+
extensions: cause.extensions,
|
|
601
|
+
});
|
|
602
|
+
}
|
|
603
|
+
else {
|
|
604
|
+
return new graphql_1.GraphQLError(message, nodes, cause.source, cause.positions, cause.path, cause.originalError, cause.extensions);
|
|
605
|
+
}
|
|
606
|
+
});
|
|
440
607
|
return (0, definitions_1.ErrGraphQLValidationFailed)(updatedCauses);
|
|
441
608
|
}
|
|
442
609
|
exports.addSubgraphToError = addSubgraphToError;
|
|
@@ -475,6 +642,19 @@ class ExternalTester {
|
|
|
475
642
|
isFakeExternal(field) {
|
|
476
643
|
return this.fakeExternalFields.has(field.coordinate);
|
|
477
644
|
}
|
|
645
|
+
selectsAnyExternalField(selectionSet) {
|
|
646
|
+
for (const selection of selectionSet.selections()) {
|
|
647
|
+
if (selection.kind === 'FieldSelection' && this.isExternal(selection.element().definition)) {
|
|
648
|
+
return true;
|
|
649
|
+
}
|
|
650
|
+
if (selection.selectionSet) {
|
|
651
|
+
if (this.selectsAnyExternalField(selection.selectionSet)) {
|
|
652
|
+
return true;
|
|
653
|
+
}
|
|
654
|
+
}
|
|
655
|
+
}
|
|
656
|
+
return false;
|
|
657
|
+
}
|
|
478
658
|
}
|
|
479
659
|
exports.ExternalTester = ExternalTester;
|
|
480
660
|
//# sourceMappingURL=federation.js.map
|
package/dist/federation.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"federation.js","sourceRoot":"","sources":["../src/federation.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"federation.js","sourceRoot":"","sources":["../src/federation.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"genErrorCodeDoc.d.ts","sourceRoot":"","sources":["../src/genErrorCodeDoc.ts"],"names":[],"mappings":""}
|