@eddeee888/gcg-typescript-resolver-files 0.2.1 → 0.4.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 (108) hide show
  1. package/README.md +191 -30
  2. package/package.json +5 -5
  3. package/src/addVirtualTypesFileToTsMorphProject/addVirtualTypesFileToTsMorphProject.d.ts +8 -0
  4. package/src/addVirtualTypesFileToTsMorphProject/addVirtualTypesFileToTsMorphProject.js +35 -0
  5. package/src/addVirtualTypesFileToTsMorphProject/addVirtualTypesFileToTsMorphProject.js.map +1 -0
  6. package/src/addVirtualTypesFileToTsMorphProject/index.d.ts +1 -0
  7. package/src/addVirtualTypesFileToTsMorphProject/index.js +5 -0
  8. package/src/addVirtualTypesFileToTsMorphProject/index.js.map +1 -0
  9. package/src/defineConfig.d.ts +5 -0
  10. package/src/defineConfig.js +19 -0
  11. package/src/defineConfig.js.map +1 -0
  12. package/src/generateResolverFiles/addExternalResolverImport.d.ts +1 -0
  13. package/src/generateResolverFiles/addExternalResolverImport.js +1 -0
  14. package/src/generateResolverFiles/addExternalResolverImport.js.map +1 -1
  15. package/src/generateResolverFiles/addResolverMainFile.d.ts +4 -1
  16. package/src/generateResolverFiles/addResolverMainFile.js +71 -50
  17. package/src/generateResolverFiles/addResolverMainFile.js.map +1 -1
  18. package/src/generateResolverFiles/ensureObjectTypeResolversAreGenerated.d.ts +6 -0
  19. package/src/generateResolverFiles/ensureObjectTypeResolversAreGenerated.js +80 -0
  20. package/src/generateResolverFiles/ensureObjectTypeResolversAreGenerated.js.map +1 -0
  21. package/src/generateResolverFiles/generateResolverFiles.js +3 -3
  22. package/src/generateResolverFiles/generateResolverFiles.js.map +1 -1
  23. package/src/generateResolverFiles/getVariableStatementWithExpectedIdentifier.d.ts +6 -0
  24. package/src/generateResolverFiles/getVariableStatementWithExpectedIdentifier.js +27 -0
  25. package/src/generateResolverFiles/getVariableStatementWithExpectedIdentifier.js.map +1 -0
  26. package/src/generateResolverFiles/handleGraphQLObjectType.js +6 -2
  27. package/src/generateResolverFiles/handleGraphQLObjectType.js.map +1 -1
  28. package/src/generateResolverFiles/handleGraphQLRootObjectTypeField.js +9 -2
  29. package/src/generateResolverFiles/handleGraphQLRootObjectTypeField.js.map +1 -1
  30. package/src/generateResolverFiles/handleGraphQLScalarType.js +2 -1
  31. package/src/generateResolverFiles/handleGraphQLScalarType.js.map +1 -1
  32. package/src/generateResolverFiles/handleGraphQLUninionType.js +2 -1
  33. package/src/generateResolverFiles/handleGraphQLUninionType.js.map +1 -1
  34. package/src/generateResolverFiles/postProcessFiles.d.ts +8 -0
  35. package/src/generateResolverFiles/postProcessFiles.js +73 -0
  36. package/src/generateResolverFiles/postProcessFiles.js.map +1 -0
  37. package/src/generateResolverFiles/types.d.ts +19 -3
  38. package/src/generateResolverFiles/visitNamedType.js +28 -11
  39. package/src/generateResolverFiles/visitNamedType.js.map +1 -1
  40. package/src/generateTypeDefsFiles/generateTypeDefsContent.js.map +1 -0
  41. package/src/generateTypeDefsFiles/generateTypeDefsFiles.d.ts +13 -0
  42. package/src/generateTypeDefsFiles/generateTypeDefsFiles.js +60 -0
  43. package/src/generateTypeDefsFiles/generateTypeDefsFiles.js.map +1 -0
  44. package/src/generateTypeDefsFiles/index.d.ts +1 -0
  45. package/src/{generateTypeDefsContent → generateTypeDefsFiles}/index.js +1 -1
  46. package/src/{generateTypeDefsContent → generateTypeDefsFiles}/index.js.map +1 -1
  47. package/src/getGraphQLObjectTypeResolversToGenerate/getGraphQLObjectTypeResolversToGenerate.d.ts +11 -0
  48. package/src/getGraphQLObjectTypeResolversToGenerate/getGraphQLObjectTypeResolversToGenerate.js +70 -0
  49. package/src/getGraphQLObjectTypeResolversToGenerate/getGraphQLObjectTypeResolversToGenerate.js.map +1 -0
  50. package/src/getGraphQLObjectTypeResolversToGenerate/index.d.ts +1 -0
  51. package/src/getGraphQLObjectTypeResolversToGenerate/index.js +5 -0
  52. package/src/getGraphQLObjectTypeResolversToGenerate/index.js.map +1 -0
  53. package/src/index.d.ts +1 -0
  54. package/src/index.js +3 -1
  55. package/src/index.js.map +1 -1
  56. package/src/parseGraphQLSchema/index.d.ts +1 -0
  57. package/src/{getPluginsConfig → parseGraphQLSchema}/index.js +1 -1
  58. package/src/parseGraphQLSchema/index.js.map +1 -0
  59. package/src/parseGraphQLSchema/parseGraphQLSchema.d.ts +16 -0
  60. package/src/{getPluginsConfig/getPluginsConfig.js → parseGraphQLSchema/parseGraphQLSchema.js} +15 -10
  61. package/src/parseGraphQLSchema/parseGraphQLSchema.js.map +1 -0
  62. package/src/parseSources/parseSources.d.ts +0 -1
  63. package/src/parseSources/parseSources.js +2 -3
  64. package/src/parseSources/parseSources.js.map +1 -1
  65. package/src/parseTypeMappers/collectTypeMappersFromSourceFile.d.ts +3 -2
  66. package/src/parseTypeMappers/collectTypeMappersFromSourceFile.js +51 -10
  67. package/src/parseTypeMappers/collectTypeMappersFromSourceFile.js.map +1 -1
  68. package/src/parseTypeMappers/parseTypeMappers.d.ts +7 -2
  69. package/src/parseTypeMappers/parseTypeMappers.js +10 -8
  70. package/src/parseTypeMappers/parseTypeMappers.js.map +1 -1
  71. package/src/preset.d.ts +2 -1
  72. package/src/preset.js +90 -44
  73. package/src/preset.js.map +1 -1
  74. package/src/utils/cwd.d.ts +4 -0
  75. package/src/utils/cwd.js +12 -0
  76. package/src/utils/cwd.js.map +1 -0
  77. package/src/utils/getNodePropertyMap.d.ts +9 -0
  78. package/src/utils/getNodePropertyMap.js +57 -0
  79. package/src/utils/getNodePropertyMap.js.map +1 -0
  80. package/src/utils/index.d.ts +5 -2
  81. package/src/utils/index.js +5 -16
  82. package/src/utils/index.js.map +1 -1
  83. package/src/utils/isRootObjectType.d.ts +1 -1
  84. package/src/utils/isWhitelistedModule.d.ts +5 -0
  85. package/src/utils/isWhitelistedModule.js +16 -0
  86. package/src/utils/isWhitelistedModule.js.map +1 -0
  87. package/src/utils/normalizeRelativePath.d.ts +1 -0
  88. package/src/utils/normalizeRelativePath.js +11 -0
  89. package/src/utils/normalizeRelativePath.js.map +1 -0
  90. package/src/utils/parseLocationForWhitelistedModule.js +7 -9
  91. package/src/utils/parseLocationForWhitelistedModule.js.map +1 -1
  92. package/src/utils/relativeModulePath.d.ts +1 -0
  93. package/src/utils/relativeModulePath.js +11 -0
  94. package/src/utils/relativeModulePath.js.map +1 -0
  95. package/src/validatePresetConfig/validatePresetConfig.d.ts +23 -4
  96. package/src/validatePresetConfig/validatePresetConfig.js +57 -17
  97. package/src/validatePresetConfig/validatePresetConfig.js.map +1 -1
  98. package/src/generateResolverFiles/fixExistingResolvers.d.ts +0 -2
  99. package/src/generateResolverFiles/fixExistingResolvers.js +0 -62
  100. package/src/generateResolverFiles/fixExistingResolvers.js.map +0 -1
  101. package/src/generateTypeDefsContent/generateTypeDefsContent.js.map +0 -1
  102. package/src/generateTypeDefsContent/index.d.ts +0 -1
  103. package/src/getPluginsConfig/getPluginsConfig.d.ts +0 -13
  104. package/src/getPluginsConfig/getPluginsConfig.js.map +0 -1
  105. package/src/getPluginsConfig/index.d.ts +0 -1
  106. package/src/getPluginsConfig/index.js.map +0 -1
  107. /package/src/{generateTypeDefsContent → generateTypeDefsFiles}/generateTypeDefsContent.d.ts +0 -0
  108. /package/src/{generateTypeDefsContent → generateTypeDefsFiles}/generateTypeDefsContent.js +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"addResolverMainFile.js","sourceRoot":"","sources":["../../../../../packages/typescript-resolver-files/src/generateResolverFiles/addResolverMainFile.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"addResolverMainFile.js","sourceRoot":"","sources":["../../../../../packages/typescript-resolver-files/src/generateResolverFiles/addResolverMainFile.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import { type SourceFile } from 'ts-morph';
2
+ import type { ObjectTypeFile } from './types';
3
+ /**
4
+ * Ensure objectTypeResolver files have all the resolvers due to mismatched types
5
+ */
6
+ export declare const ensureObjectTypeResolversAreGenerated: (sourceFile: SourceFile, resolverFile: ObjectTypeFile) => void;
@@ -0,0 +1,80 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ensureObjectTypeResolversAreGenerated = void 0;
4
+ const ts_morph_1 = require("ts-morph");
5
+ const getVariableStatementWithExpectedIdentifier_1 = require("./getVariableStatementWithExpectedIdentifier");
6
+ /**
7
+ * Ensure objectTypeResolver files have all the resolvers due to mismatched types
8
+ */
9
+ const ensureObjectTypeResolversAreGenerated = (sourceFile, resolverFile) => {
10
+ const resolversToGenerate = resolverFile.meta.resolversToGenerate || {};
11
+ if (!Object.keys(resolversToGenerate).length) {
12
+ return;
13
+ }
14
+ const { variableStatement } = (0, getVariableStatementWithExpectedIdentifier_1.getVariableStatementWithExpectedIdentifier)(sourceFile, resolverFile);
15
+ if (!variableStatement) {
16
+ throw new Error('Missing variableStatement in ensureObjectTypeResolversAreGenerated.');
17
+ }
18
+ /**
19
+ * FIXME: TS API does not expose `.isAssignable(Type, Type)` so we cannot use it to compare a field's type in schema type vs mapper type
20
+ *
21
+ * In this workaround, we try to put the type together and use TS's diagnostic tool to see if there's error:
22
+ * 1. If there's error, it means the mapper field cannot be safely mapped to schema field using GraphQL's default behaviour i.e. there will be runtime error
23
+ * In this case, we leave the resolver function as-is. There should be an error message from the parsing phrase explaining the types cannot be mapped.
24
+ * 2. If there's no error, it means we can safely remove the resolver and let GraphQL handle the mapping.
25
+ *
26
+ * Note: this only looks at fields that's not declared by the user. If it's already declared, we assume TS will report naturally if there's an error.
27
+ */
28
+ // 1. Check to see which generated to-be-generated resolvers are implemented
29
+ const resolversData = Object.assign({}, resolversToGenerate);
30
+ variableStatement
31
+ .getDescendantsOfKind(ts_morph_1.SyntaxKind.PropertyAssignment)
32
+ .forEach((propertyAssignment) => {
33
+ const resolverName = propertyAssignment.getName();
34
+ if (resolversData[resolverName]) {
35
+ resolversData[resolverName].implemented = true;
36
+ }
37
+ });
38
+ variableStatement
39
+ .getDescendantsOfKind(ts_morph_1.SyntaxKind.MethodDeclaration)
40
+ .forEach((methodDeclaration) => {
41
+ const resolverName = methodDeclaration.getName();
42
+ if (resolversData[resolverName]) {
43
+ resolversData[resolverName].implemented = true;
44
+ }
45
+ });
46
+ // 2. Add missing resolver properties if they haven't been implemented
47
+ const addedPropertyAssignmentNodes = [];
48
+ Object.values(resolversData).forEach(({ resolverName, resolverDeclaration, implemented }) => {
49
+ if (!implemented) {
50
+ const addedNode = variableStatement
51
+ .getDescendantsOfKind(ts_morph_1.SyntaxKind.ObjectLiteralExpression)[0]
52
+ .addPropertyAssignment({
53
+ name: resolverName,
54
+ initializer: resolverDeclaration,
55
+ });
56
+ addedPropertyAssignmentNodes[addedNode.getStartLineNumber()] = {
57
+ node: addedNode,
58
+ __toBeRemoved: true,
59
+ };
60
+ }
61
+ });
62
+ // 3. Check to see if there's error at the newly added properties:
63
+ // a. If there's error, leave it as user needs to manually map mapper type to schema type
64
+ // b. If there's no error, remove the node because GraphQL default mapping behaviour should work
65
+ sourceFile.getPreEmitDiagnostics().forEach((d) => {
66
+ const lineNumberWithError = d.getLineNumber();
67
+ // If erroring on a recently added line, do not remove as user needs to implement it
68
+ if (lineNumberWithError &&
69
+ addedPropertyAssignmentNodes[lineNumberWithError]) {
70
+ addedPropertyAssignmentNodes[lineNumberWithError].__toBeRemoved = false;
71
+ }
72
+ });
73
+ Object.values(addedPropertyAssignmentNodes).forEach(({ node, __toBeRemoved }) => {
74
+ if (__toBeRemoved) {
75
+ node.remove();
76
+ }
77
+ });
78
+ };
79
+ exports.ensureObjectTypeResolversAreGenerated = ensureObjectTypeResolversAreGenerated;
80
+ //# sourceMappingURL=ensureObjectTypeResolversAreGenerated.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ensureObjectTypeResolversAreGenerated.js","sourceRoot":"","sources":["../../../../../packages/typescript-resolver-files/src/generateResolverFiles/ensureObjectTypeResolversAreGenerated.ts"],"names":[],"mappings":";;;AAAA,uCAA2E;AAE3E,6GAA0G;AAE1G;;GAEG;AACI,MAAM,qCAAqC,GAAG,CACnD,UAAsB,EACtB,YAA4B,EACtB,EAAE;IACR,MAAM,mBAAmB,GAAG,YAAY,CAAC,IAAI,CAAC,mBAAmB,IAAI,EAAE,CAAC;IACxE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,MAAM,EAAE;QAC5C,OAAO;KACR;IAED,MAAM,EAAE,iBAAiB,EAAE,GAAG,IAAA,uFAA0C,EACtE,UAAU,EACV,YAAY,CACb,CAAC;IAEF,IAAI,CAAC,iBAAiB,EAAE;QACtB,MAAM,IAAI,KAAK,CACb,qEAAqE,CACtE,CAAC;KACH;IAED;;;;;;;;;OASG;IAEH,4EAA4E;IAC5E,MAAM,aAAa,qBAOV,mBAAmB,CAAE,CAAC;IAE/B,iBAAiB;SACd,oBAAoB,CAAC,qBAAU,CAAC,kBAAkB,CAAC;SACnD,OAAO,CAAC,CAAC,kBAAkB,EAAE,EAAE;QAC9B,MAAM,YAAY,GAAG,kBAAkB,CAAC,OAAO,EAAE,CAAC;QAClD,IAAI,aAAa,CAAC,YAAY,CAAC,EAAE;YAC/B,aAAa,CAAC,YAAY,CAAC,CAAC,WAAW,GAAG,IAAI,CAAC;SAChD;IACH,CAAC,CAAC,CAAC;IAEL,iBAAiB;SACd,oBAAoB,CAAC,qBAAU,CAAC,iBAAiB,CAAC;SAClD,OAAO,CAAC,CAAC,iBAAiB,EAAE,EAAE;QAC7B,MAAM,YAAY,GAAG,iBAAiB,CAAC,OAAO,EAAE,CAAC;QACjD,IAAI,aAAa,CAAC,YAAY,CAAC,EAAE;YAC/B,aAAa,CAAC,YAAY,CAAC,CAAC,WAAW,GAAG,IAAI,CAAC;SAChD;IACH,CAAC,CAAC,CAAC;IAEL,sEAAsE;IACtE,MAAM,4BAA4B,GAG9B,EAAE,CAAC;IACP,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,OAAO,CAClC,CAAC,EAAE,YAAY,EAAE,mBAAmB,EAAE,WAAW,EAAE,EAAE,EAAE;QACrD,IAAI,CAAC,WAAW,EAAE;YAChB,MAAM,SAAS,GAAG,iBAAiB;iBAChC,oBAAoB,CAAC,qBAAU,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC;iBAC3D,qBAAqB,CAAC;gBACrB,IAAI,EAAE,YAAY;gBAClB,WAAW,EAAE,mBAAmB;aACjC,CAAC,CAAC;YAEL,4BAA4B,CAAC,SAAS,CAAC,kBAAkB,EAAE,CAAC,GAAG;gBAC7D,IAAI,EAAE,SAAS;gBACf,aAAa,EAAE,IAAI;aACpB,CAAC;SACH;IACH,CAAC,CACF,CAAC;IAEF,kEAAkE;IAClE,4FAA4F;IAC5F,mGAAmG;IACnG,UAAU,CAAC,qBAAqB,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;QAC/C,MAAM,mBAAmB,GAAG,CAAC,CAAC,aAAa,EAAE,CAAC;QAC9C,oFAAoF;QACpF,IACE,mBAAmB;YACnB,4BAA4B,CAAC,mBAAmB,CAAC,EACjD;YACA,4BAA4B,CAAC,mBAAmB,CAAC,CAAC,aAAa,GAAG,KAAK,CAAC;SACzE;IACH,CAAC,CAAC,CAAC;IACH,MAAM,CAAC,MAAM,CAAC,4BAA4B,CAAC,CAAC,OAAO,CACjD,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE,EAAE;QAC1B,IAAI,aAAa,EAAE;YACjB,IAAI,CAAC,MAAM,EAAE,CAAC;SACf;IACH,CAAC,CACF,CAAC;AACJ,CAAC,CAAC;AAtGW,QAAA,qCAAqC,yCAsGhD"}
@@ -4,7 +4,7 @@ exports.generateResolverFiles = void 0;
4
4
  const graphql_1 = require("graphql");
5
5
  const utils_1 = require("../utils");
6
6
  const addResolverMainFile_1 = require("./addResolverMainFile");
7
- const fixExistingResolvers_1 = require("./fixExistingResolvers");
7
+ const postProcessFiles_1 = require("./postProcessFiles");
8
8
  const handleGraphQLRootObjectTypeField_1 = require("./handleGraphQLRootObjectTypeField");
9
9
  const handleGraphQLObjectType_1 = require("./handleGraphQLObjectType");
10
10
  const handleGraphQLUninionType_1 = require("./handleGraphQLUninionType");
@@ -46,8 +46,8 @@ const generateResolverFiles = (ctx) => {
46
46
  visitor,
47
47
  }, ctx);
