@wundergraph/composition 0.31.1 → 0.32.1

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 (37) hide show
  1. package/README.md +10 -0
  2. package/dist/errors/errors.d.ts +1 -0
  3. package/dist/errors/errors.js +8 -1
  4. package/dist/errors/errors.js.map +1 -1
  5. package/dist/federation/federation-factory.d.ts +2 -3
  6. package/dist/federation/federation-factory.js.map +1 -1
  7. package/dist/federation/utils.js.map +1 -1
  8. package/dist/federation/walkers.js.map +1 -1
  9. package/dist/index.d.ts +0 -1
  10. package/dist/index.js +0 -1
  11. package/dist/index.js.map +1 -1
  12. package/dist/normalization/normalization-factory.d.ts +6 -5
  13. package/dist/normalization/normalization-factory.js +17 -7
  14. package/dist/normalization/normalization-factory.js.map +1 -1
  15. package/dist/normalization/utils.d.ts +3 -3
  16. package/dist/normalization/utils.js +22 -20
  17. package/dist/normalization/utils.js.map +1 -1
  18. package/dist/normalization/walkers.js +12 -11
  19. package/dist/normalization/walkers.js.map +1 -1
  20. package/dist/resolvability-graph/graph.js +1 -1
  21. package/dist/resolvability-graph/graph.js.map +1 -1
  22. package/dist/schema-building/type-definition-data.d.ts +0 -2
  23. package/dist/schema-building/type-definition-data.js.map +1 -1
  24. package/dist/schema-building/utils.d.ts +5 -6
  25. package/dist/schema-building/utils.js +10 -7
  26. package/dist/schema-building/utils.js.map +1 -1
  27. package/dist/tsconfig.tsbuildinfo +1 -1
  28. package/dist/utils/string-constants.d.ts +1 -1
  29. package/dist/utils/string-constants.js +2 -2
  30. package/dist/utils/string-constants.js.map +1 -1
  31. package/dist/warnings/warnings.d.ts +2 -0
  32. package/dist/warnings/warnings.js +24 -0
  33. package/dist/warnings/warnings.js.map +1 -1
  34. package/package.json +3 -3
  35. package/dist/schema-building/type-extension-data.d.ts +0 -50
  36. package/dist/schema-building/type-extension-data.js +0 -3
  37. package/dist/schema-building/type-extension-data.js.map +0 -1
@@ -5,6 +5,8 @@ exports.invalidOverrideTargetSubgraphNameWarning = invalidOverrideTargetSubgraph
5
5
  exports.externalInterfaceFieldsWarning = externalInterfaceFieldsWarning;
6
6
  exports.nonExternalConditionalFieldWarning = nonExternalConditionalFieldWarning;
7
7
  exports.unimplementedInterfaceOutputTypeWarning = unimplementedInterfaceOutputTypeWarning;
8
+ exports.invalidExternalFieldWarning = invalidExternalFieldWarning;
9
+ exports.requiresDefinedOnNonEntityFieldWarning = requiresDefinedOnNonEntityFieldWarning;
8
10
  const string_constants_1 = require("../utils/string-constants");
9
11
  class Warning extends Error {
10
12
  subgraph;
@@ -74,4 +76,26 @@ function unimplementedInterfaceOutputTypeWarning(subgraphName, interfaceTypeName
74
76
  },
75
77
  });
76
78
  }
