@wundergraph/composition 0.58.0 → 0.58.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (124) hide show
  1. package/dist/{v1/normalization → directive-definition-data}/directive-definition-data.d.ts +2 -2
  2. package/dist/{v1/normalization → directive-definition-data}/directive-definition-data.js +308 -280
  3. package/dist/directive-definition-data/directive-definition-data.js.map +1 -0
  4. package/dist/directive-definition-data/types/params.d.ts +48 -0
  5. package/dist/directive-definition-data/types/params.js.map +1 -0
  6. package/dist/directive-definition-data/types/types.d.ts +39 -0
  7. package/dist/directive-definition-data/types/types.js.map +1 -0
  8. package/dist/directive-definition-data/utils.d.ts +5 -0
  9. package/dist/directive-definition-data/utils.js +75 -0
  10. package/dist/directive-definition-data/utils.js.map +1 -0
  11. package/dist/errors/errors.d.ts +35 -9
  12. package/dist/errors/errors.js +141 -21
  13. package/dist/errors/errors.js.map +1 -1
  14. package/dist/errors/{types.d.ts → types/params.d.ts} +34 -6
  15. package/dist/{federation → errors/types}/params.js.map +1 -1
  16. package/dist/errors/types/types.d.ts +5 -0
  17. package/dist/{federation → errors/types}/types.js.map +1 -1
  18. package/dist/federation/federation.d.ts +2 -2
  19. package/dist/federation/{params.d.ts → types/params.d.ts} +4 -4
  20. package/dist/{v1/federation → federation/types}/params.js.map +1 -1
  21. package/dist/federation/{types.d.ts → types/types.d.ts} +17 -20
  22. package/dist/{errors → federation/types}/types.js.map +1 -1
  23. package/dist/index.d.ts +21 -7
  24. package/dist/index.js +22 -7
  25. package/dist/index.js.map +1 -1
  26. package/dist/normalization/normalization.d.ts +2 -3
  27. package/dist/normalization/normalization.js +0 -8
  28. package/dist/normalization/normalization.js.map +1 -1
  29. package/dist/normalization/types.d.ts +21 -18
  30. package/dist/schema-building/ast.d.ts +2 -10
  31. package/dist/schema-building/ast.js +35 -32
  32. package/dist/schema-building/ast.js.map +1 -1
  33. package/dist/schema-building/types/params.d.ts +54 -0
  34. package/dist/schema-building/types/params.js.map +1 -0
  35. package/dist/schema-building/types/results.d.ts +39 -0
  36. package/dist/schema-building/types/results.js +3 -0
  37. package/dist/schema-building/types/results.js.map +1 -0
  38. package/dist/schema-building/{types.d.ts → types/types.d.ts} +21 -41
  39. package/dist/schema-building/types/types.js.map +1 -0
  40. package/dist/schema-building/utils.d.ts +21 -13
  41. package/dist/schema-building/utils.js +257 -82
  42. package/dist/schema-building/utils.js.map +1 -1
  43. package/dist/subgraph/types/params.d.ts +6 -0
  44. package/dist/subgraph/types/params.js +3 -0
  45. package/dist/{schema-building → subgraph/types}/params.js.map +1 -1
  46. package/dist/subgraph/types.d.ts +6 -6
  47. package/dist/subgraph/utils.d.ts +3 -0
  48. package/dist/subgraph/utils.js +23 -0
  49. package/dist/subgraph/utils.js.map +1 -0
  50. package/dist/tsconfig.tsbuildinfo +1 -1
  51. package/dist/types/results.d.ts +14 -0
  52. package/dist/types/results.js +3 -0
  53. package/dist/types/results.js.map +1 -0
  54. package/dist/types/types.d.ts +2 -0
  55. package/dist/utils/composition-version.js +1 -1
  56. package/dist/utils/params.d.ts +4 -0
  57. package/dist/utils/string-constants.d.ts +2 -1
  58. package/dist/utils/string-constants.js +5 -4
  59. package/dist/utils/string-constants.js.map +1 -1
  60. package/dist/utils/utils.d.ts +2 -1
  61. package/dist/utils/utils.js +14 -0
  62. package/dist/utils/utils.js.map +1 -1
  63. package/dist/v1/constants/directive-definitions.js +3 -3
  64. package/dist/v1/constants/directive-definitions.js.map +1 -1
  65. package/dist/v1/constants/strings.d.ts +3 -1
  66. package/dist/v1/constants/strings.js +12 -2
  67. package/dist/v1/constants/strings.js.map +1 -1
  68. package/dist/v1/federation/federation-factory.d.ts +15 -16
  69. package/dist/v1/federation/federation-factory.js +344 -213
  70. package/dist/v1/federation/federation-factory.js.map +1 -1
  71. package/dist/v1/federation/{params.d.ts → types/params.d.ts} +16 -9
  72. package/dist/v1/federation/types/params.js +3 -0
  73. package/dist/v1/federation/types/params.js.map +1 -0
  74. package/dist/v1/federation/utils.d.ts +2 -2
  75. package/dist/v1/normalization/batch-normalization/batch-normalizer.d.ts +37 -0
  76. package/dist/v1/normalization/batch-normalization/batch-normalizer.js +245 -0
  77. package/dist/v1/normalization/batch-normalization/batch-normalizer.js.map +1 -0
  78. package/dist/v1/normalization/batch-normalization/types/params.d.ts +6 -0
  79. package/dist/v1/normalization/batch-normalization/types/params.js +3 -0
  80. package/dist/v1/normalization/batch-normalization/types/params.js.map +1 -0
  81. package/dist/v1/normalization/normalization-factory.d.ts +20 -17
  82. package/dist/v1/normalization/normalization-factory.js +194 -424
  83. package/dist/v1/normalization/normalization-factory.js.map +1 -1
  84. package/dist/v1/normalization/{params.d.ts → types/params.d.ts} +6 -12
  85. package/dist/v1/normalization/types/params.js +3 -0
  86. package/dist/v1/normalization/types/params.js.map +1 -0
  87. package/dist/v1/normalization/types/results.d.ts +26 -0
  88. package/dist/v1/normalization/types/results.js +3 -0
  89. package/dist/v1/normalization/types/results.js.map +1 -0
  90. package/dist/v1/normalization/{types.d.ts → types/types.d.ts} +37 -19
  91. package/dist/v1/normalization/types/types.js +3 -0
  92. package/dist/v1/normalization/types/types.js.map +1 -0
  93. package/dist/v1/normalization/utils.d.ts +9 -2
  94. package/dist/v1/normalization/utils.js +308 -2
  95. package/dist/v1/normalization/utils.js.map +1 -1
  96. package/dist/v1/normalization/walkers.js +2 -1
  97. package/dist/v1/normalization/walkers.js.map +1 -1
  98. package/dist/v1/schema-building/type-merging.d.ts +1 -1
  99. package/dist/v1/utils/utils.d.ts +2 -3
  100. package/dist/v1/utils/utils.js +0 -17
  101. package/dist/v1/utils/utils.js.map +1 -1
  102. package/dist/v1/warnings/params.d.ts +6 -1
  103. package/dist/v1/warnings/warnings.d.ts +4 -1
  104. package/dist/v1/warnings/warnings.js +23 -0
  105. package/dist/v1/warnings/warnings.js.map +1 -1
  106. package/dist/validation/types/params.d.ts +22 -0
  107. package/dist/validation/types/params.js +3 -0
  108. package/dist/{v1/normalization → validation/types}/params.js.map +1 -1
  109. package/dist/validation/validation.d.ts +5 -0
  110. package/dist/validation/validation.js +213 -0
  111. package/dist/validation/validation.js.map +1 -0
  112. package/package.json +10 -4
  113. package/dist/schema-building/params.d.ts +0 -8
  114. package/dist/schema-building/types.js.map +0 -1
  115. package/dist/v1/normalization/directive-definition-data.js.map +0 -1
  116. package/dist/v1/normalization/types.js.map +0 -1
  117. /package/dist/{federation → directive-definition-data/types}/params.js +0 -0
  118. /package/dist/{errors → directive-definition-data/types}/types.js +0 -0
  119. /package/dist/{schema-building → errors/types}/params.js +0 -0
  120. /package/dist/{federation → errors/types}/types.js +0 -0
  121. /package/dist/{v1/federation → federation/types}/params.js +0 -0
  122. /package/dist/{v1/normalization → federation/types}/types.js +0 -0
  123. /package/dist/{v1/normalization → schema-building/types}/params.js +0 -0
  124. /package/dist/schema-building/{types.js → types/types.js} +0 -0
