@wundergraph/composition 0.36.0 → 0.37.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.
Files changed (110) hide show
  1. package/dist/ast/utils.d.ts +0 -2
  2. package/dist/ast/utils.js +0 -31
  3. package/dist/ast/utils.js.map +1 -1
  4. package/dist/errors/errors.d.ts +3 -3
  5. package/dist/errors/errors.js +11 -7
  6. package/dist/errors/errors.js.map +1 -1
  7. package/dist/federation/federation.d.ts +6 -0
  8. package/dist/federation/federation.js +30 -0
  9. package/dist/federation/federation.js.map +1 -0
  10. package/dist/federation/types.d.ts +44 -0
  11. package/dist/federation/types.js +3 -0
  12. package/dist/federation/types.js.map +1 -0
  13. package/dist/index.d.ts +21 -13
  14. package/dist/index.js +22 -13
  15. package/dist/index.js.map +1 -1
  16. package/dist/normalization/normalization.d.ts +6 -0
  17. package/dist/normalization/normalization.js +21 -0
  18. package/dist/normalization/normalization.js.map +1 -0
  19. package/dist/normalization/types.d.ts +48 -0
  20. package/dist/normalization/types.js +3 -0
  21. package/dist/normalization/types.js.map +1 -0
  22. package/dist/resolvability-graph/graph.d.ts +2 -2
  23. package/dist/resolvability-graph/graph.js +21 -21
  24. package/dist/resolvability-graph/graph.js.map +1 -1
  25. package/dist/resolvability-graph/utils.js +2 -2
  26. package/dist/resolvability-graph/utils.js.map +1 -1
  27. package/dist/router-compatibility-version/router-compatibility-version.d.ts +4 -0
  28. package/dist/router-compatibility-version/router-compatibility-version.js +7 -0
  29. package/dist/router-compatibility-version/router-compatibility-version.js.map +1 -0
  30. package/dist/schema-building/ast.js.map +1 -1
  31. package/dist/schema-building/{type-definition-data.d.ts → types.d.ts} +34 -3
  32. package/dist/schema-building/{type-definition-data.js → types.js} +1 -1
  33. package/dist/schema-building/types.js.map +1 -0
  34. package/dist/schema-building/utils.d.ts +2 -7
  35. package/dist/schema-building/utils.js +5 -6
  36. package/dist/schema-building/utils.js.map +1 -1
  37. package/dist/subgraph/{subgraph.d.ts → types.d.ts} +5 -8
  38. package/dist/subgraph/types.js +3 -0
  39. package/dist/subgraph/types.js.map +1 -0
  40. package/dist/tsconfig.tsbuildinfo +1 -1
  41. package/dist/utils/composition-version.js +1 -1
  42. package/dist/utils/integer-constants.d.ts +0 -1
  43. package/dist/utils/integer-constants.js +1 -2
  44. package/dist/utils/integer-constants.js.map +1 -1
  45. package/dist/utils/string-constants.d.ts +2 -7
  46. package/dist/utils/string-constants.js +3 -30
  47. package/dist/utils/string-constants.js.map +1 -1
  48. package/dist/utils/types.d.ts +1 -0
  49. package/dist/utils/types.js +3 -0
  50. package/dist/utils/types.js.map +1 -0
  51. package/dist/utils/utils.d.ts +10 -74
  52. package/dist/utils/utils.js +33 -386
  53. package/dist/utils/utils.js.map +1 -1
  54. package/dist/{federation → v1/federation}/federation-factory.d.ts +18 -17
  55. package/dist/{federation → v1/federation}/federation-factory.js +202 -199
  56. package/dist/v1/federation/federation-factory.js.map +1 -0
  57. package/dist/{federation → v1/federation}/utils.d.ts +11 -35
  58. package/dist/{federation → v1/federation}/utils.js +8 -8
  59. package/dist/v1/federation/utils.js.map +1 -0
  60. package/dist/{federation → v1/federation}/walkers.d.ts +1 -1
  61. package/dist/{federation → v1/federation}/walkers.js +10 -10
  62. package/dist/v1/federation/walkers.js.map +1 -0
  63. package/dist/{normalization → v1/normalization}/directive-definition-data.d.ts +1 -1
  64. package/dist/{normalization → v1/normalization}/directive-definition-data.js +2 -2
  65. package/dist/v1/normalization/directive-definition-data.js.map +1 -0
  66. package/dist/{normalization → v1/normalization}/normalization-factory.d.ts +29 -54
  67. package/dist/{normalization → v1/normalization}/normalization-factory.js +201 -202
  68. package/dist/v1/normalization/normalization-factory.js.map +1 -0
  69. package/dist/{normalization → v1/normalization}/utils.d.ts +2 -2
  70. package/dist/{normalization → v1/normalization}/utils.js +33 -34
  71. package/dist/v1/normalization/utils.js.map +1 -0
  72. package/dist/{normalization → v1/normalization}/walkers.js +37 -35
  73. package/dist/v1/normalization/walkers.js.map +1 -0
  74. package/dist/{schema-building → v1/schema-building}/type-merging.d.ts +1 -1
  75. package/dist/{schema-building → v1/schema-building}/type-merging.js +4 -4
  76. package/dist/v1/schema-building/type-merging.js.map +1 -0
  77. package/dist/v1/subgraph/subgraph.d.ts +1 -0
  78. package/dist/v1/subgraph/subgraph.js.map +1 -0
  79. package/dist/{utils → v1/utils}/constants.d.ts +1 -2
  80. package/dist/{utils → v1/utils}/constants.js +7 -8
  81. package/dist/v1/utils/constants.js.map +1 -0
  82. package/dist/v1/utils/integer-constants.d.ts +1 -0
  83. package/dist/v1/utils/integer-constants.js +5 -0
  84. package/dist/v1/utils/integer-constants.js.map +1 -0
  85. package/dist/v1/utils/string-constants.d.ts +5 -0
  86. package/dist/v1/utils/string-constants.js +32 -0
  87. package/dist/v1/utils/string-constants.js.map +1 -0
  88. package/dist/v1/utils/utils.d.ts +35 -0
  89. package/dist/v1/utils/utils.js +330 -0
  90. package/dist/v1/utils/utils.js.map +1 -0
  91. package/dist/v1/warnings/warnings.d.ts +9 -0
  92. package/dist/v1/warnings/warnings.js +104 -0
  93. package/dist/v1/warnings/warnings.js.map +1 -0
  94. package/dist/warnings/warnings.d.ts +0 -8
  95. package/dist/warnings/warnings.js +0 -100
  96. package/dist/warnings/warnings.js.map +1 -1
  97. package/package.json +2 -2
  98. package/dist/federation/federation-factory.js.map +0 -1
  99. package/dist/federation/utils.js.map +0 -1
  100. package/dist/federation/walkers.js.map +0 -1
  101. package/dist/normalization/directive-definition-data.js.map +0 -1
  102. package/dist/normalization/normalization-factory.js.map +0 -1
  103. package/dist/normalization/utils.js.map +0 -1
  104. package/dist/normalization/walkers.js.map +0 -1
  105. package/dist/schema-building/type-definition-data.js.map +0 -1
  106. package/dist/schema-building/type-merging.js.map +0 -1
  107. package/dist/subgraph/subgraph.js.map +0 -1
  108. package/dist/utils/constants.js.map +0 -1
  109. /package/dist/{normalization → v1/normalization}/walkers.d.ts +0 -0
  110. /package/dist/{subgraph → v1/subgraph}/subgraph.js +0 -0
