@apollo/federation-internals 2.0.0-alpha.6 → 2.0.0-preview.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 (104) hide show
  1. package/dist/buildSchema.d.ts +7 -3
  2. package/dist/buildSchema.d.ts.map +1 -1
  3. package/dist/buildSchema.js +41 -22
  4. package/dist/buildSchema.js.map +1 -1
  5. package/dist/coreSpec.d.ts +26 -4
  6. package/dist/coreSpec.d.ts.map +1 -1
  7. package/dist/coreSpec.js +86 -25
  8. package/dist/coreSpec.js.map +1 -1
  9. package/dist/definitions.d.ts +50 -43
  10. package/dist/definitions.d.ts.map +1 -1
  11. package/dist/definitions.js +201 -217
  12. package/dist/definitions.js.map +1 -1
  13. package/dist/directiveAndTypeSpecification.d.ts +38 -0
  14. package/dist/directiveAndTypeSpecification.d.ts.map +1 -0
  15. package/dist/directiveAndTypeSpecification.js +196 -0
  16. package/dist/directiveAndTypeSpecification.js.map +1 -0
  17. package/dist/error.d.ts +9 -1
  18. package/dist/error.d.ts.map +1 -1
  19. package/dist/error.js +20 -2
  20. package/dist/error.js.map +1 -1
  21. package/dist/extractSubgraphsFromSupergraph.d.ts.map +1 -1
  22. package/dist/extractSubgraphsFromSupergraph.js +28 -93
  23. package/dist/extractSubgraphsFromSupergraph.js.map +1 -1
  24. package/dist/federation.d.ts +88 -46
  25. package/dist/federation.d.ts.map +1 -1
  26. package/dist/federation.js +706 -228
  27. package/dist/federation.js.map +1 -1
  28. package/dist/federationSpec.d.ts +19 -0
  29. package/dist/federationSpec.d.ts.map +1 -0
  30. package/dist/federationSpec.js +91 -0
  31. package/dist/federationSpec.js.map +1 -0
  32. package/dist/index.d.ts +2 -0
  33. package/dist/index.d.ts.map +1 -1
  34. package/dist/index.js +7 -1
  35. package/dist/index.js.map +1 -1
  36. package/dist/joinSpec.d.ts +1 -0
  37. package/dist/joinSpec.d.ts.map +1 -1
  38. package/dist/joinSpec.js +1 -0
  39. package/dist/joinSpec.js.map +1 -1
  40. package/dist/operations.d.ts +8 -1
  41. package/dist/operations.d.ts.map +1 -1
  42. package/dist/operations.js +11 -4
  43. package/dist/operations.js.map +1 -1
  44. package/dist/print.d.ts +11 -9
  45. package/dist/print.d.ts.map +1 -1
  46. package/dist/print.js +21 -11
  47. package/dist/print.js.map +1 -1
  48. package/dist/schemaUpgrader.d.ts +108 -0
  49. package/dist/schemaUpgrader.d.ts.map +1 -0
  50. package/dist/schemaUpgrader.js +498 -0
  51. package/dist/schemaUpgrader.js.map +1 -0
  52. package/dist/sharing.d.ts +3 -0
  53. package/dist/sharing.d.ts.map +1 -0
  54. package/dist/sharing.js +51 -0
  55. package/dist/sharing.js.map +1 -0
  56. package/dist/supergraphs.d.ts.map +1 -1
  57. package/dist/supergraphs.js +2 -3
  58. package/dist/supergraphs.js.map +1 -1
  59. package/dist/tagSpec.d.ts.map +1 -1
  60. package/dist/tagSpec.js +1 -3
  61. package/dist/tagSpec.js.map +1 -1
  62. package/dist/utils.d.ts +7 -0
  63. package/dist/utils.d.ts.map +1 -1
  64. package/dist/utils.js +34 -1
  65. package/dist/utils.js.map +1 -1
  66. package/dist/validate.d.ts.map +1 -1
  67. package/dist/validate.js +9 -4
  68. package/dist/validate.js.map +1 -1
  69. package/dist/validation/KnownTypeNamesInFederationRule.d.ts.map +1 -1
  70. package/dist/validation/KnownTypeNamesInFederationRule.js +1 -2
  71. package/dist/validation/KnownTypeNamesInFederationRule.js.map +1 -1
  72. package/dist/values.d.ts +1 -0
  73. package/dist/values.d.ts.map +1 -1
  74. package/dist/values.js +3 -2
  75. package/dist/values.js.map +1 -1
  76. package/package.json +3 -3
  77. package/src/__tests__/definitions.test.ts +19 -17
  78. package/src/__tests__/federation.test.ts +31 -0
  79. package/src/__tests__/operations.test.ts +2 -3
  80. package/src/__tests__/schemaUpgrader.test.ts +168 -0
  81. package/src/__tests__/subgraphValidation.test.ts +5 -19
  82. package/src/__tests__/values.test.ts +2 -4
  83. package/src/buildSchema.ts +55 -36
  84. package/src/coreSpec.ts +112 -31
  85. package/src/definitions.ts +247 -260
  86. package/src/directiveAndTypeSpecification.ts +276 -0
  87. package/src/error.ts +55 -5
  88. package/src/extractSubgraphsFromSupergraph.ts +34 -118
  89. package/src/federation.ts +912 -295
  90. package/src/federationSpec.ts +113 -0
  91. package/src/index.ts +2 -0
  92. package/src/joinSpec.ts +2 -1
  93. package/src/operations.ts +22 -7
  94. package/src/print.ts +51 -38
  95. package/src/schemaUpgrader.ts +657 -0
  96. package/src/sharing.ts +68 -0
  97. package/src/supergraphs.ts +3 -3
  98. package/src/tagSpec.ts +1 -3
  99. package/src/utils.ts +63 -0
  100. package/src/validate.ts +13 -7
  101. package/src/validation/KnownTypeNamesInFederationRule.ts +1 -7
  102. package/src/values.ts +7 -3
  103. package/tsconfig.test.tsbuildinfo +1 -1
  104. package/tsconfig.tsbuildinfo +1 -1