48
48
  });
49
- // Check to see which resolver file exists already
50
- (0, fixExistingResolvers_1.fixExistingResolvers)(ctx);
49
+ // Post process generated files (could be existing files or files to be generated)
50
+ (0, postProcessFiles_1.postProcessFiles)(ctx);
51
51
  // Put all resolvers into a barrel file (or main file)
52
52
  (0, addResolverMainFile_1.addResolverMainFile)(ctx);
53
53
  };
@@ -1 +1 @@
1
- {"version":3,"file":"generateResolverFiles.js","sourceRoot":"","sources":["../../../../../packages/typescript-resolver-files/src/generateResolverFiles/generateResolverFiles.ts"],"names":[],"mappings":";;;AAAA,qCAAuC;AACvC,oCAA+D;AAC/D,+DAA4D;AAC5D,iEAA8D;AAC9D,yFAAsF;AACtF,uEAAoE;AACpE,yEAAsE;AACtE,uEAAoE;AACpE,qDAAwE;AAGjE,MAAM,qBAAqB,GAAG,CACnC,GAAiC,EAC3B,EAAE;IACR,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,OAAO,CACpD,CAAC,CAAC,UAAU,EAAE,SAAS,CAAC,EAAE,EAAE;;QAC1B,IAAI,IAAA,yBAAiB,EAAC,SAAS,CAAC,EAAE;YAChC,OAAO;SACR;QAED,EAAE;QACF,oBAAoB;QACpB,EAAE;QACF,MAAM,OAAO,GAAoC;YAC/C,mBAAmB,EAAE,mEAAgC;YACrD,UAAU,EAAE,iDAAuB;YACnC,SAAS,EAAE,mDAAwB;YACnC,UAAU,EAAE,iDAAuB;SACpC,CAAC;QAEF,IAAI,IAAA,wBAAgB,EAAC,UAAU,CAAC,IAAI,IAAA,sBAAY,EAAC,SAAS,CAAC,EAAE;YAC3D,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC,CAAC,OAAO,CAC3C,CAAC,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,EAAE;;gBACzB,OAAA,IAAA,+BAAc,EACZ;oBACE,SAAS;oBACT,YAAY,EAAE,SAAS;oBACvB,mBAAmB,EAAE,UAAU;oBAC/B,QAAQ,EAAE,MAAA,SAAS,CAAC,OAAO,0CAAE,GAAG;oBAChC,OAAO;iBACR,EACD,GAAG,CACJ,CAAA;aAAA,CACJ,CAAC;YACF,OAAO;SACR;QAED,IAAA,+BAAc,EACZ;YACE,SAAS;YACT,YAAY,EAAE,SAAS,CAAC,IAAI;YAC5B,mBAAmB,EAAE,IAAI;YACzB,QAAQ,EAAE,MAAA,SAAS,CAAC,OAAO,0CAAE,GAAG;YAChC,OAAO;SACR,EACD,GAAG,CACJ,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,kDAAkD;IAClD,IAAA,2CAAoB,EAAC,GAAG,CAAC,CAAC;IAE1B,sDAAsD;IACtD,IAAA,yCAAmB,EAAC,GAAG,CAAC,CAAC;AAC3B,CAAC,CAAC;AAtDW,QAAA,qBAAqB,yBAsDhC"}
1
+ {"version":3,"file":"generateResolverFiles.js","sourceRoot":"","sources":["../../../../../packages/typescript-resolver-files/src/generateResolverFiles/generateResolverFiles.ts"],"names":[],"mappings":";;;AAAA,qCAAuC;AACvC,oCAA+D;AAC/D,+DAA4D;AAC5D,yDAAsD;AACtD,yFAAsF;AACtF,uEAAoE;AACpE,yEAAsE;AACtE,uEAAoE;AACpE,qDAAwE;AAGjE,MAAM,qBAAqB,GAAG,CACnC,GAAiC,EAC3B,EAAE;IACR,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,OAAO,CACpD,CAAC,CAAC,UAAU,EAAE,SAAS,CAAC,EAAE,EAAE;;QAC1B,IAAI,IAAA,yBAAiB,EAAC,SAAS,CAAC,EAAE;YAChC,OAAO;SACR;QAED,EAAE;QACF,oBAAoB;QACpB,EAAE;QACF,MAAM,OAAO,GAAoC;YAC/C,mBAAmB,EAAE,mEAAgC;YACrD,UAAU,EAAE,iDAAuB;YACnC,SAAS,EAAE,mDAAwB;YACnC,UAAU,EAAE,iDAAuB;SACpC,CAAC;QAEF,IAAI,IAAA,wBAAgB,EAAC,UAAU,CAAC,IAAI,IAAA,sBAAY,EAAC,SAAS,CAAC,EAAE;YAC3D,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC,CAAC,OAAO,CAC3C,CAAC,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,EAAE;;gBACzB,OAAA,IAAA,+BAAc,EACZ;oBACE,SAAS;oBACT,YAAY,EAAE,SAAS;oBACvB,mBAAmB,EAAE,UAAU;oBAC/B,QAAQ,EAAE,MAAA,SAAS,CAAC,OAAO,0CAAE,GAAG;oBAChC,OAAO;iBACR,EACD,GAAG,CACJ,CAAA;aAAA,CACJ,CAAC;YACF,OAAO;SACR;QAED,IAAA,+BAAc,EACZ;YACE,SAAS;YACT,YAAY,EAAE,SAAS,CAAC,IAAI;YAC5B,mBAAmB,EAAE,IAAI;YACzB,QAAQ,EAAE,MAAA,SAAS,CAAC,OAAO,0CAAE,GAAG;YAChC,OAAO;SACR,EACD,GAAG,CACJ,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,kFAAkF;IAClF,IAAA,mCAAgB,EAAC,GAAG,CAAC,CAAC;IAEtB,sDAAsD;IACtD,IAAA,yCAAmB,EAAC,GAAG,CAAC,CAAC;AAC3B,CAAC,CAAC;AAtDW,QAAA,qBAAqB,yBAsDhC"}
@@ -0,0 +1,6 @@
1
+ import type { SourceFile, VariableStatement } from 'ts-morph';
2
+ import type { ResolverFile } from './types';
3
+ export declare const getVariableStatementWithExpectedIdentifier: (sourceFile: SourceFile, resolverFile: ResolverFile) => {
4
+ variableStatement: VariableStatement | undefined;
5
+ isExported: boolean;
6
+ };
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getVariableStatementWithExpectedIdentifier = void 0;
4
+ const getVariableStatementWithExpectedIdentifier = (sourceFile, resolverFile) => {
5
+ let isExported = false;
6
+ const variableStatementWithExpectedIdentifier = sourceFile.getVariableStatement((statement) => {
7
+ let hasExpectedIdentifier = false;
8
+ statement
9
+ .getDeclarationList()
10
+ .getDeclarations()
11
+ .forEach((declarationNode) => {
12
+ if (declarationNode.getName() === resolverFile.mainImportIdentifier) {
13
+ hasExpectedIdentifier = true;
14
+ if (statement.isExported()) {
15
+ isExported = true;
16
+ }
17
+ }
18
+ });
19
+ return hasExpectedIdentifier;
20
+ });
21
+ return {
22
+ variableStatement: variableStatementWithExpectedIdentifier,
23
+ isExported,
24
+ };
25
+ };
26
+ exports.getVariableStatementWithExpectedIdentifier = getVariableStatementWithExpectedIdentifier;
27
+ //# sourceMappingURL=getVariableStatementWithExpectedIdentifier.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getVariableStatementWithExpectedIdentifier.js","sourceRoot":"","sources":["../../../../../packages/typescript-resolver-files/src/generateResolverFiles/getVariableStatementWithExpectedIdentifier.ts"],"names":[],"mappings":";;;AAGO,MAAM,0CAA0C,GAAG,CACxD,UAAsB,EACtB,YAA0B,EAI1B,EAAE;IACF,IAAI,UAAU,GAAG,KAAK,CAAC;IACvB,MAAM,uCAAuC,GAC3C,UAAU,CAAC,oBAAoB,CAAC,CAAC,SAAS,EAAE,EAAE;QAC5C,IAAI,qBAAqB,GAAG,KAAK,CAAC;QAClC,SAAS;aACN,kBAAkB,EAAE;aACpB,eAAe,EAAE;aACjB,OAAO,CAAC,CAAC,eAAe,EAAE,EAAE;YAC3B,IAAI,eAAe,CAAC,OAAO,EAAE,KAAK,YAAY,CAAC,oBAAoB,EAAE;gBACnE,qBAAqB,GAAG,IAAI,CAAC;gBAC7B,IAAI,SAAS,CAAC,UAAU,EAAE,EAAE;oBAC1B,UAAU,GAAG,IAAI,CAAC;iBACnB;aACF;QACH,CAAC,CAAC,CAAC;QACL,OAAO,qBAAqB,CAAC;IAC/B,CAAC,CAAC,CAAC;IAEL,OAAO;QACL,iBAAiB,EAAE,uCAAuC;QAC1D,UAAU;KACX,CAAC;AACJ,CAAC,CAAC;AA7BW,QAAA,0CAA0C,8CA6BrD"}
@@ -2,8 +2,10 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.handleGraphQLObjectType = void 0;
4
4
  const utils_1 = require("../utils");
