@wundergraph/composition 0.35.0 → 0.36.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/dist/ast/utils.js.map +1 -1
- package/dist/errors/errors.d.ts +16 -16
- package/dist/errors/errors.js +81 -82
- package/dist/errors/errors.js.map +1 -1
- package/dist/federation/federation-factory.d.ts +11 -3
- package/dist/federation/federation-factory.js +137 -10
- package/dist/federation/federation-factory.js.map +1 -1
- package/dist/federation/utils.d.ts +2 -1
- package/dist/federation/utils.js +11 -0
- package/dist/federation/utils.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/normalization/directive-definition-data.d.ts +25 -0
- package/dist/normalization/directive-definition-data.js +559 -0
- package/dist/normalization/directive-definition-data.js.map +1 -0
- package/dist/normalization/normalization-factory.d.ts +36 -11
- package/dist/normalization/normalization-factory.js +678 -124
- package/dist/normalization/normalization-factory.js.map +1 -1
- package/dist/normalization/utils.d.ts +27 -4
- package/dist/normalization/utils.js +31 -114
- package/dist/normalization/utils.js.map +1 -1
- package/dist/normalization/walkers.js +71 -68
- package/dist/normalization/walkers.js.map +1 -1
- package/dist/schema-building/ast.d.ts +1 -0
- package/dist/schema-building/ast.js +9 -0
- package/dist/schema-building/ast.js.map +1 -1
- package/dist/schema-building/type-definition-data.d.ts +36 -2
- package/dist/schema-building/type-definition-data.js.map +1 -1
- package/dist/schema-building/utils.d.ts +10 -20
- package/dist/schema-building/utils.js +54 -333
- package/dist/schema-building/utils.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/utils/composition-version.js +1 -1
- package/dist/utils/constants.d.ts +25 -3
- package/dist/utils/constants.js +200 -134
- package/dist/utils/constants.js.map +1 -1
- package/dist/utils/string-constants.d.ts +14 -0
- package/dist/utils/string-constants.js +30 -3
- package/dist/utils/string-constants.js.map +1 -1
- package/dist/utils/utils.d.ts +2 -1
- package/dist/utils/utils.js +7 -2
- package/dist/utils/utils.js.map +1 -1
- package/package.json +3 -2
|
@@ -3,36 +3,24 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.FieldSetDirective = exports.MergeMethod = void 0;
|
|
4
4
|
exports.newPersistedDirectivesData = newPersistedDirectivesData;
|
|
5
5
|
exports.isNodeExternalOrShareable = isNodeExternalOrShareable;
|
|
6
|
-
exports.getDefinedArgumentsForDirective = getDefinedArgumentsForDirective;
|
|
7
|
-
exports.getDirectiveValidationErrors = getDirectiveValidationErrors;
|
|
8
|
-
exports.extractDirectives = extractDirectives;
|
|
9
|
-
exports.extractArguments = extractArguments;
|
|
10
6
|
exports.isTypeRequired = isTypeRequired;
|
|
7
|
+
exports.areDefaultValuesCompatible = areDefaultValuesCompatible;
|
|
11
8
|
exports.compareAndValidateInputValueDefaultValues = compareAndValidateInputValueDefaultValues;
|
|
12
|
-
exports.addEnumValueDataByNode = addEnumValueDataByNode;
|
|
13
|
-
exports.addInheritedDirectivesToFieldData = addInheritedDirectivesToFieldData;
|
|
14
|
-
exports.addFieldDataByNode = addFieldDataByNode;
|
|
15
|
-
exports.addInputValueDataByNode = addInputValueDataByNode;
|
|
16
|
-
exports.addPersistedDirectiveDefinitionDataByNode = addPersistedDirectiveDefinitionDataByNode;
|
|
17
9
|
exports.setMutualExecutableLocations = setMutualExecutableLocations;
|
|
18
10
|
exports.isTypeNameRootType = isTypeNameRootType;
|
|
19
11
|
exports.getRenamedRootTypeName = getRenamedRootTypeName;
|
|
20
|
-
exports.
|
|
21
|
-
exports.
|
|
22
|
-
exports.
|
|
23
|
-
exports.getScalarNodeByData = getScalarNodeByData;
|
|
24
|
-
exports.getSchemaNodeByData = getSchemaNodeByData;
|
|
25
|
-
exports.getUnionNodeByData = getUnionNodeByData;
|
|
26
|
-
exports.removeInheritableDirectivesFromParentWithFieldsData = removeInheritableDirectivesFromParentWithFieldsData;
|
|
12
|
+
exports.childMapToValueArray = childMapToValueArray;
|
|
13
|
+
exports.removeInheritableDirectivesFromObjectParent = removeInheritableDirectivesFromObjectParent;
|
|
14
|
+
exports.removeIgnoredDirectives = removeIgnoredDirectives;
|
|
27
15
|
exports.setLongestDescription = setLongestDescription;
|
|
28
16
|
exports.isParentDataRootType = isParentDataRootType;
|
|
29
17
|
exports.isParentDataInterfaceType = isParentDataInterfaceType;
|
|
30
18
|
exports.setParentDataExtensionType = setParentDataExtensionType;
|
|
31
19
|
exports.extractPersistedDirectives = extractPersistedDirectives;
|
|
32
20
|
exports.pushAuthorizationDirectives = pushAuthorizationDirectives;
|
|
21
|
+
exports.generateDeprecatedDirective = generateDeprecatedDirective;
|
|
33
22
|
exports.getClientPersistedDirectiveNodes = getClientPersistedDirectiveNodes;
|
|
34
23
|
exports.getNodeForRouterSchemaByData = getNodeForRouterSchemaByData;
|
|
35
|
-
exports.getNodeWithPersistedDirectivesByFieldData = getNodeWithPersistedDirectivesByFieldData;
|
|
36
24
|
exports.getClientSchemaFieldNodeByFieldData = getClientSchemaFieldNodeByFieldData;
|
|
37
25
|
exports.getNodeWithPersistedDirectivesByInputValueData = getNodeWithPersistedDirectivesByInputValueData;
|
|
38
26
|
exports.getValidFieldArgumentNodes = getValidFieldArgumentNodes;
|
|
@@ -45,16 +33,14 @@ exports.isLeafKind = isLeafKind;
|
|
|
45
33
|
exports.getSubscriptionFilterValue = getSubscriptionFilterValue;
|
|
46
34
|
exports.getParentTypeName = getParentTypeName;
|
|
47
35
|
exports.newConditionalFieldData = newConditionalFieldData;
|
|
36
|
+
exports.getDefinitionDataCoords = getDefinitionDataCoords;
|
|
48
37
|
const graphql_1 = require("graphql");
|
|
49
38
|
const type_definition_data_1 = require("./type-definition-data");
|
|
50
|
-
const ast_1 = require("./ast");
|
|
51
39
|
const utils_1 = require("../ast/utils");
|
|
52
40
|
const errors_1 = require("../errors/errors");
|
|
53
41
|
const string_constants_1 = require("../utils/string-constants");
|
|
54
|
-
const utils_2 = require("../
|
|
55
|
-
const utils_3 = require("../utils/utils");
|
|
42
|
+
const utils_2 = require("../utils/utils");
|
|
56
43
|
const constants_1 = require("../utils/constants");
|
|
57
|
-
const merge_1 = require("@graphql-tools/merge");
|
|
58
44
|
function newPersistedDirectivesData() {
|
|
59
45
|
return {
|
|
60
46
|
deprecatedReason: '',
|
|
@@ -83,135 +69,6 @@ function isNodeExternalOrShareable(node, areAllFieldsShareable, directivesByDire
|
|
|
83
69
|
}
|
|
84
70
|
return result;
|
|
85
71
|
}
|
|
86
|
-
function getDefinedArgumentsForDirective(directiveNode, argumentTypeNodeByArgumentName, requiredArguments, hostPath, errorMessages) {
|
|
87
|
-
const directiveArguments = directiveNode.arguments || [];
|
|
88
|
-
const directiveName = directiveNode.name.value;
|
|
89
|
-
const definedArguments = new Set();
|
|
90
|
-
const duplicateArgumentNames = new Set();
|
|
91
|
-
const unexpectedArgumentNames = new Set();
|
|
92
|
-
for (const argument of directiveArguments) {
|
|
93
|
-
const argumentName = argument.name.value;
|
|
94
|
-
// If an argument is observed more than once, it is a duplication error.
|
|
95
|
-
// However, the error should only propagate once.
|
|
96
|
-
if (definedArguments.has(argumentName)) {
|
|
97
|
-
duplicateArgumentNames.add(argumentName);
|
|
98
|
-
continue;
|
|
99
|
-
}
|
|
100
|
-
const argumentTypeNode = argumentTypeNodeByArgumentName.get(argumentName);
|
|
101
|
-
if (!argumentTypeNode) {
|
|
102
|
-
unexpectedArgumentNames.add(argumentName);
|
|
103
|
-
continue;
|
|
104
|
-
}
|
|
105
|
-
// TODO validate argument values
|
|
106
|
-
// if (argumentTypeNode) {
|
|
107
|
-
// errorMessages.push(invalidDirectiveArgumentTypeErrorMessage(
|
|
108
|
-
// requiredArguments.has(directiveName), argumentName, argumentTypeNode, argument.value.kind),
|
|
109
|
-
// );
|
|
110
|
-
// }
|
|
111
|
-
definedArguments.add(argumentName);
|
|
112
|
-
}
|
|
113
|
-
if (duplicateArgumentNames.size > 0) {
|
|
114
|
-
errorMessages.push((0, errors_1.duplicateDirectiveArgumentDefinitionsErrorMessage)(directiveName, hostPath, [...duplicateArgumentNames]));
|
|
115
|
-
}
|
|
116
|
-
if (unexpectedArgumentNames.size > 0) {
|
|
117
|
-
errorMessages.push((0, errors_1.unexpectedDirectiveArgumentErrorMessage)(directiveName, [...unexpectedArgumentNames]));
|
|
118
|
-
}
|
|
119
|
-
return definedArguments;
|
|
120
|
-
}
|
|
121
|
-
function getDirectiveValidationErrors(directiveNode, hostKind, directivesByDirectiveName, directiveDefinitionByDirectiveName, handledRepeatedDirectivesByHostPath, hostPath, isArgument = false) {
|
|
122
|
-
const directiveName = directiveNode.name.value;
|
|
123
|
-
const directiveDefinition = directiveDefinitionByDirectiveName.get(directiveName) ||
|
|
124
|
-
constants_1.V2_DIRECTIVE_DEFINITION_BY_DIRECTIVE_NAME.get(directiveName);
|
|
125
|
-
const errorMessages = [];
|
|
126
|
-
if (!directiveDefinition) {
|
|
127
|
-
errorMessages.push((0, errors_1.undefinedDirectiveErrorMessage)(directiveName, hostPath));
|
|
128
|
-
return errorMessages;
|
|
129
|
-
}
|
|
130
|
-
const argumentTypeNodeByArgumentName = new Map();
|
|
131
|
-
const requiredArguments = new Set();
|
|
132
|
-
(0, utils_2.getDirectiveDefinitionArgumentSets)(directiveDefinition.arguments || [], argumentTypeNodeByArgumentName, requiredArguments);
|
|
133
|
-
if (!(0, utils_2.areNodeKindAndDirectiveLocationCompatible)(hostKind, directiveDefinition, isArgument)) {
|
|
134
|
-
errorMessages.push((0, errors_1.invalidDirectiveLocationErrorMessage)(hostPath, isArgument ? graphql_1.Kind.ARGUMENT : hostKind, directiveName));
|
|
135
|
-
}
|
|
136
|
-
if (!directiveDefinition.repeatable && directivesByDirectiveName.get(directiveName)) {
|
|
137
|
-
const handledRepeatedDirectives = (0, utils_3.getValueOrDefault)(handledRepeatedDirectivesByHostPath, hostPath, () => new Set());
|
|
138
|
-
// If the directive name exists as a value on the host path key, the repeatable error has been handled
|
|
139
|
-
if (!handledRepeatedDirectives.has(directiveName)) {
|
|
140
|
-
handledRepeatedDirectives.add(directiveName);
|
|
141
|
-
errorMessages.push((0, errors_1.invalidRepeatedDirectiveErrorMessage)(directiveName, hostPath));
|
|
142
|
-
}
|
|
143
|
-
}
|
|
144
|
-
if (!directiveDefinition.arguments?.length) {
|
|
145
|
-
if (directiveNode.arguments?.length) {
|
|
146
|
-
errorMessages.push((0, errors_1.unexpectedDirectiveArgumentsErrorMessage)(directiveNode, hostPath));
|
|
147
|
-
}
|
|
148
|
-
return errorMessages;
|
|
149
|
-
}
|
|
150
|
-
if (!directiveNode.arguments?.length) {
|
|
151
|
-
if (requiredArguments.size > 0) {
|
|
152
|
-
errorMessages.push((0, errors_1.undefinedRequiredArgumentsErrorMessage)(directiveName, hostPath, [...requiredArguments]));
|
|
153
|
-
}
|
|
154
|
-
return errorMessages;
|
|
155
|
-
}
|
|
156
|
-
const definedArguments = getDefinedArgumentsForDirective(directiveNode, argumentTypeNodeByArgumentName, requiredArguments, hostPath, errorMessages);
|
|
157
|
-
const missingRequiredArguments = (0, utils_3.getEntriesNotInHashSet)(requiredArguments, definedArguments);
|
|
158
|
-
if (missingRequiredArguments.length > 0) {
|
|
159
|
-
errorMessages.push((0, errors_1.undefinedRequiredArgumentsErrorMessage)(directiveName, hostPath, [...requiredArguments], missingRequiredArguments));
|
|
160
|
-
}
|
|
161
|
-
return errorMessages;
|
|
162
|
-
}
|
|
163
|
-
function extractDirectives(node, directivesByDirectiveName, errors, directiveDefinitionByDirectiveName, handledRepeatedDirectivesByHostPath, hostPath, isArgument = false) {
|
|
164
|
-
if (!node.directives) {
|
|
165
|
-
return directivesByDirectiveName;
|
|
166
|
-
}
|
|
167
|
-
const entityKeys = new Set();
|
|
168
|
-
for (const directiveNode of node.directives) {
|
|
169
|
-
const errorMessages = getDirectiveValidationErrors(directiveNode, node.kind, directivesByDirectiveName, directiveDefinitionByDirectiveName, handledRepeatedDirectivesByHostPath, hostPath, isArgument);
|
|
170
|
-
const directiveName = directiveNode.name.value;
|
|
171
|
-
if (errorMessages.length > 0) {
|
|
172
|
-
errors.push((0, errors_1.invalidDirectiveError)(directiveName, hostPath, errorMessages));
|
|
173
|
-
continue;
|
|
174
|
-
}
|
|
175
|
-
if (string_constants_1.IGNORED_PARENT_DIRECTIVES.has(directiveName)) {
|
|
176
|
-
continue;
|
|
177
|
-
}
|
|
178
|
-
if (directiveName === string_constants_1.KEY) {
|
|
179
|
-
// The argument was validated earlier
|
|
180
|
-
const entityKey = directiveNode.arguments[0].value.value;
|
|
181
|
-
if (entityKeys.has(entityKey)) {
|
|
182
|
-
continue;
|
|
183
|
-
}
|
|
184
|
-
entityKeys.add(entityKey);
|
|
185
|
-
}
|
|
186
|
-
const existingDirectives = directivesByDirectiveName.get(directiveName);
|
|
187
|
-
existingDirectives
|
|
188
|
-
? existingDirectives.push(directiveNode)
|
|
189
|
-
: directivesByDirectiveName.set(directiveName, [directiveNode]);
|
|
190
|
-
}
|
|
191
|
-
return directivesByDirectiveName;
|
|
192
|
-
}
|
|
193
|
-
function extractArguments(argumentDataByArgumentName, node, errors, directiveDefinitionByDirectiveName, handledRepeatedDirectivesByHostPath, parentsWithChildArguments, originalParentTypeName, renamedParentTypeName, subgraphName) {
|
|
194
|
-
if (!node.arguments?.length) {
|
|
195
|
-
return argumentDataByArgumentName;
|
|
196
|
-
}
|
|
197
|
-
const fieldName = node.name.value;
|
|
198
|
-
const originalFieldPath = `${originalParentTypeName}.${fieldName}`;
|
|
199
|
-
const renamedFieldPath = `${renamedParentTypeName}.${fieldName}`;
|
|
200
|
-
parentsWithChildArguments.add(originalParentTypeName);
|
|
201
|
-
const duplicatedArguments = new Set();
|
|
202
|
-
for (const argumentNode of node.arguments) {
|
|
203
|
-
const argumentName = argumentNode.name.value;
|
|
204
|
-
if (argumentDataByArgumentName.has(argumentName)) {
|
|
205
|
-
duplicatedArguments.add(argumentName);
|
|
206
|
-
continue;
|
|
207
|
-
}
|
|
208
|
-
addInputValueDataByNode(argumentDataByArgumentName, argumentNode, directiveDefinitionByDirectiveName, handledRepeatedDirectivesByHostPath, `${originalFieldPath}(${argumentName}: ...)`, subgraphName, errors, `${renamedFieldPath}(${argumentName}: ...)`);
|
|
209
|
-
}
|
|
210
|
-
if (duplicatedArguments.size > 0) {
|
|
211
|
-
errors.push((0, errors_1.duplicateArgumentsError)(originalFieldPath, [...duplicatedArguments]));
|
|
212
|
-
}
|
|
213
|
-
return argumentDataByArgumentName;
|
|
214
|
-
}
|
|
215
72
|
function isTypeRequired(node) {
|
|
216
73
|
return node.kind === graphql_1.Kind.NON_NULL_TYPE;
|
|
217
74
|
}
|
|
@@ -260,89 +117,6 @@ function compareAndValidateInputValueDefaultValues(existingData, incomingData, e
|
|
|
260
117
|
return;
|
|
261
118
|
}
|
|
262
119
|
}
|
|
263
|
-
function addEnumValueDataByNode(enumValueDataByValueName, node, errors, directiveDefinitionByDirectiveName, handledRepeatedDirectivesByHostPath, parentTypeName, subgraphName) {
|
|
264
|
-
const name = node.name.value;
|
|
265
|
-
enumValueDataByValueName.set(name, {
|
|
266
|
-
appearances: 1,
|
|
267
|
-
directivesByDirectiveName: extractDirectives(node, new Map(), errors, directiveDefinitionByDirectiveName, handledRepeatedDirectivesByHostPath, `${parentTypeName}.${name}`),
|
|
268
|
-
name,
|
|
269
|
-
node: (0, ast_1.getMutableEnumValueNode)(node),
|
|
270
|
-
parentTypeName,
|
|
271
|
-
persistedDirectivesData: newPersistedDirectivesData(),
|
|
272
|
-
subgraphNames: new Set([subgraphName]),
|
|
273
|
-
description: (0, utils_1.formatDescription)(node.description),
|
|
274
|
-
});
|
|
275
|
-
}
|
|
276
|
-
function addInheritedDirectivesToFieldData(parentDirectivesByDirectiveName, fieldDirectivesByDirectiveName) {
|
|
277
|
-
for (const directiveName of constants_1.INHERITABLE_DIRECTIVE_NAMES) {
|
|
278
|
-
if (parentDirectivesByDirectiveName.get(directiveName)) {
|
|
279
|
-
(0, utils_3.getValueOrDefault)(fieldDirectivesByDirectiveName, directiveName, () => [(0, utils_3.generateSimpleDirective)(directiveName)]);
|
|
280
|
-
}
|
|
281
|
-
}
|
|
282
|
-
return fieldDirectivesByDirectiveName;
|
|
283
|
-
}
|
|
284
|
-
function addFieldDataByNode(fieldDataByFieldName, node, argumentDataByArgumentName, directivesByDirectiveName, originalParentTypeName, renamedParentTypeName, subgraphName, isSubgraphVersionTwo, errors) {
|
|
285
|
-
const name = node.name.value;
|
|
286
|
-
const fieldPath = `${originalParentTypeName}.${name}`;
|
|
287
|
-
const isNodeExternalOrShareableResult = isNodeExternalOrShareable(node, !isSubgraphVersionTwo, directivesByDirectiveName);
|
|
288
|
-
const fieldData = {
|
|
289
|
-
argumentDataByArgumentName: argumentDataByArgumentName,
|
|
290
|
-
isExternalBySubgraphName: new Map([[subgraphName, isNodeExternalOrShareableResult.isExternal]]),
|
|
291
|
-
isInaccessible: directivesByDirectiveName.has(string_constants_1.INACCESSIBLE),
|
|
292
|
-
isShareableBySubgraphName: new Map([[subgraphName, isNodeExternalOrShareableResult.isShareable]]),
|
|
293
|
-
node: (0, ast_1.getMutableFieldNode)(node, fieldPath, errors),
|
|
294
|
-
name,
|
|
295
|
-
namedTypeName: (0, ast_1.getTypeNodeNamedTypeName)(node.type),
|
|
296
|
-
originalParentTypeName,
|
|
297
|
-
persistedDirectivesData: newPersistedDirectivesData(),
|
|
298
|
-
renamedParentTypeName,
|
|
299
|
-
subgraphNames: new Set([subgraphName]),
|
|
300
|
-
type: (0, ast_1.getMutableTypeNode)(node.type, fieldPath, errors),
|
|
301
|
-
directivesByDirectiveName,
|
|
302
|
-
description: (0, utils_1.formatDescription)(node.description),
|
|
303
|
-
};
|
|
304
|
-
fieldDataByFieldName.set(name, fieldData);
|
|
305
|
-
return fieldData;
|
|
306
|
-
}
|
|
307
|
-
function addInputValueDataByNode(inputValueDataByValueName, node, directiveDefinitionByDirectiveName, handledRepeatedDirectivesByHostPath, originalPath, subgraphName, errors, renamedPath) {
|
|
308
|
-
const name = node.name.value;
|
|
309
|
-
// Only arguments have renamed paths
|
|
310
|
-
const isArgument = !!renamedPath;
|
|
311
|
-
if (node.defaultValue && !areDefaultValuesCompatible(node.type, node.defaultValue)) {
|
|
312
|
-
errors.push((0, errors_1.incompatibleInputValueDefaultValueTypeError)((isArgument ? string_constants_1.ARGUMENT : string_constants_1.INPUT_FIELD) + ` "${name}"`, originalPath, (0, merge_1.printTypeNode)(node.type), (0, graphql_1.print)(node.defaultValue)));
|
|
313
|
-
}
|
|
314
|
-
inputValueDataByValueName.set(name, {
|
|
315
|
-
directivesByDirectiveName: extractDirectives(node, new Map(), errors, directiveDefinitionByDirectiveName, handledRepeatedDirectivesByHostPath, originalPath, isArgument),
|
|
316
|
-
includeDefaultValue: !!node.defaultValue,
|
|
317
|
-
isArgument,
|
|
318
|
-
name,
|
|
319
|
-
node: (0, ast_1.getMutableInputValueNode)(node, originalPath, errors),
|
|
320
|
-
originalPath,
|
|
321
|
-
persistedDirectivesData: newPersistedDirectivesData(),
|
|
322
|
-
renamedPath: renamedPath || originalPath,
|
|
323
|
-
requiredSubgraphNames: new Set(isTypeRequired(node.type) ? [subgraphName] : []),
|
|
324
|
-
subgraphNames: new Set([subgraphName]),
|
|
325
|
-
type: (0, ast_1.getMutableTypeNode)(node.type, originalPath, errors),
|
|
326
|
-
defaultValue: node.defaultValue, // TODO validate
|
|
327
|
-
description: (0, utils_1.formatDescription)(node.description),
|
|
328
|
-
});
|
|
329
|
-
}
|
|
330
|
-
function addPersistedDirectiveDefinitionDataByNode(persistedDirectiveDefinitionDataByDirectiveName, node, errors, directiveDefinitionByDirectiveName, handledRepeatedDirectivesByHostPath, executableLocations, subgraphName) {
|
|
331
|
-
const name = node.name.value;
|
|
332
|
-
const argumentDataByArgumentName = new Map();
|
|
333
|
-
for (const argumentNode of node.arguments || []) {
|
|
334
|
-
const originalPath = `@${name}(${argumentNode.name.value}: ...)`;
|
|
335
|
-
addInputValueDataByNode(argumentDataByArgumentName, argumentNode, directiveDefinitionByDirectiveName, handledRepeatedDirectivesByHostPath, originalPath, subgraphName, errors, originalPath);
|
|
336
|
-
}
|
|
337
|
-
persistedDirectiveDefinitionDataByDirectiveName.set(name, {
|
|
338
|
-
argumentDataByArgumentName,
|
|
339
|
-
executableLocations,
|
|
340
|
-
name: name,
|
|
341
|
-
repeatable: node.repeatable,
|
|
342
|
-
subgraphNames: new Set([subgraphName]),
|
|
343
|
-
description: (0, utils_1.formatDescription)(node.description),
|
|
344
|
-
});
|
|
345
|
-
}
|
|
346
120
|
function setMutualExecutableLocations(persistedDirectiveDefinitionData, incomingExecutableLocations) {
|
|
347
121
|
const mutualExecutableLocations = new Set();
|
|
348
122
|
for (const incomingExecutableLocation of incomingExecutableLocations) {
|
|
@@ -379,11 +153,11 @@ function addAuthorizationDirectivesToFieldData(authorizationDataByParentTypeName
|
|
|
379
153
|
return;
|
|
380
154
|
}
|
|
381
155
|
if (fieldAuthorizationData.requiresAuthentication) {
|
|
382
|
-
const authenticatedDirective = (0,
|
|
156
|
+
const authenticatedDirective = (0, utils_2.generateSimpleDirective)(string_constants_1.AUTHENTICATED);
|
|
383
157
|
fieldData.directivesByDirectiveName.set(string_constants_1.AUTHENTICATED, [authenticatedDirective]);
|
|
384
158
|
}
|
|
385
159
|
if (fieldAuthorizationData.requiredScopes.length > 0) {
|
|
386
|
-
const requiresScopesDirective = (0,
|
|
160
|
+
const requiresScopesDirective = (0, utils_2.generateRequiresScopesDirective)(fieldAuthorizationData.requiredScopes);
|
|
387
161
|
fieldData.directivesByDirectiveName.set(string_constants_1.REQUIRES_SCOPES, [requiresScopesDirective]);
|
|
388
162
|
}
|
|
389
163
|
}
|
|
@@ -411,93 +185,31 @@ function childMapToValueArray(map, authorizationDataByParentTypeName) {
|
|
|
411
185
|
}
|
|
412
186
|
return valueArray;
|
|
413
187
|
}
|
|
414
|
-
function
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
constants_1.V2_DIRECTIVE_DEFINITION_BY_DIRECTIVE_NAME.get(directiveName);
|
|
419
|
-
if (!directiveDefinition) {
|
|
420
|
-
continue;
|
|
421
|
-
}
|
|
422
|
-
if (!directiveDefinition.repeatable && directiveNodes.length > 1) {
|
|
423
|
-
errors.push((0, errors_1.invalidDirectiveError)(directiveName, hostPath, [(0, errors_1.invalidRepeatedDirectiveErrorMessage)(directiveName, hostPath)]));
|
|
424
|
-
continue;
|
|
425
|
-
}
|
|
426
|
-
if (directiveName !== string_constants_1.KEY) {
|
|
427
|
-
flattenedArray.push(...directiveNodes);
|
|
428
|
-
continue;
|
|
429
|
-
}
|
|
430
|
-
const normalizedDirectiveNodes = [];
|
|
431
|
-
const entityKeys = new Set();
|
|
432
|
-
const errorMessages = [];
|
|
433
|
-
for (const keyDirectiveNode of directiveNodes) {
|
|
434
|
-
const directiveValue = keyDirectiveNode.arguments[0].value;
|
|
435
|
-
if (directiveValue.kind !== graphql_1.Kind.STRING) {
|
|
436
|
-
errorMessages.push((0, errors_1.invalidKeyDirectiveArgumentErrorMessage)(directiveValue.kind));
|
|
437
|
-
continue;
|
|
438
|
-
}
|
|
439
|
-
const entityKey = directiveValue.value;
|
|
440
|
-
if (entityKeys.has(entityKey)) {
|
|
441
|
-
continue;
|
|
442
|
-
}
|
|
443
|
-
entityKeys.add(entityKey);
|
|
444
|
-
flattenedArray.push(keyDirectiveNode);
|
|
445
|
-
normalizedDirectiveNodes.push(keyDirectiveNode);
|
|
446
|
-
}
|
|
447
|
-
directivesByDirectiveName.set(directiveName, normalizedDirectiveNodes);
|
|
448
|
-
if (errorMessages.length > 0) {
|
|
449
|
-
errors.push((0, errors_1.invalidDirectiveError)(directiveName, hostPath, errorMessages));
|
|
450
|
-
}
|
|
451
|
-
}
|
|
452
|
-
return flattenedArray;
|
|
453
|
-
}
|
|
454
|
-
function getEnumNodeByData(enumDefinitionData, errors, directiveDefinitionByDirectiveName, authorizationDataByParentTypeName) {
|
|
455
|
-
enumDefinitionData.node.description = enumDefinitionData.description;
|
|
456
|
-
enumDefinitionData.node.directives = getValidFlattenedDirectiveArray(enumDefinitionData.directivesByDirectiveName, errors, directiveDefinitionByDirectiveName, enumDefinitionData.name);
|
|
457
|
-
enumDefinitionData.node.values = childMapToValueArray(enumDefinitionData.enumValueDataByValueName, authorizationDataByParentTypeName);
|
|
458
|
-
return enumDefinitionData.node;
|
|
459
|
-
}
|
|
460
|
-
function getInputObjectNodeByData(inputObjectDefinitionData, errors, directiveDefinitionByDirectiveName, authorizationDataByParentTypeName) {
|
|
461
|
-
inputObjectDefinitionData.node.description = inputObjectDefinitionData.description;
|
|
462
|
-
inputObjectDefinitionData.node.directives = getValidFlattenedDirectiveArray(inputObjectDefinitionData.directivesByDirectiveName, errors, directiveDefinitionByDirectiveName, inputObjectDefinitionData.name);
|
|
463
|
-
inputObjectDefinitionData.node.fields = childMapToValueArray(inputObjectDefinitionData.inputValueDataByValueName, authorizationDataByParentTypeName);
|
|
464
|
-
return inputObjectDefinitionData.node;
|
|
465
|
-
}
|
|
466
|
-
function getCompositeOutputNodeByData(compositeOutputData, errors, directiveDefinitionByDirectiveName, authorizationDataByParentTypeName) {
|
|
467
|
-
compositeOutputData.node.description = compositeOutputData.description;
|
|
468
|
-
compositeOutputData.node.directives = getValidFlattenedDirectiveArray(compositeOutputData.directivesByDirectiveName, errors, directiveDefinitionByDirectiveName, compositeOutputData.name);
|
|
469
|
-
compositeOutputData.node.fields = childMapToValueArray(compositeOutputData.fieldDataByFieldName, authorizationDataByParentTypeName);
|
|
470
|
-
compositeOutputData.node.interfaces = (0, utils_1.setToNamedTypeNodeArray)(compositeOutputData.implementedInterfaceTypeNames);
|
|
471
|
-
return compositeOutputData.node;
|
|
472
|
-
}
|
|
473
|
-
function getScalarNodeByData(scalarDefinitionData, errors, directiveDefinitionByDirectiveName) {
|
|
474
|
-
scalarDefinitionData.node.description = scalarDefinitionData.description;
|
|
475
|
-
scalarDefinitionData.node.directives = getValidFlattenedDirectiveArray(scalarDefinitionData.directivesByDirectiveName, errors, directiveDefinitionByDirectiveName, scalarDefinitionData.name);
|
|
476
|
-
return scalarDefinitionData.node;
|
|
477
|
-
}
|
|
478
|
-
function getSchemaNodeByData(schemaData, errors, directiveDefinitionByDirectiveName) {
|
|
479
|
-
return {
|
|
480
|
-
description: schemaData.description,
|
|
481
|
-
directives: getValidFlattenedDirectiveArray(schemaData.directivesByDirectiveName, errors, directiveDefinitionByDirectiveName, schemaData.typeName),
|
|
482
|
-
kind: schemaData.kind,
|
|
483
|
-
operationTypes: (0, utils_3.mapToArrayOfValues)(schemaData.operationTypes),
|
|
484
|
-
};
|
|
485
|
-
}
|
|
486
|
-
function getUnionNodeByData(unionDefinitionData, errors, directiveDefinitionByDirectiveName) {
|
|
487
|
-
unionDefinitionData.node.description = unionDefinitionData.description;
|
|
488
|
-
unionDefinitionData.node.directives = getValidFlattenedDirectiveArray(unionDefinitionData.directivesByDirectiveName, errors, directiveDefinitionByDirectiveName, unionDefinitionData.name);
|
|
489
|
-
unionDefinitionData.node.types = (0, utils_3.mapToArrayOfValues)(unionDefinitionData.memberByMemberTypeName);
|
|
490
|
-
return unionDefinitionData.node;
|
|
491
|
-
}
|
|
492
|
-
function removeInheritableDirectivesFromParentWithFieldsData(parentData) {
|
|
188
|
+
function removeInheritableDirectivesFromObjectParent(parentData) {
|
|
189
|
+
if (parentData.kind !== graphql_1.Kind.OBJECT_TYPE_DEFINITION) {
|
|
190
|
+
return;
|
|
191
|
+
}
|
|
493
192
|
for (const directiveName of constants_1.INHERITABLE_DIRECTIVE_NAMES) {
|
|
494
193
|
parentData.directivesByDirectiveName.delete(directiveName);
|
|
495
194
|
}
|
|
496
195
|
}
|
|
196
|
+
function removeIgnoredDirectives(data) {
|
|
197
|
+
for (const directiveName of string_constants_1.IGNORED_PARENT_DIRECTIVES) {
|
|
198
|
+
data.directivesByDirectiveName.delete(directiveName);
|
|
199
|
+
}
|
|
200
|
+
}
|
|
497
201
|
function setLongestDescription(existingData, incomingData) {
|
|
498
202
|
if (!incomingData.description) {
|
|
499
203
|
return;
|
|
500
204
|
}
|
|
205
|
+
if ('configureDescriptionDataBySubgraphName' in incomingData) {
|
|
206
|
+
// There should be only be an incoming value for a single subgraph
|
|
207
|
+
for (const { propagate } of incomingData.configureDescriptionDataBySubgraphName.values()) {
|
|
208
|
+
if (!propagate) {
|
|
209
|
+
return;
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
}
|
|
501
213
|
if (!existingData.description || existingData.description.value.length < incomingData.description.value.length) {
|
|
502
214
|
existingData.description = { ...incomingData.description, block: true };
|
|
503
215
|
}
|
|
@@ -509,10 +221,7 @@ function isParentDataRootType(parentData) {
|
|
|
509
221
|
return parentData.isRootType;
|
|
510
222
|
}
|
|
511
223
|
function isParentDataInterfaceType(parentData) {
|
|
512
|
-
|
|
513
|
-
return true;
|
|
514
|
-
}
|
|
515
|
-
return false;
|
|
224
|
+
return parentData.kind === graphql_1.Kind.INTERFACE_TYPE_DEFINITION;
|
|
516
225
|
}
|
|
517
226
|
function setParentDataExtensionType(existingData, incomingData) {
|
|
518
227
|
if (existingData.extensionType === incomingData.extensionType || existingData.extensionType === type_definition_data_1.ExtensionType.NONE) {
|
|
@@ -577,11 +286,11 @@ function pushAuthorizationDirectives(fieldData, authorizationData) {
|
|
|
577
286
|
return;
|
|
578
287
|
}
|
|
579
288
|
if (fieldAuthorizationData.requiresAuthentication) {
|
|
580
|
-
fieldData.persistedDirectivesData.directives.set(string_constants_1.AUTHENTICATED, [(0,
|
|
289
|
+
fieldData.persistedDirectivesData.directives.set(string_constants_1.AUTHENTICATED, [(0, utils_2.generateSimpleDirective)(string_constants_1.AUTHENTICATED)]);
|
|
581
290
|
}
|
|
582
291
|
if (fieldAuthorizationData.requiredScopes.length > 0) {
|
|
583
292
|
fieldData.persistedDirectivesData.directives.set(string_constants_1.REQUIRES_SCOPES, [
|
|
584
|
-
(0,
|
|
293
|
+
(0, utils_2.generateRequiresScopesDirective)(fieldAuthorizationData.requiredScopes),
|
|
585
294
|
]);
|
|
586
295
|
}
|
|
587
296
|
}
|
|
@@ -601,7 +310,7 @@ function generateDeprecatedDirective(reason) {
|
|
|
601
310
|
],
|
|
602
311
|
};
|
|
603
312
|
}
|
|
604
|
-
function getValidFlattenedPersistedDirectiveNodeArray(directivesByDirectiveName, persistedDirectiveDefinitionByDirectiveName,
|
|
313
|
+
function getValidFlattenedPersistedDirectiveNodeArray(directivesByDirectiveName, persistedDirectiveDefinitionByDirectiveName, directiveCoords, errors) {
|
|
605
314
|
const persistedDirectiveNodes = [];
|
|
606
315
|
for (const [directiveName, directiveNodes] of directivesByDirectiveName) {
|
|
607
316
|
const persistedDirectiveDefinition = persistedDirectiveDefinitionByDirectiveName.get(directiveName);
|
|
@@ -613,7 +322,7 @@ function getValidFlattenedPersistedDirectiveNodeArray(directivesByDirectiveName,
|
|
|
613
322
|
continue;
|
|
614
323
|
}
|
|
615
324
|
if (!persistedDirectiveDefinition.repeatable) {
|
|
616
|
-
errors.push((0, errors_1.invalidRepeatedFederatedDirectiveErrorMessage)(directiveName,
|
|
325
|
+
errors.push((0, errors_1.invalidRepeatedFederatedDirectiveErrorMessage)(directiveName, directiveCoords));
|
|
617
326
|
continue;
|
|
618
327
|
}
|
|
619
328
|
persistedDirectiveNodes.push(...directiveNodes);
|
|
@@ -651,14 +360,6 @@ function getNodeForRouterSchemaByData(data, persistedDirectiveDefinitionByDirect
|
|
|
651
360
|
data.node.directives = getRouterPersistedDirectiveNodes(data, persistedDirectiveDefinitionByDirectiveName, errors);
|
|
652
361
|
return data.node;
|
|
653
362
|
}
|
|
654
|
-
function getNodeWithPersistedDirectivesByFieldData(fieldData, persistedDirectiveDefinitionByDirectiveName, argumentNodes, errors) {
|
|
655
|
-
fieldData.node.arguments = argumentNodes;
|
|
656
|
-
fieldData.node.name = (0, utils_1.stringToNameNode)(fieldData.name);
|
|
657
|
-
fieldData.node.type = fieldData.type;
|
|
658
|
-
fieldData.node.description = fieldData.description;
|
|
659
|
-
fieldData.node.directives = getRouterPersistedDirectiveNodes(fieldData, persistedDirectiveDefinitionByDirectiveName, errors);
|
|
660
|
-
return fieldData.node;
|
|
661
|
-
}
|
|
662
363
|
function getClientSchemaFieldNodeByFieldData(fieldData) {
|
|
663
364
|
const directives = getClientPersistedDirectiveNodes(fieldData);
|
|
664
365
|
const argumentNodes = [];
|
|
@@ -700,7 +401,7 @@ function getValidFieldArgumentNodes(fieldData, persistedDirectiveDefinitionByDir
|
|
|
700
401
|
else if (isTypeRequired(inputValueData.type)) {
|
|
701
402
|
invalidRequiredArguments.push({
|
|
702
403
|
inputValueName: argumentName,
|
|
703
|
-
missingSubgraphs: (0,
|
|
404
|
+
missingSubgraphs: (0, utils_2.getEntriesNotInHashSet)(fieldData.subgraphNames, inputValueData.subgraphNames),
|
|
704
405
|
requiredSubgraphs: [...inputValueData.requiredSubgraphNames],
|
|
705
406
|
});
|
|
706
407
|
}
|
|
@@ -710,7 +411,7 @@ function getValidFieldArgumentNodes(fieldData, persistedDirectiveDefinitionByDir
|
|
|
710
411
|
}
|
|
711
412
|
else if (argumentNames.length > 0) {
|
|
712
413
|
// fieldConfiguration might already exist through subscriptionFilter
|
|
713
|
-
(0,
|
|
414
|
+
(0, utils_2.getValueOrDefault)(fieldConfigurationByFieldPath, fieldPath, () => ({
|
|
714
415
|
argumentNames,
|
|
715
416
|
fieldName: fieldData.name,
|
|
716
417
|
typeName: fieldData.renamedParentTypeName,
|
|
@@ -721,7 +422,7 @@ function getValidFieldArgumentNodes(fieldData, persistedDirectiveDefinitionByDir
|
|
|
721
422
|
function addValidatedArgumentNodes(argumentNodes, hostData, persistedDirectiveDefinitionByDirectiveName, errors, argumentNamesForFieldConfiguration) {
|
|
722
423
|
const invalidRequiredArgumentErrors = [];
|
|
723
424
|
for (const [argumentName, argumentData] of hostData.argumentDataByArgumentName) {
|
|
724
|
-
const missingSubgraphs = (0,
|
|
425
|
+
const missingSubgraphs = (0, utils_2.getEntriesNotInHashSet)(hostData.subgraphNames, argumentData.subgraphNames);
|
|
725
426
|
if (missingSubgraphs.length > 0) {
|
|
726
427
|
// Required arguments must be defined in all subgraphs that define the field
|
|
727
428
|
if (argumentData.requiredSubgraphNames.size > 0) {
|
|
@@ -893,4 +594,24 @@ function newConditionalFieldData() {
|
|
|
893
594
|
requiredBy: [],
|
|
894
595
|
};
|
|
895
596
|
}
|
|
597
|
+
function getDefinitionDataCoords(data, useRenamedPath) {
|
|
598
|
+
switch (data.kind) {
|
|
599
|
+
case graphql_1.Kind.ENUM_VALUE_DEFINITION: {
|
|
600
|
+
return `${data.parentTypeName}.${data.name}`;
|
|
601
|
+
}
|
|
602
|
+
case graphql_1.Kind.FIELD_DEFINITION: {
|
|
603
|
+
return `${useRenamedPath ? data.renamedParentTypeName : data.originalParentTypeName}.${data.name}`;
|
|
604
|
+
}
|
|
605
|
+
case graphql_1.Kind.ARGUMENT:
|
|
606
|
+
// intentional fallthrough
|
|
607
|
+
case graphql_1.Kind.INPUT_VALUE_DEFINITION: {
|
|
608
|
+
return useRenamedPath ? data.renamedPath : data.originalPath;
|
|
609
|
+
}
|
|
610
|
+
case graphql_1.Kind.OBJECT_TYPE_DEFINITION: {
|
|
611
|
+
return useRenamedPath ? data.renamedTypeName : data.name;
|
|
612
|
+
}
|
|
613
|
+
default:
|
|
614
|
+
return data.name;
|
|
615
|
+
}
|
|
616
|
+
}
|
|
896
617
|
//# sourceMappingURL=utils.js.map
|
|
@@ -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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"}
|