Skip to content

Commit bb9b5fe

Browse files
authored
Fix merged typeDefs not working correctly at runtime (#308)
* Use mergeTypeDefs * Add changeset * Run yarn * Add @graphql-tools/merge to root package.json * Update e2e test outcome
1 parent 906d454 commit bb9b5fe

File tree

32 files changed

+6244
-21591
lines changed

32 files changed

+6244
-21591
lines changed

.changeset/stupid-points-count.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'@eddeee888/gcg-typescript-resolver-files': patch
3+
---
4+
5+
Use @graphql-tools/merge to merge typeDefs

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
"@graphql-codegen/schema-ast": "4.1.0",
2020
"@graphql-codegen/typescript": "4.0.8",
2121
"@graphql-codegen/typescript-resolvers": "4.2.1",
22+
"@graphql-tools/merge": "9.0.4",
2223
"@nx/devkit": "19.0.2",
2324
"@nx/eslint": "19.0.2",
2425
"@nx/eslint-plugin": "19.0.2",

packages/typescript-resolver-files-e2e/src/test-add-option/schema-append/typeDefs.generated.ts

Lines changed: 24 additions & 67 deletions
Original file line numberDiff line numberDiff line change
@@ -4,138 +4,95 @@ export const typeDefs = {
44
definitions: [
55
{
66
kind: 'ObjectTypeDefinition',
7-
name: { kind: 'Name', value: 'Query', loc: { start: 5, end: 10 } },
7+
name: { kind: 'Name', value: 'Query' },
88
interfaces: [],
99
directives: [],
1010
fields: [
1111
{
1212
kind: 'FieldDefinition',
13-
name: { kind: 'Name', value: 'test', loc: { start: 15, end: 19 } },
13+
name: { kind: 'Name', value: 'test' },
1414
arguments: [],
1515
type: {
1616
kind: 'NonNullType',
17-
type: {
18-
kind: 'NamedType',
19-
name: {
20-
kind: 'Name',
21-
value: 'Test',
22-
loc: { start: 21, end: 25 },
23-
},
24-
loc: { start: 21, end: 25 },
25-
},
26-
loc: { start: 21, end: 26 },
17+
type: { kind: 'NamedType', name: { kind: 'Name', value: 'Test' } },
2718
},
2819
directives: [],
29-
loc: { start: 15, end: 26 },
3020
},
3121
],
32-
loc: { start: 0, end: 28 },
3322
},
3423
{
3524
kind: 'ObjectTypeDefinition',
36-
name: { kind: 'Name', value: 'Test', loc: { start: 35, end: 39 } },
25+
name: { kind: 'Name', value: 'Test' },
3726
interfaces: [],
3827
directives: [],
3928
fields: [
4029
{
4130
kind: 'FieldDefinition',
42-
name: { kind: 'Name', value: 'id', loc: { start: 44, end: 46 } },
31+
name: { kind: 'Name', value: 'id' },
4332
arguments: [],
4433
type: {
4534
kind: 'NonNullType',
46-
type: {
47-
kind: 'NamedType',
48-
name: { kind: 'Name', value: 'ID', loc: { start: 48, end: 50 } },
49-
loc: { start: 48, end: 50 },
50-
},
51-
loc: { start: 48, end: 51 },
35+
type: { kind: 'NamedType', name: { kind: 'Name', value: 'ID' } },
5236
},
5337
directives: [],
54-
loc: { start: 44, end: 51 },
5538
},
5639
{
5740
kind: 'FieldDefinition',
58-
name: { kind: 'Name', value: 'string', loc: { start: 54, end: 60 } },
41+
name: { kind: 'Name', value: 'string' },
5942
arguments: [],
6043
type: {
6144
kind: 'NonNullType',
6245
type: {
6346
kind: 'NamedType',
64-
name: {
65-
kind: 'Name',
66-
value: 'String',
67-
loc: { start: 62, end: 68 },
68-
},
69-
loc: { start: 62, end: 68 },
47+
name: { kind: 'Name', value: 'String' },
7048
},
71-
loc: { start: 62, end: 69 },
7249
},
7350
directives: [],
74-
loc: { start: 54, end: 69 },
7551
},
7652
{
7753
kind: 'FieldDefinition',
78-
name: { kind: 'Name', value: 'boolean', loc: { start: 72, end: 79 } },
54+
name: { kind: 'Name', value: 'boolean' },
7955
arguments: [],
8056
type: {
8157
kind: 'NonNullType',
8258
type: {
8359
kind: 'NamedType',
84-
name: {
85-
kind: 'Name',
86-
value: 'Boolean',
87-
loc: { start: 81, end: 88 },
88-
},
89-
loc: { start: 81, end: 88 },
60+
name: { kind: 'Name', value: 'Boolean' },
9061
},
91-
loc: { start: 81, end: 89 },
9262
},
9363
directives: [],
94-
loc: { start: 72, end: 89 },
9564
},
9665
{
9766
kind: 'FieldDefinition',
98-
name: { kind: 'Name', value: 'int', loc: { start: 92, end: 95 } },
67+
name: { kind: 'Name', value: 'int' },
9968
arguments: [],
10069
type: {
10170
kind: 'NonNullType',
102-
type: {
103-
kind: 'NamedType',
104-
name: {
105-
kind: 'Name',
106-
value: 'Int',
107-
loc: { start: 97, end: 100 },
108-
},
109-
loc: { start: 97, end: 100 },
110-
},
111-
loc: { start: 97, end: 101 },
71+
type: { kind: 'NamedType', name: { kind: 'Name', value: 'Int' } },
11272
},
11373
directives: [],
114-
loc: { start: 92, end: 101 },
11574
},
11675
{
11776
kind: 'FieldDefinition',
118-
name: { kind: 'Name', value: 'float', loc: { start: 104, end: 109 } },
77+
name: { kind: 'Name', value: 'float' },
11978
arguments: [],
12079
type: {
12180
kind: 'NonNullType',
122-
type: {
123-
kind: 'NamedType',
124-
name: {
125-
kind: 'Name',
126-
value: 'Float',
127-
loc: { start: 111, end: 116 },
128-
},
129-
loc: { start: 111, end: 116 },
130-
},
131-
loc: { start: 111, end: 117 },
81+
type: { kind: 'NamedType', name: { kind: 'Name', value: 'Float' } },
13282
},
13383
directives: [],
134-
loc: { start: 104, end: 117 },
13584
},
13685
],
137-
loc: { start: 30, end: 119 },
86+
},
87+
{
88+
kind: 'SchemaDefinition',
89+
operationTypes: [
90+
{
91+
kind: 'OperationTypeDefinition',
92+
type: { kind: 'NamedType', name: { kind: 'Name', value: 'Query' } },
93+
operation: 'query',
94+
},
95+
],
13896
},
13997
],
140-
loc: { start: 0, end: 120 },
14198
} as unknown as DocumentNode;

packages/typescript-resolver-files-e2e/src/test-add-option/schema-content/typeDefs.generated.ts

Lines changed: 24 additions & 67 deletions
Original file line numberDiff line numberDiff line change
@@ -4,138 +4,95 @@ export const typeDefs = {
44
definitions: [
55
{
66
kind: 'ObjectTypeDefinition',
7-
name: { kind: 'Name', value: 'Query', loc: { start: 5, end: 10 } },
7+
name: { kind: 'Name', value: 'Query' },
88
interfaces: [],
99
directives: [],
1010
fields: [
1111
{
1212
kind: 'FieldDefinition',
13-
name: { kind: 'Name', value: 'test', loc: { start: 15, end: 19 } },
13+
name: { kind: 'Name', value: 'test' },
1414
arguments: [],
1515
type: {
1616
kind: 'NonNullType',
17-
type: {
18-
kind: 'NamedType',
19-
name: {
20-
kind: 'Name',
21-
value: 'Test',
22-
loc: { start: 21, end: 25 },
23-
},
24-
loc: { start: 21, end: 25 },
25-
},
26-
loc: { start: 21, end: 26 },
17+
type: { kind: 'NamedType', name: { kind: 'Name', value: 'Test' } },
2718
},
2819
directives: [],
29-
loc: { start: 15, end: 26 },
3020
},
3121
],
32-
loc: { start: 0, end: 28 },
3322
},
3423
{
3524
kind: 'ObjectTypeDefinition',
36-
name: { kind: 'Name', value: 'Test', loc: { start: 35, end: 39 } },
25+
name: { kind: 'Name', value: 'Test' },
3726
interfaces: [],
3827
directives: [],
3928
fields: [
4029
{
4130
kind: 'FieldDefinition',
42-
name: { kind: 'Name', value: 'id', loc: { start: 44, end: 46 } },
31+
name: { kind: 'Name', value: 'id' },
4332
arguments: [],
4433
type: {
4534
kind: 'NonNullType',
46-
type: {
47-
kind: 'NamedType',
48-
name: { kind: 'Name', value: 'ID', loc: { start: 48, end: 50 } },
49-
loc: { start: 48, end: 50 },
50-
},
51-
loc: { start: 48, end: 51 },
35+
type: { kind: 'NamedType', name: { kind: 'Name', value: 'ID' } },
5236
},
5337
directives: [],
54-
loc: { start: 44, end: 51 },
5538
},
5639
{
5740
kind: 'FieldDefinition',
58-
name: { kind: 'Name', value: 'string', loc: { start: 54, end: 60 } },
41+
name: { kind: 'Name', value: 'string' },
5942
arguments: [],
6043
type: {
6144
kind: 'NonNullType',
6245
type: {
6346
kind: 'NamedType',
64-
name: {
65-
kind: 'Name',
66-
value: 'String',
67-
loc: { start: 62, end: 68 },
68-
},
69-
loc: { start: 62, end: 68 },
47+
name: { kind: 'Name', value: 'String' },
7048
},
71-
loc: { start: 62, end: 69 },
7249
},
7350
directives: [],
74-
loc: { start: 54, end: 69 },
7551
},
7652
{
7753
kind: 'FieldDefinition',
78-
name: { kind: 'Name', value: 'boolean', loc: { start: 72, end: 79 } },
54+
name: { kind: 'Name', value: 'boolean' },
7955
arguments: [],
8056
type: {
8157
kind: 'NonNullType',
8258
type: {
8359
kind: 'NamedType',
84-
name: {
85-
kind: 'Name',
86-
value: 'Boolean',
87-
loc: { start: 81, end: 88 },
88-
},
89-
loc: { start: 81, end: 88 },
60+
name: { kind: 'Name', value: 'Boolean' },
9061
},
91-
loc: { start: 81, end: 89 },
9262
},
9363
directives: [],
94-
loc: { start: 72, end: 89 },
9564
},
9665
{
9766
kind: 'FieldDefinition',
98-
name: { kind: 'Name', value: 'int', loc: { start: 92, end: 95 } },
67+
name: { kind: 'Name', value: 'int' },
9968
arguments: [],
10069
type: {
10170
kind: 'NonNullType',
102-
type: {
103-
kind: 'NamedType',
104-
name: {
105-
kind: 'Name',
106-
value: 'Int',
107-
loc: { start: 97, end: 100 },
108-
},
109-
loc: { start: 97, end: 100 },
110-
},
111-
loc: { start: 97, end: 101 },
71+
type: { kind: 'NamedType', name: { kind: 'Name', value: 'Int' } },
11272
},
11373
directives: [],
114-
loc: { start: 92, end: 101 },
11574
},
11675
{
11776
kind: 'FieldDefinition',
118-
name: { kind: 'Name', value: 'float', loc: { start: 104, end: 109 } },
77+
name: { kind: 'Name', value: 'float' },
11978
arguments: [],
12079
type: {
12180
kind: 'NonNullType',
122-
type: {
123-
kind: 'NamedType',
124-
name: {
125-
kind: 'Name',
126-
value: 'Float',
127-
loc: { start: 111, end: 116 },
128-
},
129-
loc: { start: 111, end: 116 },
130-
},
131-
loc: { start: 111, end: 117 },
81+
type: { kind: 'NamedType', name: { kind: 'Name', value: 'Float' } },
13282
},
13383
directives: [],
134-
loc: { start: 104, end: 117 },
13584
},
13685
],
137-
loc: { start: 30, end: 119 },
86+
},
87+
{
88+
kind: 'SchemaDefinition',
89+
operationTypes: [
90+
{
91+
kind: 'OperationTypeDefinition',
92+
type: { kind: 'NamedType', name: { kind: 'Name', value: 'Query' } },
93+
operation: 'query',
94+
},
95+
],
13896
},
13997
],
140-
loc: { start: 0, end: 120 },
14198
} as unknown as DocumentNode;

0 commit comments

Comments
 (0)