5
- const handleGraphQLObjectType = ({ fieldFilePath, resolverName, normalizedResolverName, resolversTypeMeta }, { result }) => {
6
- const variableStatement = `export const ${resolverName}: ${resolversTypeMeta.typeString} = { /* Implement ${resolverName} resolver logic here */ };`;
5
+ const handleGraphQLObjectType = ({ fieldFilePath, resolverName, normalizedResolverName, resolversTypeMeta, moduleName, }, { result, config: { graphQLObjectTypeResolversToGenerate } }) => {
6
+ const variableStatement = `export const ${resolverName}: ${resolversTypeMeta.typeString} = {
7
+ /* Implement ${resolverName} resolver logic here */
8
+ };`;
7
9
  result.files[fieldFilePath] = {
8
10
  __filetype: 'objectType',
9
11
  content: `
@@ -15,8 +17,10 @@ const handleGraphQLObjectType = ({ fieldFilePath, resolverName, normalizedResolv
15
17
  ${variableStatement}`,
16
18
  mainImportIdentifier: resolverName,
17
19
  meta: {
20
+ moduleName,
18
21
  normalizedResolverName,
19
22
  variableStatement,
23
+ resolversToGenerate: graphQLObjectTypeResolversToGenerate[resolverName], // Array of all resolvers that may need type checking
20
24
  },
21
25
  };
22
26
  };
@@ -1 +1 @@
1
- {"version":3,"file":"handleGraphQLObjectType.js","sourceRoot":"","sources":["../../../../../packages/typescript-resolver-files/src/generateResolverFiles/handleGraphQLObjectType.ts"],"names":[],"mappings":";;;AACA,oCAA2C;AAEpC,MAAM,uBAAuB,GAAuB,CACzD,EAAE,aAAa,EAAE,YAAY,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,EAC1E,EAAE,MAAM,EAAE,EACV,EAAE;IACF,MAAM,iBAAiB,GAAG,gBAAgB,YAAY,KAAK,iBAAiB,CAAC,UAAU,qBAAqB,YAAY,4BAA4B,CAAC;IAErJ,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG;QAC5B,UAAU,EAAE,YAAY;QACxB,OAAO,EAAE;MACP,IAAA,uBAAe,EAAC;YAChB,YAAY,EAAE,IAAI;YAClB,MAAM,EAAE,iBAAiB,CAAC,MAAM;YAChC,YAAY,EAAE,CAAC,iBAAiB,CAAC,eAAe,CAAC;SAClD,CAAC;MACA,iBAAiB,EAAE;QACrB,oBAAoB,EAAE,YAAY;QAClC,IAAI,EAAE;YACJ,sBAAsB;YACtB,iBAAiB;SAClB;KACF,CAAC;AACJ,CAAC,CAAC;AArBW,QAAA,uBAAuB,2BAqBlC"}
1
+ {"version":3,"file":"handleGraphQLObjectType.js","sourceRoot":"","sources":["../../../../../packages/typescript-resolver-files/src/generateResolverFiles/handleGraphQLObjectType.ts"],"names":[],"mappings":";;;AACA,oCAA2C;AAEpC,MAAM,uBAAuB,GAAuB,CACzD,EACE,aAAa,EACb,YAAY,EACZ,sBAAsB,EACtB,iBAAiB,EACjB,UAAU,GACX,EACD,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,oCAAoC,EAAE,EAAE,EAC5D,EAAE;IACF,MAAM,iBAAiB,GAAG,gBAAgB,YAAY,KAAK,iBAAiB,CAAC,UAAU;mBACtE,YAAY;KAC1B,CAAC;IAEJ,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG;QAC5B,UAAU,EAAE,YAAY;QACxB,OAAO,EAAE;MACP,IAAA,uBAAe,EAAC;YAChB,YAAY,EAAE,IAAI;YAClB,MAAM,EAAE,iBAAiB,CAAC,MAAM;YAChC,YAAY,EAAE,CAAC,iBAAiB,CAAC,eAAe,CAAC;SAClD,CAAC;MACA,iBAAiB,EAAE;QACrB,oBAAoB,EAAE,YAAY;QAClC,IAAI,EAAE;YACJ,UAAU;YACV,sBAAsB;YACtB,iBAAiB;YACjB,mBAAmB,EAAE,oCAAoC,CAAC,YAAY,CAAC,EAAE,qDAAqD;SAC/H;KACF,CAAC;AACJ,CAAC,CAAC;AA/BW,QAAA,uBAAuB,2BA+BlC"}
@@ -2,8 +2,14 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.handleGraphQLRootObjectTypeField = void 0;
4
4
  const utils_1 = require("../utils");
5
- const handleGraphQLRootObjectTypeField = ({ fieldFilePath, resolverName, belongsToRootObject, normalizedResolverName, resolversTypeMeta, }, { result }) => {
6
- const variableStatement = `export const ${resolverName}: NonNullable<${resolversTypeMeta.typeString}> = async (_parent, _arg, _ctx) => { /* Implement ${normalizedResolverName} resolver logic here */ };`;
5
+ const handleGraphQLRootObjectTypeField = ({ fieldFilePath, resolverName, belongsToRootObject, normalizedResolverName, resolversTypeMeta, moduleName, }, { result }) => {
6
+ const suggestion = `/* Implement ${normalizedResolverName} resolver logic here */`;
7
+ let variableStatement = `export const ${resolverName}: NonNullable<${resolversTypeMeta.typeString}> = async (_parent, _arg, _ctx) => { ${suggestion} };`;
8
+ if (belongsToRootObject === 'Subscription') {
9
+ variableStatement = `export const ${resolverName}: NonNullable<${resolversTypeMeta.typeString}> = {
10
+ subscribe: async (_parent, _arg, _ctx) => { ${suggestion} },
11
+ }`;
12
+ }
7
13
  result.files[fieldFilePath] = {
8
14
  __filetype: 'rootObjectTypeFieldResolver',
9
15
  content: `
@@ -15,6 +21,7 @@ const handleGraphQLRootObjectTypeField = ({ fieldFilePath, resolverName, belongs
15
21
  ${variableStatement}`,
16
22
  mainImportIdentifier: resolverName,
17
23
  meta: {
24
+ moduleName,
18
25
  belongsToRootObject,
19
26
  variableStatement,
20
27
  normalizedResolverName,
@@ -1 +1 @@
1
- {"version":3,"file":"handleGraphQLRootObjectTypeField.js","sourceRoot":"","sources":["../../../../../packages/typescript-resolver-files/src/generateResolverFiles/handleGraphQLRootObjectTypeField.ts"],"names":[],"mappings":";;;AAAA,oCAAgE;AAGzD,MAAM,gCAAgC,GAEzC,CACF,EACE,aAAa,EACb,YAAY,EACZ,mBAAmB,EACnB,sBAAsB,EACtB,iBAAiB,GAClB,EACD,EAAE,MAAM,EAAE,EACV,EAAE;IACF,MAAM,iBAAiB,GAAG,gBAAgB,YAAY,iBAAiB,iBAAiB,CAAC,UAAU,qDAAqD,sBAAsB,4BAA4B,CAAC;IAE3M,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG;QAC5B,UAAU,EAAE,6BAA6B;QACzC,OAAO,EAAE;UACH,IAAA,uBAAe,EAAC;YAChB,YAAY,EAAE,IAAI;YAClB,MAAM,EAAE,iBAAiB,CAAC,MAAM;YAChC,YAAY,EAAE,CAAC,iBAAiB,CAAC,eAAe,CAAC;SAClD,CAAC;UACA,iBAAiB,EAAE;QACzB,oBAAoB,EAAE,YAAY;QAClC,IAAI,EAAE;YACJ,mBAAmB;YACnB,iBAAiB;YACjB,sBAAsB;SACvB;KACF,CAAC;AACJ,CAAC,CAAC;AA9BW,QAAA,gCAAgC,oCA8B3C"}
1
+ {"version":3,"file":"handleGraphQLRootObjectTypeField.js","sourceRoot":"","sources":["../../../../../packages/typescript-resolver-files/src/generateResolverFiles/handleGraphQLRootObjectTypeField.ts"],"names":[],"mappings":";;;AAAA,oCAAgE;AAGzD,MAAM,gCAAgC,GAEzC,CACF,EACE,aAAa,EACb,YAAY,EACZ,mBAAmB,EACnB,sBAAsB,EACtB,iBAAiB,EACjB,UAAU,GACX,EACD,EAAE,MAAM,EAAE,EACV,EAAE;IACF,MAAM,UAAU,GAAG,gBAAgB,sBAAsB,yBAAyB,CAAC;IAEnF,IAAI,iBAAiB,GAAG,gBAAgB,YAAY,iBAAiB,iBAAiB,CAAC,UAAU,wCAAwC,UAAU,KAAK,CAAC;IACzJ,IAAI,mBAAmB,KAAK,cAAc,EAAE;QAC1C,iBAAiB,GAAG,gBAAgB,YAAY,iBAAiB,iBAAiB,CAAC,UAAU;oDAC7C,UAAU;MACxD,CAAC;KACJ;IAED,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG;QAC5B,UAAU,EAAE,6BAA6B;QACzC,OAAO,EAAE;UACH,IAAA,uBAAe,EAAC;YAChB,YAAY,EAAE,IAAI;YAClB,MAAM,EAAE,iBAAiB,CAAC,MAAM;YAChC,YAAY,EAAE,CAAC,iBAAiB,CAAC,eAAe,CAAC;SAClD,CAAC;UACA,iBAAiB,EAAE;QACzB,oBAAoB,EAAE,YAAY;QAClC,IAAI,EAAE;YACJ,UAAU;YACV,mBAAmB;YACnB,iBAAiB;YACjB,sBAAsB;SACvB;KACF,CAAC;AACJ,CAAC,CAAC;AAvCW,QAAA,gCAAgC,oCAuC3C"}
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.handleGraphQLScalarType = void 0;
4
4
  const utils_1 = require("../utils");
5
5
  const graphQLScalarType = 'GraphQLScalarType';
6
- const handleGraphQLScalarType = ({ fieldFilePath, resolverName, normalizedResolverName }, { result }) => {
6
+ const handleGraphQLScalarType = ({ fieldFilePath, resolverName, normalizedResolverName, moduleName }, { result }) => {
7
7
  const variableStatement = `export const ${resolverName}: ${graphQLScalarType} = { /* Implement ${resolverName} scalar logic here */ };`;
8
8
  result.files[fieldFilePath] = {
9
9
  __filetype: 'generalResolver',
@@ -16,6 +16,7 @@ const handleGraphQLScalarType = ({ fieldFilePath, resolverName, normalizedResolv
16
16
  ${variableStatement}`,
17
17
  mainImportIdentifier: resolverName,
18
18
  meta: {
19
+ moduleName,
19
20
  normalizedResolverName,
20
21
  variableStatement,
21
22
  },
@@ -1 +1 @@
1
- {"version":3,"file":"handleGraphQLScalarType.js","sourceRoot":"","sources":["../../../../../packages/typescript-resolver-files/src/generateResolverFiles/handleGraphQLScalarType.ts"],"names":[],"mappings":";;;AAAA,oCAA2C;AAG3C,MAAM,iBAAiB,GAAG,mBAAmB,CAAC;AAEvC,MAAM,uBAAuB,GAAuB,CACzD,EAAE,aAAa,EAAE,YAAY,EAAE,sBAAsB,EAAE,EACvD,EAAE,MAAM,EAAE,EACV,EAAE;IACF,MAAM,iBAAiB,GAAG,gBAAgB,YAAY,KAAK,iBAAiB,qBAAqB,YAAY,0BAA0B,CAAC;IAExI,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG;QAC5B,UAAU,EAAE,iBAAiB;QAC7B,OAAO,EAAE;MACP,IAAA,uBAAe,EAAC;YAChB,YAAY,EAAE,IAAI;YAClB,MAAM,EAAE,SAAS;YACjB,YAAY,EAAE,CAAC,iBAAiB,CAAC;SAClC,CAAC;MACA,iBAAiB,EAAE;QACrB,oBAAoB,EAAE,YAAY;QAClC,IAAI,EAAE;YACJ,sBAAsB;YACtB,iBAAiB;SAClB;KACF,CAAC;AACJ,CAAC,CAAC;AArBW,QAAA,uBAAuB,2BAqBlC"}
1
+ {"version":3,"file":"handleGraphQLScalarType.js","sourceRoot":"","sources":["../../../../../packages/typescript-resolver-files/src/generateResolverFiles/handleGraphQLScalarType.ts"],"names":[],"mappings":";;;AAAA,oCAA2C;AAG3C,MAAM,iBAAiB,GAAG,mBAAmB,CAAC;AAEvC,MAAM,uBAAuB,GAAuB,CACzD,EAAE,aAAa,EAAE,YAAY,EAAE,sBAAsB,EAAE,UAAU,EAAE,EACnE,EAAE,MAAM,EAAE,EACV,EAAE;IACF,MAAM,iBAAiB,GAAG,gBAAgB,YAAY,KAAK,iBAAiB,qBAAqB,YAAY,0BAA0B,CAAC;IAExI,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG;QAC5B,UAAU,EAAE,iBAAiB;QAC7B,OAAO,EAAE;MACP,IAAA,uBAAe,EAAC;YAChB,YAAY,EAAE,IAAI;YAClB,MAAM,EAAE,SAAS;YACjB,YAAY,EAAE,CAAC,iBAAiB,CAAC;SAClC,CAAC;MACA,iBAAiB,EAAE;QACrB,oBAAoB,EAAE,YAAY;QAClC,IAAI,EAAE;YACJ,UAAU;YACV,sBAAsB;YACtB,iBAAiB;SAClB;KACF,CAAC;AACJ,CAAC,CAAC;AAtBW,QAAA,uBAAuB,2BAsBlC"}
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.handleGraphQLUninionType = void 0;
4
4
  const utils_1 = require("../utils");
5
- const handleGraphQLUninionType = ({ fieldFilePath, resolverName, normalizedResolverName, resolversTypeMeta }, { result }) => {
5
+ const handleGraphQLUninionType = ({ fieldFilePath, resolverName, normalizedResolverName, resolversTypeMeta, moduleName, }, { result }) => {
6
6
  const variableStatement = `export const ${resolverName}: ${resolversTypeMeta.typeString} = { __resolveType: (parent) => parent.__typename };`;
7
7
  result.files[fieldFilePath] = {
8
8
  __filetype: 'generalResolver',
@@ -15,6 +15,7 @@ const handleGraphQLUninionType = ({ fieldFilePath, resolverName, normalizedResol
15
15
  ${variableStatement}`,
16
16
  mainImportIdentifier: resolverName,
17
17
  meta: {
18
+ moduleName,
18
19
  normalizedResolverName,
19
20
  variableStatement,
20
21
  },
@@ -1 +1 @@
1
- {"version":3,"file":"handleGraphQLUninionType.js","sourceRoot":"","sources":["../../../../../packages/typescript-resolver-files/src/generateResolverFiles/handleGraphQLUninionType.ts"],"names":[],"mappings":";;;AAAA,oCAA2C;AAGpC,MAAM,wBAAwB,GAAuB,CAC1D,EAAE,aAAa,EAAE,YAAY,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,EAC1E,EAAE,MAAM,EAAE,EACV,EAAE;IACF,MAAM,iBAAiB,GAAG,gBAAgB,YAAY,KAAK,iBAAiB,CAAC,UAAU,sDAAsD,CAAC;IAE9I,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG;QAC5B,UAAU,EAAE,iBAAiB;QAC7B,OAAO,EAAE;MACP,IAAA,uBAAe,EAAC;YAChB,YAAY,EAAE,IAAI;YAClB,MAAM,EAAE,iBAAiB,CAAC,MAAM;YAChC,YAAY,EAAE,CAAC,iBAAiB,CAAC,eAAe,CAAC;SAClD,CAAC;MACA,iBAAiB,EAAE;QACrB,oBAAoB,EAAE,YAAY;QAClC,IAAI,EAAE;YACJ,sBAAsB;YACtB,iBAAiB;SAClB;KACF,CAAC;AACJ,CAAC,CAAC;AArBW,QAAA,wBAAwB,4BAqBnC"}
1
+ {"version":3,"file":"handleGraphQLUninionType.js","sourceRoot":"","sources":["../../../../../packages/typescript-resolver-files/src/generateResolverFiles/handleGraphQLUninionType.ts"],"names":[],"mappings":";;;AAAA,oCAA2C;AAGpC,MAAM,wBAAwB,GAAuB,CAC1D,EACE,aAAa,EACb,YAAY,EACZ,sBAAsB,EACtB,iBAAiB,EACjB,UAAU,GACX,EACD,EAAE,MAAM,EAAE,EACV,EAAE;IACF,MAAM,iBAAiB,GAAG,gBAAgB,YAAY,KAAK,iBAAiB,CAAC,UAAU,sDAAsD,CAAC;IAE9I,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG;QAC5B,UAAU,EAAE,iBAAiB;QAC7B,OAAO,EAAE;MACP,IAAA,uBAAe,EAAC;YAChB,YAAY,EAAE,IAAI;YAClB,MAAM,EAAE,iBAAiB,CAAC,MAAM;YAChC,YAAY,EAAE,CAAC,iBAAiB,CAAC,eAAe,CAAC;SAClD,CAAC;MACA,iBAAiB,EAAE;QACrB,oBAAoB,EAAE,YAAY;QAClC,IAAI,EAAE;YACJ,UAAU;YACV,sBAAsB;YACtB,iBAAiB;SAClB;KACF,CAAC;AACJ,CAAC,CAAC;AA5BW,QAAA,wBAAwB,4BA4BnC"}
@@ -0,0 +1,8 @@
1
+ import type { GenerateResolverFilesContext } from './types';
2
+ /**
3
+ * postProcessFiles does static analysis on existing files OR to-be-generated files
4
+ * e.g.
5
+ * - Make sure correct variables are exported
6
+ * - Make sure object types have field resolvers if mapper type's field cannot be used as schema type's field
7
+ */
8
+ export declare const postProcessFiles: ({ config: { tsMorph: { project }, fixObjectTypeResolvers, }, result, }: GenerateResolverFilesContext) => void;
@@ -0,0 +1,73 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.postProcessFiles = void 0;
4
+ const path = require("path");
5
+ const utils_1 = require("../utils");
6
+ const getVariableStatementWithExpectedIdentifier_1 = require("./getVariableStatementWithExpectedIdentifier");
7
+ const ensureObjectTypeResolversAreGenerated_1 = require("./ensureObjectTypeResolversAreGenerated");
8
+ /**
9
+ * postProcessFiles does static analysis on existing files OR to-be-generated files
10
+ * e.g.
11
+ * - Make sure correct variables are exported
12
+ * - Make sure object types have field resolvers if mapper type's field cannot be used as schema type's field
13
+ */
14
+ const postProcessFiles = ({ config: { tsMorph: { project }, fixObjectTypeResolvers, }, result, }) => {
15
+ const sourceFilesToProcess = [];
16
+ Object.entries(result.files).forEach(([filePath, file]) => {
17
+ if (file.__filetype === 'file') {
18
+ return;
19
+ }
20
+ const existingSourceFile = project.addSourceFileAtPathIfExists(filePath);
21
+ if (existingSourceFile) {
22
+ sourceFilesToProcess.push({
23
+ sourceFile: existingSourceFile,
24
+ resolverFile: file,
25
+ });
26
+ return;
27
+ }
28
+ // If cannot find existing source files, load files that need post-processing into sourceFilesToProcess
29
+ if (file.__filetype === 'objectType') {
30
+ const virtualSourceFile = project.createSourceFile(filePath, file.content);
31
+ sourceFilesToProcess.push({
32
+ sourceFile: virtualSourceFile,
33
+ resolverFile: file,
34
+ });
35
+ }
36
+ });
37
+ sourceFilesToProcess.forEach(({ sourceFile, resolverFile }) => {
38
+ const normalizedRelativePath = path.posix.relative((0, utils_1.cwd)(), sourceFile.getFilePath());
39
+ // TODO: Check missing import
40
+ // ...
41
+ ensureExportedResolver(sourceFile, resolverFile);
42
+ if (fixObjectTypeResolvers === 'smart' &&
43
+ resolverFile.__filetype === 'objectType') {
44
+ (0, ensureObjectTypeResolversAreGenerated_1.ensureObjectTypeResolversAreGenerated)(sourceFile, resolverFile);
45
+ }
46
+ // Overwrite existing files with fixes
47
+ result.files[normalizedRelativePath] = Object.assign(Object.assign({}, resolverFile), { content: sourceFile.getText() });
48
+ });
49
+ };
50
+ exports.postProcessFiles = postProcessFiles;
51
+ /**
52
+ * Ensure correctly named resolvers are exported
53
+ */
54
+ const ensureExportedResolver = (sourceFile, resolverFile) => {
55
+ const { variableStatement, isExported } = (0, getVariableStatementWithExpectedIdentifier_1.getVariableStatementWithExpectedIdentifier)(sourceFile, resolverFile);
56
+ if (!variableStatement) {
57
+ // Did not find variable statement with expected identifier, add it to the end with a warning
58
+ sourceFile.addStatements('/* WARNING: The following resolver was missing from this file. Make sure it is properly implemented or there could be runtime errors. */');
59
+ sourceFile.addStatements(resolverFile.meta.variableStatement);
60
+ }
61
+ else if (variableStatement && !isExported) {
62
+ // If has identifier but not exported
63
+ // Add export keyword to statement
64
+ const isExpectedIdentifierExported = Boolean(sourceFile
65
+ .getExportedDeclarations()
66
+ .get(resolverFile.mainImportIdentifier));
67
+ if (!isExpectedIdentifierExported) {
68
+ variableStatement.setIsExported(true);
69
+ }
70
+ // else, if identifier's been exported do nothing
71
+ }
72
+ };
73
+ //# sourceMappingURL=postProcessFiles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"postProcessFiles.js","sourceRoot":"","sources":["../../../../../packages/typescript-resolver-files/src/generateResolverFiles/postProcessFiles.ts"],"names":[],"mappings":";;;AACA,6BAA6B;AAC7B,oCAA+B;AAE/B,6GAA0G;AAC1G,mGAAgG;AAEhG;;;;;GAKG;AACI,MAAM,gBAAgB,GAAG,CAAC,EAC/B,MAAM,EAAE,EACN,OAAO,EAAE,EAAE,OAAO,EAAE,EACpB,sBAAsB,GACvB,EACD,MAAM,GACuB,EAAQ,EAAE;IACvC,MAAM,oBAAoB,GAGpB,EAAE,CAAC;IACT,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,EAAE;QACxD,IAAI,IAAI,CAAC,UAAU,KAAK,MAAM,EAAE;YAC9B,OAAO;SACR;QAED,MAAM,kBAAkB,GAAG,OAAO,CAAC,2BAA2B,CAAC,QAAQ,CAAC,CAAC;QACzE,IAAI,kBAAkB,EAAE;YACtB,oBAAoB,CAAC,IAAI,CAAC;gBACxB,UAAU,EAAE,kBAAkB;gBAC9B,YAAY,EAAE,IAAI;aACnB,CAAC,CAAC;YACH,OAAO;SACR;QAED,uGAAuG;QACvG,IAAI,IAAI,CAAC,UAAU,KAAK,YAAY,EAAE;YACpC,MAAM,iBAAiB,GAAG,OAAO,CAAC,gBAAgB,CAChD,QAAQ,EACR,IAAI,CAAC,OAAO,CACb,CAAC;YACF,oBAAoB,CAAC,IAAI,CAAC;gBACxB,UAAU,EAAE,iBAAiB;gBAC7B,YAAY,EAAE,IAAI;aACnB,CAAC,CAAC;SACJ;IACH,CAAC,CAAC,CAAC;IAEH,oBAAoB,CAAC,OAAO,CAAC,CAAC,EAAE,UAAU,EAAE,YAAY,EAAE,EAAE,EAAE;QAC5D,MAAM,sBAAsB,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAChD,IAAA,WAAG,GAAE,EACL,UAAU,CAAC,WAAW,EAAE,CACzB,CAAC;QAEF,6BAA6B;QAC7B,MAAM;QAEN,sBAAsB,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;QACjD,IACE,sBAAsB,KAAK,OAAO;YAClC,YAAY,CAAC,UAAU,KAAK,YAAY,EACxC;YACA,IAAA,6EAAqC,EAAC,UAAU,EAAE,YAAY,CAAC,CAAC;SACjE;QAED,sCAAsC;QACtC,MAAM,CAAC,KAAK,CAAC,sBAAsB,CAAC,mCAC/B,YAAY,KACf,OAAO,EAAE,UAAU,CAAC,OAAO,EAAE,GAC9B,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AA7DW,QAAA,gBAAgB,oBA6D3B;AAEF;;GAEG;AACH,MAAM,sBAAsB,GAAG,CAC7B,UAAsB,EACtB,YAA0B,EACpB,EAAE;IACR,MAAM,EAAE,iBAAiB,EAAE,UAAU,EAAE,GACrC,IAAA,uFAA0C,EAAC,UAAU,EAAE,YAAY,CAAC,CAAC;IAEvE,IAAI,CAAC,iBAAiB,EAAE;QACtB,6FAA6F;QAC7F,UAAU,CAAC,aAAa,CACtB,0IAA0I,CAC3I,CAAC;QACF,UAAU,CAAC,aAAa,CAAC,YAAY,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;KAC/D;SAAM,IAAI,iBAAiB,IAAI,CAAC,UAAU,EAAE;QAC3C,qCAAqC;QACrC,kCAAkC;QAClC,MAAM,4BAA4B,GAAG,OAAO,CAC1C,UAAU;aACP,uBAAuB,EAAE;aACzB,GAAG,CAAC,YAAY,CAAC,oBAAoB,CAAC,CAC1C,CAAC;QACF,IAAI,CAAC,4BAA4B,EAAE;YACjC,iBAAiB,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;SACvC;QACD,iDAAiD;KAClD;AACH,CAAC,CAAC"}
@@ -1,6 +1,9 @@
1
1
  import type { GraphQLSchema } from 'graphql';
2
+ import { type SourceFile, Project } from 'ts-morph';
3
+ import type { GraphQLObjectTypeResolversToGenerate } from '../getGraphQLObjectTypeResolversToGenerate';
2
4
  import type { ParseSourcesResult } from '../parseSources';
3
5
  import type { ImportLineMeta, RootObjectType } from '../utils';
6
+ import type { ParsedPresetConfig } from '../validatePresetConfig';
4
7
  interface BaseVirtualFile {
5
8
  __filetype: string;
6
9
  content: string;
@@ -12,6 +15,7 @@ export interface StandardFile extends BaseVirtualFile {
12
15
  export interface GeneralResolverFile extends BaseVirtualFile {
13
16
  __filetype: 'generalResolver';
14
17
  meta: {
18
+ moduleName: string;
15
19
  variableStatement: string;
16
20
  normalizedResolverName: string;
17
21
  };
@@ -19,6 +23,7 @@ export interface GeneralResolverFile extends BaseVirtualFile {
19
23
  export interface RootObjectTypeFieldResolverFile extends BaseVirtualFile {
20
24
  __filetype: 'rootObjectTypeFieldResolver';
21
25
  meta: {
26
+ moduleName: string;
22
27
  belongsToRootObject: RootObjectType;
23
28
  variableStatement: string;
24
29
  normalizedResolverName: string;
@@ -27,11 +32,13 @@ export interface RootObjectTypeFieldResolverFile extends BaseVirtualFile {
27
32
  export interface ObjectTypeFile extends BaseVirtualFile {
28
33
  __filetype: 'objectType';
29
34
  meta: {
35
+ moduleName: string;
30
36
  variableStatement: string;
31
37
  normalizedResolverName: string;
38
+ resolversToGenerate?: GraphQLObjectTypeResolversToGenerate[number];
32
39
  };
33
40
  }
34
- export declare type ResolverFile = GeneralResolverFile | RootObjectTypeFieldResolverFile | ObjectTypeFile;
41
+ export type ResolverFile = GeneralResolverFile | RootObjectTypeFieldResolverFile | ObjectTypeFile;
35
42
  export interface GenerateResolverFilesContext {
36
43
  config: {
37
44
  schema: GraphQLSchema;
@@ -40,14 +47,22 @@ export interface GenerateResolverFilesContext {
40
47
  resolverTypesPath: string;
41
48
  resolverRelativeTargetDir: string;
42
49
  resolverMainFile: string;
43
- mode: 'merged' | 'modules';
50
+ resolverMainFileMode: ParsedPresetConfig['resolverMainFileMode'];
51
+ mode: ParsedPresetConfig['mode'];
44
52
  whitelistedModules: string[];
45
53
  blacklistedModules: string[];
46
54
  externalResolvers: Record<string, string>;
55
+ tsMorph: {
56
+ project: Project;
57
+ typesSourceFile: SourceFile;
58
+ };
59
+ graphQLObjectTypeResolversToGenerate: GraphQLObjectTypeResolversToGenerate;
60
+ fixObjectTypeResolvers: ParsedPresetConfig['fixObjectTypeResolvers'];
47
61
  };
48
62
  result: {
49
63
  files: Record<string, StandardFile | ResolverFile>;
50
64
  externalImports: Record<string, {
65
+ moduleName: string;
51
66
  importLineMeta: ImportLineMeta;
52
67
  identifierUsages: {
53
68
  identifierName: string;
@@ -57,6 +72,7 @@ export interface GenerateResolverFilesContext {
57
72
  };
58
73
  }
59
74
  export interface GraphQLTypeHandlerParams<BelongsToRootObject = null> {
75
+ moduleName: string;
60
76
  fieldFilePath: string;
61
77
  resolverName: string;
62
78
  belongsToRootObject: BelongsToRootObject;
@@ -67,5 +83,5 @@ export interface GraphQLTypeHandlerParams<BelongsToRootObject = null> {
67
83
  typeString: `${string}Resolvers` | `${RootObjectType}Resolvers['${string}']`;
68
84
  };
69
85
  }
70
- export declare type GraphQLTypeHandler<BelongsToRootObject = null> = (params: GraphQLTypeHandlerParams<BelongsToRootObject>, ctx: GenerateResolverFilesContext) => void;
86
+ export type GraphQLTypeHandler<BelongsToRootObject = null> = (params: GraphQLTypeHandlerParams<BelongsToRootObject>, ctx: GenerateResolverFilesContext) => void;
71
87
  export {};
@@ -7,22 +7,31 @@ const utils_1 = require("../utils");
7
7
  const addExternalResolverImport_1 = require("./addExternalResolverImport");
8
8
  const visitNamedType = ({ namedType, resolverName, belongsToRootObject, location, visitor, }, ctx) => {
9
9
  const normalizedResolverName = normalizeResolverName(resolverName, belongsToRootObject);
10
+ // Check to see if need to generate resolver files
11
+ const parsedDetails = parseLocationForOutputDir(belongsToRootObject ? [belongsToRootObject] : [], ctx, location);
12
+ if (!parsedDetails) {
13
+ // No `parsedDetails` means the location is NOT whitelisted, ignore.
14
+ return;
15
+ }
16
+ const { moduleName, outputDir } = parsedDetails;
10
17
  const externalResolverImportSyntax = ctx.config.externalResolvers[normalizedResolverName];
11
18
  if (externalResolverImportSyntax) {
12
19
  // If has external resolver, use it
13
20
  (0, addExternalResolverImport_1.addExternalResolverImport)({
21
+ moduleName,
14
22
  normalizedResolverName,
15
23
  configImportSyntax: externalResolverImportSyntax,
16
24
  }, ctx);
17
25
  return;
18
26
  }
19
- // Check to see if need to generate resolver files
20
- const outputDir = parseLocationForOutputDir(belongsToRootObject ? [belongsToRootObject] : [], ctx, location);
21
- if (!outputDir) {
22
- return;
23
- }
24
27
  // Generate resolver files based on its type
25
- const visitorHandlerParams = validateAndPrepareForGraphQLTypeHandler({ resolverName, normalizedResolverName, outputDir, belongsToRootObject }, ctx);
28
+ const visitorHandlerParams = validateAndPrepareForGraphQLTypeHandler({
29
+ resolverName,
30
+ normalizedResolverName,
31
+ outputDir,
32
+ belongsToRootObject,
33
+ moduleName,
34
+ }, ctx);
26
35
  if (visitorHandlerParams.belongsToRootObject) {
27
36
  visitor['RootObjectTypeField'](visitorHandlerParams, ctx);
28
37
  }
@@ -46,9 +55,13 @@ exports.visitNamedType = visitNamedType;
46
55
  const parseLocationForOutputDir = (nestedDirs, { config: { mode, sourceMap, whitelistedModules, blacklistedModules, baseOutputDir, resolverRelativeTargetDir, }, }, location) => {
47
56
  // If mode is "merged", there's only one module:
48
57
  // - always generate a.k.a it's always whitelisted
49
- // - put them together at degsinated relativeTargetDir
58
+ // - put them together at designated relativeTargetDir
59
+ // - moduleName='' i.e. no module
50
60
  if (mode === 'merged') {
51
- return path.join(baseOutputDir, resolverRelativeTargetDir, ...nestedDirs);
61
+ return {
62
+ outputDir: path.posix.join(baseOutputDir, resolverRelativeTargetDir, ...nestedDirs),
63
+ moduleName: '',
64
+ };
52
65
  }
53
66
  // 2. mode is "modules", each module is the folder containing the schema files
54
67
  // This means one or multiple schema files can add up to one module
@@ -59,11 +72,14 @@ const parseLocationForOutputDir = (nestedDirs, { config: { mode, sourceMap, whit
59
72
  blacklistedModules,
60
73
  });
61
74
  return parsedSource
62
- ? path.join(baseOutputDir, parsedSource.moduleName, resolverRelativeTargetDir, ...nestedDirs)
75
+ ? {
76
+ outputDir: path.posix.join(baseOutputDir, parsedSource.moduleName, resolverRelativeTargetDir, ...nestedDirs),
77
+ moduleName: parsedSource.moduleName,
78
+ }
63
79
  : undefined;
64
80
  };
65
- const validateAndPrepareForGraphQLTypeHandler = ({ resolverName, normalizedResolverName, outputDir, belongsToRootObject, }, { config, result }) => {
66
- const fieldFilePath = path.join(outputDir, `${resolverName}.ts`);
81
+ const validateAndPrepareForGraphQLTypeHandler = ({ resolverName, normalizedResolverName, outputDir, belongsToRootObject, moduleName, }, { config, result }) => {
82
+ const fieldFilePath = path.posix.join(outputDir, `${resolverName}.ts`);
67
83
  if (result.files[fieldFilePath]) {
68
84
  throw new Error(`Unexpected duplication in field filename. Type: ${resolverName}, file: ${fieldFilePath}`);
69
85
  }
@@ -86,6 +102,7 @@ const validateAndPrepareForGraphQLTypeHandler = ({ resolverName, normalizedResol
86
102
  belongsToRootObject,
87
103
  normalizedResolverName,
88
104
  resolversTypeMeta,
105
+ moduleName,
89
106
  };
90
107
  };
91
108
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"visitNamedType.js","sourceRoot":"","sources":["../../../../../packages/typescript-resolver-files/src/generateResolverFiles/visitNamedType.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"visitNamedType.js","sourceRoot":"","sources":["../../../../../packages/typescript-resolver-files/src/generateResolverFiles/visitNamedType.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generateTypeDefsContent.js","sourceRoot":"","sources":["../../../../../packages/typescript-resolver-files/src/generateTypeDefsFiles/generateTypeDefsContent.ts"],"names":[],"mappings":";;;AAAA,qCAAgC;AAMzB,MAAM,uBAAuB,GAAG,CAAC,EACtC,SAAS,GACqB,EAAU,EAAE;IAC1C,MAAM,YAAY,GAAG,IAAA,eAAK,EAAC,SAAS,CAAC,CAAC;IACtC,MAAM,kBAAkB,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;IAExD,OAAO;4BACmB,kBAAkB,6BAA6B,CAAC;AAC5E,CAAC,CAAC;AARW,QAAA,uBAAuB,2BAQlC"}
@@ -0,0 +1,13 @@
1
+ import { StandardFile } from '../generateResolverFiles';
2
+ import type { ParseSourcesResult } from '../parseSources';
3
+ import { TypeDefsFileMode } from '../validatePresetConfig';
4
+ interface GenerateTypeDefsFilesParams {
5
+ baseOutputDir: string;
6
+ typeDefsFilePath: string;
7
+ typeDefsFileMode: TypeDefsFileMode;
8
+ sourceMap: ParseSourcesResult['sourceMap'];
9
+ whitelistedModules: string[];
10
+ blacklistedModules: string[];
11
+ }
12
+ export declare const generateTypeDefsFiles: ({ baseOutputDir, typeDefsFilePath, typeDefsFileMode, sourceMap, blacklistedModules, whitelistedModules, }: GenerateTypeDefsFilesParams) => Record<string, StandardFile>;
13
+ export {};