@wundergraph/composition 0.37.0 → 0.37.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 (70) hide show
  1. package/README.md +41 -48
  2. package/dist/ast/utils.js +2 -2
  3. package/dist/ast/utils.js.map +1 -1
  4. package/dist/errors/errors.d.ts +9 -12
  5. package/dist/errors/errors.js +71 -68
  6. package/dist/errors/errors.js.map +1 -1
  7. package/dist/federation/types.d.ts +2 -2
  8. package/dist/index.d.ts +4 -2
  9. package/dist/index.js +4 -2
  10. package/dist/index.js.map +1 -1
  11. package/dist/normalization/normalization.d.ts +3 -1
  12. package/dist/normalization/normalization.js +8 -0
  13. package/dist/normalization/normalization.js.map +1 -1
  14. package/dist/normalization/types.d.ts +2 -2
  15. package/dist/resolvability-graph/graph-nodes.d.ts +1 -1
  16. package/dist/resolvability-graph/graph-nodes.js.map +1 -1
  17. package/dist/resolvability-graph/graph.d.ts +1 -2
  18. package/dist/resolvability-graph/graph.js.map +1 -1
  19. package/dist/resolvability-graph/utils.d.ts +1 -1
  20. package/dist/resolvability-graph/utils.js.map +1 -1
  21. package/dist/router-configuration/{router-configuration.d.ts → types.d.ts} +3 -4
  22. package/dist/router-configuration/types.js +3 -0
  23. package/dist/router-configuration/types.js.map +1 -0
  24. package/dist/router-configuration/utils.d.ts +3 -0
  25. package/dist/router-configuration/{router-configuration.js → utils.js} +9 -1
  26. package/dist/router-configuration/utils.js.map +1 -0
  27. package/dist/schema-building/types.d.ts +23 -7
  28. package/dist/schema-building/types.js.map +1 -1
  29. package/dist/schema-building/utils.d.ts +3 -6
  30. package/dist/schema-building/utils.js +11 -8
  31. package/dist/schema-building/utils.js.map +1 -1
  32. package/dist/subgraph/types.d.ts +1 -1
  33. package/dist/tsconfig.tsbuildinfo +1 -1
  34. package/dist/utils/composition-version.js +1 -1
  35. package/dist/utils/string-constants.d.ts +3 -2
  36. package/dist/utils/string-constants.js +5 -4
  37. package/dist/utils/string-constants.js.map +1 -1
  38. package/dist/utils/types.d.ts +38 -0
  39. package/dist/utils/utils.d.ts +0 -48
  40. package/dist/utils/utils.js +0 -10
  41. package/dist/utils/utils.js.map +1 -1
  42. package/dist/v1/federation/federation-factory.d.ts +4 -4
  43. package/dist/v1/federation/federation-factory.js +46 -35
  44. package/dist/v1/federation/federation-factory.js.map +1 -1
  45. package/dist/v1/federation/utils.d.ts +7 -8
  46. package/dist/v1/federation/utils.js +22 -20
  47. package/dist/v1/federation/utils.js.map +1 -1
  48. package/dist/v1/normalization/normalization-factory.d.ts +19 -22
  49. package/dist/v1/normalization/normalization-factory.js +568 -70
  50. package/dist/v1/normalization/normalization-factory.js.map +1 -1
  51. package/dist/v1/normalization/types.d.ts +49 -0
  52. package/dist/v1/normalization/types.js +3 -0
  53. package/dist/v1/normalization/types.js.map +1 -0
  54. package/dist/v1/normalization/utils.d.ts +7 -42
  55. package/dist/v1/normalization/utils.js +59 -382
  56. package/dist/v1/normalization/utils.js.map +1 -1
  57. package/dist/v1/normalization/walkers.js +36 -23
  58. package/dist/v1/normalization/walkers.js.map +1 -1
  59. package/dist/v1/utils/utils.d.ts +15 -12
  60. package/dist/v1/utils/utils.js +53 -47
  61. package/dist/v1/utils/utils.js.map +1 -1
  62. package/dist/v1/warnings/warnings.d.ts +4 -3
  63. package/dist/v1/warnings/warnings.js +47 -17
  64. package/dist/v1/warnings/warnings.js.map +1 -1
  65. package/dist/warnings/{warnings.js → types.js} +1 -1
  66. package/dist/warnings/types.js.map +1 -0
  67. package/package.json +3 -3
  68. package/dist/router-configuration/router-configuration.js.map +0 -1
  69. package/dist/warnings/warnings.js.map +0 -1
  70. /package/dist/warnings/{warnings.d.ts → types.d.ts} +0 -0
