@apollo/federation-internals 2.4.10 → 2.5.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 (79) hide show
  1. package/dist/argumentCompositionStrategies.d.ts +12 -7
  2. package/dist/argumentCompositionStrategies.d.ts.map +1 -1
  3. package/dist/argumentCompositionStrategies.js +26 -7
  4. package/dist/argumentCompositionStrategies.js.map +1 -1
  5. package/dist/authenticatedSpec.d.ts +13 -0
  6. package/dist/authenticatedSpec.d.ts.map +1 -0
  7. package/dist/authenticatedSpec.js +36 -0
  8. package/dist/authenticatedSpec.js.map +1 -0
  9. package/dist/coreSpec.d.ts +6 -5
  10. package/dist/coreSpec.d.ts.map +1 -1
  11. package/dist/coreSpec.js +42 -32
  12. package/dist/coreSpec.js.map +1 -1
  13. package/dist/definitions.d.ts +2 -3
  14. package/dist/definitions.d.ts.map +1 -1
  15. package/dist/definitions.js +12 -7
  16. package/dist/definitions.js.map +1 -1
  17. package/dist/directiveAndTypeSpecification.d.ts +8 -8
  18. package/dist/directiveAndTypeSpecification.d.ts.map +1 -1
  19. package/dist/directiveAndTypeSpecification.js +21 -16
  20. package/dist/directiveAndTypeSpecification.js.map +1 -1
  21. package/dist/error.d.ts +1 -1
  22. package/dist/extractSubgraphsFromSupergraph.d.ts +1 -1
  23. package/dist/extractSubgraphsFromSupergraph.d.ts.map +1 -1
  24. package/dist/extractSubgraphsFromSupergraph.js +450 -295
  25. package/dist/extractSubgraphsFromSupergraph.js.map +1 -1
  26. package/dist/federation.d.ts +10 -5
  27. package/dist/federation.d.ts.map +1 -1
  28. package/dist/federation.js +58 -16
  29. package/dist/federation.js.map +1 -1
  30. package/dist/federationSpec.d.ts +3 -1
  31. package/dist/federationSpec.d.ts.map +1 -1
  32. package/dist/federationSpec.js +12 -3
  33. package/dist/federationSpec.js.map +1 -1
  34. package/dist/inaccessibleSpec.d.ts +1 -1
  35. package/dist/inaccessibleSpec.d.ts.map +1 -1
  36. package/dist/inaccessibleSpec.js +4 -4
  37. package/dist/inaccessibleSpec.js.map +1 -1
  38. package/dist/index.d.ts +2 -1
  39. package/dist/index.d.ts.map +1 -1
  40. package/dist/index.js +2 -1
  41. package/dist/index.js.map +1 -1
  42. package/dist/joinSpec.d.ts +19 -17
  43. package/dist/joinSpec.d.ts.map +1 -1
  44. package/dist/joinSpec.js +3 -3
  45. package/dist/joinSpec.js.map +1 -1
  46. package/dist/requiresScopesSpec.d.ts +16 -0
  47. package/dist/requiresScopesSpec.d.ts.map +1 -0
  48. package/dist/requiresScopesSpec.js +55 -0
  49. package/dist/requiresScopesSpec.js.map +1 -0
  50. package/dist/supergraphs.d.ts +19 -4
  51. package/dist/supergraphs.d.ts.map +1 -1
  52. package/dist/supergraphs.js +40 -14
  53. package/dist/supergraphs.js.map +1 -1
  54. package/dist/tagSpec.d.ts +1 -1
  55. package/dist/tagSpec.d.ts.map +1 -1
  56. package/dist/tagSpec.js +4 -4
  57. package/dist/tagSpec.js.map +1 -1
  58. package/dist/utils.d.ts +1 -0
  59. package/dist/utils.d.ts.map +1 -1
  60. package/dist/utils.js +11 -1
  61. package/dist/utils.js.map +1 -1
  62. package/package.json +1 -1
  63. package/src/argumentCompositionStrategies.ts +32 -9
  64. package/src/authenticatedSpec.ts +62 -0
  65. package/src/coreSpec.ts +57 -35
  66. package/src/definitions.ts +22 -9
  67. package/src/directiveAndTypeSpecification.ts +25 -24
  68. package/src/error.ts +2 -2
  69. package/src/extractSubgraphsFromSupergraph.ts +647 -393
  70. package/src/federation.ts +95 -16
  71. package/src/federationSpec.ts +13 -5
  72. package/src/inaccessibleSpec.ts +4 -4
  73. package/src/index.ts +2 -1
  74. package/src/joinSpec.ts +23 -13
  75. package/src/precompute.ts +1 -1
  76. package/src/requiresScopesSpec.ts +76 -0
  77. package/src/supergraphs.ts +64 -16
  78. package/src/tagSpec.ts +4 -4
  79. package/src/utils.ts +10 -0
