@wundergraph/composition 0.51.1 → 0.51.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.
- 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 +2 -2
|
@@ -4,16 +4,19 @@ export declare class Edge {
|
|
|
4
4
|
edgeName: string;
|
|
5
5
|
id: number;
|
|
6
6
|
isAbstractEdge: boolean;
|
|
7
|
+
isExternal: boolean;
|
|
7
8
|
isInaccessible: boolean;
|
|
8
9
|
node: GraphNode;
|
|
9
10
|
visitedIndices: Set<number>;
|
|
10
11
|
constructor(id: number, node: GraphNode, edgeName: string, isAbstractEdge?: boolean);
|
|
12
|
+
isEdgeInaccessible(): boolean;
|
|
11
13
|
}
|
|
12
14
|
export type GraphNodeOptions = {
|
|
13
15
|
isAbstract?: boolean;
|
|
14
16
|
isLeaf?: boolean;
|
|
15
17
|
};
|
|
16
18
|
export declare class GraphNode {
|
|
19
|
+
externalFieldSets: Set<string>;
|
|
17
20
|
fieldDataByName: Map<string, GraphFieldData>;
|
|
18
21
|
headToTailEdges: Map<string, Edge>;
|
|
19
22
|
entityEdges: Edge[];
|
|
@@ -6,6 +6,7 @@ class Edge {
|
|
|
6
6
|
edgeName;
|
|
7
7
|
id;
|
|
8
8
|
isAbstractEdge;
|
|
9
|
+
isExternal = false;
|
|
9
10
|
isInaccessible = false;
|
|
10
11
|
node;
|
|
11
12
|
visitedIndices = new Set();
|
|
@@ -15,9 +16,13 @@ class Edge {
|
|
|
15
16
|
this.isAbstractEdge = isAbstractEdge;
|
|
16
17
|
this.node = node;
|
|
17
18
|
}
|
|
19
|
+
isEdgeInaccessible() {
|
|
20
|
+
return this.isInaccessible || this.node.isInaccessible;
|
|
21
|
+
}
|
|
18
22
|
}
|
|
19
23
|
exports.Edge = Edge;
|
|
20
24
|
class GraphNode {
|
|
25
|
+
externalFieldSets = new Set();
|
|
21
26
|
fieldDataByName = new Map();
|
|
22
27
|
headToTailEdges = new Map();
|
|
23
28
|
entityEdges = new Array();
|
|
@@ -69,7 +74,6 @@ exports.GraphNode = GraphNode;
|
|
|
69
74
|
class RootNode {
|
|
70
75
|
fieldDataByName = new Map();
|
|
71
76
|
headToSharedTailEdges = new Map();
|
|
72
|
-
// It is used
|
|
73
77
|
isAbstract = false;
|
|
74
78
|
isRootNode = true;
|
|
75
79
|
typeName;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graph-nodes.js","sourceRoot":"","sources":["../../src/resolvability-graph/graph-nodes.ts"],"names":[],"mappings":";;;AAAA,0CAAgF;AAIhF,MAAa,IAAI;IACf,QAAQ,CAAS;IACjB,EAAE,CAAS;IACX,cAAc,CAAU;IACxB,cAAc,GAAG,KAAK,CAAC;IACvB,IAAI,CAAY;IAChB,cAAc,GAAG,IAAI,GAAG,EAAU,CAAC;IAEnC,YAAY,EAAU,EAAE,IAAe,EAAE,QAAgB,EAAE,cAAc,GAAG,KAAK;QAC/E,IAAI,CAAC,QAAQ,GAAG,cAAc,CAAC,CAAC,CAAC,UAAU,QAAQ,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;QACjE,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;CACF;
|
|
1
|
+
{"version":3,"file":"graph-nodes.js","sourceRoot":"","sources":["../../src/resolvability-graph/graph-nodes.ts"],"names":[],"mappings":"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"}
|
|
@@ -26,7 +26,7 @@ export declare class Graph {
|
|
|
26
26
|
setNodeInaccessible(typeName: TypeName): void;
|
|
27
27
|
initializeNode(typeName: TypeName, fieldDataByName: Map<FieldName, GraphFieldData>): void;
|
|
28
28
|
setSubgraphName(subgraphName: SubgraphName): void;
|
|
29
|
-
visitEntity({ encounteredEntityNodeNames, entityNodeName, relativeOriginPaths, resDataByRelativeOriginPath, subgraphNameByUnresolvablePath, visitedEntities, }: VisitEntityParams): void;
|
|
29
|
+
visitEntity({ encounteredEntityNodeNames, entityNodeName, relativeOriginPaths, resDataByRelativeOriginPath, resolvedPaths, subgraphNameByUnresolvablePath, visitedEntities, }: VisitEntityParams): void;
|
|
30
30
|
validate(): ValidationResult;
|
|
31
31
|
consolidateUnresolvableRootWithEntityPaths({ pathFromRoot, resDataByRelativeOriginPath, subgraphNameByUnresolvablePath, walker, }: ConsolidateUnresolvablePathsParams): void;
|
|
32
32
|
consolidateUnresolvableEntityWithRootPaths({ pathFromRoot, resDataByRelativeOriginPath, subgraphNameByUnresolvablePath, walker, }: ConsolidateUnresolvablePathsParams): void;
|
|
@@ -94,6 +94,10 @@ class Graph {
|
|
|
94
94
|
}
|
|
95
95
|
node.hasEntitySiblings = true;
|
|
96
96
|
for (const fieldSet of node.satisfiedFieldSets) {
|
|
97
|
+
// If the field set is unresolvable in the entity's own subgraph, it cannot be used to jump to other subgraphs.
|
|
98
|
+
if (node.externalFieldSets.has(fieldSet)) {
|
|
99
|
+
continue;
|
|
100
|
+
}
|
|
97
101
|
const subgraphNames = entityDataNode.targetSubgraphNamesByFieldSet.get(fieldSet);
|
|
98
102
|
for (const subgraphName of subgraphNames ?? []) {
|
|
99
103
|
// A subgraph should not jump to itself
|
|
@@ -111,7 +115,7 @@ class Graph {
|
|
|
111
115
|
setSubgraphName(subgraphName) {
|
|
112
116
|
this.subgraphName = subgraphName;
|
|
113
117
|
}
|
|
114
|
-
visitEntity({ encounteredEntityNodeNames, entityNodeName, relativeOriginPaths, resDataByRelativeOriginPath, subgraphNameByUnresolvablePath, visitedEntities, }) {
|
|
118
|
+
visitEntity({ encounteredEntityNodeNames, entityNodeName, relativeOriginPaths, resDataByRelativeOriginPath, resolvedPaths, subgraphNameByUnresolvablePath, visitedEntities, }) {
|
|
115
119
|
const entityNode = this.nodeByNodeName.get(entityNodeName);
|
|
116
120
|
if (!entityNode) {
|
|
117
121
|
throw new Error(`Fatal: Could not find entity node for "${entityNodeName}".`);
|
|
@@ -127,6 +131,7 @@ class Graph {
|
|
|
127
131
|
relativeOriginPaths,
|
|
128
132
|
resDataByNodeName: this.resDataByNodeName,
|
|
129
133
|
resDataByRelativeOriginPath,
|
|
134
|
+
resolvedPaths,
|
|
130
135
|
subgraphNameByUnresolvablePath,
|
|
131
136
|
visitedEntities,
|
|
132
137
|
});
|
|
@@ -160,6 +165,7 @@ class Graph {
|
|
|
160
165
|
selectionPath: selectionPath,
|
|
161
166
|
}),
|
|
162
167
|
resDataByRelativeOriginPath,
|
|
168
|
+
resolvedPaths,
|
|
163
169
|
subgraphNameByUnresolvablePath,
|
|
164
170
|
visitedEntities,
|
|
165
171
|
});
|
|
@@ -254,6 +260,7 @@ class Graph {
|
|
|
254
260
|
}
|
|
255
261
|
}
|
|
256
262
|
validateSharedRootFieldEntities({ rootFieldData, walker }) {
|
|
263
|
+
const resolvedPaths = new Set();
|
|
257
264
|
for (const [pathFromRoot, entityNodeNames] of walker.entityNodeNamesByPath) {
|
|
258
265
|
const subgraphNameByUnresolvablePath = new Map();
|
|
259
266
|
// Shared fields are unique contexts, so the resolution data cannot be reused.
|
|
@@ -266,6 +273,7 @@ class Graph {
|
|
|
266
273
|
encounteredEntityNodeNames: new Set(),
|
|
267
274
|
entityNodeName,
|
|
268
275
|
resDataByRelativeOriginPath: resDataByRelativeOriginPath,
|
|
276
|
+
resolvedPaths,
|
|
269
277
|
subgraphNameByUnresolvablePath,
|
|
270
278
|
visitedEntities: new Set(),
|
|
271
279
|
});
|
|
@@ -328,6 +336,7 @@ class Graph {
|
|
|
328
336
|
};
|
|
329
337
|
}
|
|
330
338
|
validateRootFieldEntities({ rootFieldData, walker }) {
|
|
339
|
+
const resolvedPaths = new Set();
|
|
331
340
|
for (const [entityNodeName, entityPaths] of walker.pathsByEntityNodeName) {
|
|
332
341
|
const subgraphNameByUnresolvablePath = new Map();
|
|
333
342
|
if (this.resDataByNodeName.has(entityNodeName)) {
|
|
@@ -338,6 +347,7 @@ class Graph {
|
|
|
338
347
|
encounteredEntityNodeNames: new Set(),
|
|
339
348
|
entityNodeName,
|
|
340
349
|
resDataByRelativeOriginPath: resDataByRelativeOriginPath,
|
|
350
|
+
resolvedPaths,
|
|
341
351
|
subgraphNameByUnresolvablePath,
|
|
342
352
|
visitedEntities: (0, utils_2.getValueOrDefault)(this.visitedEntitiesByOriginEntity, entityNodeName, () => new Set()),
|
|
343
353
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graph.js","sourceRoot":"","sources":["../../src/resolvability-graph/graph.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"graph.js","sourceRoot":"","sources":["../../src/resolvability-graph/graph.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { GraphFieldData } from '../../utils/types';
|
|
2
2
|
import { FieldName } from '../types/types';
|
|
3
|
-
import { NodeResolutionDataParams } from './types/params';
|
|
3
|
+
import { AddExternalSubgraphNameParams, NodeResolutionDataParams } from './types/params';
|
|
4
4
|
export declare class NodeResolutionData {
|
|
5
5
|
#private;
|
|
6
6
|
readonly fieldDataByName: ReadonlyMap<FieldName, GraphFieldData>;
|
|
@@ -8,8 +8,9 @@ export declare class NodeResolutionData {
|
|
|
8
8
|
resolvedFieldNames: Set<FieldName>;
|
|
9
9
|
typeName: string;
|
|
10
10
|
constructor({ fieldDataByName, isResolved, resolvedDescendantNames, resolvedFieldNames, typeName, }: NodeResolutionDataParams);
|
|
11
|
-
addData(
|
|
11
|
+
addData({ resolvedDescendantNames, resolvedFieldNames }: NodeResolutionData): void;
|
|
12
12
|
addResolvedFieldName(fieldName: FieldName): void;
|
|
13
|
+
addExternalSubgraphName({ fieldName, subgraphName }: AddExternalSubgraphNameParams): void;
|
|
13
14
|
copy(): NodeResolutionData;
|
|
14
15
|
areDescendantsResolved(): boolean;
|
|
15
16
|
isResolved(): boolean;
|
|
@@ -15,11 +15,11 @@ class NodeResolutionData {
|
|
|
15
15
|
this.resolvedFieldNames = new Set(resolvedFieldNames);
|
|
16
16
|
this.typeName = typeName;
|
|
17
17
|
}
|
|
18
|
-
addData(
|
|
19
|
-
for (const fieldName of
|
|
18
|
+
addData({ resolvedDescendantNames, resolvedFieldNames }) {
|
|
19
|
+
for (const fieldName of resolvedFieldNames) {
|
|
20
20
|
this.addResolvedFieldName(fieldName);
|
|
21
21
|
}
|
|
22
|
-
for (const fieldName of
|
|
22
|
+
for (const fieldName of resolvedDescendantNames) {
|
|
23
23
|
this.resolvedDescendantNames.add(fieldName);
|
|
24
24
|
}
|
|
25
25
|
}
|
|
@@ -29,6 +29,13 @@ class NodeResolutionData {
|
|
|
29
29
|
}
|
|
30
30
|
this.resolvedFieldNames.add(fieldName);
|
|
31
31
|
}
|
|
32
|
+
addExternalSubgraphName({ fieldName, subgraphName }) {
|
|
33
|
+
const fieldData = this.fieldDataByName.get(fieldName);
|
|
34
|
+
if (!fieldData) {
|
|
35
|
+
throw (0, errors_1.unexpectedEdgeFatalError)(this.typeName, [fieldName]);
|
|
36
|
+
}
|
|
37
|
+
fieldData.externalSubgraphNames.add(subgraphName);
|
|
38
|
+
}
|
|
32
39
|
copy() {
|
|
33
40
|
return new NodeResolutionData({
|
|
34
41
|
// Only used for reading, so just a shallow copy.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node-resolution-data.js","sourceRoot":"","sources":["../../../src/resolvability-graph/node-resolution-data/node-resolution-data.ts"],"names":[],"mappings":";;;AACA,gDAA+D;AAI/D,MAAa,kBAAkB;IAC7B,WAAW,GAAG,KAAK,CAAC;IACX,eAAe,CAAyC;IACjE,uBAAuB,CAAiB;IACxC,kBAAkB,CAAiB;IACnC,QAAQ,CAAS;IAEjB,YAAY,EACV,eAAe,EACf,UAAU,GAAG,KAAK,EAClB,uBAAuB,EACvB,kBAAkB,EAClB,QAAQ,GACiB;QACzB,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;QAC9B,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;QACvC,IAAI,CAAC,uBAAuB,GAAG,IAAI,GAAG,CAAY,uBAAuB,CAAC,CAAC;QAC3E,IAAI,CAAC,kBAAkB,GAAG,IAAI,GAAG,CAAY,kBAAkB,CAAC,CAAC;QACjE,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAED,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"node-resolution-data.js","sourceRoot":"","sources":["../../../src/resolvability-graph/node-resolution-data/node-resolution-data.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { FieldName, TypeName } from '../../types/types';
|
|
1
|
+
import { FieldName, SubgraphName, TypeName } from '../../types/types';
|
|
2
2
|
import { GraphFieldData } from '../../../utils/types';
|
|
3
3
|
export type NodeResolutionDataParams = {
|
|
4
4
|
readonly fieldDataByName: ReadonlyMap<FieldName, GraphFieldData>;
|
|
@@ -7,3 +7,7 @@ export type NodeResolutionDataParams = {
|
|
|
7
7
|
resolvedDescendantNames?: Set<FieldName>;
|
|
8
8
|
resolvedFieldNames?: Set<FieldName>;
|
|
9
9
|
};
|
|
10
|
+
export type AddExternalSubgraphNameParams = {
|
|
11
|
+
fieldName: FieldName;
|
|
12
|
+
subgraphName: SubgraphName;
|
|
13
|
+
};
|
|
@@ -5,6 +5,7 @@ export type VisitEntityParams = {
|
|
|
5
5
|
encounteredEntityNodeNames: Set<NodeName>;
|
|
6
6
|
entityNodeName: NodeName;
|
|
7
7
|
resDataByRelativeOriginPath: Map<SelectionPath, NodeResolutionData>;
|
|
8
|
+
resolvedPaths: Set<SelectionPath>;
|
|
8
9
|
subgraphNameByUnresolvablePath: Map<SelectionPath, SubgraphName>;
|
|
9
10
|
visitedEntities: Set<NodeName>;
|
|
10
11
|
relativeOriginPaths?: Set<SelectionPath>;
|
|
@@ -3,10 +3,11 @@ import { FieldName, RootFieldData, SelectionPath, SubgraphName, TypeName } from
|
|
|
3
3
|
import { GenerateResolvabilityErrorReasonsParams, GenerateSharedResolvabilityErrorReasonsParams, GetMultipliedRelativeOriginPathsParams, ResolvabilityErrorsParams, RootResolvabilityErrorsParams, SharedResolvabilityErrorsParams } from './types/params';
|
|
4
4
|
import { SelectionSetSegments } from './types/types';
|
|
5
5
|
export type UnresolvableFieldData = {
|
|
6
|
-
|
|
6
|
+
externalSubgraphNames: Set<SubgraphName>;
|
|
7
|
+
fieldName: FieldName;
|
|
7
8
|
selectionSet: string;
|
|
8
|
-
subgraphNames: Set<
|
|
9
|
-
typeName:
|
|
9
|
+
subgraphNames: Set<SubgraphName>;
|
|
10
|
+
typeName: TypeName;
|
|
10
11
|
};
|
|
11
12
|
export declare function newRootFieldData(typeName: TypeName, fieldName: FieldName, subgraphNames: Set<SubgraphName>): RootFieldData;
|
|
12
13
|
export declare function generateResolvabilityErrorReasons({ entityAncestorData, rootFieldData, unresolvableFieldData, }: GenerateResolvabilityErrorReasonsParams): Array<string>;
|
|
@@ -33,13 +33,21 @@ function formatFieldNameSelection(fieldData, pathLength) {
|
|
|
33
33
|
`}\n`);
|
|
34
34
|
}
|
|
35
35
|
function generateResolvabilityErrorReasons({ entityAncestorData, rootFieldData, unresolvableFieldData, }) {
|
|
36
|
-
const { fieldName, typeName, subgraphNames } = unresolvableFieldData;
|
|
37
|
-
const reasons = [
|
|
38
|
-
|
|
39
|
-
|
|
36
|
+
const { externalSubgraphNames, fieldName, typeName, subgraphNames } = unresolvableFieldData;
|
|
37
|
+
const reasons = [rootFieldData.message];
|
|
38
|
+
if (externalSubgraphNames.size > 0) {
|
|
39
|
+
const nonExternalSubgraphNames = subgraphNames.difference(externalSubgraphNames);
|
|
40
|
+
reasons.push(`The field "${typeName}.${fieldName}" is defined (and resolvable) in the following subgraph` +
|
|
41
|
+
(nonExternalSubgraphNames.size > 1 ? `s` : ``) +
|
|
42
|
+
`: "${[...nonExternalSubgraphNames].join(string_constants_1.QUOTATION_JOIN)}".`, `The field "${typeName}.${fieldName}" is defined "@external" (and unresolvable) in the following subgraph` +
|
|
43
|
+
(externalSubgraphNames.size > 1 ? `s` : ``) +
|
|
44
|
+
`: "${[...externalSubgraphNames].join(string_constants_1.QUOTATION_JOIN)}".`);
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
reasons.push(`The field "${typeName}.${fieldName}" is defined in the following subgraph` +
|
|
40
48
|
(subgraphNames.size > 1 ? `s` : ``) +
|
|
41
|
-
`: "${[...subgraphNames].join(string_constants_1.QUOTATION_JOIN)}"
|
|
42
|
-
|
|
49
|
+
`: "${[...subgraphNames].join(string_constants_1.QUOTATION_JOIN)}".`);
|
|
50
|
+
}
|
|
43
51
|
if (entityAncestorData) {
|
|
44
52
|
let hasIntersectingTargetSubgraph = false;
|
|
45
53
|
for (const [targetSubgraphName, fieldSets] of entityAncestorData.fieldSetsByTargetSubgraphName) {
|
|
@@ -48,6 +56,9 @@ function generateResolvabilityErrorReasons({ entityAncestorData, rootFieldData,
|
|
|
48
56
|
}
|
|
49
57
|
hasIntersectingTargetSubgraph = true;
|
|
50
58
|
for (const fieldSet of fieldSets) {
|
|
59
|
+
if (entityAncestorData.subgraphName === targetSubgraphName) {
|
|
60
|
+
continue;
|
|
61
|
+
}
|
|
51
62
|
reasons.push(`The entity ancestor "${entityAncestorData.typeName}" in subgraph "${entityAncestorData.subgraphName}" does not satisfy the key field set "${fieldSet}" to access subgraph "${targetSubgraphName}".`);
|
|
52
63
|
}
|
|
53
64
|
}
|
|
@@ -68,13 +79,21 @@ function generateResolvabilityErrorReasons({ entityAncestorData, rootFieldData,
|
|
|
68
79
|
return reasons;
|
|
69
80
|
}
|
|
70
81
|
function generateSharedResolvabilityErrorReasons({ entityAncestors, rootFieldData, unresolvableFieldData, }) {
|
|
71
|
-
const { fieldName, typeName, subgraphNames } = unresolvableFieldData;
|
|
72
|
-
const reasons = [
|
|
73
|
-
|
|
74
|
-
|
|
82
|
+
const { externalSubgraphNames, fieldName, typeName, subgraphNames } = unresolvableFieldData;
|
|
83
|
+
const reasons = [rootFieldData.message];
|
|
84
|
+
if (externalSubgraphNames.size > 0) {
|
|
85
|
+
const nonExternalSubgraphNames = subgraphNames.difference(externalSubgraphNames);
|
|
86
|
+
reasons.push(`The field "${typeName}.${fieldName}" is defined (and resolvable) in the following subgraph` +
|
|
87
|
+
(nonExternalSubgraphNames.size > 1 ? `s` : ``) +
|
|
88
|
+
`: "${[...nonExternalSubgraphNames].join(string_constants_1.QUOTATION_JOIN)}".`, `The field "${typeName}.${fieldName}" is defined "@external" (and unresolvable) in the following subgraph` +
|
|
89
|
+
(externalSubgraphNames.size > 1 ? `s` : ``) +
|
|
90
|
+
`: "${[...externalSubgraphNames].join(string_constants_1.QUOTATION_JOIN)}".`);
|
|
91
|
+
}
|
|
92
|
+
else {
|
|
93
|
+
reasons.push(`The field "${typeName}.${fieldName}" is defined in the following subgraph` +
|
|
75
94
|
(subgraphNames.size > 1 ? `s` : ``) +
|
|
76
|
-
`: "${[...subgraphNames].join(string_constants_1.QUOTATION_JOIN)}"
|
|
77
|
-
|
|
95
|
+
`: "${[...subgraphNames].join(string_constants_1.QUOTATION_JOIN)}".`);
|
|
96
|
+
}
|
|
78
97
|
let hasIntersectingTargetSubgraph = false;
|
|
79
98
|
for (const [targetSubgraphName, fieldSets] of entityAncestors.fieldSetsByTargetSubgraphName) {
|
|
80
99
|
if (!subgraphNames.has(targetSubgraphName)) {
|
|
@@ -145,6 +164,7 @@ function generateRootResolvabilityErrors({ resDataByPath, rootFieldData, unresol
|
|
|
145
164
|
const selectionSetSegments = generateSelectionSetSegments(path);
|
|
146
165
|
for (const [fieldName, fieldData] of fieldDataByName) {
|
|
147
166
|
unresolvableFieldDatas.push({
|
|
167
|
+
externalSubgraphNames: fieldData.externalSubgraphNames,
|
|
148
168
|
fieldName,
|
|
149
169
|
selectionSet: renderSelectionSet(selectionSetSegments, fieldData),
|
|
150
170
|
subgraphNames: fieldData.subgraphNames,
|
|
@@ -174,6 +194,7 @@ function generateEntityResolvabilityErrors({ entityAncestorData, resDataByPath,
|
|
|
174
194
|
const selectionSetSegments = generateSelectionSetSegments(fullPath);
|
|
175
195
|
for (const [fieldName, fieldData] of fieldDataByName) {
|
|
176
196
|
unresolvableFieldDatas.push({
|
|
197
|
+
externalSubgraphNames: fieldData.externalSubgraphNames,
|
|
177
198
|
fieldName,
|
|
178
199
|
selectionSet: renderSelectionSet(selectionSetSegments, fieldData),
|
|
179
200
|
subgraphNames: fieldData.subgraphNames,
|
|
@@ -204,6 +225,7 @@ function generateSharedEntityResolvabilityErrors({ entityAncestors, resDataByPat
|
|
|
204
225
|
const selectionSetSegments = generateSelectionSetSegments(fullPath);
|
|
205
226
|
for (const [fieldName, fieldData] of fieldDataByName) {
|
|
206
227
|
unresolvableFieldDatas.push({
|
|
228
|
+
externalSubgraphNames: fieldData.externalSubgraphNames,
|
|
207
229
|
fieldName,
|
|
208
230
|
selectionSet: renderSelectionSet(selectionSetSegments, fieldData),
|
|
209
231
|
subgraphNames: fieldData.subgraphNames,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/resolvability-graph/utils/utils.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/resolvability-graph/utils/utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,16 +6,17 @@ export declare class EntityWalker {
|
|
|
6
6
|
index: number;
|
|
7
7
|
resDataByNodeName: Map<NodeName, NodeResolutionData>;
|
|
8
8
|
resDataByRelativeOriginPath: Map<SelectionPath, NodeResolutionData>;
|
|
9
|
+
resolvedPaths: Set<SelectionPath>;
|
|
9
10
|
selectionPathByEntityNodeName: Map<`${string}.${string}`, string>;
|
|
10
11
|
subgraphNameByUnresolvablePath: Map<SelectionPath, SubgraphName>;
|
|
11
12
|
visitedEntities: Set<NodeName>;
|
|
12
13
|
relativeOriginPaths?: Set<SelectionPath>;
|
|
13
|
-
constructor({ encounteredEntityNodeNames, index, relativeOriginPaths, resDataByNodeName, resDataByRelativeOriginPath, subgraphNameByUnresolvablePath, visitedEntities, }: EntityWalkerParams);
|
|
14
|
+
constructor({ encounteredEntityNodeNames, index, relativeOriginPaths, resDataByNodeName, resDataByRelativeOriginPath, resolvedPaths, subgraphNameByUnresolvablePath, visitedEntities, }: EntityWalkerParams);
|
|
14
15
|
getNodeResolutionData({ node: { fieldDataByName, nodeName, typeName }, selectionPath, }: GetNodeResolutionDataParams): NodeResolutionData;
|
|
15
16
|
visitEntityDescendantEdge({ edge, selectionPath }: VisitEntityDescendantEdgeParams): VisitNodeResult;
|
|
16
17
|
visitEntityDescendantConcreteNode({ node, selectionPath }: VisitEntityDescendantNodeParams): VisitNodeResult;
|
|
17
18
|
visitEntityDescendantAbstractNode({ node, selectionPath }: VisitEntityDescendantNodeParams): VisitNodeResult;
|
|
18
|
-
propagateVisitedField({ areDescendantsResolved, data, fieldName,
|
|
19
|
+
propagateVisitedField({ areDescendantsResolved, data, fieldName, isExternal, node, selectionPath, visited, }: PropagateVisitedFieldParams): void;
|
|
19
20
|
addUnresolvablePaths({ selectionPath, subgraphName }: AddUnresolvablePathsParams): void;
|
|
20
21
|
removeUnresolvablePaths({ selectionPath, removeDescendantPaths }: RemoveUnresolvablePathsParams): void;
|
|
21
22
|
}
|
|
@@ -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
|
}
|