@wundergraph/composition 0.51.1 → 0.52.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/README.md +18 -13
- package/dist/resolvability-graph/graph-nodes.d.ts +3 -0
- package/dist/resolvability-graph/graph-nodes.js +5 -1
- package/dist/resolvability-graph/graph-nodes.js.map +1 -1
- package/dist/resolvability-graph/graph.d.ts +1 -1
- package/dist/resolvability-graph/graph.js +11 -1
- package/dist/resolvability-graph/graph.js.map +1 -1
- package/dist/resolvability-graph/node-resolution-data/node-resolution-data.d.ts +3 -2
- package/dist/resolvability-graph/node-resolution-data/node-resolution-data.js +10 -3
- package/dist/resolvability-graph/node-resolution-data/node-resolution-data.js.map +1 -1
- package/dist/resolvability-graph/node-resolution-data/types/params.d.ts +5 -1
- package/dist/resolvability-graph/types/params.d.ts +1 -0
- package/dist/resolvability-graph/types/types.d.ts +1 -0
- package/dist/resolvability-graph/utils/utils.d.ts +4 -3
- package/dist/resolvability-graph/utils/utils.js +34 -12
- package/dist/resolvability-graph/utils/utils.js.map +1 -1
- package/dist/resolvability-graph/walker/entity-walker/entity-walker.d.ts +3 -2
- package/dist/resolvability-graph/walker/entity-walker/entity-walker.js +29 -9
- package/dist/resolvability-graph/walker/entity-walker/entity-walker.js.map +1 -1
- package/dist/resolvability-graph/walker/entity-walker/types/params.d.ts +4 -2
- package/dist/resolvability-graph/walker/root-field-walkers/root-field-walker.d.ts +1 -1
- package/dist/resolvability-graph/walker/root-field-walkers/root-field-walker.js +18 -7
- package/dist/resolvability-graph/walker/root-field-walkers/root-field-walker.js.map +1 -1
- package/dist/resolvability-graph/walker/root-field-walkers/types/params.d.ts +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/utils/composition-version.js +1 -1
- package/dist/utils/types.d.ts +5 -3
- package/dist/v1/federation/federation-factory.js +1 -0
- package/dist/v1/federation/federation-factory.js.map +1 -1
- package/dist/v1/normalization/normalization-factory.js +1 -1
- package/dist/v1/normalization/normalization-factory.js.map +1 -1
- package/dist/v1/normalization/utils.js +17 -4
- package/dist/v1/normalization/utils.js.map +1 -1
- package/package.json +5 -4
|
@@ -9,19 +9,21 @@ class EntityWalker {
|
|
|
9
9
|
index;
|
|
10
10
|
resDataByNodeName;
|
|
11
11
|
resDataByRelativeOriginPath;
|
|
12
|
+
resolvedPaths;
|
|
12
13
|
selectionPathByEntityNodeName = new Map();
|
|
13
14
|
// The subgraph name is so the propagated errors accurately reflect which subgraph cannot reach the node.
|
|
14
15
|
subgraphNameByUnresolvablePath;
|
|
15
16
|
visitedEntities;
|
|
16
17
|
relativeOriginPaths;
|
|
17
|
-
constructor({ encounteredEntityNodeNames, index, relativeOriginPaths, resDataByNodeName, resDataByRelativeOriginPath, subgraphNameByUnresolvablePath, visitedEntities, }) {
|
|
18
|
+
constructor({ encounteredEntityNodeNames, index, relativeOriginPaths, resDataByNodeName, resDataByRelativeOriginPath, resolvedPaths, subgraphNameByUnresolvablePath, visitedEntities, }) {
|
|
18
19
|
this.encounteredEntityNodeNames = encounteredEntityNodeNames;
|
|
19
20
|
this.index = index;
|
|
20
21
|
this.relativeOriginPaths = relativeOriginPaths;
|
|
21
22
|
this.resDataByNodeName = resDataByNodeName;
|
|
22
23
|
this.resDataByRelativeOriginPath = resDataByRelativeOriginPath;
|
|
23
|
-
this.
|
|
24
|
+
this.resolvedPaths = resolvedPaths;
|
|
24
25
|
this.subgraphNameByUnresolvablePath = subgraphNameByUnresolvablePath;
|
|
26
|
+
this.visitedEntities = visitedEntities;
|
|
25
27
|
}
|
|
26
28
|
getNodeResolutionData({ node: { fieldDataByName, nodeName, typeName }, selectionPath, }) {
|
|
27
29
|
const dataByNodeName = (0, utils_1.getValueOrDefault)(this.resDataByNodeName, nodeName, () => new node_resolution_data_1.NodeResolutionData({ fieldDataByName, typeName }));
|
|
@@ -36,9 +38,12 @@ class EntityWalker {
|
|
|
36
38
|
return returnData;
|
|
37
39
|
}
|
|
38
40
|
visitEntityDescendantEdge({ edge, selectionPath }) {
|
|
39
|
-
if (edge.
|
|
41
|
+
if (edge.isEdgeInaccessible()) {
|
|
40
42
|
return { visited: false, areDescendantsResolved: false };
|
|
41
43
|
}
|
|
44
|
+
if (edge.isExternal) {
|
|
45
|
+
return { visited: false, areDescendantsResolved: false, isExternal: true };
|
|
46
|
+
}
|
|
42
47
|
if (edge.node.isLeaf) {
|
|
43
48
|
return { visited: true, areDescendantsResolved: true };
|
|
44
49
|
}
|
|
@@ -96,16 +101,17 @@ class EntityWalker {
|
|
|
96
101
|
}
|
|
97
102
|
let removeDescendantPaths = undefined;
|
|
98
103
|
for (const [fieldName, edge] of node.headToTailEdges) {
|
|
99
|
-
const {
|
|
104
|
+
const { areDescendantsResolved, isExternal, isRevisitedNode, visited } = this.visitEntityDescendantEdge({
|
|
100
105
|
edge,
|
|
101
106
|
selectionPath,
|
|
102
107
|
});
|
|
103
108
|
removeDescendantPaths ??= isRevisitedNode;
|
|
104
109
|
this.propagateVisitedField({
|
|
105
110
|
areDescendantsResolved,
|
|
106
|
-
fieldName,
|
|
107
111
|
data,
|
|
108
|
-
|
|
112
|
+
fieldName,
|
|
113
|
+
isExternal,
|
|
114
|
+
node,
|
|
109
115
|
selectionPath,
|
|
110
116
|
visited,
|
|
111
117
|
});
|
|
@@ -134,11 +140,15 @@ class EntityWalker {
|
|
|
134
140
|
}
|
|
135
141
|
return { visited: true, areDescendantsResolved: resolvedDescendants === node.headToTailEdges.size };
|
|
136
142
|
}
|
|
137
|
-
propagateVisitedField({ areDescendantsResolved, data, fieldName,
|
|
143
|
+
propagateVisitedField({ areDescendantsResolved, data, fieldName, isExternal, node, selectionPath, visited, }) {
|
|
144
|
+
if (isExternal) {
|
|
145
|
+
data.addExternalSubgraphName({ fieldName, subgraphName: node.subgraphName });
|
|
146
|
+
return;
|
|
147
|
+
}
|
|
138
148
|
if (!visited) {
|
|
139
149
|
return;
|
|
140
150
|
}
|
|
141
|
-
const dataByNodeName = (0, utils_1.getValueOrDefault)(this.resDataByNodeName, nodeName, () => data.copy());
|
|
151
|
+
const dataByNodeName = (0, utils_1.getValueOrDefault)(this.resDataByNodeName, node.nodeName, () => data.copy());
|
|
142
152
|
data.addResolvedFieldName(fieldName);
|
|
143
153
|
dataByNodeName.addResolvedFieldName(fieldName);
|
|
144
154
|
if (areDescendantsResolved) {
|
|
@@ -166,11 +176,18 @@ class EntityWalker {
|
|
|
166
176
|
}
|
|
167
177
|
addUnresolvablePaths({ selectionPath, subgraphName }) {
|
|
168
178
|
if (!this.relativeOriginPaths) {
|
|
179
|
+
if (this.resolvedPaths.has(selectionPath)) {
|
|
180
|
+
return;
|
|
181
|
+
}
|
|
169
182
|
(0, utils_1.getValueOrDefault)(this.subgraphNameByUnresolvablePath, selectionPath, () => subgraphName);
|
|
170
183
|
return;
|
|
171
184
|
}
|
|
172
185
|
for (const path of this.relativeOriginPaths) {
|
|
173
|
-
|
|
186
|
+
const fullPath = `${path}${selectionPath}`;
|
|
187
|
+
if (this.resolvedPaths.has(fullPath)) {
|
|
188
|
+
continue;
|
|
189
|
+
}
|
|
190
|
+
(0, utils_1.getValueOrDefault)(this.subgraphNameByUnresolvablePath, fullPath, () => subgraphName);
|
|
174
191
|
}
|
|
175
192
|
}
|
|
176
193
|
removeUnresolvablePaths({ selectionPath, removeDescendantPaths }) {
|
|
@@ -180,6 +197,7 @@ class EntityWalker {
|
|
|
180
197
|
for (const unresolvablePath of this.subgraphNameByUnresolvablePath.keys()) {
|
|
181
198
|
if (unresolvablePath.startsWith(selectionPath)) {
|
|
182
199
|
this.subgraphNameByUnresolvablePath.delete(unresolvablePath);
|
|
200
|
+
this.resolvedPaths.add(unresolvablePath);
|
|
183
201
|
}
|
|
184
202
|
}
|
|
185
203
|
}
|
|
@@ -188,10 +206,12 @@ class EntityWalker {
|
|
|
188
206
|
for (const originPath of this.relativeOriginPaths) {
|
|
189
207
|
const fullPath = `${originPath}${selectionPath}`;
|
|
190
208
|
this.subgraphNameByUnresolvablePath.delete(fullPath);
|
|
209
|
+
this.resolvedPaths.add(fullPath);
|
|
191
210
|
if (removeDescendantPaths) {
|
|
192
211
|
for (const unresolvablePath of this.subgraphNameByUnresolvablePath.keys()) {
|
|
193
212
|
if (unresolvablePath.startsWith(fullPath)) {
|
|
194
213
|
this.subgraphNameByUnresolvablePath.delete(unresolvablePath);
|
|
214
|
+
this.resolvedPaths.add(unresolvablePath);
|
|
195
215
|
}
|
|
196
216
|
}
|
|
197
217
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entity-walker.js","sourceRoot":"","sources":["../../../../src/resolvability-graph/walker/entity-walker/entity-walker.ts"],"names":[],"mappings":";;;AAAA,0FAAqF;AAWrF,gDAA8D;AAE9D,MAAa,YAAY;IACvB,2FAA2F;IAC3F,0BAA0B,CAAgB;IAC1C,KAAK,CAAS;IACd,iBAAiB,CAAoC;IACrD,2BAA2B,CAAyC;IACpE,6BAA6B,GAAG,IAAI,GAAG,EAA2B,CAAC;IACnE,yGAAyG;IACzG,8BAA8B,CAAmC;IACjE,eAAe,CAAgB;IAC/B,mBAAmB,CAAsB;IAEzC,YAAY,EACV,0BAA0B,EAC1B,KAAK,EACL,mBAAmB,EACnB,iBAAiB,EACjB,2BAA2B,EAC3B,8BAA8B,EAC9B,eAAe,GACI;QACnB,IAAI,CAAC,0BAA0B,GAAG,0BAA0B,CAAC;QAC7D,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,mBAAmB,GAAG,mBAAmB,CAAC;QAC/C,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;QAC3C,IAAI,CAAC,2BAA2B,GAAG,2BAA2B,CAAC;QAC/D,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"entity-walker.js","sourceRoot":"","sources":["../../../../src/resolvability-graph/walker/entity-walker/entity-walker.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,9 +6,10 @@ export type EntityWalkerParams = {
|
|
|
6
6
|
index: number;
|
|
7
7
|
resDataByNodeName: Map<NodeName, NodeResolutionData>;
|
|
8
8
|
resDataByRelativeOriginPath: Map<SelectionPath, NodeResolutionData>;
|
|
9
|
-
|
|
9
|
+
resolvedPaths: Set<SelectionPath>;
|
|
10
10
|
subgraphNameByUnresolvablePath: Map<SelectionPath, SubgraphName>;
|
|
11
11
|
visitedEntities: Set<NodeName>;
|
|
12
|
+
relativeOriginPaths?: Set<SelectionPath>;
|
|
12
13
|
};
|
|
13
14
|
export type VisitEntityDescendantEdgeParams = {
|
|
14
15
|
edge: Edge;
|
|
@@ -22,9 +23,10 @@ export type PropagateVisitedFieldParams = {
|
|
|
22
23
|
areDescendantsResolved: boolean;
|
|
23
24
|
data: NodeResolutionData;
|
|
24
25
|
fieldName: FieldName;
|
|
25
|
-
|
|
26
|
+
node: GraphNode;
|
|
26
27
|
selectionPath: SelectionPath;
|
|
27
28
|
visited: boolean;
|
|
29
|
+
isExternal?: true;
|
|
28
30
|
};
|
|
29
31
|
export type GetNodeResolutionDataParams = {
|
|
30
32
|
node: GraphNode;
|
|
@@ -17,7 +17,7 @@ export declare class RootFieldWalker {
|
|
|
17
17
|
visitSharedConcreteNode({ node, selectionPath }: VisitNodeParams): VisitNodeResult;
|
|
18
18
|
getNodeResolutionData({ node, selectionPath }: GetNodeResolutionDataParams): NodeResolutionData;
|
|
19
19
|
getSharedNodeResolutionData({ node, selectionPath }: GetNodeResolutionDataParams): NodeResolutionData;
|
|
20
|
-
propagateVisitedField({ areDescendantsResolved, data, fieldName, node, selectionPath, visited, }: PropagateVisitedFieldParams): void;
|
|
20
|
+
propagateVisitedField({ areDescendantsResolved, data, fieldName, isExternal, node, selectionPath, visited, }: PropagateVisitedFieldParams): void;
|
|
21
21
|
propagateSharedVisitedField({ areDescendantsResolved, data, fieldName, node, visited, }: PropagateVisitedSharedFieldParams): void;
|
|
22
22
|
visitRootFieldEdges({ edges, rootTypeName }: VisitRootFieldEdgesParams): VisitNodeResult;
|
|
23
23
|
}
|
|
@@ -17,8 +17,11 @@ class RootFieldWalker {
|
|
|
17
17
|
this.resDataByNodeName = nodeResolutionDataByNodeName;
|
|
18
18
|
}
|
|
19
19
|
visitEdge({ edge, selectionPath }) {
|
|
20
|
-
if (edge.
|
|
21
|
-
return { visited: false, areDescendantsResolved:
|
|
20
|
+
if (edge.isEdgeInaccessible()) {
|
|
21
|
+
return { visited: false, areDescendantsResolved: false };
|
|
22
|
+
}
|
|
23
|
+
if (edge.isExternal) {
|
|
24
|
+
return { visited: false, areDescendantsResolved: false, isExternal: true };
|
|
22
25
|
}
|
|
23
26
|
if (edge.node.isLeaf) {
|
|
24
27
|
return { visited: true, areDescendantsResolved: true };
|
|
@@ -85,11 +88,12 @@ class RootFieldWalker {
|
|
|
85
88
|
};
|
|
86
89
|
}
|
|
87
90
|
for (const [fieldName, edge] of node.headToTailEdges) {
|
|
88
|
-
const {
|
|
91
|
+
const { areDescendantsResolved, isExternal, visited } = this.visitEdge({ edge, selectionPath });
|
|
89
92
|
this.propagateVisitedField({
|
|
90
93
|
areDescendantsResolved,
|
|
91
|
-
fieldName,
|
|
92
94
|
data,
|
|
95
|
+
fieldName,
|
|
96
|
+
isExternal,
|
|
93
97
|
node,
|
|
94
98
|
selectionPath,
|
|
95
99
|
visited,
|
|
@@ -107,8 +111,11 @@ class RootFieldWalker {
|
|
|
107
111
|
};
|
|
108
112
|
}
|
|
109
113
|
visitSharedEdge({ edge, selectionPath }) {
|
|
110
|
-
if (edge.
|
|
111
|
-
return { visited: false, areDescendantsResolved:
|
|
114
|
+
if (edge.isEdgeInaccessible()) {
|
|
115
|
+
return { visited: false, areDescendantsResolved: false };
|
|
116
|
+
}
|
|
117
|
+
if (edge.isExternal) {
|
|
118
|
+
return { visited: false, areDescendantsResolved: false, isExternal: true };
|
|
112
119
|
}
|
|
113
120
|
if (edge.node.isLeaf) {
|
|
114
121
|
return { visited: true, areDescendantsResolved: true };
|
|
@@ -198,7 +205,11 @@ class RootFieldWalker {
|
|
|
198
205
|
}));
|
|
199
206
|
return (0, utils_1.getValueOrDefault)(this.resDataByPath, selectionPath, () => dataByNodeName.copy());
|
|
200
207
|
}
|
|
201
|
-
propagateVisitedField({ areDescendantsResolved, data, fieldName, node, selectionPath, visited, }) {
|
|
208
|
+
propagateVisitedField({ areDescendantsResolved, data, fieldName, isExternal, node, selectionPath, visited, }) {
|
|
209
|
+
if (isExternal) {
|
|
210
|
+
data.addExternalSubgraphName({ fieldName, subgraphName: node.subgraphName });
|
|
211
|
+
return;
|
|
212
|
+
}
|
|
202
213
|
if (!visited) {
|
|
203
214
|
return;
|
|
204
215
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"root-field-walker.js","sourceRoot":"","sources":["../../../../src/resolvability-graph/walker/root-field-walkers/root-field-walker.ts"],"names":[],"mappings":";;;AASA,gDAA8D;AAE9D,0FAAqF;AAErF,MAAa,eAAe;IAC1B,KAAK,CAAS;IACd,iBAAiB,CAAoC;IACrD,aAAa,GAAG,IAAI,GAAG,EAAqC,CAAC;IAC7D,8BAA8B;IAC9B,qBAAqB,GAAG,IAAI,GAAG,EAAgC,CAAC;IAChE,gCAAgC;IAChC,qBAAqB,GAAG,IAAI,GAAG,EAAgC,CAAC;IAChE,iBAAiB,GAAG,IAAI,GAAG,EAAiB,CAAC;IAE7C,YAAY,EAAE,KAAK,EAAE,4BAA4B,EAAyB;QACxE,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,iBAAiB,GAAG,4BAA4B,CAAC;IACxD,CAAC;IAED,SAAS,CAAC,EAAE,IAAI,EAAE,aAAa,EAAmB;QAChD,IAAI,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"root-field-walker.js","sourceRoot":"","sources":["../../../../src/resolvability-graph/walker/root-field-walkers/root-field-walker.ts"],"names":[],"mappings":"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"}
|