@@ -0,0 +1,330 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.maxOrScopes = void 0;
4
+ exports.subtractSourceSetFromTargetSet = subtractSourceSetFromTargetSet;
5
+ exports.mapToArrayOfValues = mapToArrayOfValues;
6
+ exports.addSetsAndReturnMutationBoolean = addSetsAndReturnMutationBoolean;
7
+ exports.kindToConvertedTypeString = kindToConvertedTypeString;
8
+ exports.fieldDatasToSimpleFieldDatas = fieldDatasToSimpleFieldDatas;
9
+ exports.isNodeLeaf = isNodeLeaf;
10
+ exports.newEntityInterfaceFederationData = newEntityInterfaceFederationData;
11
+ exports.upsertEntityInterfaceFederationData = upsertEntityInterfaceFederationData;
12
+ exports.newEntityData = newEntityData;
13
+ exports.upsertEntityDataProperties = upsertEntityDataProperties;
14
+ exports.upsertEntityData = upsertEntityData;
15
+ exports.newFieldAuthorizationData = newFieldAuthorizationData;
16
+ exports.resetAuthorizationData = resetAuthorizationData;
17
+ exports.getAuthorizationDataToUpdate = getAuthorizationDataToUpdate;
18
+ exports.newAuthorizationData = newAuthorizationData;
19
+ exports.mergeAuthorizationDataByAND = mergeAuthorizationDataByAND;
20
+ exports.upsertFieldAuthorizationData = upsertFieldAuthorizationData;
21
+ exports.upsertAuthorizationData = upsertAuthorizationData;
22
+ exports.upsertAuthorizationConfiguration = upsertAuthorizationConfiguration;
23
+ exports.setAndGetValue = setAndGetValue;
24
+ exports.isNodeKindInterface = isNodeKindInterface;
25
+ exports.isNodeKindObject = isNodeKindObject;
26
+ exports.addMapEntries = addMapEntries;
27
+ exports.getSingleSetEntry = getSingleSetEntry;
28
+ const graphql_1 = require("graphql");
29
+ const string_constants_1 = require("../../utils/string-constants");
30
+ const utils_1 = require("../../utils/utils");
31
+ function subtractSourceSetFromTargetSet(source, target) {
32
+ for (const entry of source) {
33
+ target.delete(entry);
34
+ }
35
+ }
36
+ function mapToArrayOfValues(map) {
37
+ const output = [];
38
+ for (const value of map.values()) {
39
+ output.push(value);
40
+ }
41
+ return output;
42
+ }
43
+ function addSetsAndReturnMutationBoolean(source, target) {
44
+ let wasMutated = false;
45
+ for (const entry of source) {
46
+ if (target.has(entry)) {
47
+ continue;
48
+ }
49
+ wasMutated = true;
50
+ target.add(entry);
51
+ }
52
+ return wasMutated;
53
+ }
54
+ function kindToConvertedTypeString(kind) {
55
+ switch (kind) {
56
+ case graphql_1.Kind.BOOLEAN: {
57
+ return string_constants_1.BOOLEAN_SCALAR;
58
+ }
59
+ case graphql_1.Kind.ENUM:
60
+ // intentional fallthrough
61
+ case graphql_1.Kind.ENUM_TYPE_DEFINITION:
62
+ // intentional fallthrough
63
+ case graphql_1.Kind.ENUM_TYPE_EXTENSION: {
64
+ return string_constants_1.ENUM;
65
+ }
66
+ case graphql_1.Kind.ENUM_VALUE_DEFINITION: {
67
+ return string_constants_1.ENUM_VALUE;
68
+ }
69
+ case graphql_1.Kind.FIELD_DEFINITION: {
70
+ return string_constants_1.FIELD;
71
+ }
72
+ case graphql_1.Kind.FLOAT: {
73
+ return string_constants_1.FLOAT_SCALAR;
74
+ }
75
+ case graphql_1.Kind.INPUT_OBJECT_TYPE_DEFINITION:
76
+ // intentional fallthrough
77
+ case graphql_1.Kind.INPUT_OBJECT_TYPE_EXTENSION: {
78
+ return string_constants_1.INPUT_OBJECT;
79
+ }
80
+ case graphql_1.Kind.INPUT_VALUE_DEFINITION: {
81
+ return string_constants_1.INPUT_VALUE;
82
+ }
83
+ case graphql_1.Kind.INT: {
84
+ return string_constants_1.INT_SCALAR;
85
+ }
86
+ case graphql_1.Kind.INTERFACE_TYPE_DEFINITION:
87
+ // intentional fallthrough
88
+ case graphql_1.Kind.INTERFACE_TYPE_EXTENSION: {
89
+ return string_constants_1.INTERFACE;
90
+ }
91
+ case graphql_1.Kind.NULL: {
92
+ return string_constants_1.NULL;
93
+ }
94
+ case graphql_1.Kind.OBJECT:
95
+ // intentional fallthrough
96
+ case graphql_1.Kind.OBJECT_TYPE_DEFINITION:
97
+ // intentional fallthrough
98
+ case graphql_1.Kind.OBJECT_TYPE_EXTENSION: {
99
+ return string_constants_1.OBJECT;
100
+ }
101
+ case graphql_1.Kind.STRING: {
102
+ return string_constants_1.STRING_SCALAR;
103
+ }
104
+ case graphql_1.Kind.SCALAR_TYPE_DEFINITION:
105
+ // intentional fallthrough
106
+ case graphql_1.Kind.SCALAR_TYPE_EXTENSION: {
107
+ return string_constants_1.SCALAR;
108
+ }
109
+ case graphql_1.Kind.UNION_TYPE_DEFINITION:
110
+ // intentional fallthrough
111
+ case graphql_1.Kind.UNION_TYPE_EXTENSION: {
112
+ return string_constants_1.UNION;
113
+ }
114
+ default:
115
+ return kind;
116
+ }
117
+ }
118
+ function fieldDatasToSimpleFieldDatas(fieldDatas) {
119
+ const simpleFieldDatas = [];
120
+ for (const { name, namedTypeName } of fieldDatas) {
121
+ simpleFieldDatas.push({ name, namedTypeName });
122
+ }
123
+ return simpleFieldDatas;
124
+ }
125
+ // Only used to assess the output type of field definitions for graph selection set rendering
126
+ function isNodeLeaf(kind) {
127
+ // Base scalars are not added to parent definition data
128
+ if (!kind) {
129
+ return true;
130
+ }
131
+ switch (kind) {
132
+ case graphql_1.Kind.OBJECT_TYPE_DEFINITION:
133
+ case graphql_1.Kind.INTERFACE_TYPE_DEFINITION:
134
+ case graphql_1.Kind.UNION_TYPE_DEFINITION:
135
+ return false;
136
+ default:
137
+ return true;
138
+ }
139
+ }
140
+ function newEntityInterfaceFederationData(entityInterfaceData, subgraphName) {
141
+ return {
142
+ fieldDatasBySubgraphName: new Map().set(subgraphName, entityInterfaceData.fieldDatas),
143
+ interfaceFieldNames: new Set(entityInterfaceData.interfaceFieldNames),
144
+ interfaceObjectFieldNames: new Set(entityInterfaceData.interfaceObjectFieldNames),
145
+ interfaceObjectSubgraphs: new Set(entityInterfaceData.isInterfaceObject ? [subgraphName] : []),
146
+ typeName: entityInterfaceData.typeName,
147
+ ...(entityInterfaceData.isInterfaceObject
148
+ ? {}
149
+ : { concreteTypeNames: new Set(entityInterfaceData.concreteTypeNames) }),
150
+ };
151
+ }
152
+ // Returns true if the federation data concrete types set was mutated and false otherwise
153
+ function upsertEntityInterfaceFederationData(federationData, subgraphData, subgraphName) {
154
+ federationData.fieldDatasBySubgraphName.set(subgraphName, subgraphData.fieldDatas);
155
+ (0, utils_1.addIterableValuesToSet)(subgraphData.interfaceFieldNames, federationData.interfaceFieldNames);
156
+ (0, utils_1.addIterableValuesToSet)(subgraphData.interfaceObjectFieldNames, federationData.interfaceObjectFieldNames);
157
+ // interface objects should not define any concrete types
158
+ if (subgraphData.isInterfaceObject) {
159
+ federationData.interfaceObjectSubgraphs.add(subgraphName);
160
+ return false;
161
+ }
162
+ // the concreteTypeNames set is null if only interfaceObjects have been encountered
163
+ if (!federationData.concreteTypeNames) {
164
+ federationData.concreteTypeNames = new Set(subgraphData.concreteTypeNames);
165
+ return false;
166
+ }
167
+ // entity interface concrete types should be consistent
168
+ return addSetsAndReturnMutationBoolean(subgraphData.concreteTypeNames || new Set(), federationData.concreteTypeNames);
169
+ }
170
+ function newEntityData(params) {
171
+ return {
172
+ fieldNames: new Set(params.fieldNames),
173
+ keyFieldSets: new Set(params.keyFieldSets),
174
+ subgraphNames: new Set(params.subgraphNames),
175
+ typeName: params.typeName,
176
+ };
177
+ }
178
+ function addEntityDataProperties(source, target) {
179
+ (0, utils_1.addIterableValuesToSet)(source.fieldNames || [], target.fieldNames);
180
+ (0, utils_1.addIterableValuesToSet)(source.keyFieldSets || [], target.keyFieldSets);
181
+ (0, utils_1.addIterableValuesToSet)(source.subgraphNames || [], target.subgraphNames);
182
+ }
183
+ function upsertEntityDataProperties(entityDataByTypeName, params) {
184
+ const existingData = entityDataByTypeName.get(params.typeName);
185
+ existingData
186
+ ? addEntityDataProperties(params, existingData)
187
+ : entityDataByTypeName.set(params.typeName, newEntityData(params));
188
+ }
189
+ function upsertEntityData(entityDataByTypeName, incomingData) {
190
+ const existingData = entityDataByTypeName.get(incomingData.typeName);
191
+ existingData
192
+ ? addEntityDataProperties(incomingData, existingData)
193
+ : entityDataByTypeName.set(incomingData.typeName, incomingData);
194
+ }
195
+ function newFieldAuthorizationData(fieldName) {
196
+ return {
197
+ fieldName,
198
+ requiresAuthentication: false,
199
+ requiredScopes: [],
200
+ };
201
+ }
202
+ function resetAuthorizationData(authorizationData) {
203
+ if (!authorizationData) {
204
+ return;
205
+ }
206
+ authorizationData.requiresAuthentication = false;
207
+ authorizationData.requiredScopes = [];
208
+ authorizationData.hasParentLevelAuthorization = false;
209
+ }
210
+ function getAuthorizationDataToUpdate(authorizationContainer, node) {
211
+ if (node.kind === graphql_1.Kind.FIELD_DEFINITION) {
212
+ const name = node.name.value;
213
+ return (0, utils_1.getValueOrDefault)(authorizationContainer.fieldAuthorizationDataByFieldName, name, () => newFieldAuthorizationData(name));
214
+ }
215
+ authorizationContainer.hasParentLevelAuthorization = true;
216
+ return authorizationContainer;
217
+ }
218
+ function newAuthorizationData(typeName) {
219
+ return {
220
+ fieldAuthorizationDataByFieldName: new Map(),
221
+ hasParentLevelAuthorization: false,
222
+ requiresAuthentication: false,
223
+ requiredScopes: [],
224
+ typeName,
225
+ };
226
+ }
227
+ exports.maxOrScopes = 16;
228
+ function mergeAuthorizationDataByAND(source, target) {
229
+ target.requiresAuthentication ||= source.requiresAuthentication;
230
+ const sourceScopesLength = source.requiredScopes.length;
231
+ if (sourceScopesLength < 1) {
232
+ return true;
233
+ }
234
+ const targetScopesLength = target.requiredScopes.length;
235
+ if (targetScopesLength < 1) {
236
+ if (sourceScopesLength > exports.maxOrScopes) {
237
+ return false;
238
+ }
239
+ for (const andScopes of source.requiredScopes) {
240
+ target.requiredScopes.push(new Set(andScopes));
241
+ }
242
+ return true;
243
+ }
244
+ if (sourceScopesLength * targetScopesLength > exports.maxOrScopes) {
245
+ return false;
246
+ }
247
+ const mergedOrScopes = [];
248
+ for (const existingAndScopes of target.requiredScopes) {
249
+ for (const incomingAndScopes of source.requiredScopes) {
250
+ const newAndScopes = new Set(existingAndScopes);
251
+ (0, utils_1.addIterableValuesToSet)(incomingAndScopes, newAndScopes);
252
+ mergedOrScopes.push(newAndScopes);
253
+ }
254
+ }
255
+ target.requiredScopes = mergedOrScopes;
256
+ return true;
257
+ }
258
+ function upsertFieldAuthorizationData(fieldAuthorizationDataByFieldName, incomingFieldAuthorizationData) {
259
+ const fieldName = incomingFieldAuthorizationData.fieldName;
260
+ const existingFieldAuthorizationData = fieldAuthorizationDataByFieldName.get(fieldName);
261
+ if (!existingFieldAuthorizationData) {
262
+ if (incomingFieldAuthorizationData.requiredScopes.length > exports.maxOrScopes) {
263
+ return false;
264
+ }
265
+ const fieldAuthorizationData = newFieldAuthorizationData(fieldName);
266
+ fieldAuthorizationData.requiresAuthentication ||= incomingFieldAuthorizationData.requiresAuthentication;
267
+ for (const andScopes of incomingFieldAuthorizationData.requiredScopes) {
268
+ fieldAuthorizationData.requiredScopes.push(new Set(andScopes));
269
+ }
270
+ fieldAuthorizationDataByFieldName.set(fieldName, fieldAuthorizationData);
271
+ return true;
272
+ }
273
+ existingFieldAuthorizationData.requiresAuthentication ||= incomingFieldAuthorizationData.requiresAuthentication;
274
+ return mergeAuthorizationDataByAND(incomingFieldAuthorizationData, existingFieldAuthorizationData);
275
+ }
276
+ function upsertAuthorizationData(authorizationDataByParentTypeName, incomingAuthorizationData, invalidOrScopesFieldPaths) {
277
+ const existingAuthorizationData = authorizationDataByParentTypeName.get(incomingAuthorizationData.typeName);
278
+ if (!existingAuthorizationData) {
279
+ authorizationDataByParentTypeName.set(incomingAuthorizationData.typeName, incomingAuthorizationData);
280
+ return;
281
+ }
282
+ for (const [fieldName, fieldAuthorizationData] of incomingAuthorizationData.fieldAuthorizationDataByFieldName) {
283
+ if (!upsertFieldAuthorizationData(existingAuthorizationData.fieldAuthorizationDataByFieldName, fieldAuthorizationData)) {
284
+ invalidOrScopesFieldPaths.add(`${incomingAuthorizationData.typeName}.${fieldName}`);
285
+ }
286
+ }
287
+ }
288
+ function upsertAuthorizationConfiguration(fieldConfigurationByFieldPath, authorizationData) {
289
+ const typeName = authorizationData.typeName;
290
+ for (const [fieldName, fieldAuthorizationData] of authorizationData.fieldAuthorizationDataByFieldName) {
291
+ const fieldPath = `${typeName}.${fieldName}`;
292
+ const existingFieldConfiguration = fieldConfigurationByFieldPath.get(fieldPath);
293
+ if (existingFieldConfiguration) {
294
+ existingFieldConfiguration.requiresAuthentication = fieldAuthorizationData.requiresAuthentication;
295
+ existingFieldConfiguration.requiredScopes = fieldAuthorizationData.requiredScopes.map((orScopes) => [
296
+ ...orScopes,
297
+ ]);
298
+ }
299
+ else {
300
+ fieldConfigurationByFieldPath.set(fieldPath, {
301
+ argumentNames: [],
302
+ typeName,
303
+ fieldName,
304
+ requiresAuthentication: fieldAuthorizationData.requiresAuthentication,
305
+ requiredScopes: fieldAuthorizationData.requiredScopes.map((orScopes) => [...orScopes]),
306
+ });
307
+ }
308
+ }
309
+ }
310
+ function setAndGetValue(map, key, value) {
311
+ map.set(key, value);
312
+ return value;
313
+ }
314
+ function isNodeKindInterface(kind) {
315
+ return kind === graphql_1.Kind.INTERFACE_TYPE_DEFINITION || kind === graphql_1.Kind.INTERFACE_TYPE_EXTENSION;
316
+ }
317
+ function isNodeKindObject(kind) {
318
+ return kind === graphql_1.Kind.OBJECT_TYPE_DEFINITION || kind === graphql_1.Kind.OBJECT_TYPE_EXTENSION;
319
+ }
320
+ function addMapEntries(source, target) {
321
+ for (const [key, value] of source) {
322
+ target.set(key, value);
323
+ }
324
+ }
325
+ function getSingleSetEntry(set) {
326
+ for (const entry of set) {
327
+ return entry;
328
+ }
329
+ }
330
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/v1/utils/utils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import { FieldSetDirective } from '../../schema-building/utils';
2
+ import { Warning } from '../../warnings/warnings';
3
+ export declare function invalidOverrideTargetSubgraphNameWarning(targetSubgraphName: string, parentTypeName: string, fieldNames: string[], originSubgraphName: string): Warning;
4
+ export declare function externalInterfaceFieldsWarning(subgraphName: string, typeName: string, fieldNames: Array<string>): Warning;
5
+ export declare function nonExternalConditionalFieldWarning(originCoords: string, subgraphName: string, targetCoords: string, fieldSet: string, fieldSetDirective: FieldSetDirective): Warning;
6
+ export declare function unimplementedInterfaceOutputTypeWarning(subgraphName: string, interfaceTypeName: string): Warning;
7
+ export declare function invalidExternalFieldWarning(fieldCoords: string, subgraphName: string): Warning;
8
+ export declare function requiresDefinedOnNonEntityFieldWarning(fieldCoords: string, subgraphName: string): Warning;
9
+ export declare function consumerInactiveThresholdInvalidValueWarning(subgraphName: string, additionalMsg?: string): Warning;
@@ -0,0 +1,104 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.invalidOverrideTargetSubgraphNameWarning = invalidOverrideTargetSubgraphNameWarning;
4
+ exports.externalInterfaceFieldsWarning = externalInterfaceFieldsWarning;
5
+ exports.nonExternalConditionalFieldWarning = nonExternalConditionalFieldWarning;
6
+ exports.unimplementedInterfaceOutputTypeWarning = unimplementedInterfaceOutputTypeWarning;
7
+ exports.invalidExternalFieldWarning = invalidExternalFieldWarning;
8
+ exports.requiresDefinedOnNonEntityFieldWarning = requiresDefinedOnNonEntityFieldWarning;
9
+ exports.consumerInactiveThresholdInvalidValueWarning = consumerInactiveThresholdInvalidValueWarning;
10
+ const warnings_1 = require("../../warnings/warnings");
11
+ const string_constants_1 = require("../../utils/string-constants");
12
+ function invalidOverrideTargetSubgraphNameWarning(targetSubgraphName, parentTypeName, fieldNames, originSubgraphName) {
13
+ return new warnings_1.Warning({
14
+ message: `The Object type "${parentTypeName}" defines the directive "@override(from: "${targetSubgraphName}")" on the following field` +
15
+ (fieldNames.length > 1 ? 's' : '') +
16
+ `: "` +
17
+ fieldNames.join(string_constants_1.QUOTATION_JOIN) +
18
+ `".\n` +
19
+ `The required "from" argument of type "String!" should be provided with an existing subgraph name.\n` +
20
+ `However, a subgraph by the name of "${targetSubgraphName}" does not exist.\n` +
21
+ `If this subgraph has been recently deleted, remember to clean up unused "@override" directives that reference this subgraph.`,
22
+ subgraph: {
23
+ name: originSubgraphName,
24
+ },
25
+ });
26
+ }
27
+ function versionOneWarningPropagationMessage(subgraphName) {
28
+ return (`The subgraph "${subgraphName}" is currently a "version one" subgraph, but if it were updated to "version two"` +
29
+ ` in its current state, composition would be unsuccessful due to the following warning that would instead` +
30
+ ` propagate as an error:\n`);
31
+ }
32
+ function externalInterfaceFieldsWarning(subgraphName, typeName, fieldNames) {
33
+ return new warnings_1.Warning({
34
+ message: versionOneWarningPropagationMessage(subgraphName) +
35
+ `The Interface "${typeName}" is invalid because the following Field definition` +
36
+ (fieldNames.length > 1 ? 's are' : ' is') +
37
+ ` declared "@external":\n "` +
38
+ fieldNames.join(string_constants_1.QUOTATION_JOIN) +
39
+ `"\n` +
40
+ `Interface Fields should not be declared "@external". This is because Interface Fields do not resolve directly,` +
41
+ ` but the "@external" directive relates to whether a Field instance can be resolved` +
42
+ ` by the subgraph in which it is defined.`,
43
+ subgraph: {
44
+ name: subgraphName,
45
+ },
46
+ });
47
+ }
48
+ function nonExternalConditionalFieldWarning(originCoords, subgraphName, targetCoords, fieldSet, fieldSetDirective) {
49
+ return new warnings_1.Warning({
50
+ message: versionOneWarningPropagationMessage(subgraphName) +
51
+ `The Field "${originCoords}" in subgraph "${subgraphName}" defines a "@${fieldSetDirective}" directive with the following` +
52
+ ` field set:\n "${fieldSet}".` +
53
+ `\nHowever, neither the Field "${targetCoords}" nor any of its field set ancestors are declared @external.` +
54
+ `\nConsequently, "${targetCoords}" is already provided by subgraph "${subgraphName}" and should not form part of` +
55
+ ` a "@${fieldSetDirective}" directive field set.`,
56
+ subgraph: {
57
+ name: subgraphName,
58
+ },
59
+ });
60
+ }
61
+ // TODO Temporarily only used as a warning
62
+ function unimplementedInterfaceOutputTypeWarning(subgraphName, interfaceTypeName) {
63
+ return new warnings_1.Warning({
64
+ message: `Subgraph "${subgraphName}": The Interface "${interfaceTypeName}" is used as an output type` +
65
+ ` without at least one Object type implementation defined in the schema.`,
66
+ subgraph: {
67
+ name: subgraphName,
68
+ },
69
+ });
70
+ }
71
+ function invalidExternalFieldWarning(fieldCoords, subgraphName) {
72
+ return new warnings_1.Warning({
73
+ message: versionOneWarningPropagationMessage(subgraphName) +
74
+ ` The Object Field "${fieldCoords}" is invalidly declared "@external". An Object Field should only` +
75
+ ` be declared "@external" if it is part of a "@key", "@provides", or "@requires" FieldSet, or the Field is` +
76
+ ` necessary to satisfy an Interface implementation. In the case that none of these conditions is true, the` +
77
+ ` "@external" directive should be removed.`,
78
+ subgraph: {
79
+ name: subgraphName,
80
+ },
81
+ });
82
+ }
83
+ function requiresDefinedOnNonEntityFieldWarning(fieldCoords, subgraphName) {
84
+ return new warnings_1.Warning({
85
+ message: ` The Object Field "${fieldCoords}" defines a "@requires" directive, but the Object is not an entity.` +
86
+ ' Consequently, the "@requires" FieldSet cannot be satisfied because there is no entity resolver with which to' +
87
+ ' provide the required Fields.',
88
+ subgraph: {
89
+ name: subgraphName,
90
+ },
91
+ });
92
+ }
93
+ function consumerInactiveThresholdInvalidValueWarning(subgraphName, additionalMsg = '') {
94
+ return new warnings_1.Warning({
95
+ message: `The "consumerInactiveThreshold" argument of type "Int" should be positive and smaller than 2,147,483,648.` +
96
+ +additionalMsg
97
+ ? `\n${additionalMsg}`
98
+ : '',
99
+ subgraph: {
100
+ name: subgraphName,
101
+ },
102
+ });
103
+ }
104
+ //# sourceMappingURL=warnings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"warnings.js","sourceRoot":"","sources":["../../../src/v1/warnings/warnings.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,3 @@
1
- import { FieldSetDirective } from '../schema-building/utils';
2
1
  export type WarningSubgraphData = {
3
2
  name: string;
4
3
  };