79
+ function invalidExternalFieldWarning(fieldCoords, subgraphName) {
80
+ return new Warning({
81
+ message: versionOneWarningPropagationMessage(subgraphName) +
82
+ ` The Object Field "${fieldCoords}" is invalidly declared "@external". An Object Field should only` +
83
+ ` be declared "@external" if it is part of a "@key", "@provides", or "@requires" FieldSet, or the Field is` +
84
+ ` necessary to satisfy an Interface implementation. In the case that none of these conditions is true, the` +
85
+ ` "@external" directive should be removed.`,
86
+ subgraph: {
87
+ name: subgraphName,
88
+ },
89
+ });
90
+ }
91
+ function requiresDefinedOnNonEntityFieldWarning(fieldCoords, subgraphName) {
92
+ return new Warning({
93
+ message: ` The Object Field "${fieldCoords}" defines a "@requires" directive, but the Object is not an entity.` +
94
+ ' Consequently, the "@requires" FieldSet cannot be satisfied because there is no entity resolver with which to' +
95
+ ' provide the required Fields.',
96
+ subgraph: {
97
+ name: subgraphName,
98
+ },
99
+ });
100
+ }
77
101
  //# sourceMappingURL=warnings.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"warnings.js","sourceRoot":"","sources":["../../src/warnings/warnings.ts"],"names":[],"mappings":";;;AAsBA,4FAoBC;AAUD,wEAoBC;AAED,gFAmBC;AAGD,0FASC;AAzGD,gEAA2D;AAY3D,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;AAED,SAAgB,wCAAwC,CACtD,kBAA0B,EAC1B,cAAsB,EACtB,UAAoB,EACpB,kBAA0B;IAE1B,OAAO,IAAI,OAAO,CAAC;QACjB,OAAO,EACL,oBAAoB,cAAc,6CAA6C,kBAAkB,4BAA4B;YAC7H,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YAClC,KAAK;YACL,UAAU,CAAC,IAAI,CAAC,iCAAc,CAAC;YAC/B,MAAM;YACN,qGAAqG;YACrG,uCAAuC,kBAAkB,qBAAqB;YAC9E,8HAA8H;QAChI,QAAQ,EAAE;YACR,IAAI,EAAE,kBAAkB;SACzB;KACF,CAAC,CAAC;AACL,CAAC;AAED,SAAS,mCAAmC,CAAC,YAAoB;IAC/D,OAAO,CACL,iBAAiB,YAAY,kFAAkF;QAC/G,0GAA0G;QAC1G,2BAA2B,CAC5B,CAAC;AACJ,CAAC;AAED,SAAgB,8BAA8B,CAC5C,YAAoB,EACpB,QAAgB,EAChB,UAAyB;IAEzB,OAAO,IAAI,OAAO,CAAC;QACjB,OAAO,EACL,mCAAmC,CAAC,YAAY,CAAC;YACjD,kBAAkB,QAAQ,qDAAqD;YAC/E,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;YACzC,4BAA4B;YAC5B,UAAU,CAAC,IAAI,CAAC,iCAAc,CAAC;YAC/B,KAAK;YACL,gHAAgH;YAChH,oFAAoF;YACpF,0CAA0C;QAC5C,QAAQ,EAAE;YACR,IAAI,EAAE,YAAY;SACnB;KACF,CAAC,CAAC;AACL,CAAC;AAED,SAAgB,kCAAkC,CAChD,YAAoB,EACpB,YAAoB,EACpB,YAAoB,EACpB,QAAgB,EAChB,iBAAoC;IAEpC,OAAO,IAAI,OAAO,CAAC;QACjB,OAAO,EACL,mCAAmC,CAAC,YAAY,CAAC;YACjD,cAAc,YAAY,kBAAkB,YAAY,iBAAiB,iBAAiB,gCAAgC;YAC1H,kBAAkB,QAAQ,IAAI;YAC9B,iCAAiC,YAAY,8DAA8D;YAC3G,oBAAoB,YAAY,sCAAsC,YAAY,+BAA+B;YACjH,QAAQ,iBAAiB,wBAAwB;QACnD,QAAQ,EAAE;YACR,IAAI,EAAE,YAAY;SACnB;KACF,CAAC,CAAC;AACL,CAAC;AAED,0CAA0C;AAC1C,SAAgB,uCAAuC,CAAC,YAAoB,EAAE,iBAAyB;IACrG,OAAO,IAAI,OAAO,CAAC;QACjB,OAAO,EACL,aAAa,YAAY,qBAAqB,iBAAiB,6BAA6B;YAC5F,yEAAyE;QAC3E,QAAQ,EAAE;YACR,IAAI,EAAE,YAAY;SACnB;KACF,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"warnings.js","sourceRoot":"","sources":["../../src/warnings/warnings.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wundergraph/composition",
