@graphql-codegen/graphql-modules-preset 2.3.2-alpha-94c0a1415.0 → 2.3.2-alpha-23d229715.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 CHANGED
@@ -1,17 +1,6 @@
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
- };
15
4
  export declare function buildModule(name: string, doc: DocumentNode, { importNamespace, importPath, encapsulate, shouldDeclare, rootTypes, schema, baseVisitor, useGraphQLModules, }: {
16
5
  importNamespace: string;
17
6
  importPath: string;
@@ -22,4 +11,3 @@ export declare function buildModule(name: string, doc: DocumentNode, { importNam
22
11
  schema?: GraphQLSchema;
23
12
  useGraphQLModules: boolean;
24
13
  }): string;
25
- export {};
package/index.d.ts CHANGED
@@ -1,5 +1,4 @@
1
1
  import { Types } from '@graphql-codegen/plugin-helpers';
2
2
  import { ModulesConfig } from './config';
3
- export { extractDeclared } from './builder';
4
3
  export declare const preset: Types.OutputPreset<ModulesConfig>;
5
4
  export default preset;
package/index.js CHANGED
@@ -183,101 +183,12 @@ 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 extractDeclared({ doc, rootTypes }) {
186
+ function buildModule(name, doc, { importNamespace, importPath, encapsulate, shouldDeclare, rootTypes, schema, baseVisitor, useGraphQLModules, }) {
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
190
191
  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
- }
281
192
  graphql.visit(doc, {
282
193
  ObjectTypeDefinition(node) {
283
194
  collectTypeDefinition(node);
@@ -313,10 +224,6 @@ function extractDeclared({ doc, rootTypes }) {
313
224
  collectTypeExtension(node);
314
225
  },
315
226
  });
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 });
320
227
  // Defined and Extended types
321
228
  const visited = createObject(registryKeys, key => concatByKey(defined, extended, key));
322
229
  // Types that are not defined or extended in a module, they come from other modules
@@ -513,6 +420,103 @@ function buildModule(name, doc, { importNamespace, importPath, encapsulate, shou
513
420
  function printExportType(typeName) {
514
421
  return `export type ${encapsulateTypeName(typeName)} = ${printTypeBody(typeName)};`;
515
422
  }
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
+ }
516
520
  }
517
521
 
518
522
  const preset = {
@@ -619,5 +623,4 @@ const preset = {
619
623
  };
620
624
 
621
625
  exports.default = preset;
622
- exports.extractDeclared = extractDeclared;
623
626
  exports.preset = preset;
package/index.mjs CHANGED
@@ -177,101 +177,12 @@ 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 extractDeclared({ doc, rootTypes }) {
180
+ function buildModule(name, doc, { importNamespace, importPath, encapsulate, shouldDeclare, rootTypes, schema, baseVisitor, useGraphQLModules, }) {
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
184
185
  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
- }
275
186
  visit(doc, {
276
187
  ObjectTypeDefinition(node) {
277
188
  collectTypeDefinition(node);
@@ -307,10 +218,6 @@ function extractDeclared({ doc, rootTypes }) {
307
218
  collectTypeExtension(node);
308
219
  },
309
220
  });
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 });
314
221
  // Defined and Extended types
315
222
  const visited = createObject(registryKeys, key => concatByKey(defined, extended, key));
316
223
  // Types that are not defined or extended in a module, they come from other modules
@@ -507,6 +414,103 @@ function buildModule(name, doc, { importNamespace, importPath, encapsulate, shou
507
414
  function printExportType(typeName) {
508
415
  return `export type ${encapsulateTypeName(typeName)} = ${printTypeBody(typeName)};`;
509
416
  }
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
+ }
510
514
  }
511
515
 
512
516
  const preset = {
@@ -613,4 +617,4 @@ const preset = {
613
617
  };
614
618
 
615
619
  export default preset;
616
- export { extractDeclared, preset };
620
+ export { preset };
package/package.json CHANGED
@@ -1,14 +1,14 @@
1
1
  {
2
2
  "name": "@graphql-codegen/graphql-modules-preset",
3
- "version": "2.3.2-alpha-94c0a1415.0",
3
+ "version": "2.3.2-alpha-23d229715.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
- "@graphql-codegen/plugin-helpers": "^2.3.0",
10
- "@graphql-codegen/visitor-plugin-common": "2.5.1",
11
- "@graphql-tools/utils": "8.5.3",
9
+ "@graphql-codegen/plugin-helpers": "2.4.0-alpha-23d229715.0",
10
+ "@graphql-codegen/visitor-plugin-common": "2.5.2-alpha-23d229715.0",
11
+ "@graphql-tools/utils": "8.5.5",
12
12
  "change-case-all": "1.0.14",
13
13
  "parse-filepath": "^1.0.2",
14
14
  "tslib": "~2.3.0"
@@ -26,6 +26,7 @@
26
26
  "definition": "index.d.ts"
27
27
  },
28
28
  "exports": {
29
+ "./package.json": "./package.json",
29
30
  ".": {
30
31
  "require": "./index.js",
31
32
  "import": "./index.mjs"