@@ -1,34 +1,39 @@
1
- import { InputType, ListType, NonNullType, Schema } from "./definitions";
1
+ import { InputType, Schema } from "./definitions";
2
+ type TypeSupportValidator = (schema: Schema, type: InputType) => {
3
+ valid: boolean;
4
+ supportedMsg?: string;
5
+ };
2
6
  export type ArgumentCompositionStrategy = {
3
7
  name: string;
4
- supportedTypes: (schema: Schema) => InputType[];
8
+ isTypeSupported: TypeSupportValidator;
5
9
  mergeValues: (values: any[]) => any;
6
10
  };
7
11
  export declare const ARGUMENT_COMPOSITION_STRATEGIES: {
8
12
  MAX: {
9
13
  name: string;
10
- supportedTypes: (schema: Schema) => NonNullType<import("./definitions").ScalarType>[];
14
+ isTypeSupported: TypeSupportValidator;
11
15
  mergeValues: (values: any[]) => number;
12
16
  };
13
17
  MIN: {
14
18
  name: string;
15
- supportedTypes: (schema: Schema) => NonNullType<import("./definitions").ScalarType>[];
19
+ isTypeSupported: TypeSupportValidator;
16
20
  mergeValues: (values: any[]) => number;
17
21
  };
18
22
  SUM: {
19
23
  name: string;
20
- supportedTypes: (schema: Schema) => NonNullType<import("./definitions").ScalarType>[];
24
+ isTypeSupported: TypeSupportValidator;
21
25
  mergeValues: (values: any[]) => any;
22
26
  };
23
27
  INTERSECTION: {
24
28
  name: string;
25
- supportedTypes: (schema: Schema) => NonNullType<ListType<NonNullType<import("./definitions").ScalarType>>>[];
29
+ isTypeSupported: TypeSupportValidator;
26
30
  mergeValues: (values: any[]) => any;
27
31
  };
28
32
  UNION: {
29
33
  name: string;
30
- supportedTypes: (schema: Schema) => NonNullType<ListType<NonNullType<import("./definitions").ScalarType>>>[];
34
+ isTypeSupported: TypeSupportValidator;
31
35
  mergeValues: (values: any[]) => any;
32
36
  };
33
37
  };
38
+ export {};
34
39
  //# sourceMappingURL=argumentCompositionStrategies.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"argumentCompositionStrategies.d.ts","sourceRoot":"","sources":["../src/argumentCompositionStrategies.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAExE,MAAM,MAAM,2BAA2B,GAAG;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,SAAS,EAAE,CAAC;IAChD,WAAW,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC;CACrC,CAAA;AAED,eAAO,MAAM,+BAA+B;;;iCAGf,MAAM;8BACT,GAAG,EAAE;;;;iCAIF,MAAM;8BACT,GAAG,EAAE;;;;iCAIF,MAAM;8BACT,GAAG,EAAE;;;;iCAIF,MAAM;8BACT,GAAG,EAAE;;;;iCAIF,MAAM;8BACT,GAAG,EAAE;;CAM9B,CAAA"}