@@ -10,10 +9,3 @@ export declare class Warning extends Error {
10
9
  subgraph: WarningSubgraphData;
11
10
  constructor(options: WarningOptions);
12
11
  }
13
- export declare function invalidOverrideTargetSubgraphNameWarning(targetSubgraphName: string, parentTypeName: string, fieldNames: string[], originSubgraphName: string): Warning;
14
- export declare function externalInterfaceFieldsWarning(subgraphName: string, typeName: string, fieldNames: Array<string>): Warning;
15
- export declare function nonExternalConditionalFieldWarning(originCoords: string, subgraphName: string, targetCoords: string, fieldSet: string, fieldSetDirective: FieldSetDirective): Warning;
16
- export declare function unimplementedInterfaceOutputTypeWarning(subgraphName: string, interfaceTypeName: string): Warning;
17
- export declare function invalidExternalFieldWarning(fieldCoords: string, subgraphName: string): Warning;
18
- export declare function requiresDefinedOnNonEntityFieldWarning(fieldCoords: string, subgraphName: string): Warning;
19
- export declare function consumerInactiveThresholdInvalidValueWarning(subgraphName: string, additionalMsg?: string): Warning;
@@ -1,14 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Warning = void 0;
4
- exports.invalidOverrideTargetSubgraphNameWarning = invalidOverrideTargetSubgraphNameWarning;
5
- exports.externalInterfaceFieldsWarning = externalInterfaceFieldsWarning;
6
- exports.nonExternalConditionalFieldWarning = nonExternalConditionalFieldWarning;
7
- exports.unimplementedInterfaceOutputTypeWarning = unimplementedInterfaceOutputTypeWarning;
8
- exports.invalidExternalFieldWarning = invalidExternalFieldWarning;
9
- exports.requiresDefinedOnNonEntityFieldWarning = requiresDefinedOnNonEntityFieldWarning;
10
- exports.consumerInactiveThresholdInvalidValueWarning = consumerInactiveThresholdInvalidValueWarning;
11
- const string_constants_1 = require("../utils/string-constants");
12
4
  class Warning extends Error {
13
5
  subgraph;
14
6
  constructor(options) {
@@ -18,96 +10,4 @@ class Warning extends Error {
18
10
  }
19
11
  }
20
12
  exports.Warning = Warning;
21
- function invalidOverrideTargetSubgraphNameWarning(targetSubgraphName, parentTypeName, fieldNames, originSubgraphName) {
22
- return new Warning({
23
- message: `The Object type "${parentTypeName}" defines the directive "@override(from: "${targetSubgraphName}")" on the following field` +
24
- (fieldNames.length > 1 ? 's' : '') +
25
- `: "` +
26
- fieldNames.join(string_constants_1.QUOTATION_JOIN) +
27
- `".\n` +
28
- `The required "from" argument of type "String!" should be provided with an existing subgraph name.\n` +
29
- `However, a subgraph by the name of "${targetSubgraphName}" does not exist.\n` +
30
- `If this subgraph has been recently deleted, remember to clean up unused "@override" directives that reference this subgraph.`,
31
- subgraph: {
32
- name: originSubgraphName,
33
- },
34
- });
35
- }
36
- function versionOneWarningPropagationMessage(subgraphName) {
37
- return (`The subgraph "${subgraphName}" is currently a "version one" subgraph, but if it were updated to "version two"` +
38
- ` in its current state, composition would be unsuccessful due to the following warning that would instead` +
39
- ` propagate as an error:\n`);
40
- }
41
- function externalInterfaceFieldsWarning(subgraphName, typeName, fieldNames) {
42
- return new Warning({
43
- message: versionOneWarningPropagationMessage(subgraphName) +
44
- `The Interface "${typeName}" is invalid because the following Field definition` +
45
- (fieldNames.length > 1 ? 's are' : ' is') +
46
- ` declared "@external":\n "` +
47
- fieldNames.join(string_constants_1.QUOTATION_JOIN) +
48
- `"\n` +
49
- `Interface Fields should not be declared "@external". This is because Interface Fields do not resolve directly,` +
50
- ` but the "@external" directive relates to whether a Field instance can be resolved` +
51
- ` by the subgraph in which it is defined.`,
52
- subgraph: {
53
- name: subgraphName,
54
- },
55
- });
56
- }
57
- function nonExternalConditionalFieldWarning(originCoords, subgraphName, targetCoords, fieldSet, fieldSetDirective) {
58
- return new Warning({
59
- message: versionOneWarningPropagationMessage(subgraphName) +
60
- `The Field "${originCoords}" in subgraph "${subgraphName}" defines a "@${fieldSetDirective}" directive with the following` +
61
- ` field set:\n "${fieldSet}".` +
62
- `\nHowever, neither the Field "${targetCoords}" nor any of its field set ancestors are declared @external.` +
63
- `\nConsequently, "${targetCoords}" is already provided by subgraph "${subgraphName}" and should not form part of` +
64
- ` a "@${fieldSetDirective}" directive field set.`,
65
- subgraph: {
66
- name: subgraphName,
67
- },
68
- });
69
- }
70
- // TODO Temporarily only used as a warning
71
- function unimplementedInterfaceOutputTypeWarning(subgraphName, interfaceTypeName) {
72
- return new Warning({
73
- message: `Subgraph "${subgraphName}": The Interface "${interfaceTypeName}" is used as an output type` +
74
- ` without at least one Object type implementation defined in the schema.`,
75
- subgraph: {
76
- name: subgraphName,
77
- },
78
- });
79
- }
80
- function invalidExternalFieldWarning(fieldCoords, subgraphName) {
81
- return new Warning({
82
- message: versionOneWarningPropagationMessage(subgraphName) +
83
- ` The Object Field "${fieldCoords}" is invalidly declared "@external". An Object Field should only` +
84
- ` be declared "@external" if it is part of a "@key", "@provides", or "@requires" FieldSet, or the Field is` +
85
- ` necessary to satisfy an Interface implementation. In the case that none of these conditions is true, the` +
86
- ` "@external" directive should be removed.`,
87
- subgraph: {
88
- name: subgraphName,
89
- },
90
- });
91
- }
92
- function requiresDefinedOnNonEntityFieldWarning(fieldCoords, subgraphName) {
93
- return new Warning({
94
- message: ` The Object Field "${fieldCoords}" defines a "@requires" directive, but the Object is not an entity.` +
95
- ' Consequently, the "@requires" FieldSet cannot be satisfied because there is no entity resolver with which to' +
96
- ' provide the required Fields.',
97
- subgraph: {
98
- name: subgraphName,
99
- },
100
- });
101
- }
102
- function consumerInactiveThresholdInvalidValueWarning(subgraphName, additionalMsg = '') {
103
- return new Warning({
104
- message: `The "consumerInactiveThreshold" argument of type "Int" should be positive and smaller than 2,147,483,648.` +
105
- +additionalMsg
106
- ? `\n${additionalMsg}`
107
- : '',
108
- subgraph: {
109
- name: subgraphName,
110
- },
111
- });
112
- }
113
13
  //# sourceMappingURL=warnings.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"warnings.js","sourceRoot":"","sources":["../../src/warnings/warnings.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"warnings.js","sourceRoot":"","sources":["../../src/warnings/warnings.ts"],"names":[],"mappings":";;;AAQA,MAAa,OAAQ,SAAQ,KAAK;IAChC,QAAQ,CAAsB;IAE9B,YAAY,OAAuB;QACjC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC;QACtB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IACnC,CAAC;CACF;AARD,0BAQC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wundergraph/composition",
3
- "version": "0.36.0",
3
+ "version": "0.37.0",
4
4
  "author": {
5
5
  "name": "WunderGraph Maintainers",
6
6
  "email": "info@wundergraph.com"
@@ -41,5 +41,5 @@
41
41
  "typescript": "5.5.2",
42
42
  "vitest": "^2.1.8"
43
43
  },
44
- "gitHead": "3224b59acc54dd7efea6e36099b334928cec7aca"
44
+ "gitHead": "a1aeeda3beddf27075bcfc7038a012f23d638f47"
45
45
  }