@apollo/federation-internals 2.0.0-preview.4 → 2.0.0-preview.8

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 (63) hide show
  1. package/CHANGELOG.md +13 -3
  2. package/dist/buildSchema.d.ts.map +1 -1
  3. package/dist/buildSchema.js +50 -40
  4. package/dist/buildSchema.js.map +1 -1
  5. package/dist/coreSpec.d.ts +4 -2
  6. package/dist/coreSpec.d.ts.map +1 -1
  7. package/dist/coreSpec.js +107 -19
  8. package/dist/coreSpec.js.map +1 -1
  9. package/dist/definitions.d.ts +3 -0
  10. package/dist/definitions.d.ts.map +1 -1
  11. package/dist/definitions.js +72 -6
  12. package/dist/definitions.js.map +1 -1
  13. package/dist/error.d.ts +5 -0
  14. package/dist/error.d.ts.map +1 -1
  15. package/dist/error.js +29 -1
  16. package/dist/error.js.map +1 -1
  17. package/dist/federation.d.ts +4 -0
  18. package/dist/federation.d.ts.map +1 -1
  19. package/dist/federation.js +41 -11
  20. package/dist/federation.js.map +1 -1
  21. package/dist/federationSpec.d.ts +4 -0
  22. package/dist/federationSpec.d.ts.map +1 -1
  23. package/dist/federationSpec.js +20 -2
  24. package/dist/federationSpec.js.map +1 -1
  25. package/dist/inaccessibleSpec.d.ts +3 -0
  26. package/dist/inaccessibleSpec.d.ts.map +1 -1
  27. package/dist/inaccessibleSpec.js +22 -3
  28. package/dist/inaccessibleSpec.js.map +1 -1
  29. package/dist/index.d.ts +1 -0
  30. package/dist/index.d.ts.map +1 -1
  31. package/dist/index.js +1 -0
  32. package/dist/index.js.map +1 -1
  33. package/dist/joinSpec.d.ts +1 -0
  34. package/dist/joinSpec.d.ts.map +1 -1
  35. package/dist/joinSpec.js +18 -0
  36. package/dist/joinSpec.js.map +1 -1
  37. package/dist/knownCoreFeatures.d.ts +4 -0
  38. package/dist/knownCoreFeatures.d.ts.map +1 -0
  39. package/dist/knownCoreFeatures.js +16 -0
  40. package/dist/knownCoreFeatures.js.map +1 -0
  41. package/dist/tagSpec.d.ts +1 -0
  42. package/dist/tagSpec.d.ts.map +1 -1
  43. package/dist/tagSpec.js +6 -0
  44. package/dist/tagSpec.js.map +1 -1
  45. package/package.json +2 -2
  46. package/src/__tests__/coreSpec.test.ts +100 -0
  47. package/src/__tests__/definitions.test.ts +75 -0
  48. package/src/__tests__/removeInaccessibleElements.test.ts +1 -1
  49. package/src/__tests__/schemaUpgrader.test.ts +3 -2
  50. package/src/__tests__/subgraphValidation.test.ts +63 -4
  51. package/src/buildSchema.ts +97 -50
  52. package/src/coreSpec.ts +124 -21
  53. package/src/definitions.ts +99 -7
  54. package/src/error.ts +46 -0
  55. package/src/federation.ts +67 -12
  56. package/src/federationSpec.ts +27 -1
  57. package/src/inaccessibleSpec.ts +26 -10
  58. package/src/index.ts +1 -0
  59. package/src/joinSpec.ts +19 -0
  60. package/src/knownCoreFeatures.ts +13 -0
  61. package/src/tagSpec.ts +8 -0
  62. package/tsconfig.test.tsbuildinfo +1 -1
  63. package/tsconfig.tsbuildinfo +1 -1
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.removeInactiveProvidesAndRequires = exports.addSubgraphToError = exports.addSubgraphToASTNode = exports.Subgraph = exports.FEDERATION_OPERATION_FIELDS = exports.entitiesFieldName = exports.serviceFieldName = exports.FEDERATION_OPERATION_TYPES = exports.entityTypeSpec = exports.serviceTypeSpec = exports.anyTypeSpec = exports.Subgraphs = exports.subgraphsFromServiceList = exports.collectTargetFields = exports.parseFieldSetArgument = exports.newEmptyFederation2Schema = exports.buildSubgraph = exports.isEntityType = exports.isFederationField = exports.isFederationSubgraphSchema = exports.federationMetadata = exports.printSubgraphNames = exports.asFed2SubgraphDocument = exports.setSchemaAsFed2Subgraph = exports.FederationBlueprint = exports.FederationMetadata = exports.collectUsedExternalFieldsCoordinates = exports.FEDERATION_RESERVED_SUBGRAPH_NAME = void 0;
3
+ exports.removeInactiveProvidesAndRequires = exports.addSubgraphToError = exports.addSubgraphToASTNode = exports.Subgraph = exports.FEDERATION_OPERATION_FIELDS = exports.entitiesFieldName = exports.serviceFieldName = exports.FEDERATION_OPERATION_TYPES = exports.entityTypeSpec = exports.serviceTypeSpec = exports.anyTypeSpec = exports.Subgraphs = exports.subgraphsFromServiceList = exports.collectTargetFields = exports.parseFieldSetArgument = exports.newEmptyFederation2Schema = exports.buildSubgraph = exports.isEntityType = exports.isFederationField = exports.isFederationSubgraphSchema = exports.federationMetadata = exports.printSubgraphNames = exports.asFed2SubgraphDocument = exports.FEDERATION2_LINK_WTH_FULL_IMPORTS = exports.setSchemaAsFed2Subgraph = exports.FederationBlueprint = exports.FederationMetadata = exports.collectUsedExternalFieldsCoordinates = exports.FEDERATION_RESERVED_SUBGRAPH_NAME = void 0;
4
4
  const definitions_1 = require("./definitions");