@@ -1,6 +1,10 @@
1
1
  import { DocumentNode, Source } from "graphql";
2
- import { BuiltIns, Schema, Type } from "./definitions";
3
- export declare function buildSchema(source: string | Source, builtIns?: BuiltIns, validate?: boolean): Schema;
4
- export declare function buildSchemaFromAST(documentNode: DocumentNode, builtIns?: BuiltIns, validate?: boolean): Schema;
2
+ import { SchemaBlueprint, Schema, Type } from "./definitions";
3
+ export declare type BuildSchemaOptions = {
4
+ blueprint?: SchemaBlueprint;
5
+ validate?: boolean;
6
+ };
7
+ export declare function buildSchema(source: string | Source, options?: BuildSchemaOptions): Schema;
8
+ export declare function buildSchemaFromAST(documentNode: DocumentNode, options?: BuildSchemaOptions): Schema;
5
9
  export declare function builtTypeReference(encodedType: string, schema: Schema): Type;
6
10
  //# sourceMappingURL=buildSchema.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"buildSchema.d.ts","sourceRoot":"","sources":["../src/buildSchema.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,YAAY,EAMZ,MAAM,EAWP,MAAM,SAAS,CAAC;AAEjB,OAAO,EACL,QAAQ,EACR,MAAM,EAUN,IAAI,EAcL,MAAM,eAAe,CAAC;AAcvB,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,QAAQ,GAAE,QAA0B,EAAE,QAAQ,GAAE,OAAc,GAAG,MAAM,CAE3H;AAED,wBAAgB,kBAAkB,CAAC,YAAY,EAAE,YAAY,EAAE,QAAQ,GAAE,QAA0B,EAAE,QAAQ,GAAE,OAAc,GAAG,MAAM,CAyDrI;AA4MD,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAE5E"}