3
- "version": "0.31.1",
3
+ "version": "0.32.1",
4
4
  "author": {
5
5
  "name": "WunderGraph Maintainers",
6
6
  "email": "info@wundergraph.com"
@@ -37,7 +37,7 @@
37
37
  "@types/lodash": "^4.17.0",
38
38
  "del-cli": "^5.0.0",
39
39
  "typescript": "5.5.2",
40
- "vitest": "^2.1.3"
40
+ "vitest": "^2.1.8"
41
41
  },
42
- "gitHead": "3a554407546d6b1fb41e1a130f87dc00e0393c8a"
42
+ "gitHead": "e7da7cb6b5a2300b1ede34ccbe536d05d8abe839"
43
43
  }
@@ -1,50 +0,0 @@
1
- import { ConstDirectiveNode, Kind, NamedTypeNode } from 'graphql';
2
- import { EnumValueData, FieldData, InputValueData, PersistedDirectivesData } from './type-definition-data';
3
- import { MutableObjectExtensionNode } from './ast';
4
- export type EnumExtensionData = {
5
- directivesByDirectiveName: Map<string, ConstDirectiveNode[]>;
6
- enumValueDataByValueName: Map<string, EnumValueData>;
7
- kind: Kind.ENUM_TYPE_EXTENSION;
8
- name: string;
9
- };
10
- export type ObjectExtensionData = {
11
- directivesByDirectiveName: Map<string, ConstDirectiveNode[]>;
12
- fieldDataByFieldName: Map<string, FieldData>;
13
- implementedInterfaceTypeNames: Set<string>;
14
- isEntity: boolean;
15
- isInaccessible: boolean;
16
- isRootType: boolean;
17
- kind: Kind.OBJECT_TYPE_EXTENSION;
18
- name: string;
19
- node: MutableObjectExtensionNode;
20
- persistedDirectivesData: PersistedDirectivesData;
21
- renamedTypeName: string;
22
- subgraphNames: Set<string>;
23
- };
24
- export type InputObjectExtensionData = {
25
- directivesByDirectiveName: Map<string, ConstDirectiveNode[]>;
26
- inputValueDataByValueName: Map<string, InputValueData>;
27
- kind: Kind.INPUT_OBJECT_TYPE_EXTENSION;
28
- name: string;
29
- };
30
- export type InterfaceExtensionData = {
31
- directivesByDirectiveName: Map<string, ConstDirectiveNode[]>;
32
- fieldDataByFieldName: Map<string, FieldData>;
33
- implementedInterfaceTypeNames: Set<string>;
34
- isEntity: boolean;
35
- kind: Kind.INTERFACE_TYPE_EXTENSION;
36
- name: string;
37
- };
38
- export type ScalarExtensionData = {
39
- directivesByDirectiveName: Map<string, ConstDirectiveNode[]>;
40
- kind: Kind.SCALAR_TYPE_EXTENSION;
41
- name: string;
42
- };
43
- export type UnionExtensionData = {
44
- directivesByDirectiveName: Map<string, ConstDirectiveNode[]>;
45
- kind: Kind.UNION_TYPE_EXTENSION;
46
- memberByMemberTypeName: Map<string, NamedTypeNode>;
47
- name: string;
48
- };
49
- export type ParentExtensionData = EnumExtensionData | InputObjectExtensionData | InterfaceExtensionData | ObjectExtensionData | ScalarExtensionData | UnionExtensionData;
50
- export type ExtensionWithFieldsData = InterfaceExtensionData | ObjectExtensionData;
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=type-extension-data.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"type-extension-data.js","sourceRoot":"","sources":["../../src/schema-building/type-extension-data.ts"],"names":[],"mappings":""}