1
+ {"version":3,"file":"argumentCompositionStrategies.d.ts","sourceRoot":"","sources":["../src/argumentCompositionStrategies.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAe,MAAM,EAA6B,MAAM,eAAe,CAAA;AAIzF,KAAK,oBAAoB,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,KAAK;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAE3G,MAAM,MAAM,2BAA2B,GAAG;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,eAAe,EAAE,oBAAoB,CAAC;IACtC,WAAW,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC;CACrC,CAAA;AAqBD,eAAO,MAAM,+BAA+B;;;;8BAIlB,GAAG,EAAE;;;;;8BAKL,GAAG,EAAE;;;;;8BAKL,GAAG,EAAE;;;;;8BAKL,GAAG,EAAE;;;;;8BAKL,GAAG,EAAE;;CAM9B,CAAA"}
@@ -2,32 +2,51 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ARGUMENT_COMPOSITION_STRATEGIES = void 0;
4
4
  const definitions_1 = require("./definitions");
5
+ const types_1 = require("./types");
6
+ const values_1 = require("./values");
7
+ function supportFixedTypes(types) {
8
+ return (schema, type) => {
9
+ const supported = types(schema);
10
+ if (!supported.some((t) => (0, types_1.sameType)(t, type))) {
11
+ return { valid: false, supportedMsg: `type(s) ${supported.join(', ')}` };
12
+ }
13
+ return { valid: true };
14
+ };
15
+ }
16
+ function supportAnyNonNullArray() {
17
+ return (_, type) => {
18
+ if (!(0, definitions_1.isNonNullType)(type) || !(0, definitions_1.isListType)(type.ofType)) {
19
+ return { valid: false, supportedMsg: 'non nullable list types of any type' };
20
+ }
21
+ return { valid: true };
22
+ };
23
+ }
5
24
  exports.ARGUMENT_COMPOSITION_STRATEGIES = {
6
25
  MAX: {
7
26
  name: 'MAX',
8
- supportedTypes: (schema) => [new definitions_1.NonNullType(schema.intType())],
27
+ isTypeSupported: supportFixedTypes((schema) => [new definitions_1.NonNullType(schema.intType())]),
9
28
  mergeValues: (values) => Math.max(...values),
10
29
  },
11
30
  MIN: {
12
31
  name: 'MIN',
13
- supportedTypes: (schema) => [new definitions_1.NonNullType(schema.intType())],
32
+ isTypeSupported: supportFixedTypes((schema) => [new definitions_1.NonNullType(schema.intType())]),
14
33
  mergeValues: (values) => Math.min(...values),
15
34
  },
16
35
  SUM: {
17
36
  name: 'SUM',
18
- supportedTypes: (schema) => [new definitions_1.NonNullType(schema.intType())],
37
+ isTypeSupported: supportFixedTypes((schema) => [new definitions_1.NonNullType(schema.intType())]),
19
38
  mergeValues: (values) => values.reduce((acc, val) => acc + val, 0),
20
39
  },
21
40
  INTERSECTION: {
22
41
  name: 'INTERSECTION',
23
- supportedTypes: (schema) => schema.builtInScalarTypes().map((t) => new definitions_1.NonNullType(new definitions_1.ListType(new definitions_1.NonNullType(t)))),
24
- mergeValues: (values) => values.reduce((acc, val) => acc.filter((v) => val.includes(v)), values[0]),
42
+ isTypeSupported: supportAnyNonNullArray(),
43
+ mergeValues: (values) => values.reduce((acc, val) => acc.filter((v1) => val.some((v2) => (0, values_1.valueEquals)(v1, v2))), values[0]),
25
44
  },
26
45
  UNION: {
27
46
  name: 'UNION',
28
- supportedTypes: (schema) => schema.builtInScalarTypes().map((t) => new definitions_1.NonNullType(new definitions_1.ListType(new definitions_1.NonNullType(t)))),
47
+ isTypeSupported: supportAnyNonNullArray(),
29
48
  mergeValues: (values) => values.reduce((acc, val) => {
30
- const newValues = val.filter((v) => !acc.includes(v));
49
+ const newValues = val.filter((v1) => !acc.some((v2) => (0, values_1.valueEquals)(v1, v2)));
31
50
  return acc.concat(newValues);
32
51
  }, []),
33
52
  },
@@ -1 +1 @@
1
- {"version":3,"file":"argumentCompositionStrategies.js","sourceRoot":"","sources":["../src/argumentCompositionStrategies.ts"],"names":[],"mappings":";;;AAAA,+CAAwE;AAQ3D,QAAA,+BAA+B,GAAG;IAC7C,GAAG,EAAE;QACH,IAAI,EAAE,KAAK;QACX,cAAc,EAAE,CAAC,MAAc,EAAE,EAAE,CAAC,CAAC,IAAI,yBAAW,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;QACvE,WAAW,EAAE,CAAC,MAAa,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC;KACpD;IACD,GAAG,EAAE;QACH,IAAI,EAAE,KAAK;QACX,cAAc,EAAE,CAAC,MAAc,EAAE,EAAE,CAAC,CAAC,IAAI,yBAAW,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;QACvE,WAAW,EAAE,CAAC,MAAa,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC;KACpD;IACD,GAAG,EAAE;QACH,IAAI,EAAE,KAAK;QACX,cAAc,EAAE,CAAC,MAAc,EAAE,EAAE,CAAC,CAAC,IAAI,yBAAW,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;QACvE,WAAW,EAAE,CAAC,MAAa,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,CAAC;KAC1E;IACD,YAAY,EAAE;QACZ,IAAI,EAAE,cAAc;QACpB,cAAc,EAAE,CAAC,MAAc,EAAE,EAAE,CAAC,MAAM,CAAC,kBAAkB,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,yBAAW,CAAC,IAAI,sBAAQ,CAAC,IAAI,yBAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7H,WAAW,EAAE,CAAC,MAAa,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;KAChH;IACD,KAAK,EAAE;QACL,IAAI,EAAE,OAAO;QACb,cAAc,EAAE,CAAC,MAAc,EAAE,EAAE,CAAC,MAAM,CAAC,kBAAkB,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,yBAAW,CAAC,IAAI,sBAAQ,CAAC,IAAI,yBAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7H,WAAW,EAAE,CAAC,MAAa,EAAE,EAAE,CAC7B,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;YACzB,MAAM,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3D,OAAO,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAC/B,CAAC,EAAE,EAAE,CAAC;KACT;CACF,CAAA"}
1
+ {"version":3,"file":"argumentCompositionStrategies.js","sourceRoot":"","sources":["../src/argumentCompositionStrategies.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import { CorePurpose, FeatureDefinition, FeatureDefinitions, FeatureVersion } from "./coreSpec";
2
+ import { DirectiveDefinition, Schema } from "./definitions";
3
+ export declare class AuthenticatedSpecDefinition extends FeatureDefinition {
4
+ static readonly directiveName = "authenticated";
5
+ static readonly identity: string;
6
+ constructor(version: FeatureVersion, minimumFederationVersion: FeatureVersion);
7
+ authenticatedDirective(schema: Schema): DirectiveDefinition<{
8
+ name: string;
9
+ }>;
10
+ get defaultCorePurpose(): CorePurpose;
11
+ }
12
+ export declare const AUTHENTICATED_VERSIONS: FeatureDefinitions<AuthenticatedSpecDefinition>;
13
+ //# sourceMappingURL=authenticatedSpec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"authenticatedSpec.d.ts","sourceRoot":"","sources":["../src/authenticatedSpec.ts"],"names":[],"mappings":"AACA,OAAO,EACL,WAAW,EACX,iBAAiB,EACjB,kBAAkB,EAElB,cAAc,EACf,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,mBAAmB,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAI5D,qBAAa,2BAA4B,SAAQ,iBAAiB;IAChE,gBAAuB,aAAa,mBAAmB;IACvD,gBAAuB,QAAQ,SAA2E;gBAE9F,OAAO,EAAE,cAAc,EAAE,wBAAwB,EAAE,cAAc;IAwB7E,sBAAsB,CACpB,MAAM,EAAE,MAAM,GACb,mBAAmB,CAAC;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAIxC,IAAI,kBAAkB,IAAI,WAAW,CAEpC;CACF;AAED,eAAO,MAAM,sBAAsB,iDAQhC,CAAC"}
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AUTHENTICATED_VERSIONS = exports.AuthenticatedSpecDefinition = void 0;
4
+ const graphql_1 = require("graphql");
5
+ const coreSpec_1 = require("./coreSpec");
6
+ const directiveAndTypeSpecification_1 = require("./directiveAndTypeSpecification");
7
+ const knownCoreFeatures_1 = require("./knownCoreFeatures");
8
+ class AuthenticatedSpecDefinition extends coreSpec_1.FeatureDefinition {
9
+ constructor(version, minimumFederationVersion) {
10
+ super(new coreSpec_1.FeatureUrl(AuthenticatedSpecDefinition.identity, AuthenticatedSpecDefinition.directiveName, version), minimumFederationVersion);
11
+ this.registerDirective((0, directiveAndTypeSpecification_1.createDirectiveSpecification)({
12
+ name: AuthenticatedSpecDefinition.directiveName,
13
+ locations: [
14
+ graphql_1.DirectiveLocation.FIELD_DEFINITION,
15
+ graphql_1.DirectiveLocation.OBJECT,
16
+ graphql_1.DirectiveLocation.INTERFACE,
17
+ graphql_1.DirectiveLocation.SCALAR,
18
+ graphql_1.DirectiveLocation.ENUM,
19
+ ],
20
+ composes: true,
21
+ supergraphSpecification: () => exports.AUTHENTICATED_VERSIONS.latest(),
22
+ }));
23
+ }
24
+ authenticatedDirective(schema) {
25
+ return this.directive(schema, AuthenticatedSpecDefinition.directiveName);
26
+ }
27
+ get defaultCorePurpose() {
28
+ return 'SECURITY';
29
+ }
30
+ }
31
+ exports.AuthenticatedSpecDefinition = AuthenticatedSpecDefinition;
32
+ AuthenticatedSpecDefinition.directiveName = "authenticated";
33
+ AuthenticatedSpecDefinition.identity = `https://specs.apollo.dev/${AuthenticatedSpecDefinition.directiveName}`;
34
+ exports.AUTHENTICATED_VERSIONS = new coreSpec_1.FeatureDefinitions(AuthenticatedSpecDefinition.identity).add(new AuthenticatedSpecDefinition(new coreSpec_1.FeatureVersion(0, 1), new coreSpec_1.FeatureVersion(2, 5)));
35
+ (0, knownCoreFeatures_1.registerKnownFeature)(exports.AUTHENTICATED_VERSIONS);
36
+ //# sourceMappingURL=authenticatedSpec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"authenticatedSpec.js","sourceRoot":"","sources":["../src/authenticatedSpec.ts"],"names":[],"mappings":";;;AAAA,qCAA4C;AAC5C,yCAMoB;AAEpB,mFAA+E;AAC/E,2DAA2D;AAE3D,MAAa,2BAA4B,SAAQ,4BAAiB;IAIhE,YAAY,OAAuB,EAAE,wBAAwC;QAC3E,KAAK,CACH,IAAI,qBAAU,CACZ,2BAA2B,CAAC,QAAQ,EACpC,2BAA2B,CAAC,aAAa,EACzC,OAAO,CACR,EACD,wBAAwB,CACzB,CAAC;QAEF,IAAI,CAAC,iBAAiB,CAAC,IAAA,4DAA4B,EAAC;YAClD,IAAI,EAAE,2BAA2B,CAAC,aAAa;YAC/C,SAAS,EAAE;gBACT,2BAAiB,CAAC,gBAAgB;gBAClC,2BAAiB,CAAC,MAAM;gBACxB,2BAAiB,CAAC,SAAS;gBAC3B,2BAAiB,CAAC,MAAM;gBACxB,2BAAiB,CAAC,IAAI;aACvB;YACD,QAAQ,EAAE,IAAI;YACd,uBAAuB,EAAE,GAAG,EAAE,CAAC,8BAAsB,CAAC,MAAM,EAAE;SAC/D,CAAC,CAAC,CAAC;IACN,CAAC;IAED,sBAAsB,CACpB,MAAc;QAEd,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,2BAA2B,CAAC,aAAa,CAAE,CAAC;IAC5E,CAAC;IAED,IAAI,kBAAkB;QACpB,OAAO,UAAU,CAAC;IACpB,CAAC;;AApCH,kEAqCC;AApCwB,yCAAa,GAAG,eAAe,CAAC;AAChC,oCAAQ,GAAG,4BAA4B,2BAA2B,CAAC,aAAa,EAAE,CAAC;AAqC/F,QAAA,sBAAsB,GACjC,IAAI,6BAAkB,CACpB,2BAA2B,CAAC,QAAQ,CACrC,CAAC,GAAG,CACH,IAAI,2BAA2B,CAC7B,IAAI,yBAAc,CAAC,CAAC,EAAE,CAAC,CAAC,EACxB,IAAI,yBAAc,CAAC,CAAC,EAAE,CAAC,CAAC,CACzB,CACF,CAAC;AAEJ,IAAA,wCAAoB,EAAC,8BAAsB,CAAC,CAAC"}
@@ -8,12 +8,14 @@ export declare const ErrCoreCheckFailed: (causes: GraphQLError[]) => GraphQLErro
8
8
  export declare const corePurposes: ("SECURITY" | "EXECUTION")[];
9
9
  export type CorePurpose = typeof corePurposes[number];
10
10
  export declare abstract class FeatureDefinition {
11
+ readonly minimumFederationVersion?: FeatureVersion | undefined;
11
12
  readonly url: FeatureUrl;
12
13
  private readonly _directiveSpecs;
13
14
  private readonly _typeSpecs;
14
- constructor(url: FeatureUrl | string);
15
+ constructor(url: FeatureUrl | string, minimumFederationVersion?: FeatureVersion | undefined);
15
16
  protected registerDirective(spec: DirectiveSpecification): void;
16
17
  protected registerType(spec: TypeSpecification): void;
18
+ protected registerSubFeature(subFeature: FeatureDefinition): void;
17
19
  directiveSpecs(): readonly DirectiveSpecification[];
18
20
  directiveSpec(name: string): DirectiveSpecification | undefined;
19
21
  typeSpecs(): readonly TypeSpecification[];
@@ -36,8 +38,6 @@ export declare abstract class FeatureDefinition {
36
38
  protected type<T extends NamedType>(schema: Schema, elementName: string): T | undefined;
37
39
  protected addRootDirective(schema: Schema): DirectiveDefinition;
38
40
  protected addDirective(schema: Schema, name: string): DirectiveDefinition;
39
- protected addDirectiveSpec(schema: Schema, spec: DirectiveSpecification): GraphQLError[];
40
- protected addTypeSpec(schema: Schema, spec: TypeSpecification): GraphQLError[];
41
41
  protected addScalarType(schema: Schema, name: string): ScalarType;
42
42
  protected addEnumType(schema: Schema, name: string): EnumType;
43
43
  protected featureInSchema(schema: Schema): CoreFeature | undefined;
@@ -67,11 +67,11 @@ export declare function extractCoreFeatureImports(url: FeatureUrl, directive: Di
67
67
  export declare function isCoreSpecDirectiveApplication(directive: Directive<SchemaDefinition, any>): directive is Directive<SchemaDefinition, CoreOrLinkDirectiveArgs>;
68
68
  export declare class CoreSpecDefinition extends FeatureDefinition {
69
69
  private readonly directiveDefinitionSpec;
70
- constructor(version: FeatureVersion, identity?: string, name?: string);
70
+ constructor(version: FeatureVersion, minimumFederationVersion?: FeatureVersion, identity?: string, name?: string);
71
71
  private createDefinitionArgumentSpecifications;
72
72
  addElementsToSchema(_: Schema): GraphQLError[];
73
73
  addToSchema(schema: Schema, alias?: string): GraphQLError[];
74
- addDefinitionsToSchema(schema: Schema, as?: string): GraphQLError[];
74
+ addDefinitionsToSchema(schema: Schema, as?: string, imports?: CoreImport[]): GraphQLError[];
75
75
  allElementNames(): string[];
76
76
  private supportPurposes;
77
77
  private supportImport;
@@ -90,6 +90,7 @@ export declare class FeatureDefinitions<T extends FeatureDefinition = FeatureDef
90
90
  find(requested: FeatureVersion): T | undefined;
91
91
  versions(): FeatureVersion[];
92
92
  latest(): T;
93
+ getMinimumRequiredVersion(fedVersion: FeatureVersion): T;
93
94
  }
94
95
  export declare class FeatureVersion {
95
96
  readonly major: number;
@@ -1 +1 @@
1
- {"version":3,"file":"coreSpec.d.ts","sourceRoot":"","sources":["../src/coreSpec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"coreSpec.d.ts","sourceRoot":"","sources":["../src/coreSpec.ts"],"names":[],"mappings":"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"}
package/dist/coreSpec.js CHANGED
@@ -30,7 +30,8 @@ function purposesDescription(purpose) {
30
30
  }
31
31
  }
32
32
  class FeatureDefinition {
33
- constructor(url) {
33
+ constructor(url, minimumFederationVersion) {
34
+ this.minimumFederationVersion = minimumFederationVersion;
34
35
  this._directiveSpecs = new utils_1.MapWithCachedArrays();
35
36
  this._typeSpecs = new utils_1.MapWithCachedArrays();
36
37
  this.url = typeof url === 'string' ? FeatureUrl.parse(url) : url;
@@ -41,6 +42,14 @@ class FeatureDefinition {
41
42
  registerType(spec) {
42
43
  this._typeSpecs.set(spec.name, spec);
43
44
  }
45
+ registerSubFeature(subFeature) {
46
+ for (const typeSpec of subFeature.typeSpecs()) {
47
+ this.registerType(typeSpec);
48
+ }
49
+ for (const directiveSpec of subFeature.directiveSpecs()) {
50
+ this.registerDirective(directiveSpec);
51
+ }
52
+ }
44
53
  directiveSpecs() {
45
54
  return this._directiveSpecs.values();
46
55
  }
@@ -69,13 +78,13 @@ class FeatureDefinition {
69
78
  }
70
79
  addElementsToSchema(schema) {
71
80
  const feature = this.featureInSchema(schema);
72
- (0, utils_1.assert)(feature, 'The federation specification should have been added to the schema before this is called');
81
+ (0, utils_1.assert)(feature, () => `The ${this.url} specification should have been added to the schema before this is called`);
73
82
  let errors = [];
74
83
  for (const type of this.typeSpecs()) {
75
- errors = errors.concat(this.addTypeSpec(schema, type));
84
+ errors = errors.concat(type.checkOrAdd(schema, feature));
76
85
  }
77
86
  for (const directive of this.directiveSpecs()) {
78
- errors = errors.concat(this.addDirectiveSpec(schema, directive));
87
+ errors = errors.concat(directive.checkOrAdd(schema, feature));
79
88
  }
80
89
  return errors;
81
90
  }
@@ -113,12 +122,6 @@ class FeatureDefinition {
113
122
  addDirective(schema, name) {
114
123
  return schema.addDirectiveDefinition(this.directiveNameInSchema(schema, name));
115
124
  }
116
- addDirectiveSpec(schema, spec) {
117
- return spec.checkOrAdd(schema, this.directiveNameInSchema(schema, spec.name));
118
- }
119
- addTypeSpec(schema, spec) {
120
- return spec.checkOrAdd(schema, this.typeNameInSchema(schema, spec.name));
121
- }
122
125
  addScalarType(schema, name) {
123
126
  return schema.addType(new definitions_1.ScalarType(this.typeNameInSchema(schema, name)));
124
127
  }
@@ -128,7 +131,7 @@ class FeatureDefinition {
128
131
  featureInSchema(schema) {
129
132
  const features = schema.coreFeatures;
130
133
  if (!features) {
131
- throw buildError(`Schema is not a core schema (add @core first)`);
134
+ throw buildError(`Schema is not a core schema (add @link first)`);
132
135
  }
133
136
  return features.getByIdentity(this.identity);
134
137
  }
@@ -265,8 +268,8 @@ const linkPurposeTypeSpec = (0, directiveAndTypeSpecification_1.createEnumTypeSp
265
268
  });
266
269
  const linkImportTypeSpec = (0, directiveAndTypeSpecification_1.createScalarTypeSpecification)({ name: 'Import' });
267
270
  class CoreSpecDefinition extends FeatureDefinition {
268
- constructor(version, identity = exports.linkIdentity, name = exports.linkDirectiveDefaultName) {
269
- super(new FeatureUrl(identity, name, version));
271
+ constructor(version, minimumFederationVersion, identity = exports.linkIdentity, name = exports.linkDirectiveDefaultName) {
272
+ super(new FeatureUrl(identity, name, version), minimumFederationVersion);
270
273
  this.directiveDefinitionSpec = (0, directiveAndTypeSpecification_1.createDirectiveSpecification)({
271
274
  name,
272
275
  locations: [graphql_1.DirectiveLocation.SCHEMA],
@@ -283,26 +286,18 @@ class CoreSpecDefinition extends FeatureDefinition {
283
286
  if (this.supportPurposes()) {
284
287
  args.push({
285
288
  name: 'for',
286
- type: (schema, nameInSchema) => {
287
- const purposeName = `${nameInSchema !== null && nameInSchema !== void 0 ? nameInSchema : this.url.name}__${linkPurposeTypeSpec.name}`;
288
- const errors = linkPurposeTypeSpec.checkOrAdd(schema, purposeName);
289
- if (errors.length > 0) {
290
- return errors;
291
- }
292
- return schema.type(purposeName);
289
+ type: (schema, feature) => {
290
+ (0, utils_1.assert)(feature, "Shouldn't be added without being attached to a @link spec");
291
+ return schema.type(feature.typeNameInSchema(linkPurposeTypeSpec.name));
293
292
  },
294
293
  });
295
294
  }
296
295
  if (this.supportImport()) {
297
296
  args.push({
298
297
  name: 'import',
299
- type: (schema, nameInSchema) => {
300
- const importName = `${nameInSchema !== null && nameInSchema !== void 0 ? nameInSchema : this.url.name}__${linkImportTypeSpec.name}`;
301
- const errors = linkImportTypeSpec.checkOrAdd(schema, importName);
302
- if (errors.length > 0) {
303
- return errors;
304
- }
305
- return new definitions_1.ListType(schema.type(importName));
298
+ type: (schema, feature) => {
299
+ (0, utils_1.assert)(feature, "Shouldn't be added without being attached to a @link spec");
300
+ return new definitions_1.ListType(schema.type(feature.typeNameInSchema(linkImportTypeSpec.name)));
306
301
  }
307
302
  });
308
303
  }
@@ -330,7 +325,7 @@ class CoreSpecDefinition extends FeatureDefinition {
330
325
  }
331
326
  return [];
332
327
  }
333
- addDefinitionsToSchema(schema, as) {
328
+ addDefinitionsToSchema(schema, as, imports = []) {
334
329
  const existingCore = schema.coreFeatures;
335
330
  if (existingCore) {
336
331
  if (existingCore.coreItself.url.identity === this.identity) {
@@ -341,7 +336,12 @@ class CoreSpecDefinition extends FeatureDefinition {
341
336
  }
342
337
  }
343
338
  const nameInSchema = as !== null && as !== void 0 ? as : this.url.name;
344
- return this.directiveDefinitionSpec.checkOrAdd(schema, nameInSchema);
339
+ const feature = new definitions_1.CoreFeature(this.url, nameInSchema, new definitions_1.Directive(nameInSchema), imports);
340
+ let errors = [];
341
+ errors = errors.concat(linkPurposeTypeSpec.checkOrAdd(schema, feature));
342
+ errors = errors.concat(linkImportTypeSpec.checkOrAdd(schema, feature));
343
+ errors = errors.concat(this.directiveDefinitionSpec.checkOrAdd(schema, feature));
344
+ return errors;
345
345
  }
346
346
  allElementNames() {
347
347
  const names = [`@${this.url.name}`];
@@ -424,6 +424,16 @@ class FeatureDefinitions {
424
424
  (0, utils_1.assert)(this._definitions.length > 0, 'Trying to get latest when no definitions exist');
425
425
  return this._definitions[0];
426
426
  }
427
+ getMinimumRequiredVersion(fedVersion) {
428
+ var _a;
429
+ const def = this._definitions.find(def => def.minimumFederationVersion ? fedVersion >= def.minimumFederationVersion : true);
430
+ (0, utils_1.assert)(def, `No compatible definition exists for federation version ${fedVersion}`);
431
+ const latestMajor = this.latest().version.major;
432
+ if (def.version.major !== latestMajor) {
433
+ return (_a = (0, utils_1.findLast)(this._definitions, def => def.version.major === latestMajor)) !== null && _a !== void 0 ? _a : this.latest();
434
+ }
435
+ return def;
436
+ }
427
437
  }
428
438
  exports.FeatureDefinitions = FeatureDefinitions;
429
439
  class FeatureVersion {
@@ -547,10 +557,10 @@ function findCoreSpecVersion(featureUrl) {
547
557
  }
548
558
  exports.findCoreSpecVersion = findCoreSpecVersion;
549
559
  exports.CORE_VERSIONS = new FeatureDefinitions(exports.coreIdentity)
550
- .add(new CoreSpecDefinition(new FeatureVersion(0, 1), exports.coreIdentity, 'core'))
551
- .add(new CoreSpecDefinition(new FeatureVersion(0, 2), exports.coreIdentity, 'core'));
560
+ .add(new CoreSpecDefinition(new FeatureVersion(0, 1), undefined, exports.coreIdentity, 'core'))
561
+ .add(new CoreSpecDefinition(new FeatureVersion(0, 2), new FeatureVersion(2, 0), exports.coreIdentity, 'core'));
552
562
  exports.LINK_VERSIONS = new FeatureDefinitions(exports.linkIdentity)
553
- .add(new CoreSpecDefinition(new FeatureVersion(1, 0)));
563
+ .add(new CoreSpecDefinition(new FeatureVersion(1, 0), new FeatureVersion(2, 0)));
554
564
  (0, knownCoreFeatures_1.registerKnownFeature)(exports.CORE_VERSIONS);
555
565
  (0, knownCoreFeatures_1.registerKnownFeature)(exports.LINK_VERSIONS);
556
566
  function removeAllCoreFeatures(schema) {
@@ -1 +1 @@
1
- {"version":3,"file":"coreSpec.js","sourceRoot":"","sources":["../src/coreSpec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"coreSpec.js","sourceRoot":"","sources":["../src/coreSpec.ts"],"names":[],"mappings":"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"}
@@ -188,9 +188,7 @@ declare abstract class BaseExtensionMember<TExtended extends ExtendableElement>
188
188
  protected abstract removeInner(): void;
189
189
  }
190
190
  export declare class SchemaBlueprint {
191
- onMissingDirectiveDefinition(_schema: Schema, _name: string, _args?: {
192
- [key: string]: any;
193
- }): DirectiveDefinition | GraphQLError[] | undefined;
191
+ onMissingDirectiveDefinition(_schema: Schema, _directive: Directive): DirectiveDefinition | GraphQLError[] | undefined;
194
192
  onDirectiveDefinitionAndSchemaParsed(_: Schema): GraphQLError[];
195
193
  ignoreParsedField(_type: NamedType, _fieldName: string): boolean;
196
194
  onConstructed(_: Schema): void;
@@ -305,6 +303,7 @@ export declare class Schema {
305
303
  addDirectiveDefinition(name: string): DirectiveDefinition;
306
304
  addDirectiveDefinition(directive: DirectiveDefinition): DirectiveDefinition;
307
305
  invalidate(): void;
306
+ assumeValid(): void;
308
307
  validate(): void;
309
308
  clone(builtIns?: SchemaBlueprint): Schema;
310
309
  private getBuiltInDirective;