package/README.md CHANGED
@@ -19,10 +19,10 @@ The function must be provided with an array of at least one [`Subgraph` object](
19
19
  An example federation of two simple subgraphs:
20
20
 
21
21
  ```typescript
22
- import { federateSubgraphs, Subgraph } from '@wundergraph/composition';
22
+ import { federateSubgraphs, FederationResult, Subgraph } from '@wundergraph/composition';
23
23
  import { parse } from 'graphql';
24
24
 
25
- const federationResult: FederationResult = federateSubgraphs([subgraphA, subgraphB]);
25
+ const result: FederationResult = federateSubgraphs([subgraphA, subgraphB]);
26
26
 
27
27
  const subgraphA: Subgraph = {
28
28
  name: 'subgraph-a',
@@ -51,26 +51,34 @@ const subgraphB: Subgraph = {
51
51
  };
52
52
  ```
53
53
 
54
- ### FederationResultContainer properties
54
+ ### FederationResult
55
55
 
56
- The `federateSubgraphs` function returns a `FederationResultContainer` object.
57
- If federation was successful, the `errors` property will be undefined, and the `federationResult` object will be
58
- defined.
56
+ The `federateSubgraphs` function returns `FederationResult`, which is a union of `FederationResultSuccess` and
57
+ `FederationResultFailure`. Both types in the union always define the following mutual properties:
59
58
 
60
- | property | Description | type |
61
- |------------------|-------------------------------------|-------------------------------|
62
- | errors | array of composition errors | Error[] \| undefined |
63
- | federationResult | FederationResult object (see below) | FederationResult \| undefined |
59
+ | property | Description | type |
60
+ |----------|----------------------------------------|----------------|
61
+ | success | assertion of composition success | boolean |
62
+ | warnings | array of composition warnings (if any) | Array<Warning> |
64
63
 
65
- ### FederationResult properties
64
+ #### FederationResultSuccess
65
+ If federation was successful, the return type is `FederationResultSuccess`.
66
66
 
67
- If federation was successful, `FieldResultContainer` will contain a defined `federationResult` property.
67
+ | property | Description | type |
68
+ |----------------------|-------------------------------------------------------------|-----------------------|
69
+ | federatedGraphAST | an AST object representation of the federated graph sdl | graphql.DocumentNode |
70
+ | federatedGraphSchema | a schema object representation of the federated graph sdl | graphql.GraphQLSchema |
71
+ | success | assertion that composition was successful | true |
72
+ | warnings | array of composition warnings (if any) | Array<Warning> |
68
73
 
69
- | property | Description | type |
70
- |------------------------|-----------------------------------------------------------|-----------------------------|
71
- | argumentConfigurations | array of router argument configurations | ArgumentConfigurationData[] |
72
- | federatedGraphAST | an AST object representation of the federated graph sdl | graphql.DocumentNode |
73
- | federatedGraphSchema | a schema object representation of the federated graph sdl | graphql.GraphQLSchema |
74
+ #### FederationResultFailure
75
+ If federation was unsuccessful, the return type is `FederationResultFailure`.
76
+
77
+ | property | Description | type |
78
+ |----------|---------------------------------------------|----------------|
79
+ | errors | array of composition errors | Array<Error> |
80
+ | success | assertion that composition was unsuccessful | false |
81
+ | warnings | array of composition warnings (if any) | Array<Warning> |
74
82
 
75
83
  ### Debugging
76
84
 
@@ -80,18 +88,22 @@ In these cases, the errors array will be defined and populated.
80
88
  An example of a simple debugging framework might be:
81
89
 
82
90
  ```typescript
83
- import { federateSubgraphs, Subgraph } from '@wundergraph.composition';
91
+ import { federateSubgraphs, FederationResult, Subgraph } from '@wundergraph.composition';
84
92
  import { print, printSchema } from 'graphql';
85
93
 
86
- const { errors, federationResult } = federateSubgraphs([subgraphA, subgraphB]);
87
- if (errors) {
88
- for (const err of errors) {
94
+ const result: FederationResult = federateSubgraphs([subgraphA, subgraphB]);
95
+
96
+ if (result.success) {
97
+ // Both options to print the federated graph as a string are included for documentational purposes only
98
+ console.log(print(result.federatedGraphAST)); // log the federated graph AST as a string
99
+ console.log(printSchema(result.federatedGraphSchema)); // log the federated graph schema as a string
100
+ } else {
101
+ for (const err of result.errors) {
89
102
  console.log(err.message);
90
103
  }
91
- } else {
92
- // Both options to print the federated graph as a string are included for documentational purposes only
93
- console.log(print(federationResult!.federatedGraphAST)); // log the federated graph AST as a string
94
- console.log(printSchema(federationResult!.federatedGraphSchema)); // log the federated graph schema as a string
104
+ }
105
+ for (const warning of result.warnings) {
106
+ console.log(warning);
95
107
  }
96
108
 
97
109
  // subgraph definitions would be below [removed for brevity]
@@ -105,25 +117,7 @@ Errors can happen in three main stages:
105
117
  (if this stage fails, federation will not be attempted)
106
118
  3. During the federation process itself.
107
119
 
108
- All errors will be appended to the `FederationResultContainer.errors` array.
109
- Often, the error message will suggest potential fixes. For instance:
110
-
111
- ```
112
- Error: The following root path is unresolvable:
113
- Query.user.name
114
- This is because:
115
- The root type field "Query.user" is defined in the following subgraphs: "subgraph-b".
116
- However, "User.name" is only defined in the following subgraphs: "subgraph-c".
117
- Consequently, "User.name" cannot be resolved through the root type field "Query.user".
118
- Potential solutions:
119
- Convert "User" into an entity using a "@key" directive.
120
- Add the shareable root type field "Query.user" to the following subgraphs: "subgraph-c".
121
- For example (note that V1 fields are shareable by default and do not require a directive):
122
- type Query {
123
- ...
124
- user: User @shareable
125
- }
126
- `````
120
+ All errors will be appended to the `FederationResultFailure.errors` array.
127
121
 
128
122
  ## Subgraph object
129
123
 
@@ -160,11 +154,10 @@ const subgraphA: Subgraph = {
160
154
  | definitions | an AST representation of the subgraph SDL | graphql.DocumentNode |
161
155
 
162
156
  ### Contributing
163
- Some GraphQL and Federation jargon should begin with a capitalised letter for clarity, e.g.,:
164
- - Argument
157
+ When adding or changing error, please ensure GraphQL types begin with a capital letter for clarity:
165
158
  - Enum
166
- - Field
167
159
  - Input Object
168
160
  - Interface
169
161
  - Object
170
- When adding or changing errors, please begin these terms with a capital letter.
162
+ - Scalar
163
+ - Union
package/dist/ast/utils.js CHANGED
@@ -220,8 +220,8 @@ function parse(source, noLocation = true) {
220
220
  }
221
221
  function safeParse(value, noLocation = true) {
222
222
  try {
223
- const parsedValue = parse(value, noLocation);
224
- return { documentNode: parsedValue };
223
+ const documentNode = parse(value, noLocation);
224
+ return { documentNode };
225
225
  }
226
226
  catch (e) {
227
227
  return { error: e };
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/ast/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/ast/utils.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,8 @@
1
1
  import { Kind, OperationTypeNode } from 'graphql';
2
- import { ObjectDefinitionData } from '../schema-building/types';
2
+ import { EntityInterfaceFederationData, ObjectDefinitionData } from '../schema-building/types';
3
3
  import { InvalidRootTypeFieldEventsDirectiveData } from './utils';
4
4
  import { UnresolvableFieldData } from '../resolvability-graph/utils';
5
- import { FieldSetDirective } from '../schema-building/utils';
6
- import { EntityInterfaceFederationData, ImplementationErrors, InvalidArgument, InvalidEntityInterface, InvalidRequiredInputValueData } from '../utils/utils';
5
+ import { ImplementationErrors, InvalidArgument, InvalidEntityInterface, InvalidRequiredInputValueData } from '../utils/types';
7
6
  export declare const minimumSubgraphRequirementError: Error;
8
7
  export declare function multipleNamedTypeDefinitionError(typeName: string, firstTypeString: string, secondTypeString: string): Error;
9
8
  export declare function incompatibleArgumentTypesError(argName: string, hostPath: string, expectedType: string, actualType: string): Error;
@@ -36,7 +35,6 @@ export declare function undefinedRequiredArgumentsErrorMessage(directiveName: st
36
35
  export declare function unexpectedDirectiveArgumentErrorMessage(directiveName: string, argumentNames: string[]): string;
37
36
  export declare function duplicateDirectiveArgumentDefinitionsErrorMessage(argumentNames: string[]): string;
38
37
  export declare function invalidArgumentValueErrorMessage(value: string, hostName: string, argumentName: string, expectedTypeString: string): string;
39
- export declare function invalidDirectiveArgumentTypeErrorMessage(required: boolean, argumentName: string, expectedKind: Kind, actualKind: Kind): string;
40
38
  export declare function invalidKeyDirectivesError(parentTypeName: string, errorMessages: string[]): Error;
41
39
  export declare function maximumTypeNestingExceededError(path: string): Error;
42
40
  export declare function unexpectedKindFatalError(typeName: string): Error;
@@ -44,12 +42,9 @@ export declare function incompatibleParentKindFatalError(parentTypeName: string,
44
42
  export declare function unexpectedEdgeFatalError(typeName: string, edgeNames: Array<string>): Error;
45
43
  export declare function incompatibleParentKindMergeError(parentTypeName: string, expectedTypeString: string, actualTypeString: string): Error;
46
44
  export declare function fieldTypeMergeFatalError(fieldName: string): Error;
47
- export declare function unexpectedDirectiveLocationError(locationName: string): Error;
48
45
  export declare function unexpectedTypeNodeKindFatalError(typePath: string): Error;
49
46
  export declare function invalidKeyFatalError<K>(key: K, mapName: string): Error;
50
- export declare function invalidConfigurationResultFatalError(fieldPath: string): Error;
51
47
  export declare const subgraphValidationFailureError: Error;
52
- export declare const federationFactoryInitializationFatalError: Error;
53
48
  export declare function unexpectedParentKindForChildError(parentTypeName: string, expectedTypeString: string, actualTypeString: string, childName: string, childTypeString: string): Error;
54
49
  export declare function subgraphValidationError(subgraphName: string, errors: Error[]): Error;
55
50
  export declare function invalidSubgraphNameErrorMessage(index: number, newName: string): string;
@@ -64,20 +59,20 @@ export declare function noQueryRootTypeError(isRouterSchema?: boolean): Error;
64
59
  export declare const inaccessibleQueryRootTypeError: Error;
65
60
  export declare function expectedEntityError(typeName: string): Error;
66
61
  export declare const inlineFragmentInFieldSetErrorMessage = " Inline fragments are not currently supported within a field set argument.";
67
- export declare function abstractTypeInKeyFieldSetErrorMessage(fieldSet: string, fieldCoordinates: string, abstractTypeName: string, abstractTypeString: string): string;
68
- export declare function unknownTypeInFieldSetErrorMessage(fieldSet: string, fieldPath: string, responseTypeName: string): string;
62
+ export declare function abstractTypeInKeyFieldSetErrorMessage(fieldSet: string, fieldCoords: string, abstractTypeName: string, abstractTypeString: string): string;
63
+ export declare function unknownTypeInFieldSetErrorMessage(fieldSet: string, fieldCoords: string, responseTypeName: string): string;
69
64
  export declare function invalidSelectionSetErrorMessage(fieldSet: string, fieldCoordinatesPath: Array<string>, selectionSetTypeName: string, fieldTypeString: string): string;
70
65
  export declare function invalidSelectionSetDefinitionErrorMessage(fieldSet: string, fieldCoordinatesPath: Array<string>, selectionSetTypeName: string, fieldTypeString: string): string;
71
66
  export declare function undefinedFieldInFieldSetErrorMessage(fieldSet: string, parentTypeName: string, fieldName: string): string;
72
67
  export declare function unparsableFieldSetErrorMessage(fieldSet: string, error?: Error): string;
73
68
  export declare function unparsableFieldSetSelectionErrorMessage(fieldSet: string, fieldName: string): string;
74
- export declare function undefinedObjectLikeParentError(parentTypeName: string): Error;
69
+ export declare function undefinedCompositeOutputTypeError(parentTypeName: string): Error;
75
70
  export declare function unexpectedArgumentErrorMessage(fieldSet: string, fieldPath: string, argumentName: string): string;
76
71
  export declare function argumentsInKeyFieldSetErrorMessage(fieldSet: string, fieldPath: string): string;
77
72
  export declare function invalidProvidesOrRequiresDirectivesError(directiveName: string, errorMessages: string[]): Error;
78
73
  export declare function duplicateFieldInFieldSetErrorMessage(fieldSet: string, fieldPath: string): string;
79
74
  export declare function invalidConfigurationDataErrorMessage(typeName: string, fieldName: string, fieldSet: string): string;
80
- export declare function incompatibleTypeWithProvidesErrorMessage(fieldCoordinates: string, responseType: string): string;
75
+ export declare function incompatibleTypeWithProvidesErrorMessage(fieldCoords: string, responseType: string): string;
81
76
  export declare function invalidInlineFragmentTypeErrorMessage(fieldSet: string, fieldCoordinatesPath: Array<string>, typeConditionName: string, selectionSetTypeName: string): string;
82
77
  export declare function inlineFragmentWithoutTypeConditionErrorMessage(fieldSet: string, fieldPath: string): string;
83
78
  export declare function unknownInlineFragmentTypeConditionErrorMessage(fieldSet: string, fieldCoordinatesPath: Array<string>, selectionSetTypeName: string, typeConditionName: string): string;
@@ -142,7 +137,7 @@ export declare function nonLeafSubscriptionFieldConditionFieldPathFinalFieldErro
142
137
  export declare function unresolvablePathError({ fieldName, selectionSet }: UnresolvableFieldData, reasons: Array<string>): Error;
143
138
  export declare function allExternalFieldInstancesError(typeName: string, subgraphNamesByFieldName: Map<string, Array<string>>): Error;
144
139
  export declare function externalInterfaceFieldsError(typeName: string, fieldNames: Array<string>): Error;
145
- export declare function nonExternalConditionalFieldError(originCoords: string, subgraphName: string, targetCoords: string, fieldSet: string, fieldSetDirective: FieldSetDirective): Error;
140
+ export declare function nonExternalConditionalFieldError(directiveCoords: string, subgraphName: string, targetCoords: string, fieldSet: string, fieldSetDirectiveName: string): Error;
146
141
  export declare function incompatibleFederatedFieldNamedTypeError(fieldCoordinates: string, subgraphNamesByNamedTypeName: Map<string, Set<string>>): Error;
147
142
  export declare function unknownNamedTypeErrorMessage(fieldCoordinates: string, namedTypeName: string): string;
148
143
  export declare function unknownNamedTypeError(fieldCoordinates: string, namedTypeName: string): Error;
@@ -155,3 +150,5 @@ export declare function duplicateDirectiveDefinitionArgumentErrorMessage(argumen
155
150
  export declare function duplicateDirectiveDefinitionLocationErrorMessage(locationName: string): string;
156
151
  export declare function invalidDirectiveDefinitionLocationErrorMessage(locationName: string): string;
157
152
  export declare function invalidDirectiveDefinitionError(directiveName: string, errorMessages: Array<string>): Error;
153
+ export declare function fieldAlreadyProvidedErrorMessage(fieldCoords: string, subgraphName: string, directiveName: string): string;
154
+ export declare function invalidInterfaceObjectImplementationDefinitionsError(typeName: string, subgraphName: string, implementationTypeNames: Array<string>): Error;