1
+ {"version":3,"file":"buildSchema.d.ts","sourceRoot":"","sources":["../src/buildSchema.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,YAAY,EAMZ,MAAM,EAUP,MAAM,SAAS,CAAC;AAGjB,OAAO,EACL,eAAe,EACf,MAAM,EASN,IAAI,EAcL,MAAM,eAAe,CAAC;AAMvB,oBAAY,kBAAkB,GAAG;IAC/B,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAA;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,MAAM,CAEzF;AAED,wBAAgB,kBAAkB,CAChC,YAAY,EAAE,YAAY,EAC1B,OAAO,CAAC,EAAE,kBAAkB,GAC3B,MAAM,CAuDR;AAkOD,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAE5E"}
@@ -2,38 +2,41 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.builtTypeReference = exports.buildSchemaFromAST = exports.buildSchema = void 0;
4
4
  const graphql_1 = require("graphql");
5
+ const values_1 = require("./values");
5
6
  const definitions_1 = require("./definitions");
6
7
  function buildValue(value) {
7
- return value ? (0, graphql_1.valueFromASTUntyped)(value) : undefined;
8
+ return value ? (0, values_1.valueFromASTUntyped)(value) : undefined;
8
9
  }
9
- function buildSchema(source, builtIns = definitions_1.graphQLBuiltIns, validate = true) {
10
- return buildSchemaFromAST((0, graphql_1.parse)(source), builtIns, validate);
10
+ function buildSchema(source, options) {
11
+ return buildSchemaFromAST((0, graphql_1.parse)(source), options);
11
12
  }
12
13
  exports.buildSchema = buildSchema;
13
- function buildSchemaFromAST(documentNode, builtIns = definitions_1.graphQLBuiltIns, validate = true) {
14
- const schema = new definitions_1.Schema(builtIns);
15
- const directiveDefinitionNodes = buildNamedTypeAndDirectivesShallow(documentNode, schema);
16
- for (const directiveDefinitionNode of directiveDefinitionNodes) {
14
+ function buildSchemaFromAST(documentNode, options) {
15
+ var _a;
16
+ const schema = new definitions_1.Schema(options === null || options === void 0 ? void 0 : options.blueprint);
17
+ const { directiveDefinitions, schemaDefinitions, schemaExtensions } = buildNamedTypeAndDirectivesShallow(documentNode, schema);
18
+ for (const directiveDefinitionNode of directiveDefinitions) {
17
19
  buildDirectiveDefinitionInner(directiveDefinitionNode, schema.directive(directiveDefinitionNode.name.value));
18
20
  }
21
+ for (const schemaDefinition of schemaDefinitions) {
22
+ buildSchemaDefinitionInner(schemaDefinition, schema.schemaDefinition);
23
+ }
24
+ for (const schemaExtension of schemaExtensions) {
25
+ buildSchemaDefinitionInner(schemaExtension, schema.schemaDefinition, schema.schemaDefinition.newExtension());
26
+ }
27
+ schema.blueprint.onDirectiveDefinitionAndSchemaParsed(schema);
19
28
  for (const definitionNode of documentNode.definitions) {
20
29
  switch (definitionNode.kind) {
21
30
  case 'OperationDefinition':
22
31
  case 'FragmentDefinition':
23
32
  throw new graphql_1.GraphQLError("Invalid executable definition found while building schema", definitionNode);
24
- case 'SchemaDefinition':
25
- buildSchemaDefinitionInner(definitionNode, schema.schemaDefinition);
26
- break;
27
- case 'SchemaExtension':
28
- buildSchemaDefinitionInner(definitionNode, schema.schemaDefinition, schema.schemaDefinition.newExtension());
29
- break;
30
33
  case 'ScalarTypeDefinition':
31
34
  case 'ObjectTypeDefinition':
32
35
  case 'InterfaceTypeDefinition':
33
36
  case 'UnionTypeDefinition':
34
37
  case 'EnumTypeDefinition':
35
38
  case 'InputObjectTypeDefinition':
36
- buildNamedTypeInner(definitionNode, schema.type(definitionNode.name.value));
39
+ buildNamedTypeInner(definitionNode, schema.type(definitionNode.name.value), schema.blueprint);
37
40
  break;
38
41
  case 'ScalarTypeExtension':
39
42
  case 'ObjectTypeExtension':
@@ -44,21 +47,28 @@ function buildSchemaFromAST(documentNode, builtIns = definitions_1.graphQLBuiltI
44
47
  const toExtend = schema.type(definitionNode.name.value);
45
48
  const extension = toExtend.newExtension();
46
49
  extension.sourceAST = definitionNode;
47
- buildNamedTypeInner(definitionNode, toExtend, extension);
50
+ buildNamedTypeInner(definitionNode, toExtend, schema.blueprint, extension);
48
51
  break;
49
52
  }
50
53
  }
51
- definitions_1.Schema.prototype['forceSetCachedDocument'].call(schema, documentNode);
52
- if (validate) {
54
+ if ((_a = options === null || options === void 0 ? void 0 : options.validate) !== null && _a !== void 0 ? _a : true) {
53
55
  schema.validate();
54
56
  }
55
57
  return schema;
56
58
  }
57
59
  exports.buildSchemaFromAST = buildSchemaFromAST;
58
60
  function buildNamedTypeAndDirectivesShallow(documentNode, schema) {
59
- const directiveDefinitionNodes = [];
61
+ const directiveDefinitions = [];
62
+ const schemaDefinitions = [];
63
+ const schemaExtensions = [];
60
64
  for (const definitionNode of documentNode.definitions) {
61
65
  switch (definitionNode.kind) {
66
+ case 'SchemaDefinition':
67
+ schemaDefinitions.push(definitionNode);
68
+ break;
69
+ case 'SchemaExtension':
70
+ schemaExtensions.push(definitionNode);
71
+ break;
62
72
  case 'ScalarTypeDefinition':
63
73
  case 'ObjectTypeDefinition':
64
74
  case 'InterfaceTypeDefinition':
@@ -77,12 +87,16 @@ function buildNamedTypeAndDirectivesShallow(documentNode, schema) {
77
87
  }
78
88
  break;
79
89
  case 'DirectiveDefinition':
80
- directiveDefinitionNodes.push(definitionNode);
90
+ directiveDefinitions.push(definitionNode);
81
91
  schema.addDirectiveDefinition(definitionNode.name.value);
82
92
  break;
83
93
  }
84
94
  }
85
- return directiveDefinitionNodes;
95
+ return {
96
+ directiveDefinitions,
97
+ schemaDefinitions,
98
+ schemaExtensions,
99
+ };
86
100
  }
87
101
  function withoutTrailingDefinition(str) {
88
102
  const endString = str.endsWith('Definition') ? 'Definition' : 'Extension';
@@ -115,7 +129,9 @@ function buildSchemaDefinitionInner(schemaNode, schemaDefinition, extension) {
115
129
  withNodeAttachedToError(() => schemaDefinition.setRoot(opTypeNode.operation, opTypeNode.type.name.value).setOfExtension(extension), opTypeNode);
116
130
  }
117
131
  schemaDefinition.sourceAST = schemaNode;
118
- schemaDefinition.description = 'description' in schemaNode ? (_b = schemaNode.description) === null || _b === void 0 ? void 0 : _b.value : undefined;
132
+ if ('description' in schemaNode) {
133
+ schemaDefinition.description = (_b = schemaNode.description) === null || _b === void 0 ? void 0 : _b.value;
134
+ }
119
135
  buildAppliedDirectives(schemaNode, schemaDefinition, extension);
120
136
  }
121
137
  function buildAppliedDirectives(elementNode, element, extension) {
@@ -136,7 +152,7 @@ function buildArgs(argumentsNode) {
136
152
  }
137
153
  return args;
138
154
  }
139
- function buildNamedTypeInner(definitionNode, type, extension) {
155
+ function buildNamedTypeInner(definitionNode, type, blueprint, extension) {
140
156
  var _a, _b, _c, _d, _e, _f, _g;
141
157
  switch (definitionNode.kind) {
142
158
  case 'ObjectTypeDefinition':
@@ -145,6 +161,9 @@ function buildNamedTypeInner(definitionNode, type, extension) {
145
161
  case 'InterfaceTypeExtension':
146
162
  const fieldBasedType = type;
147
163
  for (const fieldNode of (_a = definitionNode.fields) !== null && _a !== void 0 ? _a : []) {
164
+ if (blueprint.ignoreParsedField(type, fieldNode.name.value)) {
165
+ continue;
166
+ }
148
167
  const field = fieldBasedType.addField(fieldNode.name.value);
149
168
  field.setOfExtension(extension);
150
169
  buildFieldDefinitionInner(fieldNode, field);
@@ -1 +1 @@
1
- {"version":3,"file":"buildSchema.js","sourceRoot":"","sources":["../src/buildSchema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"buildSchema.js","sourceRoot":"","sources":["../src/buildSchema.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,8 @@
1
1
  import { ASTNode, StringValueNode } from "graphql";
2
2
  import { CoreFeature, Directive, DirectiveDefinition, EnumType, NamedType, ScalarType, Schema, SchemaDefinition } from "./definitions";
3
3
  export declare const coreIdentity = "https://specs.apollo.dev/core";
4
+ export declare const linkIdentity = "https://specs.apollo.dev/link";
5
+ export declare const linkDirectiveDefaultName = "link";
4
6
  export declare const ErrCoreCheckFailed: (causes: Error[]) => import("@apollo/core-schema/dist/error").GraphQLErrorExt<"CheckFailed"> & {
5
7
  message: string;
6
8
  causes: Error[];
@@ -16,7 +18,8 @@ export declare abstract class FeatureDefinition {
16
18
  isSpecDirective(directive: DirectiveDefinition): boolean;
17
19
  abstract addElementsToSchema(schema: Schema): void;
18
20
  protected nameInSchema(schema: Schema): string | undefined;
19
- protected elementNameInSchema(schema: Schema, elementName: string): string | undefined;
21
+ protected directiveNameInSchema(schema: Schema, directiveName: string): string | undefined;
22
+ protected typeNameInSchema(schema: Schema, directiveName: string): string | undefined;
20
23
  protected rootDirective<TApplicationArgs extends {
21
24
  [key: string]: any;
22
25
  }>(schema: Schema): DirectiveDefinition<TApplicationArgs> | undefined;
@@ -32,20 +35,37 @@ export declare abstract class FeatureDefinition {
32
35
  toString(): string;
33
36
  }
34
37
  export declare type CoreDirectiveArgs = {
38
+ url: undefined;
35
39
  feature: string;
36
40
  as?: string;
37
41
  for?: string;
38
42
  };
39
- export declare function isCoreSpecDirectiveApplication(directive: Directive<SchemaDefinition, any>): directive is Directive<SchemaDefinition, CoreDirectiveArgs>;
43
+ export declare type LinkDirectiveArgs = {
44
+ url: string;
45
+ feature: undefined;
46
+ as?: string;
47
+ for?: string;
48
+ import?: (string | CoreImport)[];
49
+ };
50
+ export declare type CoreOrLinkDirectiveArgs = CoreDirectiveArgs | LinkDirectiveArgs;
51
+ export declare type CoreImport = {
52
+ name: string;
53
+ as?: string;
54
+ };
55
+ export declare function extractCoreFeatureImports(directive: Directive<SchemaDefinition, CoreOrLinkDirectiveArgs>): CoreImport[];
56
+ export declare function isCoreSpecDirectiveApplication(directive: Directive<SchemaDefinition, any>): directive is Directive<SchemaDefinition, CoreOrLinkDirectiveArgs>;
40
57
  export declare class CoreSpecDefinition extends FeatureDefinition {
41
- constructor(version: FeatureVersion);
58
+ constructor(version: FeatureVersion, identity?: string, name?: string);
42
59
  addElementsToSchema(_: Schema): void;
43
60
  addToSchema(schema: Schema, as?: string): void;
44
61
  private supportPurposes;
62
+ private supportImport;
45
63
  private extractFeature;
46
- coreDirective(schema: Schema): DirectiveDefinition<CoreDirectiveArgs>;
64
+ coreDirective(schema: Schema): DirectiveDefinition<CoreOrLinkDirectiveArgs>;
47
65
  coreVersion(schema: Schema): FeatureVersion;
48
66
  applyFeatureToSchema(schema: Schema, feature: FeatureDefinition, as?: string, purpose?: CorePurpose): void;
67
+ extractFeatureUrl(args: CoreOrLinkDirectiveArgs): FeatureUrl;
68
+ urlArgName(): 'feature' | 'url';
49
69
  }
50
70
  export declare class FeatureDefinitions<T extends FeatureDefinition = FeatureDefinition> {
51
71
  readonly identity: string;
@@ -85,6 +105,8 @@ export declare class FeatureUrl {
85
105
  get base(): FeatureUrl;
86
106
  toString(): string;
87
107
  }
108
+ export declare function findCoreSpecVersion(featureUrl: FeatureUrl): CoreSpecDefinition | undefined;
88
109
  export declare const CORE_VERSIONS: FeatureDefinitions<CoreSpecDefinition>;
110
+ export declare const LINK_VERSIONS: FeatureDefinitions<CoreSpecDefinition>;
89
111
  export declare function removeFeatureElements(schema: Schema, feature: CoreFeature): void;
90
112
  //# sourceMappingURL=coreSpec.d.ts.map
@@ -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
@@ -1,13 +1,16 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.removeFeatureElements = exports.CORE_VERSIONS = exports.FeatureUrl = exports.FeatureVersion = exports.FeatureDefinitions = exports.CoreSpecDefinition = exports.isCoreSpecDirectiveApplication = exports.FeatureDefinition = exports.corePurposes = exports.ErrCoreCheckFailed = exports.coreIdentity = void 0;
3
+ exports.removeFeatureElements = exports.LINK_VERSIONS = exports.CORE_VERSIONS = exports.findCoreSpecVersion = exports.FeatureUrl = exports.FeatureVersion = exports.FeatureDefinitions = exports.CoreSpecDefinition = exports.isCoreSpecDirectiveApplication = exports.extractCoreFeatureImports = exports.FeatureDefinition = exports.corePurposes = exports.ErrCoreCheckFailed = exports.linkDirectiveDefaultName = exports.linkIdentity = exports.coreIdentity = void 0;
4
4
  const graphql_1 = require("graphql");
5
5
  const url_1 = require("url");
6
6
  const definitions_1 = require("./definitions");
7
7
  const types_1 = require("./types");
8
8
  const core_schema_1 = require("@apollo/core-schema");
9
9
  const utils_1 = require("./utils");
10
+ const error_1 = require("./error");
10
11
  exports.coreIdentity = 'https://specs.apollo.dev/core';
12
+ exports.linkIdentity = 'https://specs.apollo.dev/link';
13
+ exports.linkDirectiveDefaultName = 'link';
11
14
  const ErrCoreCheckFailed = (causes) => (0, core_schema_1.err)('CheckFailed', {
12
15
  message: 'one or more checks failed',
13
16
  causes
@@ -48,35 +51,37 @@ class FeatureDefinition {
48
51
  const feature = this.featureInSchema(schema);
49
52
  return feature === null || feature === void 0 ? void 0 : feature.nameInSchema;
50
53
  }
51
- elementNameInSchema(schema, elementName) {
52
- const nameInSchema = this.nameInSchema(schema);
53
- return nameInSchema
54
- ? (elementName === nameInSchema ? nameInSchema : `${nameInSchema}__${elementName}`)
55
- : undefined;
54
+ directiveNameInSchema(schema, directiveName) {
55
+ const feature = this.featureInSchema(schema);
56
+ return feature ? feature.directiveNameInSchema(directiveName) : undefined;
57
+ }
58
+ typeNameInSchema(schema, directiveName) {
59
+ const feature = this.featureInSchema(schema);
60
+ return feature ? feature.typeNameInSchema(directiveName) : undefined;
56
61
  }
57
62
  rootDirective(schema) {
58
63
  const name = this.nameInSchema(schema);
59
64
  return name ? schema.directive(name) : undefined;
60
65
  }
61
66
  directive(schema, elementName) {
62
- const name = this.elementNameInSchema(schema, elementName);
67
+ const name = this.directiveNameInSchema(schema, elementName);
63
68
  return name ? schema.directive(name) : undefined;
64
69
  }
65
70
  type(schema, elementName) {
66
- const name = this.elementNameInSchema(schema, elementName);
71
+ const name = this.typeNameInSchema(schema, elementName);
67
72
  return name ? schema.type(name) : undefined;
68
73
  }
69
74
  addRootDirective(schema) {
70
75
  return schema.addDirectiveDefinition(this.nameInSchema(schema));
71
76
  }
72
77
  addDirective(schema, name) {
73
- return schema.addDirectiveDefinition(this.elementNameInSchema(schema, name));
78
+ return schema.addDirectiveDefinition(this.directiveNameInSchema(schema, name));
74
79
  }
75
80
  addScalarType(schema, name) {
76
- return schema.addType(new definitions_1.ScalarType(this.elementNameInSchema(schema, name)));
81
+ return schema.addType(new definitions_1.ScalarType(this.typeNameInSchema(schema, name)));
77
82
  }
78
83
  addEnumType(schema, name) {
79
- return schema.addType(new definitions_1.EnumType(this.elementNameInSchema(schema, name)));
84
+ return schema.addType(new definitions_1.EnumType(this.typeNameInSchema(schema, name)));
80
85
  }
81
86
  featureInSchema(schema) {
82
87
  const features = schema.coreFeatures;
@@ -90,16 +95,39 @@ class FeatureDefinition {
90
95
  }
91
96
  }
92
97
  exports.FeatureDefinition = FeatureDefinition;
98
+ function extractCoreFeatureImports(directive) {
99
+ const args = directive.arguments();
100
+ if (!('import' in args)) {
101
+ return [];
102
+ }
103
+ const importArg = args.import;
104
+ const imports = importArg ? importArg.map((a) => typeof a === 'string' ? { name: a } : a) : [];
105
+ for (const i of imports) {
106
+ if (!i.as) {
107
+ continue;
108
+ }
109
+ if (i.name.charAt(0) === '@' && i.as.charAt(0) !== '@') {
110
+ throw error_1.ERRORS.INVALID_LINK_DIRECTIVE_USAGE.err({
111
+ message: `Invalid @link import renaming: directive ${i.name} imported name should starts with a '@' character, but got "${i.as}"`,
112
+ nodes: directive.sourceAST
113
+ });
114
+ }
115
+ if (i.name.charAt(0) !== '@' && i.as.charAt(0) === '@') {
116
+ throw error_1.ERRORS.INVALID_LINK_DIRECTIVE_USAGE.err({
117
+ message: `Invalid @link import renaming: type ${i.name} imported name should not starts with a '@' character, but got "${i.as}" (or, if @${i.name} is a directive, then it should be refered to with a '@')`,
118
+ nodes: directive.sourceAST
119
+ });
120
+ }
121
+ }
122
+ return imports;
123
+ }
124
+ exports.extractCoreFeatureImports = extractCoreFeatureImports;
93
125
  function isCoreSpecDirectiveApplication(directive) {
94
- var _a;
126
+ var _a, _b, _c;
95
127
  const definition = directive.definition;
96
128
  if (!definition) {
97
129
  return false;
98
130
  }
99
- const featureArg = definition.argument('feature');
100
- if (!featureArg || !(0, types_1.sameType)(featureArg.type, new definitions_1.NonNullType(directive.schema().stringType()))) {
101
- return false;
102
- }
103
131
  const asArg = definition.argument('as');
104
132
  if (asArg && !(0, types_1.sameType)(asArg.type, directive.schema().stringType())) {
105
133
  return false;
@@ -107,10 +135,19 @@ function isCoreSpecDirectiveApplication(directive) {
107
135
  if (!definition.repeatable || definition.locations.length !== 1 || definition.locations[0] !== graphql_1.DirectiveLocation.SCHEMA) {
108
136
  return false;
109
137
  }
138
+ const urlArg = (_a = definition.argument('url')) !== null && _a !== void 0 ? _a : definition.argument('feature');
139
+ if (!urlArg || !(0, types_1.sameType)(urlArg.type, new definitions_1.NonNullType(directive.schema().stringType()))) {
140
+ return false;
141
+ }
110
142
  const args = directive.arguments();
111
143
  try {
112
- const url = FeatureUrl.parse(args.feature);
113
- return url.identity === exports.coreIdentity && directive.name === ((_a = args.as) !== null && _a !== void 0 ? _a : 'core');
144
+ const url = FeatureUrl.parse(args[urlArg.name]);
145
+ if (url.identity === exports.coreIdentity) {
146
+ return directive.name === ((_b = args.as) !== null && _b !== void 0 ? _b : 'core');
147
+ }
148
+ else {
149
+ return url.identity === exports.linkIdentity && directive.name === ((_c = args.as) !== null && _c !== void 0 ? _c : exports.linkDirectiveDefaultName);
150
+ }
114
151
  }
115
152
  catch (err) {
116
153
  return false;
@@ -118,8 +155,8 @@ function isCoreSpecDirectiveApplication(directive) {
118
155
  }
119
156
  exports.isCoreSpecDirectiveApplication = isCoreSpecDirectiveApplication;
120
157
  class CoreSpecDefinition extends FeatureDefinition {
121
- constructor(version) {
122
- super(new FeatureUrl(exports.coreIdentity, 'core', version));
158
+ constructor(version, identity = exports.linkIdentity, name = exports.linkDirectiveDefaultName) {
159
+ super(new FeatureUrl(identity, name, version));
123
160
  }
124
161
  addElementsToSchema(_) {
125
162
  }
@@ -136,7 +173,7 @@ class CoreSpecDefinition extends FeatureDefinition {
136
173
  const nameInSchema = as !== null && as !== void 0 ? as : this.url.name;
137
174
  const core = schema.addDirectiveDefinition(nameInSchema).addLocations(graphql_1.DirectiveLocation.SCHEMA);
138
175
  core.repeatable = true;
139
- core.addArgument('feature', new definitions_1.NonNullType(schema.stringType()));
176
+ core.addArgument(this.urlArgName(), new definitions_1.NonNullType(schema.stringType()));
140
177
  core.addArgument('as', schema.stringType());
141
178
  if (this.supportPurposes()) {
142
179
  const purposeEnum = schema.addType(new definitions_1.EnumType(`${nameInSchema}__Purpose`));
@@ -145,7 +182,14 @@ class CoreSpecDefinition extends FeatureDefinition {
145
182
  }
146
183
  core.addArgument('for', purposeEnum);
147
184
  }
148
- const args = { feature: this.toString() };
185
+ if (this.supportImport()) {
186
+ if (schema.type(`${nameInSchema}__Import`)) {
187
+ console.trace();
188
+ }
189
+ const importType = schema.addType(new definitions_1.ScalarType(`${nameInSchema}__Import`));
190
+ core.addArgument('import', new definitions_1.ListType(importType));
191
+ }
192
+ const args = { [this.urlArgName()]: this.toString() };
149
193
  if (as) {
150
194
  args.as = as;
151
195
  }
@@ -154,6 +198,9 @@ class CoreSpecDefinition extends FeatureDefinition {
154
198
  supportPurposes() {
155
199
  return this.version.strictlyGreaterThan(new FeatureVersion(0, 1));
156
200
  }
201
+ supportImport() {
202
+ return this.url.name === exports.linkDirectiveDefaultName;
203
+ }
157
204
  extractFeature(schema) {
158
205
  const features = schema.coreFeatures;
159
206
  if (!features) {
@@ -176,7 +223,7 @@ class CoreSpecDefinition extends FeatureDefinition {
176
223
  applyFeatureToSchema(schema, feature, as, purpose) {
177
224
  const coreDirective = this.coreDirective(schema);
178
225
  const args = {
179
- feature: feature.toString(),
226
+ [this.urlArgName()]: feature.toString(),
180
227
  as,
181
228
  };
182
229
  if (this.supportPurposes() && purpose) {
@@ -185,6 +232,12 @@ class CoreSpecDefinition extends FeatureDefinition {
185
232
  schema.schemaDefinition.applyDirective(coreDirective, args);
186
233
  feature.addElementsToSchema(schema);
187
234
  }
235
+ extractFeatureUrl(args) {
236
+ return FeatureUrl.parse(args[this.urlArgName()]);
237
+ }
238
+ urlArgName() {
239
+ return this.url.name === 'core' ? 'feature' : 'url';
240
+ }
188
241
  }
189
242
  exports.CoreSpecDefinition = CoreSpecDefinition;
190
243
  class FeatureDefinitions {
@@ -329,9 +382,17 @@ class FeatureUrl {
329
382
  }
330
383
  }
331
384
  exports.FeatureUrl = FeatureUrl;
385
+ function findCoreSpecVersion(featureUrl) {
386
+ return featureUrl.name === 'core'
387
+ ? exports.CORE_VERSIONS.find(featureUrl.version)
388
+ : (featureUrl.name === exports.linkDirectiveDefaultName ? exports.LINK_VERSIONS.find(featureUrl.version) : undefined);
389
+ }
390
+ exports.findCoreSpecVersion = findCoreSpecVersion;
332
391
  exports.CORE_VERSIONS = new FeatureDefinitions(exports.coreIdentity)
333
- .add(new CoreSpecDefinition(new FeatureVersion(0, 1)))
334
- .add(new CoreSpecDefinition(new FeatureVersion(0, 2)));
392
+ .add(new CoreSpecDefinition(new FeatureVersion(0, 1), exports.coreIdentity, 'core'))
393
+ .add(new CoreSpecDefinition(new FeatureVersion(0, 2), exports.coreIdentity, 'core'));
394
+ exports.LINK_VERSIONS = new FeatureDefinitions(exports.linkIdentity)
395
+ .add(new CoreSpecDefinition(new FeatureVersion(1, 0)));
335
396
  function removeFeatureElements(schema, feature) {
336
397
  const featureDirectives = schema.directives().filter(d => feature.isFeatureDefinition(d));
337
398
  featureDirectives.forEach(d => d.remove().forEach(application => application.remove()));
@@ -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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"}