@@ -1,13 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.MergeMethod = void 0;
4
- exports.newPersistedDirectivesData = newPersistedDirectivesData;
4
+ exports.newFederatedDirectivesData = newFederatedDirectivesData;
5
5
  exports.isNodeExternalOrShareable = isNodeExternalOrShareable;
6
6
  exports.isTypeRequired = isTypeRequired;
7
7
  exports.isTypeNodeListType = isTypeNodeListType;
8
8
  exports.areDefaultValuesCompatible = areDefaultValuesCompatible;
9
- exports.compareAndValidateInputValueDefaultValues = compareAndValidateInputValueDefaultValues;
10
- exports.setMutualExecutableLocations = setMutualExecutableLocations;
9
+ exports.compareAndValidateInputDefaultValues = compareAndValidateInputDefaultValues;
11
10
  exports.isTypeNameRootType = isTypeNameRootType;
12
11
  exports.getRenamedRootTypeName = getRenamedRootTypeName;
13
12
  exports.childMapToValueArray = childMapToValueArray;
@@ -20,10 +19,15 @@ exports.upsertTagDirectives = upsertTagDirectives;
20
19
  exports.propagateAuthDirectives = propagateAuthDirectives;
21
20
  exports.propagateFieldAuthDirectives = propagateFieldAuthDirectives;
22
21
  exports.generateDeprecatedDirective = generateDeprecatedDirective;