5
5
  const utils_1 = require("./utils");
6
6
  const specifiedRules_1 = require("graphql/validation/specifiedRules");
@@ -15,6 +15,7 @@ const coreSpec_1 = require("./coreSpec");
15
15
  const federationSpec_1 = require("./federationSpec");
16
16
  const print_1 = require("./print");
17
17
  const directiveAndTypeSpecification_1 = require("./directiveAndTypeSpecification");
18
+ const suggestions_1 = require("./suggestions");
18
19
  const linkSpec = coreSpec_1.LINK_VERSIONS.latest();
19
20
  const tagSpec = tagSpec_1.TAG_VERSIONS.latest();
20
21
  const federationSpec = federationSpec_1.FEDERATION_VERSIONS.latest();
@@ -255,14 +256,6 @@ const printFieldCoordinate = (f) => `"${f.coordinate}"`;
255
256
  function formatFieldsToReturnType([type, implems]) {
256
257
  return `${(0, utils_1.joinStrings)(implems.map(printFieldCoordinate))} ${implems.length == 1 ? 'has' : 'have'} type "${type}"`;
257
258
  }
258
- function checkIfFed2Schema(schema) {
259
- const core = schema.coreFeatures;
260
- if (!core) {
261
- return false;
262
- }
263
- const federationFeature = core.getByIdentity(federationSpec.identity);
264
- return !!federationFeature && federationFeature.url.version.satisfies(new coreSpec_1.FeatureVersion(2, 0));
265
- }
266
259
  class FederationMetadata {
267
260
  constructor(schema) {
268
261
  this.schema = schema;
@@ -274,10 +267,15 @@ class FederationMetadata {
274
267
  }
275
268
  isFed2Schema() {
276
269
  if (!this._isFed2Schema) {
277
- this._isFed2Schema = checkIfFed2Schema(this.schema);
270
+ const feature = this.federationFeature();
271
+ this._isFed2Schema = !!feature && feature.url.version.satisfies(new coreSpec_1.FeatureVersion(2, 0));
278
272
  }
279
273
  return this._isFed2Schema;
280
274
  }
275
+ federationFeature() {
276
+ var _a;
277
+ return (_a = this.schema.coreFeatures) === null || _a === void 0 ? void 0 : _a.getByIdentity(federationSpec.identity);
278
+ }
281
279
  externalTester() {
282
280
  if (!this._externalTester) {
283
281
  this._externalTester = new ExternalTester(this.schema);
@@ -361,6 +359,9 @@ class FederationMetadata {
361
359
  tagDirective() {
362
360
  return this.getFederationDirective(federationSpec_1.tagDirectiveSpec.name);
363
361
  }
362
+ inaccessibleDirective() {
363
+ return this.getFederationDirective(federationSpec_1.inaccessibleDirectiveSpec.name);
364
+ }
364
365
  allFederationDirectives() {
365
366
  const baseDirectives = [
366
367
  this.keyDirective(),
@@ -371,7 +372,7 @@ class FederationMetadata {
371
372
  this.extendsDirective(),
372
373
  ];
373
374
  return this.isFed2Schema()
374
- ? baseDirectives.concat(this.shareableDirective())
375
+ ? baseDirectives.concat(this.shareableDirective(), this.inaccessibleDirective())
375
376
  : baseDirectives;
376
377
  }
377
378
  entityType() {
@@ -505,6 +506,34 @@ class FederationBlueprint extends definitions_1.SchemaBlueprint {
505
506
  validationRules() {
506
507
  return FEDERATION_VALIDATION_RULES;
507
508
  }
509
+ onUnknownDirectiveValidationError(schema, unknownDirectiveName, error) {
510
+ const metadata = federationMetadata(schema);
511
+ (0, utils_1.assert)(metadata, `This method should only have been called on a subgraph schema`);
512
+ if (federationSpec_1.ALL_FEDERATION_DIRECTIVES_DEFAULT_NAMES.includes(unknownDirectiveName)) {
513
+ if (metadata.isFed2Schema()) {
514
+ const federationFeature = metadata.federationFeature();
515
+ (0, utils_1.assert)(federationFeature, 'Fed2 subgraph _must_ link to the federation feature');
516
+ const directiveNameInSchema = federationFeature.directiveNameInSchema(unknownDirectiveName);
517
+ console.log(`For ${unknownDirectiveName}, name in schema = ${directiveNameInSchema}`);
518
+ if (directiveNameInSchema.startsWith(federationFeature.nameInSchema + '__')) {
519
+ return (0, error_1.withModifiedErrorMessage)(error, `${error.message} If you meant the "@${unknownDirectiveName}" federation directive, you should use fully-qualified name "@${directiveNameInSchema}" or add "@${unknownDirectiveName}" to the \`import\` argument of the @link to the federation specification.`);
520
+ }
521
+ else {
522
+ return (0, error_1.withModifiedErrorMessage)(error, `${error.message} If you meant the "@${unknownDirectiveName}" federation directive, you should use "@${directiveNameInSchema}" as it is imported under that name in the @link to the federation specification of this schema.`);
523
+ }
524
+ }
525
+ else {
526
+ return (0, error_1.withModifiedErrorMessage)(error, `${error.message} If you meant the "@${unknownDirectiveName}" federation 2 directive, note that this schema is a federation 1 schema. To be a federation 2 schema, it needs to @link to the federation specifcation v2.`);
527
+ }
528
+ }
529
+ else if (!metadata.isFed2Schema()) {
530
+ const suggestions = (0, suggestions_1.suggestionList)(unknownDirectiveName, federationSpec_1.FEDERATION2_ONLY_SPEC_DIRECTIVES.map((spec) => spec.name));
531
+ if (suggestions.length > 0) {
532
+ return (0, error_1.withModifiedErrorMessage)(error, `${error.message}${(0, suggestions_1.didYouMean)(suggestions.map((s) => '@' + s))} If so, note that ${suggestions.length === 1 ? 'it is a federation 2 directive' : 'they are federation 2 directives'} but this schema is a federation 1 one. To be a federation 2 schema, it needs to @link to the federation specifcation v2.`);
533
+ }
534
+ }
535
+ return error;
536
+ }
508
537
  }
509
538
  exports.FederationBlueprint = FederationBlueprint;
510
539
  const federationBlueprint = new FederationBlueprint();
@@ -543,6 +572,7 @@ function setSchemaAsFed2Subgraph(schema) {
543
572
  completeSubgraphSchema(schema);
544
573
  }
545
574
  exports.setSchemaAsFed2Subgraph = setSchemaAsFed2Subgraph;
575
+ exports.FEDERATION2_LINK_WTH_FULL_IMPORTS = '@link(url: "https://specs.apollo.dev/federation/v2.0", import: ["@key", "@requires", "@provides", "@external", "@tag", "@extends", "@shareable", "@inaccessible"])';
546
576
  function asFed2SubgraphDocument(document) {
547
577
  const fed2LinkExtension = {
548
578
  kind: graphql_1.Kind.SCHEMA_EXTENSION,
@@ -1 +1 @@
1
- {"version":3,"file":"federation.js","sourceRoot":"","sources":["../src/federation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"federation.js","sourceRoot":"","sources":["../src/federation.ts"],"names":[],"mappings":"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"}
@@ -9,11 +9,15 @@ export declare const requiresDirectiveSpec: import("./directiveAndTypeSpecificat
9
9
  export declare const providesDirectiveSpec: import("./directiveAndTypeSpecification").DirectiveSpecification;
10
10
  export declare const shareableDirectiveSpec: import("./directiveAndTypeSpecification").DirectiveSpecification;
11
11
  export declare const tagDirectiveSpec: import("./directiveAndTypeSpecification").DirectiveSpecification;
12
+ export declare const inaccessibleDirectiveSpec: import("./directiveAndTypeSpecification").DirectiveSpecification;
13
+ export declare const FEDERATION2_ONLY_SPEC_DIRECTIVES: import("./directiveAndTypeSpecification").DirectiveSpecification[];
12
14
  export declare const FEDERATION2_SPEC_DIRECTIVES: import("./directiveAndTypeSpecification").DirectiveSpecification[];
15
+ export declare const ALL_FEDERATION_DIRECTIVES_DEFAULT_NAMES: string[];
13
16
  export declare const FEDERATION_SPEC_TYPES: import("./directiveAndTypeSpecification").TypeSpecification[];
14
17
  export declare class FederationSpecDefinition extends FeatureDefinition {
15
18
  constructor(version: FeatureVersion);
16
19
  addElementsToSchema(schema: Schema): void;
20
+ allElementNames(): string[];
17
21
  }
18
22
  export declare const FEDERATION_VERSIONS: FeatureDefinitions<FederationSpecDefinition>;
19
23
  //# sourceMappingURL=federationSpec.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"federationSpec.d.ts","sourceRoot":"","sources":["../src/federationSpec.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,MAAM,EACP,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAc,cAAc,EAAE,MAAM,YAAY,CAAC;AAW/F,eAAO,MAAM,kBAAkB,wCAAwC,CAAC;AAExE,eAAO,MAAM,gBAAgB,6DAAsD,CAAC;AAEpF,eAAO,MAAM,gBAAgB,kEAQ3B,CAAC;AAEH,eAAO,MAAM,oBAAoB,kEAG/B,CAAC;AAEH,eAAO,MAAM,qBAAqB,kEAGhC,CAAC;AAEH,eAAO,MAAM,qBAAqB,kEAMhC,CAAC;AAEH,eAAO,MAAM,qBAAqB,kEAMhC,CAAC;AAEH,eAAO,MAAM,sBAAsB,kEAGjC,CAAC;AAEH,eAAO,MAAM,gBAAgB,kEAM3B,CAAC;AAaH,eAAO,MAAM,2BAA2B,oEAQvC,CAAC;AAEF,eAAO,MAAM,qBAAqB,+DAEjC,CAAA;AAED,qBAAa,wBAAyB,SAAQ,iBAAiB;gBACjD,OAAO,EAAE,cAAc;IAInC,mBAAmB,CAAC,MAAM,EAAE,MAAM;CAUnC;AAED,eAAO,MAAM,mBAAmB,8CAC8B,CAAC"}
1
+ {"version":3,"file":"federationSpec.d.ts","sourceRoot":"","sources":["../src/federationSpec.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,MAAM,EACP,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAc,cAAc,EAAE,MAAM,YAAY,CAAC;AAa/F,eAAO,MAAM,kBAAkB,wCAAwC,CAAC;AAExE,eAAO,MAAM,gBAAgB,6DAAsD,CAAC;AAEpF,eAAO,MAAM,gBAAgB,kEAQ3B,CAAC;AAEH,eAAO,MAAM,oBAAoB,kEAG/B,CAAC;AAEH,eAAO,MAAM,qBAAqB,kEAGhC,CAAC;AAEH,eAAO,MAAM,qBAAqB,kEAMhC,CAAC;AAEH,eAAO,MAAM,qBAAqB,kEAMhC,CAAC;AAEH,eAAO,MAAM,sBAAsB,kEAGjC,CAAC;AAEH,eAAO,MAAM,gBAAgB,kEAO3B,CAAC;AAEH,eAAO,MAAM,yBAAyB,kEAGpC,CAAC;AAYH,eAAO,MAAM,gCAAgC,oEAG5C,CAAC;AAGF,eAAO,MAAM,2BAA2B,oEAQvC,CAAC;AAKF,eAAO,MAAM,uCAAuC,UAAuD,CAAC;AAE5G,eAAO,MAAM,qBAAqB,+DAEjC,CAAA;AAED,qBAAa,wBAAyB,SAAQ,iBAAiB;gBACjD,OAAO,EAAE,cAAc;IAInC,mBAAmB,CAAC,MAAM,EAAE,MAAM;IAWlC,eAAe,IAAI,MAAM,EAAE;CAK5B;AAED,eAAO,MAAM,mBAAmB,8CAC8B,CAAC"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.FEDERATION_VERSIONS = exports.FederationSpecDefinition = exports.FEDERATION_SPEC_TYPES = exports.FEDERATION2_SPEC_DIRECTIVES = exports.tagDirectiveSpec = exports.shareableDirectiveSpec = exports.providesDirectiveSpec = exports.requiresDirectiveSpec = exports.externalDirectiveSpec = exports.extendsDirectiveSpec = exports.keyDirectiveSpec = exports.fieldSetTypeSpec = exports.federationIdentity = void 0;
3
+ exports.FEDERATION_VERSIONS = exports.FederationSpecDefinition = exports.FEDERATION_SPEC_TYPES = exports.ALL_FEDERATION_DIRECTIVES_DEFAULT_NAMES = exports.FEDERATION2_SPEC_DIRECTIVES = exports.FEDERATION2_ONLY_SPEC_DIRECTIVES = exports.inaccessibleDirectiveSpec = exports.tagDirectiveSpec = exports.shareableDirectiveSpec = exports.providesDirectiveSpec = exports.requiresDirectiveSpec = exports.externalDirectiveSpec = exports.extendsDirectiveSpec = exports.keyDirectiveSpec = exports.fieldSetTypeSpec = exports.federationIdentity = void 0;
4
4
  const definitions_1 = require("./definitions");
5
5
  const coreSpec_1 = require("./coreSpec");
6
6
  const directiveAndTypeSpecification_1 = require("./directiveAndTypeSpecification");
@@ -8,6 +8,8 @@ const graphql_1 = require("graphql");
8
8
  const utils_1 = require("./utils");
9
9
  const tagSpec_1 = require("./tagSpec");
10
10
  const federation_1 = require("./federation");
11
+ const knownCoreFeatures_1 = require("./knownCoreFeatures");
12
+ const inaccessibleSpec_1 = require("./inaccessibleSpec");
11
13
  exports.federationIdentity = 'https://specs.apollo.dev/federation';
12
14
  exports.fieldSetTypeSpec = (0, directiveAndTypeSpecification_1.createScalarTypeSpecification)({ name: 'FieldSet' });
13
15
  exports.keyDirectiveSpec = (0, directiveAndTypeSpecification_1.createDirectiveSpecification)({
@@ -48,10 +50,15 @@ exports.shareableDirectiveSpec = (0, directiveAndTypeSpecification_1.createDirec
48
50
  exports.tagDirectiveSpec = (0, directiveAndTypeSpecification_1.createDirectiveSpecification)({
49
51
  name: 'tag',
50
52
  locations: tagSpec_1.tagLocations,
53
+ repeatable: true,
51
54
  argumentFct: (schema) => {
52
55
  return [{ name: 'name', type: new definitions_1.NonNullType(schema.stringType()) }];
53
56
  }
54
57
  });
58
+ exports.inaccessibleDirectiveSpec = (0, directiveAndTypeSpecification_1.createDirectiveSpecification)({
59
+ name: 'inaccessible',
60
+ locations: inaccessibleSpec_1.inaccessibleLocations,
61
+ });
55
62
  function fieldsArgument(schema) {
56
63
  return { name: 'fields', type: fieldSetType(schema) };
57
64
  }
@@ -60,15 +67,20 @@ function fieldSetType(schema) {
60
67
  (0, utils_1.assert)(metadata, `The schema is not a federation subgraph`);
61
68
  return new definitions_1.NonNullType(metadata.fieldSetType());
62
69
  }
70
+ exports.FEDERATION2_ONLY_SPEC_DIRECTIVES = [
71
+ exports.shareableDirectiveSpec,
72
+ exports.inaccessibleDirectiveSpec,
73
+ ];
63
74
  exports.FEDERATION2_SPEC_DIRECTIVES = [
64
75
  exports.keyDirectiveSpec,
65
76
  exports.requiresDirectiveSpec,
66
77
  exports.providesDirectiveSpec,
67
78
  exports.externalDirectiveSpec,
68
- exports.shareableDirectiveSpec,
69
79
  exports.tagDirectiveSpec,
70
80
  exports.extendsDirectiveSpec,
81
+ ...exports.FEDERATION2_ONLY_SPEC_DIRECTIVES,
71
82
  ];
83
+ exports.ALL_FEDERATION_DIRECTIVES_DEFAULT_NAMES = exports.FEDERATION2_SPEC_DIRECTIVES.map((spec) => spec.name);
72
84
  exports.FEDERATION_SPEC_TYPES = [
73
85
  exports.fieldSetTypeSpec,
74
86
  ];
@@ -84,8 +96,14 @@ class FederationSpecDefinition extends coreSpec_1.FeatureDefinition {
84
96
  directive.checkOrAdd(schema, feature.directiveNameInSchema(directive.name));
85
97
  }
86
98
  }
99
+ allElementNames() {
100
+ return exports.FEDERATION2_SPEC_DIRECTIVES.map((spec) => `@${spec.name}`).concat([
101
+ exports.fieldSetTypeSpec.name,
102
+ ]);
103
+ }
87
104
  }
88
105
  exports.FederationSpecDefinition = FederationSpecDefinition;
89
106
  exports.FEDERATION_VERSIONS = new coreSpec_1.FeatureDefinitions(exports.federationIdentity)
90
107
  .add(new FederationSpecDefinition(new coreSpec_1.FeatureVersion(2, 0)));
108
+ (0, knownCoreFeatures_1.registerKnownFeature)(exports.FEDERATION_VERSIONS);
91
109
  //# sourceMappingURL=federationSpec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"federationSpec.js","sourceRoot":"","sources":["../src/federationSpec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"federationSpec.js","sourceRoot":"","sources":["../src/federationSpec.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,13 @@
1
1
  import { FeatureDefinition, FeatureDefinitions, FeatureVersion } from "./coreSpec";
2
2
  import { DirectiveDefinition, Schema } from "./definitions";
3
+ import { DirectiveLocation } from "graphql";
3
4
  export declare const inaccessibleIdentity = "https://specs.apollo.dev/inaccessible";
5
+ export declare const inaccessibleLocations: DirectiveLocation[];
4
6
  export declare class InaccessibleSpecDefinition extends FeatureDefinition {
5
7
  constructor(version: FeatureVersion);
6
8
  addElementsToSchema(schema: Schema): void;
7
9
  inaccessibleDirective(schema: Schema): DirectiveDefinition<Record<string, never>>;
10
+ allElementNames(): string[];
8
11
  }
9
12
  export declare const INACCESSIBLE_VERSIONS: FeatureDefinitions<InaccessibleSpecDefinition>;
10
13
  export declare function removeInaccessibleElements(schema: Schema): void;
@@ -1 +1 @@
1
- {"version":3,"file":"inaccessibleSpec.d.ts","sourceRoot":"","sources":["../src/inaccessibleSpec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAc,cAAc,EAAE,MAAM,YAAY,CAAC;AAC/F,OAAO,EACL,mBAAmB,EAKnB,MAAM,EACP,MAAM,eAAe,CAAC;AAGvB,eAAO,MAAM,oBAAoB,0CAA0C,CAAC;AAE5E,qBAAa,0BAA2B,SAAQ,iBAAiB;gBACnD,OAAO,EAAE,cAAc;IAInC,mBAAmB,CAAC,MAAM,EAAE,MAAM;IASlC,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,mBAAmB,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;CAGlF;AAED,eAAO,MAAM,qBAAqB,gDAC8B,CAAC;AAEjE,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,MAAM,QAoDxD"}
1
+ {"version":3,"file":"inaccessibleSpec.d.ts","sourceRoot":"","sources":["../src/inaccessibleSpec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAc,cAAc,EAAE,MAAM,YAAY,CAAC;AAC/F,OAAO,EACL,mBAAmB,EAKnB,MAAM,EACP,MAAM,eAAe,CAAC;AACvB,OAAO,EAAgB,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAI1D,eAAO,MAAM,oBAAoB,0CAA0C,CAAC;AAE5E,eAAO,MAAM,qBAAqB,qBAKjC,CAAC;AAEF,qBAAa,0BAA2B,SAAQ,iBAAiB;gBACnD,OAAO,EAAE,cAAc;IAInC,mBAAmB,CAAC,MAAM,EAAE,MAAM;IAIlC,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,mBAAmB,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAIjF,eAAe,IAAI,MAAM,EAAE;CAG5B;AAED,eAAO,MAAM,qBAAqB,gDAC8B,CAAC;AAIjE,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,MAAM,QA0DxD"}
@@ -1,24 +1,36 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.removeInaccessibleElements = exports.INACCESSIBLE_VERSIONS = exports.InaccessibleSpecDefinition = exports.inaccessibleIdentity = void 0;
3
+ exports.removeInaccessibleElements = exports.INACCESSIBLE_VERSIONS = exports.InaccessibleSpecDefinition = exports.inaccessibleLocations = exports.inaccessibleIdentity = void 0;
4
4
  const coreSpec_1 = require("./coreSpec");
5
5
  const definitions_1 = require("./definitions");
6
6
  const graphql_1 = require("graphql");
7
+ const knownCoreFeatures_1 = require("./knownCoreFeatures");
8
+ const error_1 = require("./error");
7
9
  exports.inaccessibleIdentity = 'https://specs.apollo.dev/inaccessible';
10
+ exports.inaccessibleLocations = [
11
+ graphql_1.DirectiveLocation.FIELD_DEFINITION,
12
+ graphql_1.DirectiveLocation.OBJECT,
13
+ graphql_1.DirectiveLocation.INTERFACE,
14
+ graphql_1.DirectiveLocation.UNION,
15
+ ];
8
16
  class InaccessibleSpecDefinition extends coreSpec_1.FeatureDefinition {
9
17
  constructor(version) {
10
18
  super(new coreSpec_1.FeatureUrl(exports.inaccessibleIdentity, 'inaccessible', version));
11
19
  }
12
20
  addElementsToSchema(schema) {
13
- this.addDirective(schema, 'inaccessible').addLocations(graphql_1.DirectiveLocation.FIELD_DEFINITION, graphql_1.DirectiveLocation.OBJECT, graphql_1.DirectiveLocation.INTERFACE, graphql_1.DirectiveLocation.UNION);
21
+ this.addDirective(schema, 'inaccessible').addLocations(...exports.inaccessibleLocations);
14
22
  }
15
23
  inaccessibleDirective(schema) {
16
24
  return this.directive(schema, 'inaccessible');
17
25
  }
26
+ allElementNames() {
27
+ return ['@inaccessible'];
28
+ }
18
29
  }
19
30
  exports.InaccessibleSpecDefinition = InaccessibleSpecDefinition;
20
31
  exports.INACCESSIBLE_VERSIONS = new coreSpec_1.FeatureDefinitions(exports.inaccessibleIdentity)
21
32
  .add(new InaccessibleSpecDefinition(new coreSpec_1.FeatureVersion(0, 1)));
33
+ (0, knownCoreFeatures_1.registerKnownFeature)(exports.INACCESSIBLE_VERSIONS);
22
34
  function removeInaccessibleElements(schema) {
23
35
  const coreFeatures = schema.coreFeatures;
24
36
  if (!coreFeatures) {
@@ -45,7 +57,14 @@ function removeInaccessibleElements(schema) {
45
57
  for (const reference of references) {
46
58
  if (reference.kind === 'FieldDefinition') {
47
59
  if (!reference.hasAppliedDirective(inaccessibleDirective)) {
48
- throw new graphql_1.GraphQLError(`Field ${reference.coordinate} returns an @inaccessible type without being marked @inaccessible itself.`, reference.sourceAST);
60
+ throw error_1.ERRORS.REFERENCED_INACCESSIBLE.err({
61
+ message: `Field "${reference.coordinate}" returns @inaccessible type "${type}" without being marked @inaccessible itself.`,
62
+ nodes: reference.sourceAST,
63
+ extensions: {
64
+ "inaccessible_element": type.coordinate,
65
+ "inaccessible_reference": reference.coordinate,
66
+ }
67
+ });
49
68
  }
50
69
  }
51
70
  }
@@ -1 +1 @@
1
- {"version":3,"file":"inaccessibleSpec.js","sourceRoot":"","sources":["../src/inaccessibleSpec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"inaccessibleSpec.js","sourceRoot":"","sources":["../src/inaccessibleSpec.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -10,6 +10,7 @@ export * from './debug';
10
10
  export * from './coreSpec';
11
11
  export * from './joinSpec';
12
12
  export * from './tagSpec';
13
+ export * from './inaccessibleSpec';
13
14
  export * from './federationSpec';
14
15
  export * from './supergraphs';
15
16
  export * from './extractSubgraphsFromSupergraph';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,kCAAkC,CAAC;AACjD,cAAc,SAAS,CAAC;AACxB,cAAc,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,kCAAkC,CAAC;AACjD,cAAc,SAAS,CAAC;AACxB,cAAc,kBAAkB,CAAC"}
package/dist/index.js CHANGED
@@ -26,6 +26,7 @@ __exportStar(require("./debug"), exports);
26
26
  __exportStar(require("./coreSpec"), exports);
27
27
  __exportStar(require("./joinSpec"), exports);
28
28
  __exportStar(require("./tagSpec"), exports);
29
+ __exportStar(require("./inaccessibleSpec"), exports);
29
30
  __exportStar(require("./federationSpec"), exports);
30
31
  __exportStar(require("./supergraphs"), exports);
31
32
  __exportStar(require("./extractSubgraphsFromSupergraph"), exports);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gDAA8B;AAC9B,gDAA8B;AAC9B,0CAAwB;AACxB,2CAAyB;AACzB,+CAA6B;AAC7B,0CAAwB;AACxB,+CAA6B;AAC7B,0CAAwB;AACxB,0CAAwB;AACxB,6CAA2B;AAC3B,6CAA2B;AAC3B,4CAA0B;AAC1B,mDAAiC;AACjC,gDAA8B;AAC9B,mEAAiD;AACjD,0CAAwB;AACxB,mDAAiC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gDAA8B;AAC9B,gDAA8B;AAC9B,0CAAwB;AACxB,2CAAyB;AACzB,+CAA6B;AAC7B,0CAAwB;AACxB,+CAA6B;AAC7B,0CAAwB;AACxB,0CAAwB;AACxB,6CAA2B;AAC3B,6CAA2B;AAC3B,4CAA0B;AAC1B,qDAAmC;AACnC,mDAAiC;AACjC,gDAA8B;AAC9B,mEAAiD;AACjD,0CAAwB;AACxB,mDAAiC"}
@@ -6,6 +6,7 @@ export declare class JoinSpecDefinition extends FeatureDefinition {
6
6
  constructor(version: FeatureVersion);
7
7
  private isV01;
8
8
  addElementsToSchema(schema: Schema): void;
9
+ allElementNames(): string[];
9
10
  populateGraphEnum(schema: Schema, subgraphs: Subgraphs): Map<string, string>;
10
11
  fieldSetScalar(schema: Schema): ScalarType;
11
12
  graphEnum(schema: Schema): EnumType;
@@ -1 +1 @@
1
- {"version":3,"file":"joinSpec.d.ts","sourceRoot":"","sources":["../src/joinSpec.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAc,cAAc,EAAE,MAAM,YAAY,CAAC;AAC/F,OAAO,EACL,mBAAmB,EACnB,QAAQ,EACR,UAAU,EACV,MAAM,EAEP,MAAM,eAAe,CAAC;AACvB,OAAO,EAAY,SAAS,EAAE,MAAM,cAAc,CAAC;AAGnD,eAAO,MAAM,YAAY,kCAAkC,CAAC;AAmB5D,qBAAa,kBAAmB,SAAQ,iBAAiB;gBAC3C,OAAO,EAAE,cAAc;IAInC,OAAO,CAAC,KAAK;IAIb,mBAAmB,CAAC,MAAM,EAAE,MAAM;IAoDlC,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;IA+B5E,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU;IAI1C,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ;IAInC,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,mBAAmB,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAC,CAAC;IAIhF,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,mBAAmB,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,OAAO,CAAC;QAAC,UAAU,CAAC,EAAE,OAAO,CAAA;KAAC,CAAC;IAI5H,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,mBAAmB,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAC,CAAC,GAAG,SAAS;IAIxG,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,mBAAmB,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAC,CAAC;IAI7I,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,mBAAmB,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAC,CAAC,GAAG,SAAS;CAGjF;AASD,eAAO,MAAM,aAAa,wCAE8B,CAAC"}
1
+ {"version":3,"file":"joinSpec.d.ts","sourceRoot":"","sources":["../src/joinSpec.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAc,cAAc,EAAE,MAAM,YAAY,CAAC;AAC/F,OAAO,EACL,mBAAmB,EACnB,QAAQ,EACR,UAAU,EACV,MAAM,EAEP,MAAM,eAAe,CAAC;AACvB,OAAO,EAAY,SAAS,EAAE,MAAM,cAAc,CAAC;AAInD,eAAO,MAAM,YAAY,kCAAkC,CAAC;AAmB5D,qBAAa,kBAAmB,SAAQ,iBAAiB;gBAC3C,OAAO,EAAE,cAAc;IAInC,OAAO,CAAC,KAAK;IAIb,mBAAmB,CAAC,MAAM,EAAE,MAAM;IAoDlC,eAAe,IAAI,MAAM,EAAE;IAgB3B,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;IA+B5E,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU;IAI1C,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ;IAInC,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,mBAAmB,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAC,CAAC;IAIhF,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,mBAAmB,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,OAAO,CAAC;QAAC,UAAU,CAAC,EAAE,OAAO,CAAA;KAAC,CAAC;IAI5H,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,mBAAmB,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAC,CAAC,GAAG,SAAS;IAIxG,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,mBAAmB,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAC,CAAC;IAI7I,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,mBAAmB,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAC,CAAC,GAAG,SAAS;CAGjF;AASD,eAAO,MAAM,aAAa,wCAE8B,CAAC"}
package/dist/joinSpec.js CHANGED
@@ -4,6 +4,7 @@ exports.JOIN_VERSIONS = exports.JoinSpecDefinition = exports.joinIdentity = void
4
4
  const graphql_1 = require("graphql");
5
5
  const coreSpec_1 = require("./coreSpec");
6
6
  const definitions_1 = require("./definitions");
7
+ const knownCoreFeatures_1 = require("./knownCoreFeatures");
7
8
  const utils_1 = require("./utils");
8
9
  exports.joinIdentity = 'https://specs.apollo.dev/join';
9
10
  function sanitizeGraphQLName(name) {
@@ -60,6 +61,22 @@ class JoinSpecDefinition extends coreSpec_1.FeatureDefinition {
60
61
  joinOwner.addArgument('graph', new definitions_1.NonNullType(graphEnum));
61
62
  }
62
63
  }
64
+ allElementNames() {
65
+ const names = [
66
+ 'graph',
67
+ 'Graph',
68
+ 'FieldSet',
69
+ '@type',
70
+ '@field',
71
+ ];
72
+ if (this.isV01()) {
73
+ names.push('@owner');
74
+ }
75
+ else {
76
+ names.push('@implements');
77
+ }
78
+ return names;
79
+ }
63
80
  populateGraphEnum(schema, subgraphs) {
64
81
  const sanitizedNameToSubgraphs = new utils_1.MultiMap();
65
82
  for (const subgraph of subgraphs) {
@@ -111,4 +128,5 @@ exports.JoinSpecDefinition = JoinSpecDefinition;
111
128
  exports.JOIN_VERSIONS = new coreSpec_1.FeatureDefinitions(exports.joinIdentity)
112
129
  .add(new JoinSpecDefinition(new coreSpec_1.FeatureVersion(0, 1)))
113
130
  .add(new JoinSpecDefinition(new coreSpec_1.FeatureVersion(0, 2)));
131
+ (0, knownCoreFeatures_1.registerKnownFeature)(exports.JOIN_VERSIONS);
114
132
  //# sourceMappingURL=joinSpec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"joinSpec.js","sourceRoot":"","sources":["../src/joinSpec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"joinSpec.js","sourceRoot":"","sources":["../src/joinSpec.ts"],"names":[],"mappings":"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"}