@graphql-codegen/graphql-modules-preset 2.3.1-alpha-df8969b0a.0 → 2.3.2-alpha-94c0a1415.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.
- package/builder.d.ts +12 -0
- package/config.d.ts +3 -3
- package/index.d.ts +1 -0
- package/index.js +96 -99
- package/index.mjs +96 -100
- package/package.json +2 -2
package/builder.d.ts
CHANGED
|
@@ -1,6 +1,17 @@
|
|
|
1
1
|
import { DocumentNode, GraphQLSchema } from 'graphql';
|
|
2
2
|
import { ModulesConfig } from './config';
|
|
3
3
|
import { BaseVisitor } from '@graphql-codegen/visitor-plugin-common';
|
|
4
|
+
declare type RegistryKeys = 'objects' | 'inputs' | 'interfaces' | 'scalars' | 'unions' | 'enums';
|
|
5
|
+
declare type Registry = Record<RegistryKeys, string[]>;
|
|
6
|
+
export declare function extractDeclared({ doc, rootTypes }: {
|
|
7
|
+
doc: DocumentNode;
|
|
8
|
+
rootTypes: string[];
|
|
9
|
+
}): {
|
|
10
|
+
picks: Record<RegistryKeys, Record<string, string[]>>;
|
|
11
|
+
defined: Registry;
|
|
12
|
+
extended: Registry;
|
|
13
|
+
usedTypes: string[];
|
|
14
|
+
};
|
|
4
15
|
export declare function buildModule(name: string, doc: DocumentNode, { importNamespace, importPath, encapsulate, shouldDeclare, rootTypes, schema, baseVisitor, useGraphQLModules, }: {
|
|
5
16
|
importNamespace: string;
|
|
6
17
|
importPath: string;
|
|
@@ -11,3 +22,4 @@ export declare function buildModule(name: string, doc: DocumentNode, { importNam
|
|
|
11
22
|
schema?: GraphQLSchema;
|
|
12
23
|
useGraphQLModules: boolean;
|
|
13
24
|
}): string;
|
|
25
|
+
export {};
|
package/config.d.ts
CHANGED
|
@@ -3,7 +3,7 @@ export declare type ModulesConfig = {
|
|
|
3
3
|
* @name baseTypesPath
|
|
4
4
|
* @type string
|
|
5
5
|
* @description Required, should point to the base schema types file.
|
|
6
|
-
* The key of the output is used a
|
|
6
|
+
* The key of the output is used a base path for this file.
|
|
7
7
|
*
|
|
8
8
|
* @example
|
|
9
9
|
* ```yml
|
|
@@ -20,7 +20,7 @@ export declare type ModulesConfig = {
|
|
|
20
20
|
/**
|
|
21
21
|
* @name importBaseTypesFrom
|
|
22
22
|
* @type string
|
|
23
|
-
* @description Overrides the package import for the base types. Use this if you are within a monorepo and you wish
|
|
23
|
+
* @description Overrides the package import for the base types. Use this if you are within a monorepo, and you wish
|
|
24
24
|
* to import the base types directly from a different package, and not from a relative path.
|
|
25
25
|
*
|
|
26
26
|
*/
|
|
@@ -86,7 +86,7 @@ export declare type ModulesConfig = {
|
|
|
86
86
|
* @name useGraphQLModules
|
|
87
87
|
* @type boolean
|
|
88
88
|
* @default true
|
|
89
|
-
* @description By default, the generated types will
|
|
89
|
+
* @description By default, the generated types will generate some code specific to `graphql-modules` library.
|
|
90
90
|
*
|
|
91
91
|
* If you are not using GraphQL-Modules, you can disable this feature by setting this to `false`.
|
|
92
92
|
*/
|
package/index.d.ts
CHANGED
package/index.js
CHANGED
|
@@ -183,12 +183,101 @@ function createObject(keys, valueFn) {
|
|
|
183
183
|
|
|
184
184
|
const registryKeys = ['objects', 'inputs', 'interfaces', 'scalars', 'unions', 'enums'];
|
|
185
185
|
const resolverKeys = ['scalars', 'objects', 'enums'];
|
|
186
|
-
function
|
|
186
|
+
function extractDeclared({ doc, rootTypes }) {
|
|
187
187
|
const picks = createObject(registryKeys, () => ({}));
|
|
188
188
|
const defined = createObject(registryKeys, () => []);
|
|
189
189
|
const extended = createObject(registryKeys, () => []);
|
|
190
|
-
// List of types used in objects, fields, arguments etc
|
|
191
190
|
const usedTypes = collectUsedTypes(doc);
|
|
191
|
+
function collectFields(node, picksObj) {
|
|
192
|
+
const name = node.name.value;
|
|
193
|
+
if (node.fields) {
|
|
194
|
+
if (!picksObj[name]) {
|
|
195
|
+
picksObj[name] = [];
|
|
196
|
+
}
|
|
197
|
+
node.fields.forEach(field => {
|
|
198
|
+
picksObj[name].push(field.name.value);
|
|
199
|
+
});
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
function collectValuesFromEnum(node) {
|
|
203
|
+
const name = node.name.value;
|
|
204
|
+
if (node.values) {
|
|
205
|
+
if (!picks.enums[name]) {
|
|
206
|
+
picks.enums[name] = [];
|
|
207
|
+
}
|
|
208
|
+
node.values.forEach(field => {
|
|
209
|
+
picks.enums[name].push(field.name.value);
|
|
210
|
+
});
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
function collectTypeDefinition(node) {
|
|
214
|
+
const name = node.name.value;
|
|
215
|
+
switch (node.kind) {
|
|
216
|
+
case graphql.Kind.OBJECT_TYPE_DEFINITION: {
|
|
217
|
+
defined.objects.push(name);
|
|
218
|
+
collectFields(node, picks.objects);
|
|
219
|
+
break;
|
|
220
|
+
}
|
|
221
|
+
case graphql.Kind.ENUM_TYPE_DEFINITION: {
|
|
222
|
+
defined.enums.push(name);
|
|
223
|
+
collectValuesFromEnum(node);
|
|
224
|
+
break;
|
|
225
|
+
}
|
|
226
|
+
case graphql.Kind.INPUT_OBJECT_TYPE_DEFINITION: {
|
|
227
|
+
defined.inputs.push(name);
|
|
228
|
+
collectFields(node, picks.inputs);
|
|
229
|
+
break;
|
|
230
|
+
}
|
|
231
|
+
case graphql.Kind.SCALAR_TYPE_DEFINITION: {
|
|
232
|
+
defined.scalars.push(name);
|
|
233
|
+
break;
|
|
234
|
+
}
|
|
235
|
+
case graphql.Kind.INTERFACE_TYPE_DEFINITION: {
|
|
236
|
+
defined.interfaces.push(name);
|
|
237
|
+
collectFields(node, picks.interfaces);
|
|
238
|
+
break;
|
|
239
|
+
}
|
|
240
|
+
case graphql.Kind.UNION_TYPE_DEFINITION: {
|
|
241
|
+
defined.unions.push(name);
|
|
242
|
+
break;
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
function collectTypeExtension(node) {
|
|
247
|
+
const name = node.name.value;
|
|
248
|
+
switch (node.kind) {
|
|
249
|
+
case graphql.Kind.OBJECT_TYPE_EXTENSION: {
|
|
250
|
+
collectFields(node, picks.objects);
|
|
251
|
+
// Do not include root types as extensions
|
|
252
|
+
// so we can use them in DefinedFields
|
|
253
|
+
if (rootTypes.includes(name)) {
|
|
254
|
+
pushUnique(defined.objects, name);
|
|
255
|
+
return;
|
|
256
|
+
}
|
|
257
|
+
pushUnique(extended.objects, name);
|
|
258
|
+
break;
|
|
259
|
+
}
|
|
260
|
+
case graphql.Kind.ENUM_TYPE_EXTENSION: {
|
|
261
|
+
collectValuesFromEnum(node);
|
|
262
|
+
pushUnique(extended.enums, name);
|
|
263
|
+
break;
|
|
264
|
+
}
|
|
265
|
+
case graphql.Kind.INPUT_OBJECT_TYPE_EXTENSION: {
|
|
266
|
+
collectFields(node, picks.inputs);
|
|
267
|
+
pushUnique(extended.inputs, name);
|
|
268
|
+
break;
|
|
269
|
+
}
|
|
270
|
+
case graphql.Kind.INTERFACE_TYPE_EXTENSION: {
|
|
271
|
+
collectFields(node, picks.interfaces);
|
|
272
|
+
pushUnique(extended.interfaces, name);
|
|
273
|
+
break;
|
|
274
|
+
}
|
|
275
|
+
case graphql.Kind.UNION_TYPE_EXTENSION: {
|
|
276
|
+
pushUnique(extended.unions, name);
|
|
277
|
+
break;
|
|
278
|
+
}
|
|
279
|
+
}
|
|
280
|
+
}
|
|
192
281
|
graphql.visit(doc, {
|
|
193
282
|
ObjectTypeDefinition(node) {
|
|
194
283
|
collectTypeDefinition(node);
|
|
@@ -224,6 +313,10 @@ function buildModule(name, doc, { importNamespace, importPath, encapsulate, shou
|
|
|
224
313
|
collectTypeExtension(node);
|
|
225
314
|
},
|
|
226
315
|
});
|
|
316
|
+
return { picks, defined, extended, usedTypes };
|
|
317
|
+
}
|
|
318
|
+
function buildModule(name, doc, { importNamespace, importPath, encapsulate, shouldDeclare, rootTypes, schema, baseVisitor, useGraphQLModules, }) {
|
|
319
|
+
const { picks, defined, extended, usedTypes } = extractDeclared({ doc, rootTypes });
|
|
227
320
|
// Defined and Extended types
|
|
228
321
|
const visited = createObject(registryKeys, key => concatByKey(defined, extended, key));
|
|
229
322
|
// Types that are not defined or extended in a module, they come from other modules
|
|
@@ -420,103 +513,6 @@ function buildModule(name, doc, { importNamespace, importPath, encapsulate, shou
|
|
|
420
513
|
function printExportType(typeName) {
|
|
421
514
|
return `export type ${encapsulateTypeName(typeName)} = ${printTypeBody(typeName)};`;
|
|
422
515
|
}
|
|
423
|
-
//
|
|
424
|
-
//
|
|
425
|
-
//
|
|
426
|
-
// Utils
|
|
427
|
-
//
|
|
428
|
-
//
|
|
429
|
-
//
|
|
430
|
-
function collectFields(node, picksObj) {
|
|
431
|
-
const name = node.name.value;
|
|
432
|
-
if (node.fields) {
|
|
433
|
-
if (!picksObj[name]) {
|
|
434
|
-
picksObj[name] = [];
|
|
435
|
-
}
|
|
436
|
-
node.fields.forEach(field => {
|
|
437
|
-
picksObj[name].push(field.name.value);
|
|
438
|
-
});
|
|
439
|
-
}
|
|
440
|
-
}
|
|
441
|
-
function collectValuesFromEnum(node) {
|
|
442
|
-
const name = node.name.value;
|
|
443
|
-
if (node.values) {
|
|
444
|
-
if (!picks.enums[name]) {
|
|
445
|
-
picks.enums[name] = [];
|
|
446
|
-
}
|
|
447
|
-
node.values.forEach(field => {
|
|
448
|
-
picks.enums[name].push(field.name.value);
|
|
449
|
-
});
|
|
450
|
-
}
|
|
451
|
-
}
|
|
452
|
-
function collectTypeDefinition(node) {
|
|
453
|
-
const name = node.name.value;
|
|
454
|
-
switch (node.kind) {
|
|
455
|
-
case graphql.Kind.OBJECT_TYPE_DEFINITION: {
|
|
456
|
-
defined.objects.push(name);
|
|
457
|
-
collectFields(node, picks.objects);
|
|
458
|
-
break;
|
|
459
|
-
}
|
|
460
|
-
case graphql.Kind.ENUM_TYPE_DEFINITION: {
|
|
461
|
-
defined.enums.push(name);
|
|
462
|
-
collectValuesFromEnum(node);
|
|
463
|
-
break;
|
|
464
|
-
}
|
|
465
|
-
case graphql.Kind.INPUT_OBJECT_TYPE_DEFINITION: {
|
|
466
|
-
defined.inputs.push(name);
|
|
467
|
-
collectFields(node, picks.inputs);
|
|
468
|
-
break;
|
|
469
|
-
}
|
|
470
|
-
case graphql.Kind.SCALAR_TYPE_DEFINITION: {
|
|
471
|
-
defined.scalars.push(name);
|
|
472
|
-
break;
|
|
473
|
-
}
|
|
474
|
-
case graphql.Kind.INTERFACE_TYPE_DEFINITION: {
|
|
475
|
-
defined.interfaces.push(name);
|
|
476
|
-
collectFields(node, picks.interfaces);
|
|
477
|
-
break;
|
|
478
|
-
}
|
|
479
|
-
case graphql.Kind.UNION_TYPE_DEFINITION: {
|
|
480
|
-
defined.unions.push(name);
|
|
481
|
-
break;
|
|
482
|
-
}
|
|
483
|
-
}
|
|
484
|
-
}
|
|
485
|
-
function collectTypeExtension(node) {
|
|
486
|
-
const name = node.name.value;
|
|
487
|
-
switch (node.kind) {
|
|
488
|
-
case graphql.Kind.OBJECT_TYPE_EXTENSION: {
|
|
489
|
-
collectFields(node, picks.objects);
|
|
490
|
-
// Do not include root types as extensions
|
|
491
|
-
// so we can use them in DefinedFields
|
|
492
|
-
if (rootTypes.includes(name)) {
|
|
493
|
-
pushUnique(defined.objects, name);
|
|
494
|
-
return;
|
|
495
|
-
}
|
|
496
|
-
pushUnique(extended.objects, name);
|
|
497
|
-
break;
|
|
498
|
-
}
|
|
499
|
-
case graphql.Kind.ENUM_TYPE_EXTENSION: {
|
|
500
|
-
collectValuesFromEnum(node);
|
|
501
|
-
pushUnique(extended.enums, name);
|
|
502
|
-
break;
|
|
503
|
-
}
|
|
504
|
-
case graphql.Kind.INPUT_OBJECT_TYPE_EXTENSION: {
|
|
505
|
-
collectFields(node, picks.inputs);
|
|
506
|
-
pushUnique(extended.inputs, name);
|
|
507
|
-
break;
|
|
508
|
-
}
|
|
509
|
-
case graphql.Kind.INTERFACE_TYPE_EXTENSION: {
|
|
510
|
-
collectFields(node, picks.interfaces);
|
|
511
|
-
pushUnique(extended.interfaces, name);
|
|
512
|
-
break;
|
|
513
|
-
}
|
|
514
|
-
case graphql.Kind.UNION_TYPE_EXTENSION: {
|
|
515
|
-
pushUnique(extended.unions, name);
|
|
516
|
-
break;
|
|
517
|
-
}
|
|
518
|
-
}
|
|
519
|
-
}
|
|
520
516
|
}
|
|
521
517
|
|
|
522
518
|
const preset = {
|
|
@@ -623,4 +619,5 @@ const preset = {
|
|
|
623
619
|
};
|
|
624
620
|
|
|
625
621
|
exports.default = preset;
|
|
622
|
+
exports.extractDeclared = extractDeclared;
|
|
626
623
|
exports.preset = preset;
|
package/index.mjs
CHANGED
|
@@ -177,12 +177,101 @@ function createObject(keys, valueFn) {
|
|
|
177
177
|
|
|
178
178
|
const registryKeys = ['objects', 'inputs', 'interfaces', 'scalars', 'unions', 'enums'];
|
|
179
179
|
const resolverKeys = ['scalars', 'objects', 'enums'];
|
|
180
|
-
function
|
|
180
|
+
function extractDeclared({ doc, rootTypes }) {
|
|
181
181
|
const picks = createObject(registryKeys, () => ({}));
|
|
182
182
|
const defined = createObject(registryKeys, () => []);
|
|
183
183
|
const extended = createObject(registryKeys, () => []);
|
|
184
|
-
// List of types used in objects, fields, arguments etc
|
|
185
184
|
const usedTypes = collectUsedTypes(doc);
|
|
185
|
+
function collectFields(node, picksObj) {
|
|
186
|
+
const name = node.name.value;
|
|
187
|
+
if (node.fields) {
|
|
188
|
+
if (!picksObj[name]) {
|
|
189
|
+
picksObj[name] = [];
|
|
190
|
+
}
|
|
191
|
+
node.fields.forEach(field => {
|
|
192
|
+
picksObj[name].push(field.name.value);
|
|
193
|
+
});
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
function collectValuesFromEnum(node) {
|
|
197
|
+
const name = node.name.value;
|
|
198
|
+
if (node.values) {
|
|
199
|
+
if (!picks.enums[name]) {
|
|
200
|
+
picks.enums[name] = [];
|
|
201
|
+
}
|
|
202
|
+
node.values.forEach(field => {
|
|
203
|
+
picks.enums[name].push(field.name.value);
|
|
204
|
+
});
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
function collectTypeDefinition(node) {
|
|
208
|
+
const name = node.name.value;
|
|
209
|
+
switch (node.kind) {
|
|
210
|
+
case Kind.OBJECT_TYPE_DEFINITION: {
|
|
211
|
+
defined.objects.push(name);
|
|
212
|
+
collectFields(node, picks.objects);
|
|
213
|
+
break;
|
|
214
|
+
}
|
|
215
|
+
case Kind.ENUM_TYPE_DEFINITION: {
|
|
216
|
+
defined.enums.push(name);
|
|
217
|
+
collectValuesFromEnum(node);
|
|
218
|
+
break;
|
|
219
|
+
}
|
|
220
|
+
case Kind.INPUT_OBJECT_TYPE_DEFINITION: {
|
|
221
|
+
defined.inputs.push(name);
|
|
222
|
+
collectFields(node, picks.inputs);
|
|
223
|
+
break;
|
|
224
|
+
}
|
|
225
|
+
case Kind.SCALAR_TYPE_DEFINITION: {
|
|
226
|
+
defined.scalars.push(name);
|
|
227
|
+
break;
|
|
228
|
+
}
|
|
229
|
+
case Kind.INTERFACE_TYPE_DEFINITION: {
|
|
230
|
+
defined.interfaces.push(name);
|
|
231
|
+
collectFields(node, picks.interfaces);
|
|
232
|
+
break;
|
|
233
|
+
}
|
|
234
|
+
case Kind.UNION_TYPE_DEFINITION: {
|
|
235
|
+
defined.unions.push(name);
|
|
236
|
+
break;
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
function collectTypeExtension(node) {
|
|
241
|
+
const name = node.name.value;
|
|
242
|
+
switch (node.kind) {
|
|
243
|
+
case Kind.OBJECT_TYPE_EXTENSION: {
|
|
244
|
+
collectFields(node, picks.objects);
|
|
245
|
+
// Do not include root types as extensions
|
|
246
|
+
// so we can use them in DefinedFields
|
|
247
|
+
if (rootTypes.includes(name)) {
|
|
248
|
+
pushUnique(defined.objects, name);
|
|
249
|
+
return;
|
|
250
|
+
}
|
|
251
|
+
pushUnique(extended.objects, name);
|
|
252
|
+
break;
|
|
253
|
+
}
|
|
254
|
+
case Kind.ENUM_TYPE_EXTENSION: {
|
|
255
|
+
collectValuesFromEnum(node);
|
|
256
|
+
pushUnique(extended.enums, name);
|
|
257
|
+
break;
|
|
258
|
+
}
|
|
259
|
+
case Kind.INPUT_OBJECT_TYPE_EXTENSION: {
|
|
260
|
+
collectFields(node, picks.inputs);
|
|
261
|
+
pushUnique(extended.inputs, name);
|
|
262
|
+
break;
|
|
263
|
+
}
|
|
264
|
+
case Kind.INTERFACE_TYPE_EXTENSION: {
|
|
265
|
+
collectFields(node, picks.interfaces);
|
|
266
|
+
pushUnique(extended.interfaces, name);
|
|
267
|
+
break;
|
|
268
|
+
}
|
|
269
|
+
case Kind.UNION_TYPE_EXTENSION: {
|
|
270
|
+
pushUnique(extended.unions, name);
|
|
271
|
+
break;
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
}
|
|
186
275
|
visit(doc, {
|
|
187
276
|
ObjectTypeDefinition(node) {
|
|
188
277
|
collectTypeDefinition(node);
|
|
@@ -218,6 +307,10 @@ function buildModule(name, doc, { importNamespace, importPath, encapsulate, shou
|
|
|
218
307
|
collectTypeExtension(node);
|
|
219
308
|
},
|
|
220
309
|
});
|
|
310
|
+
return { picks, defined, extended, usedTypes };
|
|
311
|
+
}
|
|
312
|
+
function buildModule(name, doc, { importNamespace, importPath, encapsulate, shouldDeclare, rootTypes, schema, baseVisitor, useGraphQLModules, }) {
|
|
313
|
+
const { picks, defined, extended, usedTypes } = extractDeclared({ doc, rootTypes });
|
|
221
314
|
// Defined and Extended types
|
|
222
315
|
const visited = createObject(registryKeys, key => concatByKey(defined, extended, key));
|
|
223
316
|
// Types that are not defined or extended in a module, they come from other modules
|
|
@@ -414,103 +507,6 @@ function buildModule(name, doc, { importNamespace, importPath, encapsulate, shou
|
|
|
414
507
|
function printExportType(typeName) {
|
|
415
508
|
return `export type ${encapsulateTypeName(typeName)} = ${printTypeBody(typeName)};`;
|
|
416
509
|
}
|
|
417
|
-
//
|
|
418
|
-
//
|
|
419
|
-
//
|
|
420
|
-
// Utils
|
|
421
|
-
//
|
|
422
|
-
//
|
|
423
|
-
//
|
|
424
|
-
function collectFields(node, picksObj) {
|
|
425
|
-
const name = node.name.value;
|
|
426
|
-
if (node.fields) {
|
|
427
|
-
if (!picksObj[name]) {
|
|
428
|
-
picksObj[name] = [];
|
|
429
|
-
}
|
|
430
|
-
node.fields.forEach(field => {
|
|
431
|
-
picksObj[name].push(field.name.value);
|
|
432
|
-
});
|
|
433
|
-
}
|
|
434
|
-
}
|
|
435
|
-
function collectValuesFromEnum(node) {
|
|
436
|
-
const name = node.name.value;
|
|
437
|
-
if (node.values) {
|
|
438
|
-
if (!picks.enums[name]) {
|
|
439
|
-
picks.enums[name] = [];
|
|
440
|
-
}
|
|
441
|
-
node.values.forEach(field => {
|
|
442
|
-
picks.enums[name].push(field.name.value);
|
|
443
|
-
});
|
|
444
|
-
}
|
|
445
|
-
}
|
|
446
|
-
function collectTypeDefinition(node) {
|
|
447
|
-
const name = node.name.value;
|
|
448
|
-
switch (node.kind) {
|
|
449
|
-
case Kind.OBJECT_TYPE_DEFINITION: {
|
|
450
|
-
defined.objects.push(name);
|
|
451
|
-
collectFields(node, picks.objects);
|
|
452
|
-
break;
|
|
453
|
-
}
|
|
454
|
-
case Kind.ENUM_TYPE_DEFINITION: {
|
|
455
|
-
defined.enums.push(name);
|
|
456
|
-
collectValuesFromEnum(node);
|
|
457
|
-
break;
|
|
458
|
-
}
|
|
459
|
-
case Kind.INPUT_OBJECT_TYPE_DEFINITION: {
|
|
460
|
-
defined.inputs.push(name);
|
|
461
|
-
collectFields(node, picks.inputs);
|
|
462
|
-
break;
|
|
463
|
-
}
|
|
464
|
-
case Kind.SCALAR_TYPE_DEFINITION: {
|
|
465
|
-
defined.scalars.push(name);
|
|
466
|
-
break;
|
|
467
|
-
}
|
|
468
|
-
case Kind.INTERFACE_TYPE_DEFINITION: {
|
|
469
|
-
defined.interfaces.push(name);
|
|
470
|
-
collectFields(node, picks.interfaces);
|
|
471
|
-
break;
|
|
472
|
-
}
|
|
473
|
-
case Kind.UNION_TYPE_DEFINITION: {
|
|
474
|
-
defined.unions.push(name);
|
|
475
|
-
break;
|
|
476
|
-
}
|
|
477
|
-
}
|
|
478
|
-
}
|
|
479
|
-
function collectTypeExtension(node) {
|
|
480
|
-
const name = node.name.value;
|
|
481
|
-
switch (node.kind) {
|
|
482
|
-
case Kind.OBJECT_TYPE_EXTENSION: {
|
|
483
|
-
collectFields(node, picks.objects);
|
|
484
|
-
// Do not include root types as extensions
|
|
485
|
-
// so we can use them in DefinedFields
|
|
486
|
-
if (rootTypes.includes(name)) {
|
|
487
|
-
pushUnique(defined.objects, name);
|
|
488
|
-
return;
|
|
489
|
-
}
|
|
490
|
-
pushUnique(extended.objects, name);
|
|
491
|
-
break;
|
|
492
|
-
}
|
|
493
|
-
case Kind.ENUM_TYPE_EXTENSION: {
|
|
494
|
-
collectValuesFromEnum(node);
|
|
495
|
-
pushUnique(extended.enums, name);
|
|
496
|
-
break;
|
|
497
|
-
}
|
|
498
|
-
case Kind.INPUT_OBJECT_TYPE_EXTENSION: {
|
|
499
|
-
collectFields(node, picks.inputs);
|
|
500
|
-
pushUnique(extended.inputs, name);
|
|
501
|
-
break;
|
|
502
|
-
}
|
|
503
|
-
case Kind.INTERFACE_TYPE_EXTENSION: {
|
|
504
|
-
collectFields(node, picks.interfaces);
|
|
505
|
-
pushUnique(extended.interfaces, name);
|
|
506
|
-
break;
|
|
507
|
-
}
|
|
508
|
-
case Kind.UNION_TYPE_EXTENSION: {
|
|
509
|
-
pushUnique(extended.unions, name);
|
|
510
|
-
break;
|
|
511
|
-
}
|
|
512
|
-
}
|
|
513
|
-
}
|
|
514
510
|
}
|
|
515
511
|
|
|
516
512
|
const preset = {
|
|
@@ -617,4 +613,4 @@ const preset = {
|
|
|
617
613
|
};
|
|
618
614
|
|
|
619
615
|
export default preset;
|
|
620
|
-
export { preset };
|
|
616
|
+
export { extractDeclared, preset };
|
package/package.json
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@graphql-codegen/graphql-modules-preset",
|
|
3
|
-
"version": "2.3.
|
|
3
|
+
"version": "2.3.2-alpha-94c0a1415.0",
|
|
4
4
|
"description": "GraphQL Code Generator preset for modularized schema",
|
|
5
5
|
"peerDependencies": {
|
|
6
6
|
"graphql": "^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0"
|
|
7
7
|
},
|
|
8
8
|
"dependencies": {
|
|
9
9
|
"@graphql-codegen/plugin-helpers": "^2.3.0",
|
|
10
|
-
"@graphql-codegen/visitor-plugin-common": "2.5.1
|
|
10
|
+
"@graphql-codegen/visitor-plugin-common": "2.5.1",
|
|
11
11
|
"@graphql-tools/utils": "8.5.3",
|
|
12
12
|
"change-case-all": "1.0.14",
|
|
13
13
|
"parse-filepath": "^1.0.2",
|