23
- exports.getClientPersistedDirectiveNodes = getClientPersistedDirectiveNodes;
22
+ exports.getNodeCoords = getNodeCoords;
23
+ exports.extractUniqueDirectiveNodes = extractUniqueDirectiveNodes;
24
+ exports.getRouterSchemaDirectiveNodes = getRouterSchemaDirectiveNodes;
25
+ exports.getClientFederatedDirectiveNodes = getClientFederatedDirectiveNodes;
24
26
  exports.getClientSchemaFieldNodeByFieldData = getClientSchemaFieldNodeByFieldData;
25
- exports.getNodeWithPersistedDirectivesByInputValueData = getNodeWithPersistedDirectivesByInputValueData;
26
- exports.addValidPersistedDirectiveDefinitionNodeByData = addValidPersistedDirectiveDefinitionNodeByData;
27
+ exports.routerSchemaFieldNodeFromData = routerSchemaFieldNodeFromData;
28
+ exports.routerSchemaInputValueNodeFromData = routerSchemaInputValueNodeFromData;
29
+ exports.routerSchemaNodeFromData = routerSchemaNodeFromData;
30
+ exports.propagateDirectiveDefinitionNodeFromData = propagateDirectiveDefinitionNodeFromData;
27
31
  exports.newInvalidFieldNames = newInvalidFieldNames;
28
32
  exports.validateExternalAndShareable = validateExternalAndShareable;
29
33
  exports.isTypeValidImplementation = isTypeValidImplementation;
@@ -43,14 +47,18 @@ exports.isInputNodeKind = isInputNodeKind;
43
47
  exports.isOutputNodeKind = isOutputNodeKind;
44
48
  exports.isInterfaceNode = isInterfaceNode;
45
49
  exports.isEnumData = isEnumData;
50
+ exports.sanitizeDefaultValue = sanitizeDefaultValue;
46
51
  const graphql_1 = require("graphql");
47
- const types_1 = require("./types");
52
+ const types_1 = require("./types/types");
48
53
  const utils_1 = require("../ast/utils");
49
54
  const errors_1 = require("../errors/errors");
50
55
  const string_constants_1 = require("../utils/string-constants");
51
56
  const utils_2 = require("../utils/utils");
52
57
  const utils_3 = require("../v1/federation/utils");
