@apollo/federation-internals 2.0.0-preview.7 → 2.0.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 (109) hide show
  1. package/CHANGELOG.md +32 -3
  2. package/dist/buildSchema.d.ts.map +1 -1
  3. package/dist/buildSchema.js +51 -41
  4. package/dist/buildSchema.js.map +1 -1
  5. package/dist/coreSpec.d.ts +16 -8
  6. package/dist/coreSpec.d.ts.map +1 -1
  7. package/dist/coreSpec.js +205 -53
  8. package/dist/coreSpec.js.map +1 -1
  9. package/dist/definitions.d.ts +28 -11
  10. package/dist/definitions.d.ts.map +1 -1
  11. package/dist/definitions.js +185 -67
  12. package/dist/definitions.js.map +1 -1
  13. package/dist/directiveAndTypeSpecification.d.ts +11 -1
  14. package/dist/directiveAndTypeSpecification.d.ts.map +1 -1
  15. package/dist/directiveAndTypeSpecification.js +77 -20
  16. package/dist/directiveAndTypeSpecification.js.map +1 -1
  17. package/dist/error.d.ts +17 -0
  18. package/dist/error.d.ts.map +1 -1
  19. package/dist/error.js +54 -2
  20. package/dist/error.js.map +1 -1
  21. package/dist/extractSubgraphsFromSupergraph.d.ts.map +1 -1
  22. package/dist/extractSubgraphsFromSupergraph.js +7 -1
  23. package/dist/extractSubgraphsFromSupergraph.js.map +1 -1
  24. package/dist/federation.d.ts +22 -5
  25. package/dist/federation.d.ts.map +1 -1
  26. package/dist/federation.js +143 -86
  27. package/dist/federation.js.map +1 -1
  28. package/dist/federationSpec.d.ts +6 -2
  29. package/dist/federationSpec.d.ts.map +1 -1
  30. package/dist/federationSpec.js +47 -22
  31. package/dist/federationSpec.js.map +1 -1
  32. package/dist/inaccessibleSpec.d.ts +10 -2
  33. package/dist/inaccessibleSpec.d.ts.map +1 -1
  34. package/dist/inaccessibleSpec.js +634 -16
  35. package/dist/inaccessibleSpec.js.map +1 -1
  36. package/dist/index.d.ts +2 -0
  37. package/dist/index.d.ts.map +1 -1
  38. package/dist/index.js +2 -0
  39. package/dist/index.js.map +1 -1
  40. package/dist/introspection.d.ts.map +1 -1
  41. package/dist/introspection.js +8 -3
  42. package/dist/introspection.js.map +1 -1
  43. package/dist/joinSpec.d.ts +5 -1
  44. package/dist/joinSpec.d.ts.map +1 -1
  45. package/dist/joinSpec.js +21 -0
  46. package/dist/joinSpec.js.map +1 -1
  47. package/dist/knownCoreFeatures.d.ts +4 -0
  48. package/dist/knownCoreFeatures.d.ts.map +1 -0
  49. package/dist/knownCoreFeatures.js +16 -0
  50. package/dist/knownCoreFeatures.js.map +1 -0
  51. package/dist/operations.d.ts +1 -0
  52. package/dist/operations.d.ts.map +1 -1
  53. package/dist/operations.js +16 -1
  54. package/dist/operations.js.map +1 -1
  55. package/dist/{sharing.d.ts → precompute.d.ts} +1 -1
  56. package/dist/precompute.d.ts.map +1 -0
  57. package/dist/{sharing.js → precompute.js} +3 -3
  58. package/dist/precompute.js.map +1 -0
  59. package/dist/schemaUpgrader.d.ts.map +1 -1
  60. package/dist/schemaUpgrader.js +17 -7
  61. package/dist/schemaUpgrader.js.map +1 -1
  62. package/dist/suggestions.d.ts +1 -1
  63. package/dist/suggestions.d.ts.map +1 -1
  64. package/dist/suggestions.js.map +1 -1
  65. package/dist/supergraphs.d.ts.map +1 -1
  66. package/dist/supergraphs.js +2 -0
  67. package/dist/supergraphs.js.map +1 -1
  68. package/dist/tagSpec.d.ts +7 -2
  69. package/dist/tagSpec.d.ts.map +1 -1
  70. package/dist/tagSpec.js +35 -14
  71. package/dist/tagSpec.js.map +1 -1
  72. package/dist/validate.js +13 -7
  73. package/dist/validate.js.map +1 -1
  74. package/dist/values.d.ts +2 -2
  75. package/dist/values.d.ts.map +1 -1
  76. package/dist/values.js +13 -11
  77. package/dist/values.js.map +1 -1
  78. package/package.json +4 -4
  79. package/src/__tests__/coreSpec.test.ts +212 -0
  80. package/src/__tests__/definitions.test.ts +75 -0
  81. package/src/__tests__/removeInaccessibleElements.test.ts +2229 -137
  82. package/src/__tests__/schemaUpgrader.test.ts +3 -2
  83. package/src/__tests__/subgraphValidation.test.ts +419 -4
  84. package/src/__tests__/values.test.ts +315 -3
  85. package/src/buildSchema.ts +98 -51
  86. package/src/coreSpec.ts +277 -65
  87. package/src/definitions.ts +317 -92
  88. package/src/directiveAndTypeSpecification.ts +98 -21
  89. package/src/error.ts +119 -1
  90. package/src/extractSubgraphsFromSupergraph.ts +7 -1
  91. package/src/federation.ts +184 -102
  92. package/src/federationSpec.ts +56 -24
  93. package/src/inaccessibleSpec.ts +985 -39
  94. package/src/index.ts +2 -0
  95. package/src/introspection.ts +8 -3
  96. package/src/joinSpec.ts +33 -3
  97. package/src/knownCoreFeatures.ts +13 -0
  98. package/src/operations.ts +15 -0
  99. package/src/{sharing.ts → precompute.ts} +3 -6
  100. package/src/schemaUpgrader.ts +29 -13
  101. package/src/suggestions.ts +1 -1
  102. package/src/supergraphs.ts +2 -0
  103. package/src/tagSpec.ts +49 -16
  104. package/src/validate.ts +20 -9
  105. package/src/values.ts +39 -12
  106. package/tsconfig.test.tsbuildinfo +1 -1
  107. package/tsconfig.tsbuildinfo +1 -1
  108. package/dist/sharing.d.ts.map +0 -1
  109. package/dist/sharing.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"values.js","sourceRoot":"","sources":["../src/values.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"values.js","sourceRoot":"","sources":["../src/values.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@apollo/federation-internals",
3
- "version": "2.0.0-preview.7",
3
+ "version": "2.0.0",
4
4
  "description": "Apollo Federation internal utilities",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -20,10 +20,10 @@
20
20
  "author": "Apollo <packages@apollographql.com>",
21
21
  "license": "SEE LICENSE IN ./LICENSE",
22
22
  "engines": {
23
- "node": ">=12.13.0 <17.0"
23
+ "node": ">=12.13.0 <18.0"
24
24
  },
25
25
  "dependencies": {
26
- "@apollo/core-schema": "^0.2.2",
26
+ "@apollo/core-schema": "~0.2.3",
27
27
  "chalk": "^4.1.0",
28
28
  "js-levenshtein": "^1.1.6"
29
29
  },
@@ -33,5 +33,5 @@
33
33
  "peerDependencies": {
34
34
  "graphql": "^16.0.0"
35
35
  },
36
- "gitHead": "8572831c6abf87749ba60dba161ae3ce7fb30ea8"
36
+ "gitHead": "d6e3b48536de475c2f0ad491b3d30b456a5940e1"
37
37
  }