53
- function newPersistedDirectivesData() {
58
+ const validation_1 = require("../validation/validation");
59
+ const warnings_1 = require("../v1/warnings/warnings");
60
+ const strings_1 = require("../v1/constants/strings");
61
+ function newFederatedDirectivesData() {
54
62
  return {
55
63
  deprecatedReason: '',
56
64
  directivesByName: new Map(),
@@ -119,31 +127,31 @@ function areDefaultValuesCompatible(typeNode, incomingDefaultValue) {
119
127
  return areDefaultValuesCompatible(typeNode.type, incomingDefaultValue);
120
128
  }
121
129
  }
122
- function compareAndValidateInputValueDefaultValues(existingData, incomingData, errors) {
130
+ function compareAndValidateInputDefaultValues({ existingData, incomingData, }) {
123
131
  if (!existingData.defaultValue) {
124
132
  // TODO warning if default value in incoming
125
- return;
133
+ return {
134
+ success: true,
135
+ };
126
136
  }
127
137
  if (!incomingData.defaultValue) {
128
138
  // TODO warning
129
139
  existingData.includeDefaultValue = false;
130
- return;
140
+ return {
141
+ success: true,
142
+ };
131
143
  }
132
144
  const existingDefaultValueString = (0, graphql_1.print)(existingData.defaultValue);
133
145
  const incomingDefaultValueString = (0, graphql_1.print)(incomingData.defaultValue);
134
- if (existingDefaultValueString !== incomingDefaultValueString) {
135
- errors.push((0, errors_1.incompatibleInputValueDefaultValuesError)(`${existingData.isArgument ? string_constants_1.ARGUMENT : string_constants_1.INPUT_FIELD} "${existingData.name}"`, existingData.originalCoords, [...incomingData.subgraphNames], existingDefaultValueString, incomingDefaultValueString));
136
- return;
146
+ if (existingDefaultValueString == incomingDefaultValueString) {
147
+ return {
148
+ success: true,
149
+ };
137
150
  }
138
- }
139
- function setMutualExecutableLocations(persistedDirectiveDefinitionData, incomingExecutableLocations) {
140
- const mutualExecutableLocations = new Set();
141
- for (const incomingExecutableLocation of incomingExecutableLocations) {
142
- if (persistedDirectiveDefinitionData.executableLocations.has(incomingExecutableLocation)) {
143
- mutualExecutableLocations.add(incomingExecutableLocation);
144
- }
145
- }
146
- persistedDirectiveDefinitionData.executableLocations = mutualExecutableLocations;
151
+ return {
152
+ error: (0, errors_1.incompatibleInputValueDefaultValuesError)(`${existingData.kind === graphql_1.Kind.ARGUMENT ? string_constants_1.ARGUMENT : string_constants_1.INPUT_FIELD} "${existingData.name}"`, existingData.originalCoords, [...incomingData.subgraphNames], existingDefaultValueString, incomingDefaultValueString),
153
+ success: false,
154
+ };
147
155
  }
148
156
  function isTypeNameRootType(typeName, operationByTypeName) {
149
157
  return string_constants_1.ROOT_TYPE_NAMES.has(typeName) || operationByTypeName.has(typeName);
@@ -244,21 +252,21 @@ function setParentDataExtensionType(existingData, incomingData) {
244
252
  // Root types do not create errors even if all are instances are extensions.
245
253
  existingData.extensionType = types_1.ExtensionType.NONE;
246
254
  }
247
- function upsertDeprecatedDirective(persistedDirectivesData, incomingDirectiveNode) {
255
+ function upsertDeprecatedDirective(federatedDirectivesData, incomingDirectiveNode) {
248
256
  if (!incomingDirectiveNode.arguments?.length) {
249
257
  return;
250
258
  }
251
259
  // The argument was already validated in the normalization factory, so it can be safely cast
252
260
  const incomingReasonString = incomingDirectiveNode.arguments[0].value.value;
253
- if (persistedDirectivesData.deprecatedReason.length < incomingReasonString.length) {
254
- persistedDirectivesData.deprecatedReason = incomingReasonString;
261
+ if (federatedDirectivesData.deprecatedReason.length < incomingReasonString.length) {
262
+ federatedDirectivesData.deprecatedReason = incomingReasonString;
255
263
  }
256
264
  }
257
- function upsertTagDirectives(persistedDirectivesData, incomingDirectiveNodes) {
265
+ function upsertTagDirectives(federatedDirectivesData, incomingDirectiveNodes) {
258
266
  for (const incomingDirectiveNode of incomingDirectiveNodes) {
259
267
  // The argument was already validated in the normalization factory, so it can be safely cast
260
268
  const incomingNameString = incomingDirectiveNode.arguments[0].value.value;
261
- persistedDirectivesData.tagDirectiveByName.set(incomingNameString, incomingDirectiveNode);
269
+ federatedDirectivesData.tagDirectiveByName.set(incomingNameString, incomingDirectiveNode);
262
270
  }
263
271
  }
264
272
  function propagateAuthDirectives(parentData, authData) {
@@ -266,10 +274,10 @@ function propagateAuthDirectives(parentData, authData) {
266
274
  return;
267
275
  }
268
276
  if (authData.requiresAuthentication) {
269
- parentData.persistedDirectivesData.directivesByName.set(string_constants_1.AUTHENTICATED, [(0, utils_2.generateSimpleDirective)(string_constants_1.AUTHENTICATED)]);
277
+ parentData.federatedDirectivesData.directivesByName.set(string_constants_1.AUTHENTICATED, [(0, utils_2.generateSimpleDirective)(string_constants_1.AUTHENTICATED)]);
270
278
  }
271
279
  if (authData.requiredScopes.length > 0) {
272
- parentData.persistedDirectivesData.directivesByName.set(string_constants_1.REQUIRES_SCOPES, [
280
+ parentData.federatedDirectivesData.directivesByName.set(string_constants_1.REQUIRES_SCOPES, [
273
281
  (0, utils_2.generateRequiresScopesDirective)(authData.requiredScopes),
274
282
  ]);
275
283
  }
@@ -283,10 +291,10 @@ function propagateFieldAuthDirectives(fieldData, authData) {
283
291
  return;
284
292
  }
285
293
  if (fieldAuthData.originalData.requiresAuthentication) {
286
- fieldData.persistedDirectivesData.directivesByName.set(string_constants_1.AUTHENTICATED, [(0, utils_2.generateSimpleDirective)(string_constants_1.AUTHENTICATED)]);
294
+ fieldData.federatedDirectivesData.directivesByName.set(string_constants_1.AUTHENTICATED, [(0, utils_2.generateSimpleDirective)(string_constants_1.AUTHENTICATED)]);
287
295
  }
288
296
  if (fieldAuthData.originalData.requiredScopes.length > 0) {
289
- fieldData.persistedDirectivesData.directivesByName.set(string_constants_1.REQUIRES_SCOPES, [
297
+ fieldData.federatedDirectivesData.directivesByName.set(string_constants_1.REQUIRES_SCOPES, [
290
298
  (0, utils_2.generateRequiresScopesDirective)(fieldAuthData.originalData.requiredScopes),
291
299
  ]);
292
300
  }
@@ -307,39 +315,108 @@ function generateDeprecatedDirective(reason) {
307
315
  ],
308
316
  };
309
317
  }
310
- function getValidFlattenedPersistedDirectiveNodeArray(directivesByName, persistedDirectiveDefinitionByName, directiveCoords, errors) {
311
- const persistedDirectiveNodes = [];
312
- for (const [directiveName, directiveNodes] of directivesByName) {
313
- const persistedDirectiveDefinition = persistedDirectiveDefinitionByName.get(directiveName);
314
- if (!persistedDirectiveDefinition) {
318
+ function getNodeCoords(data) {
319
+ switch (data.kind) {
320
+ case graphql_1.Kind.ARGUMENT:
321
+ // Intentional fallthrough
322
+ case graphql_1.Kind.FIELD_DEFINITION:
323
+ // Intentional fallthrough
324
+ case graphql_1.Kind.INPUT_VALUE_DEFINITION:
325
+ // Intentional fallthrough
326
+ case graphql_1.Kind.ENUM_VALUE_DEFINITION: {
327
+ return data.federatedCoords;
328
+ }
329
+ default: {
330
+ return data.name;
331
+ }
332
+ }
333
+ }
334
+ function extractUniqueDirectiveNodes(directiveNodes) {
335
+ const nodes = [];
336
+ const printedNodes = new Set();
337
+ for (const directiveNode of directiveNodes) {
338
+ const directive = (0, graphql_1.print)(directiveNode);
339
+ if (printedNodes.has(directive)) {
340
+ continue;
341
+ }
342
+ printedNodes.add(directive);
343
+ nodes.push(directiveNode);
344
+ }
345
+ return nodes;
346
+ }
347
+ function getRouterSchemaDirectiveNodes({ data, federatedDirectiveDataByName, parentDefinitionDataByTypeName, }) {
348
+ const nodes = [...data.federatedDirectivesData.tagDirectiveByName.values()];
349
+ if (data.federatedDirectivesData.isDeprecated) {
350
+ nodes.push(generateDeprecatedDirective(data.federatedDirectivesData.deprecatedReason));
351
+ }
352
+ const coords = getNodeCoords(data);
353
+ const errors = [];
354
+ const warnings = [];
355
+ for (const [directiveName, directiveNodes] of data.federatedDirectivesData.directivesByName) {
356
+ if (directiveName === string_constants_1.SEMANTIC_NON_NULL && isFieldData(data)) {
357
+ nodes.push((0, utils_2.generateSemanticNonNullDirective)((0, utils_2.getFirstEntry)(data.nullLevelsBySubgraphName) ?? new Set([0])));
358
+ continue;
359
+ }
360
+ const directiveData = federatedDirectiveDataByName.get(directiveName);
361
+ if (!directiveData) {
362
+ continue;
363
+ }
364
+ // Executable directives are propagated but not their in-schema usages
365
+ if (!directiveData.isComposed && !strings_1.ROUTER_FEDERATED_DIRECTIVE_NAMES.has(directiveName)) {
366
+ continue;
367
+ }
368
+ /* The Apollo behaviour is that composed directive must be referenced within at least one composing subgraph else
369
+ * no usages are propagated into the federated graph.
370
+ * It's likely this behaviour is a bug, but it's mirrored here for consistency.
371
+ */
372
+ if (directiveData.isComposed && !directiveData.isReferenced) {
315
373
  continue;
316
374
  }
317
375
  if (directiveNodes.length < 2) {
318
- persistedDirectiveNodes.push(...directiveNodes);
376
+ nodes.push(...directiveNodes);
319
377
  continue;
320
378
  }
321
- if (!persistedDirectiveDefinition.repeatable) {
322
- errors.push((0, errors_1.invalidRepeatedFederatedDirectiveErrorMessage)(directiveName, directiveCoords));
379
+ const uniqueDirectiveNodes = extractUniqueDirectiveNodes(directiveNodes);
380
+ const validationResult = (0, validation_1.validateDirectives)({
381
+ data,
382
+ directiveCoords: coords,
383
+ directiveDefinitionData: directiveData,
384
+ directiveNodes: uniqueDirectiveNodes,
385
+ parentDefinitionDataByTypeName,
386
+ });
387
+ if (!validationResult.success) {
388
+ errors.push(...validationResult.errors);
323
389
  continue;
324
390
  }
325
- persistedDirectiveNodes.push(...directiveNodes);
391
+ if (uniqueDirectiveNodes.length > 1 && directiveData.isComposed && !directiveData.isRepeatable) {
392
+ warnings.push((0, warnings_1.invalidRepeatedComposedDirectiveWarning)({
393
+ directiveCoords: coords,
394
+ directiveName,
395
+ printedDirective: (0, graphql_1.print)(uniqueDirectiveNodes[0]),
396
+ }));
397
+ nodes.push(uniqueDirectiveNodes[0]);
398
+ continue;
399
+ }
400
+ nodes.push(...uniqueDirectiveNodes);
326
401
  }
327
- return persistedDirectiveNodes;
328
- }
329
- function getRouterPersistedDirectiveNodes(nodeData, persistedDirectiveDefinitionByName, errors) {
330
- const persistedDirectiveNodes = [...nodeData.persistedDirectivesData.tagDirectiveByName.values()];
331
- if (nodeData.persistedDirectivesData.isDeprecated) {
332
- persistedDirectiveNodes.push(generateDeprecatedDirective(nodeData.persistedDirectivesData.deprecatedReason));
402
+ if (errors.length > 0) {
403
+ return {
404
+ errors,
405
+ success: false,
406
+ };
333
407
  }
334
- persistedDirectiveNodes.push(...getValidFlattenedPersistedDirectiveNodeArray(nodeData.persistedDirectivesData.directivesByName, persistedDirectiveDefinitionByName, nodeData.name, errors));
335
- return persistedDirectiveNodes;
408
+ return {
409
+ nodes,
410
+ success: true,
411
+ warnings,
412
+ };
336
413
  }
337
- function getClientPersistedDirectiveNodes(nodeData) {
414
+ function getClientFederatedDirectiveNodes(nodeData) {
338
415
  const persistedDirectiveNodes = [];
339
- if (nodeData.persistedDirectivesData.isDeprecated) {
340
- persistedDirectiveNodes.push(generateDeprecatedDirective(nodeData.persistedDirectivesData.deprecatedReason));
416
+ if (nodeData.federatedDirectivesData.isDeprecated) {
417
+ persistedDirectiveNodes.push(generateDeprecatedDirective(nodeData.federatedDirectivesData.deprecatedReason));
341
418
  }
342
- for (const [directiveName, directiveNodes] of nodeData.persistedDirectivesData.directivesByName) {
419
+ for (const [directiveName, directiveNodes] of nodeData.federatedDirectivesData.directivesByName) {
343
420
  if (directiveName === string_constants_1.SEMANTIC_NON_NULL && isFieldData(nodeData)) {
344
421
  persistedDirectiveNodes.push((0, utils_2.generateSemanticNonNullDirective)((0, utils_2.getFirstEntry)(nodeData.nullLevelsBySubgraphName) ?? new Set([0])));
345
422
  continue;
@@ -356,7 +433,7 @@ function getClientPersistedDirectiveNodes(nodeData) {
356
433
  return persistedDirectiveNodes;
357
434
  }
358
435
  function getClientSchemaFieldNodeByFieldData(fieldData) {
359
- const directives = getClientPersistedDirectiveNodes(fieldData);
436
+ const directives = getClientFederatedDirectiveNodes(fieldData);
360
437
  const argumentNodes = [];
361
438
  for (const inputValueData of fieldData.argumentDataByName.values()) {
362
439
  if (isNodeDataInaccessible(inputValueData)) {
@@ -364,7 +441,7 @@ function getClientSchemaFieldNodeByFieldData(fieldData) {
364
441
  }
365
442
  argumentNodes.push({
366
443
  ...inputValueData.node,
367
- directives: getClientPersistedDirectiveNodes(inputValueData),
444
+ directives: getClientFederatedDirectiveNodes(inputValueData),
368
445
  });
369
446
  }
370
447
  return {
@@ -373,20 +450,73 @@ function getClientSchemaFieldNodeByFieldData(fieldData) {
373
450
  arguments: argumentNodes,
374
451
  };
375
452
  }
376
- function getNodeWithPersistedDirectivesByInputValueData(inputValueData, persistedDirectiveDefinitionByDirectiveName, errors) {
377
- inputValueData.node.name = (0, utils_1.stringToNameNode)(inputValueData.name);
378
- inputValueData.node.type = inputValueData.type;
379
- inputValueData.node.description = inputValueData.description;
380
- inputValueData.node.directives = getRouterPersistedDirectiveNodes(inputValueData, persistedDirectiveDefinitionByDirectiveName, errors);
381
- if (inputValueData.includeDefaultValue) {
382
- inputValueData.node.defaultValue = inputValueData.defaultValue;
453
+ function routerSchemaFieldNodeFromData({ argumentNodes, data, description, federatedDirectiveDataByName, parentDefinitionDataByTypeName, }) {
454
+ data.node.arguments = argumentNodes;
455
+ data.node.description = description;
456
+ data.node.name = (0, utils_1.stringToNameNode)(data.name);
457
+ data.node.type = data.type;
458
+ const directivesResult = getRouterSchemaDirectiveNodes({
459
+ federatedDirectiveDataByName,
460
+ data: data,
461
+ parentDefinitionDataByTypeName,
462
+ });
463
+ if (!directivesResult.success) {
464
+ return directivesResult;
383
465
  }
384
- return inputValueData.node;
466
+ data.node.directives = directivesResult.nodes;
467
+ return {
468
+ node: data.node,
469
+ success: true,
470
+ warnings: directivesResult.warnings,
471
+ };
385
472
  }
386
- function addValidatedArgumentNodes(argumentNodes, hostData, persistedDirectiveDefinitionByDirectiveName, errors, argumentNamesForFieldConfiguration) {
473
+ function routerSchemaInputValueNodeFromData({ data, description, federatedDirectiveDataByName, parentDefinitionDataByTypeName, }) {
474
+ data.node.description = description;
475
+ data.node.name = (0, utils_1.stringToNameNode)(data.name);
476
+ data.node.type = data.type;
477
+ if (data.includeDefaultValue) {
478
+ data.node.defaultValue = data.defaultValue;
479
+ }
480
+ const directivesResult = getRouterSchemaDirectiveNodes({
481
+ data,
482
+ federatedDirectiveDataByName,
483
+ parentDefinitionDataByTypeName,
484
+ });
485
+ if (!directivesResult.success) {
486
+ return directivesResult;
487
+ }
488
+ data.node.directives = directivesResult.nodes;
489
+ return {
490
+ node: data.node,
491
+ success: true,
492
+ warnings: directivesResult.warnings,
493
+ };
494
+ }
495
+ function routerSchemaNodeFromData({ data, description, federatedDirectiveDataByName, parentDefinitionDataByTypeName, }) {
496
+ data.node.description = description;
497
+ data.node.name = (0, utils_1.stringToNameNode)(data.name);
498
+ const directivesResult = getRouterSchemaDirectiveNodes({
499
+ federatedDirectiveDataByName,
500
+ data: data,
501
+ parentDefinitionDataByTypeName,
502
+ });
503
+ if (!directivesResult.success) {
504
+ return directivesResult;
505
+ }
506
+ data.node.directives = directivesResult.nodes;
507
+ return {
508
+ node: data.node,
509
+ success: true,
510
+ warnings: directivesResult.warnings,
511
+ };
512
+ }
513
+ function getValidFederatedDirectiveArgumentNodes({ data, federatedDirectiveDataByName, parentDefinitionDataByTypeName, }) {
514
+ const errors = [];
515
+ const warnings = [];
387
516
  const invalidRequiredArgumentErrors = [];
388
- for (const [argumentName, argumentData] of hostData.argumentDataByName) {
389
- const missingSubgraphs = (0, utils_2.getEntriesNotInHashSet)(hostData.subgraphNames, argumentData.subgraphNames);
517
+ const nodes = [];
518
+ for (const [argumentName, argumentData] of data.argumentDataByName) {
519
+ const missingSubgraphs = (0, utils_2.getEntriesNotInHashSet)(data.subgraphNames, argumentData.subgraphNames);
390
520
  if (missingSubgraphs.length > 0) {
391
521
  // Required arguments must be defined in all subgraphs that define the field
392
522
  if (argumentData.requiredSubgraphNames.size > 0) {
@@ -398,32 +528,56 @@ function addValidatedArgumentNodes(argumentNodes, hostData, persistedDirectiveDe
398
528
  }
399
529
  /* If the argument is always optional, but it's not defined in all subgraphs that define the field,
400
530
  the argument should not be included in the federated graph */
531
+ data.optionalArgumentNames.delete(argumentName);
401
532
  continue;
402
533
  }
403
- argumentNodes.push(getNodeWithPersistedDirectivesByInputValueData(argumentData, persistedDirectiveDefinitionByDirectiveName, errors));
404
- if (argumentNamesForFieldConfiguration) {
405
- argumentNamesForFieldConfiguration.add(argumentName);
534
+ const argNodeResult = routerSchemaInputValueNodeFromData({
535
+ data: argumentData,
536
+ federatedDirectiveDataByName,
537
+ parentDefinitionDataByTypeName,
538
+ });
539
+ if (!argNodeResult.success) {
540
+ errors.push(...argNodeResult.errors);
541
+ continue;
406
542
  }
543
+ nodes.push(argNodeResult.node);
544
+ warnings.push(...argNodeResult.warnings);
407
545
  }
408
546
  if (invalidRequiredArgumentErrors.length > 0) {
409
- errors.push((0, errors_1.invalidRequiredInputValueError)(string_constants_1.DIRECTIVE_DEFINITION, `@${hostData.name}`, invalidRequiredArgumentErrors));
410
- return false;
547
+ errors.push((0, errors_1.invalidRequiredInputValueError)(string_constants_1.DIRECTIVE_DEFINITION, `@${data.name}`, invalidRequiredArgumentErrors));
411
548
  }
412
- return true;
549
+ if (errors.length > 0) {
550
+ return {
551
+ errors,
552
+ success: false,
553
+ };
554
+ }
555
+ return {
556
+ nodes,
557
+ success: true,
558
+ warnings,
559
+ };
413
560
  }
414
- function addValidPersistedDirectiveDefinitionNodeByData(definitions, data, persistedDirectiveDefinitionByDirectiveName, errors) {
415
- const argumentNodes = [];
416
- if (!addValidatedArgumentNodes(argumentNodes, data, persistedDirectiveDefinitionByDirectiveName, errors)) {
417
- return;
561
+ function propagateDirectiveDefinitionNodeFromData({ data, federatedDirectiveDataByName, parentDefinitionDataByTypeName, }) {
562
+ const argumentNodesResult = getValidFederatedDirectiveArgumentNodes({
563
+ data,
564
+ federatedDirectiveDataByName,
565
+ parentDefinitionDataByTypeName,
566
+ });
567
+ if (!argumentNodesResult.success) {
568
+ return argumentNodesResult;
418
569
  }
419
- definitions.push({
420
- arguments: argumentNodes,
570
+ data.node = {
571
+ arguments: argumentNodesResult.nodes,
421
572
  kind: graphql_1.Kind.DIRECTIVE_DEFINITION,
422
- locations: (0, utils_1.setToNameNodeArray)(data.executableLocations),
573
+ locations: (0, utils_1.setToNameNodeArray)(data.locations),
423
574
  name: (0, utils_1.stringToNameNode)(data.name),
424
- repeatable: data.repeatable,
575
+ repeatable: data.isRepeatable,
425
576
  description: data.description,
426
- });
577
+ };
578
+ return {
579
+ success: true,
580
+ };
427
581
  }
428
582
  function newInvalidFieldNames() {
429
583
  return {
@@ -524,7 +678,7 @@ function isTypeValidImplementation({ concreteTypeNamesByAbstractTypeName, implem
524
678
  }
525
679
  }
526
680
  function isNodeDataInaccessible(data) {
527
- return data.persistedDirectivesData.directivesByName.has(string_constants_1.INACCESSIBLE) || data.directivesByName.has(string_constants_1.INACCESSIBLE);
681
+ return data.federatedDirectivesData.directivesByName.has(string_constants_1.INACCESSIBLE) || data.directivesByName.has(string_constants_1.INACCESSIBLE);
528
682
  }
529
683
  function isLeafKind(kind) {
530
684
  return kind === graphql_1.Kind.SCALAR_TYPE_DEFINITION || kind === graphql_1.Kind.ENUM_TYPE_DEFINITION;
@@ -627,4 +781,25 @@ function isInterfaceNode(node) {
627
781
  function isEnumData(data) {
628
782
  return data.kind === graphql_1.Kind.ENUM_TYPE_DEFINITION;
629
783
  }
784
+ function sanitizeDefaultValue({ data, namedTypeData, node }) {
785
+ if (!data.defaultValue) {
786
+ return;
787
+ }
788
+ if (!isEnumData(namedTypeData)) {
789
+ return;
790
+ }
791
+ data.defaultValue = (0, graphql_1.visit)(data.defaultValue, {
792
+ StringValue: {
793
+ enter(node) {
794
+ return {
795
+ kind: graphql_1.Kind.ENUM,
796
+ value: node.value,
797
+ };
798
+ },
799
+ },
800
+ });
801
+ if (node) {
802
+ node.defaultValue = data.defaultValue;
803
+ }
804
+ }
630
805
  //# 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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"}
@@ -0,0 +1,6 @@
1
+ import { type NormalizationSuccess } from '../../normalization/types';
2
+ import { type SubgraphName } from '../../types/types';
3
+ export type InternalSubgraphFromNormalizationParams = {
4
+ normalization: NormalizationSuccess;
5
+ subgraphName: SubgraphName;
6
+ };
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=params.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"params.js","sourceRoot":"","sources":["../../src/schema-building/params.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"params.js","sourceRoot":"","sources":["../../../src/subgraph/types/params.ts"],"names":[],"mappings":""}
@@ -1,7 +1,8 @@
1
1
  import { type DirectiveDefinitionNode, type DocumentNode, type GraphQLSchema, type OperationTypeNode, type SchemaDefinitionNode, type SchemaExtensionNode } from 'graphql';
2
2
  import { type ConfigurationData, type Costs } from '../router-configuration/types';
3
- import { type ConditionalFieldData, type EntityInterfaceSubgraphData, type ParentDefinitionData, type PersistedDirectiveDefinitionData } from '../schema-building/types';
4
- import { type DirectiveName, type FieldName, type SubgraphName, type TypeName } from '../types/types';
3
+ import { type ConditionalFieldData, type EntityInterfaceSubgraphData, type ParentDefinitionData } from '../schema-building/types/types';
4
+ import { type AbstractTypeName, type DirectiveName, type FieldName, type SubgraphName, type TypeName } from '../types/types';
5
+ import { type DirectiveDefinitionData } from '../directive-definition-data/types/types';
5
6
  export type Subgraph = {
6
7
  definitions: DocumentNode;
7
8
  name: SubgraphName;
@@ -17,20 +18,19 @@ export type SubgraphConfig = {
17
18
  schemaNode?: SchemaDefinitionNode | SchemaExtensionNode;
18
19
  };
19
20
  export type InternalSubgraph = {
20
- conditionalFieldDataByCoordinates: Map<string, ConditionalFieldData>;
21
+ conditionalFieldDataByCoords: Map<string, ConditionalFieldData>;
21
22
  configurationDataByTypeName: Map<TypeName, ConfigurationData>;
22
23
  definitions: DocumentNode;
23
24
  directiveDefinitionByName: Map<DirectiveName, DirectiveDefinitionNode>;
24
- entityInterfaces: Map<string, EntityInterfaceSubgraphData>;
25
+ entityInterfaceSubgraphDataByTypeName: Map<AbstractTypeName, EntityInterfaceSubgraphData>;
26
+ federatedDirectiveDataByName: Map<DirectiveName, DirectiveDefinitionData>;
25
27
  isVersionTwo: boolean;
26
28
  keyFieldNamesByParentTypeName: Map<TypeName, Set<FieldName>>;
27
29
  name: SubgraphName;
28
30
  operationTypes: Map<string, OperationTypeNode>;
29
31
  overriddenFieldNamesByParentTypeName: Map<TypeName, Set<FieldName>>;
30
32
  parentDefinitionDataByTypeName: Map<TypeName, ParentDefinitionData>;
31
- persistedDirectiveDefinitionDataByDirectiveName: Map<DirectiveName, PersistedDirectiveDefinitionData>;
32
33
  schema: GraphQLSchema;
33
- url: string;
34
34
  costs?: Costs;
35
35
  schemaNode?: SchemaDefinitionNode | SchemaExtensionNode;
36
36
  };
@@ -0,0 +1,3 @@
1
+ import { type InternalSubgraph } from './types';
2
+ import { type InternalSubgraphFromNormalizationParams } from './types/params';
3
+ export declare function internalSubgraphFromNormalization({ normalization, subgraphName, }: InternalSubgraphFromNormalizationParams): InternalSubgraph;