@@ -0,0 +1,212 @@
1
+ import { DocumentNode, GraphQLError } from "graphql";
2
+ import gql from "graphql-tag";
3
+ import { buildSubgraph } from "../federation";
4
+ import { errorCauses } from "../definitions";
5
+ import { assert } from "../utils";
6
+ import { buildSchemaFromAST } from "../buildSchema";
7
+ import { removeAllCoreFeatures } from "../coreSpec";
8
+
9
+ function expectErrors(
10
+ subgraphDefs: DocumentNode,
11
+ expectedErrorMessages: string[],
12
+ ) {
13
+ let thrownError: Error | undefined = undefined;
14
+ expect(() => {
15
+ try {
16
+ // Note: we use buildSubgraph because currently it's the only one that does auto-magic import of
17
+ // directive definition, and we don't want to bother with adding the @link definition to every
18
+ // example.
19
+ buildSubgraph('S', '', subgraphDefs)
20
+ } catch (e) {
21
+ // Kind-of ugly, but if Jest has a better option, I haven't found it.
22
+ thrownError = e;
23
+ throw e;
24
+ }
25
+ }).toThrow(GraphQLError);
26
+
27
+ assert(thrownError, 'Should have thrown');
28
+ const causes = errorCauses(thrownError);
29
+ assert(causes, 'Should have some causes');
30
+ // Note: all the received message with start with "[S] <rest of message>", so the `slice` below
31
+ // strips the extra prefix. This avoid leaking the subgraph name to leak to the tests themselves.
32
+ expect(causes.map((e) => e.message.slice(4))).toStrictEqual(expectedErrorMessages);
33
+ }
34
+
35
+ describe('@link(import:) argument', () => {
36
+ test('errors on misformed values', () => {
37
+ const schema = gql`
38
+ extend schema @link(
39
+ url: "https://specs.apollo.dev/federation/v2.0",
40
+ import: [
41
+ 2,
42
+ { foo: "bar" },
43
+ { name: "@key", badName: "foo"},
44
+ { name: 42 },
45
+ { as: "bar" },
46
+ ]
47
+ )
48
+
49
+ type Query {
50
+ q: Int
51
+ }
52
+ `;
53
+
54
+ expectErrors(schema, [
55
+ 'Invalid sub-value 2 for @link(import:) argument: values should be either strings or input object values of the form { name: "<importedElement>", as: "<alias>" }.',
56
+ 'Unknown field "foo" for sub-value {foo: "bar"} of @link(import:) argument.',
57
+ 'Unknown field "badName" for sub-value {name: "@key", badName: "foo"} of @link(import:) argument.',
58
+ 'Invalid value for the "name" field for sub-value {name: 42} of @link(import:) argument: must be a string.',
59
+ 'Invalid sub-value {as: "bar"} for @link(import:) argument: missing mandatory "name" field.',
60
+ ]);
61
+ });
62
+
63
+ test('errors on mismatch between name and alias', () => {
64
+ const schema = gql`
65
+ extend schema @link(
66
+ url: "https://specs.apollo.dev/federation/v2.0",
67
+ import: [
68
+ { name: "@key", as: "myKey" },
69
+ { name: "FieldSet", as: "@fieldSet" },
70
+ ]
71
+ )
72
+
73
+ type Query {
74
+ q: Int
75
+ }
76
+ `;
77
+
78
+ expectErrors(schema, [
79
+ 'Invalid @link import renaming: directive "@key" imported name should start with a \'@\' character, but got "myKey".',
80
+ 'Invalid @link import renaming: type "FieldSet" imported name should not start with a \'@\' character, but got "@fieldSet" (or, if @FieldSet is a directive, then it should be referred to with a \'@\').',
81
+ ]);
82
+ });
83
+
84
+ test('errors on importing unknown elements for known features', () => {
85
+ const schema = gql`
86
+ extend schema @link(
87
+ url: "https://specs.apollo.dev/federation/v2.0",
88
+ import: [ "@foo", "key", { name: "@sharable" } ]
89
+ )
90
+
91
+ type Query {
92
+ q: Int
93
+ }
94
+ `;
95
+
96
+ expectErrors(schema, [
97
+ 'Cannot import unknown element "@foo".',
98
+ 'Cannot import unknown element "key". Did you mean directive "@key"?',
99
+ 'Cannot import unknown element "@sharable\". Did you mean "@shareable"?',
100
+ ]);
101
+ });
102
+ });
103
+
104
+ describe('removeAllCoreFeatures', () => {
105
+ it('removes core (and only core) feature definitions, accounting for aliasing', () => {
106
+ const schema = buildSchemaFromAST(gql`
107
+ directive @lonk(url: String, as: String, for: Porpoise, import: [lonk__Import]) repeatable on SCHEMA
108
+
109
+ scalar lonk__Import
110
+
111
+ enum Porpoise {
112
+ """
113
+ \`SECURITY\` features provide metadata necessary to securely resolve fields.
114
+ """
115
+ SECURITY
116
+
117
+ """
118
+ \`EXECUTION\` features provide metadata necessary for operation execution.
119
+ """
120
+ EXECUTION
121
+ }
122
+
123
+ extend schema
124
+ @lonk(
125
+ url: "https://specs.apollo.dev/link/v1.0",
126
+ as: "lonk",
127
+ import: [
128
+ { name: "Purpose", as: "Porpoise" }
129
+ ]
130
+ )
131
+ @lonk(
132
+ url: "https://localhost/foobar/v1.0",
133
+ as: "foo"
134
+ import: [
135
+ "bar",
136
+ "@baz",
137
+ { name: "qux", as: "qax" },
138
+ { name: "@quz", as: "@qaz" },
139
+ ]
140
+ )
141
+
142
+ type Query {
143
+ q: Int
144
+ }
145
+
146
+ # Shouldn't remove original spec name
147
+ scalar foobar
148
+ scalar foobar__Scalar
149
+ directive @foobar on FIELD
150
+ directive @foobar__directive on FIELD
151
+
152
+ # Should remove aliased spec name (other than type "foo")
153
+ scalar foo
154
+ scalar foo__Scalar
155
+ directive @foo on FIELD
156
+ directive @foo__directive on FIELD
157
+
158
+ # Should remove imports (prefixed or not)
159
+ type bar implements foo__bar {
160
+ someField: foo!
161
+ }
162
+ interface foo__bar {
163
+ someField: foo!
164
+ }
165
+ directive @baz on FIELD
166
+ directive @foo__baz on FIELD
167
+
168
+ # Shouldn't remove original import names
169
+ input qux {
170
+ someField: ID!
171
+ }
172
+ directive @quz on FIELD
173
+
174
+ # Should remove aliased import names (and prefixed original)
175
+ union qax = bar
176
+ enum foo__qax {
177
+ SOME_VALUE
178
+ }
179
+ scalar foo__qux
180
+ directive @qaz on FIELD
181
+ directive @foo__qaz on FIELD
182
+ directive @foo__quz on FIELD
183
+ `);
184
+
185
+ removeAllCoreFeatures(schema);
186
+ schema.validate();
187
+
188
+ expect(schema.elementByCoordinate("@lonk")).toBeUndefined();
189
+ expect(schema.elementByCoordinate("lonk__Import")).toBeUndefined();
190
+ expect(schema.elementByCoordinate("Porpoise")).toBeUndefined();
191
+ expect(schema.elementByCoordinate("foobar")).toBeDefined();
192
+ expect(schema.elementByCoordinate("foobar__Scalar")).toBeDefined();
193
+ expect(schema.elementByCoordinate("@foobar")).toBeDefined();
194
+ expect(schema.elementByCoordinate("@foobar__directive")).toBeDefined();
195
+ expect(schema.elementByCoordinate("foo")).toBeDefined();
196
+ expect(schema.elementByCoordinate("foo__Scalar")).toBeUndefined();
197
+ expect(schema.elementByCoordinate("@foo")).toBeUndefined();
198
+ expect(schema.elementByCoordinate("@foo__directive")).toBeUndefined();
199
+ expect(schema.elementByCoordinate("bar")).toBeUndefined();
200
+ expect(schema.elementByCoordinate("foo__bar")).toBeUndefined();
201
+ expect(schema.elementByCoordinate("@baz")).toBeUndefined();
202
+ expect(schema.elementByCoordinate("@foo__baz")).toBeUndefined();
203
+ expect(schema.elementByCoordinate("qux")).toBeDefined();
204
+ expect(schema.elementByCoordinate("@quz")).toBeDefined();
205
+ expect(schema.elementByCoordinate("qax")).toBeUndefined();
206
+ expect(schema.elementByCoordinate("foo__qax")).toBeUndefined();
207
+ expect(schema.elementByCoordinate("foo__qux")).toBeUndefined();
208
+ expect(schema.elementByCoordinate("@qaz")).toBeUndefined();
209
+ expect(schema.elementByCoordinate("@foo__qaz")).toBeUndefined();
210
+ expect(schema.elementByCoordinate("@foo__quz")).toBeUndefined();
211
+ });
212
+ });
@@ -7,6 +7,7 @@ import {
7
7
  EnumType,
8
8
  SchemaElement,
9
9
  UnionType,
10
+ InputObjectType,
10
11
  } from '../../dist/definitions';
11
12
  import {
12
13
  printSchema as printGraphQLjsSchema
@@ -612,3 +613,77 @@ test('correctly convert to a graphQL-js schema', () => {
612
613
  const graphqQLSchema = schema.toGraphQLJSSchema();
613
614
  expect(printGraphQLjsSchema(graphqQLSchema)).toMatchString(sdl);
614
615
  });
616
+
617
+ test('retrieving elements by coordinate', () => {
618
+ const sdl = `
619
+ directive @foo(bar: Int) on FIELD
620
+
621
+ type Query {
622
+ t: T
623
+ }
624
+
625
+ type T {
626
+ f1(x: Int): String
627
+ f2: String
628
+ }
629
+
630
+ interface I {
631
+ i: String
632
+ }
633
+
634
+ input O {
635
+ x: Int
636
+ }
637
+
638
+ enum E {
639
+ FOO
640
+ BAR
641
+ }
642
+
643
+ scalar Date
644
+ `;
645
+ const schema = parseSchema(sdl);
646
+
647
+ expect(schema.elementByCoordinate('Query')).toBe(schema.schemaDefinition.rootType('query'));
648
+ expect(schema.elementByCoordinate('Query.t')).toBe(schema.schemaDefinition.rootType('query')?.field('t'));
649
+
650
+ const typeT = schema.type('T') as ObjectType;
651
+ expect(schema.elementByCoordinate('T')).toBe(typeT);
652
+ expect(schema.elementByCoordinate('T.f1')).toBe(typeT.field('f1'));
653
+ expect(schema.elementByCoordinate('T.f2')).toBe(typeT.field('f2'));
654
+ expect(schema.elementByCoordinate('T.f1(x:)')).toBe(typeT.field('f1')?.argument('x'));
655
+
656
+ const typeI = schema.type('I') as InterfaceType;
657
+ expect(schema.elementByCoordinate('I')).toBe(typeI);
658
+ expect(schema.elementByCoordinate('I.i')).toBe(typeI.field('i'));
659
+
660
+ const typeO = schema.type('O') as InputObjectType;
661
+ expect(schema.elementByCoordinate('O')).toBe(typeO);
662
+ expect(schema.elementByCoordinate('O.x')).toBe(typeO.field('x'));
663
+
664
+ const typeE = schema.type('E') as EnumType;
665
+ expect(schema.elementByCoordinate('E')).toBe(typeE);
666
+ expect(schema.elementByCoordinate('E.FOO')).toBe(typeE.value('FOO'));
667
+
668
+ expect(schema.elementByCoordinate('Date')).toBe(schema.type('Date'));
669
+
670
+ const directiveFoo = schema.directive('foo')!;
671
+ expect(schema.elementByCoordinate('@foo')).toBe(directiveFoo);
672
+ expect(schema.elementByCoordinate('@foo(bar:)')).toBe(directiveFoo.argument('bar'));
673
+
674
+ expect(schema.elementByCoordinate('SomeType')).toBeUndefined();
675
+ expect(schema.elementByCoordinate('T.f3')).toBeUndefined();
676
+ expect(schema.elementByCoordinate('T.f1(y:)')).toBeUndefined();
677
+ expect(schema.elementByCoordinate('I.j')).toBeUndefined();
678
+ expect(schema.elementByCoordinate('I.j(x:)')).toBeUndefined();
679
+ expect(schema.elementByCoordinate('O.z')).toBeUndefined();
680
+ expect(schema.elementByCoordinate('@bar')).toBeUndefined();
681
+ expect(schema.elementByCoordinate('@foo(unknown:)')).toBeUndefined();
682
+
683
+ expect(() => schema.elementByCoordinate('foo bar')).toThrow();
684
+ expect(() => schema.elementByCoordinate('@foo.bar')).toThrow();
685
+ // Note that because 'O' is an input type, it's field can't have args
686
+ expect(() => schema.elementByCoordinate('O.x(foo:)')).toThrow();
687
+ // Note that because 'Date' is a scalar, it cannot have fields
688
+ expect(() => schema.elementByCoordinate('Date.bar')).toThrow();
689
+ })