@eddeee888/gcg-typescript-resolver-files 0.6.0 → 0.7.1

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 (40) hide show
  1. package/README.md +27 -0
  2. package/package.json +2 -2
  3. package/src/addVirtualTypesFileToTsMorphProject/addVirtualTypesFileToTsMorphProject.d.ts +3 -1
  4. package/src/addVirtualTypesFileToTsMorphProject/addVirtualTypesFileToTsMorphProject.js +27 -7
  5. package/src/addVirtualTypesFileToTsMorphProject/addVirtualTypesFileToTsMorphProject.js.map +1 -1
  6. package/src/generateResolverFiles/addExternalResolverImport.d.ts +7 -0
  7. package/src/generateResolverFiles/addExternalResolverImport.js +39 -17
  8. package/src/generateResolverFiles/addExternalResolverImport.js.map +1 -1
  9. package/src/generateResolverFiles/addResolverMainFiles.js +65 -18
  10. package/src/generateResolverFiles/addResolverMainFiles.js.map +1 -1
  11. package/src/generateResolverFiles/generateResolverFiles.js +39 -0
  12. package/src/generateResolverFiles/generateResolverFiles.js.map +1 -1
  13. package/src/generateResolverFiles/getVariableStatementWithExpectedIdentifier.js +14 -0
  14. package/src/generateResolverFiles/getVariableStatementWithExpectedIdentifier.js.map +1 -1
  15. package/src/generateResolverFiles/handleGraphQLInterfaceType.js +3 -1
  16. package/src/generateResolverFiles/handleGraphQLInterfaceType.js.map +1 -1
  17. package/src/generateResolverFiles/handleGraphQLObjectType.d.ts +3 -1
  18. package/src/generateResolverFiles/handleGraphQLObjectType.js +24 -4
  19. package/src/generateResolverFiles/handleGraphQLObjectType.js.map +1 -1
  20. package/src/generateResolverFiles/handleGraphQLRootObjectTypeField.js +5 -3
  21. package/src/generateResolverFiles/handleGraphQLRootObjectTypeField.js.map +1 -1
  22. package/src/generateResolverFiles/handleGraphQLScalarType.js +1 -0
  23. package/src/generateResolverFiles/handleGraphQLScalarType.js.map +1 -1
  24. package/src/generateResolverFiles/handleGraphQLUnionType.js +1 -0
  25. package/src/generateResolverFiles/handleGraphQLUnionType.js.map +1 -1
  26. package/src/generateResolverFiles/types.d.ts +10 -6
  27. package/src/generateResolverFiles/visitNamedType.d.ts +5 -1
  28. package/src/generateResolverFiles/visitNamedType.js +27 -10
  29. package/src/generateResolverFiles/visitNamedType.js.map +1 -1
  30. package/src/normalizeAddConfigPath/index.d.ts +1 -0
  31. package/src/normalizeAddConfigPath/index.js +5 -0
  32. package/src/normalizeAddConfigPath/index.js.map +1 -0
  33. package/src/normalizeAddConfigPath/normalizeAddConfigPath.d.ts +11 -0
  34. package/src/normalizeAddConfigPath/normalizeAddConfigPath.js +22 -0
  35. package/src/normalizeAddConfigPath/normalizeAddConfigPath.js.map +1 -0
  36. package/src/preset.js +16 -3
  37. package/src/preset.js.map +1 -1
  38. package/src/validatePresetConfig/validatePresetConfig.d.ts +5 -1
  39. package/src/validatePresetConfig/validatePresetConfig.js +21 -1
  40. package/src/validatePresetConfig/validatePresetConfig.js.map +1 -1
package/README.md CHANGED
@@ -169,6 +169,29 @@ If `typeDefsFileMode=merged` or `typeDefsFileMode=mergedWhitelisted`, this path
169
169
 
170
170
  If `typeDefsFileMode=modules`, this path is relative from each module directory.
171
171
 
172
+ ### add
173
+
174
+ `Record<string, (@graphql-codegen/add).AddPluginConfig>` (Default: `undefined`) (EXPERIMENTAL)
175
+
176
+ Allows using [add](https://the-guild.dev/graphql/codegen/plugins/other/add) plugin on a given file.
177
+
178
+ Note: Currently only supports `resolverTypesPath` file i.e. `types.generated.ts`
179
+
180
+ Example:
181
+
182
+ ```ts
183
+ // codegen.ts
184
+ {
185
+ generates: {
186
+ 'src/schema': defineConfig({
187
+ add: {
188
+ './types.generated.ts': { content: '/* eslint-disable */' },
189
+ },
190
+ })
191
+ }
192
+ }
193
+ ```
194
+
172
195
  ### whitelistedModules
173
196
 
174
197
  `Array<string>` (Only works with `config.mode=modules`)
@@ -199,6 +222,10 @@ Examples:
199
222
 
200
223
  Takes [typescript config](https://www.the-guild.dev/graphql/codegen/plugins/typescript/typescript) and [typescript-resolvers config](https://www.the-guild.dev/graphql/codegen/plugins/typescript/typescript-resolvers) to override the defaults.
201
224
 
225
+ Experimental options:
226
+
227
+ - `namingConvention`
228
+
202
229
  ### mappersFileExtension
203
230
 
204
231
  `string` (Default: `.mappers.ts`)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eddeee888/gcg-typescript-resolver-files",
3
- "version": "0.6.0",
3
+ "version": "0.7.1",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "https://github.com/eddeee888/graphql-code-generator-plugins.git",
@@ -27,7 +27,7 @@
27
27
  "graphql": "^15.0.0 || ^16.0.0"
28
28
  },
29
29
  "dependencies": {
30
- "@eddeee888/gcg-server-config": "0.0.1",
30
+ "@eddeee888/gcg-server-config": "0.1.0",
31
31
  "@graphql-codegen/add": "^5.0.0",
32
32
  "@graphql-codegen/plugin-helpers": "^5.0.0",
33
33
  "@graphql-codegen/typescript": "^4.0.0",
@@ -1,9 +1,11 @@
1
+ import type { AddPluginConfig } from '@graphql-codegen/add/typings/config';
1
2
  import type { GraphQLSchema } from 'graphql';
2
3
  import { type SourceFile, Project } from 'ts-morph';
3
4
  import type { ServerConfig } from '@eddeee888/gcg-server-config';
4
- export declare const addVirtualTypesFileToTsMorphProject: ({ tsMorphProject, schemaAst, resolverTypesPath, resolverTypesConfig, }: {
5
+ export declare const addVirtualTypesFileToTsMorphProject: ({ tsMorphProject, schemaAst, resolverTypesPath, resolverTypesConfig, addConfig, }: {
5
6
  tsMorphProject: Project;
6
7
  schemaAst: GraphQLSchema;
7
8
  resolverTypesPath: string;
8
9
  resolverTypesConfig: ServerConfig;
10
+ addConfig?: AddPluginConfig | undefined;
9
11
  }) => Promise<SourceFile>;
@@ -2,13 +2,15 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.addVirtualTypesFileToTsMorphProject = void 0;
4
4
  const tslib_1 = require("tslib");
5
+ const addPlugin = require("@graphql-codegen/add");
5
6
  const typeScriptPlugin = require("@graphql-codegen/typescript");
6
7
  const typeScriptResolversPlugin = require("@graphql-codegen/typescript-resolvers");
7
- const addVirtualTypesFileToTsMorphProject = ({ tsMorphProject, schemaAst, resolverTypesPath, resolverTypesConfig, }) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
8
+ const addVirtualTypesFileToTsMorphProject = ({ tsMorphProject, schemaAst, resolverTypesPath, resolverTypesConfig, addConfig, }) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
8
9
  const typesFile = yield generateVirtualTypesFile({
9
10
  schemaAst,
10
11
  resolverTypesPath,
11
12
  resolverTypesConfig,
13
+ addConfig,
12
14
  });
13
15
  const typesSourceFile = tsMorphProject.createSourceFile(typesFile.filePath, typesFile.content, { overwrite: true });
14
16
  return typesSourceFile;
@@ -18,18 +20,36 @@ exports.addVirtualTypesFileToTsMorphProject = addVirtualTypesFileToTsMorphProjec
18
20
  * getVirtualTypesFile generates a virtual types.generated.ts file
19
21
  * This is used to statically detect and compare types in the parse and post-process steps
20
22
  */
21
- const generateVirtualTypesFile = ({ schemaAst, resolverTypesPath, resolverTypesConfig, }) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
22
- var _a, _b;
23
- const [typescriptResult, typescriptResolversResult] = yield Promise.all([
23
+ const generateVirtualTypesFile = ({ schemaAst, resolverTypesPath, resolverTypesConfig, addConfig, }) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
24
+ var _a, _b, _c, _d;
25
+ const [typescriptResult, typescriptResolversResult, addResult] = yield Promise.all([
24
26
  typeScriptPlugin.plugin(schemaAst, [], resolverTypesConfig),
25
27
  typeScriptResolversPlugin.plugin(schemaAst, [], resolverTypesConfig),
28
+ addConfig ? addPlugin.plugin(schemaAst, [], addConfig) : '',
26
29
  ]);
30
+ const addResultAsComplextOutput = convertPluginOutputToComplextPluginOutput(addResult);
27
31
  return {
28
32
  filePath: resolverTypesPath,
29
33
  content: `
30
- ${(_a = typescriptResult.prepend) === null || _a === void 0 ? void 0 : _a.join('\n')}
31
- ${(_b = typescriptResolversResult.prepend) === null || _b === void 0 ? void 0 : _b.join('\n')}
32
- ${typescriptResult.content}${typescriptResolversResult.content}`,
34
+ ${(_a = addResultAsComplextOutput.prepend) === null || _a === void 0 ? void 0 : _a.join('\n')}
35
+ ${(_b = typescriptResult.prepend) === null || _b === void 0 ? void 0 : _b.join('\n')}
36
+ ${(_c = typescriptResolversResult.prepend) === null || _c === void 0 ? void 0 : _c.join('\n')}
37
+ ${typescriptResult.content}
38
+ ${typescriptResolversResult.content}
39
+ ${addResultAsComplextOutput.content}
40
+ ${(_d = addResultAsComplextOutput.append) === null || _d === void 0 ? void 0 : _d.join('\n')}
41
+ `,
33
42
  };
34
43
  });
44
+ const convertPluginOutputToComplextPluginOutput = (output) => {
45
+ if (typeof output === 'string') {
46
+ return {
47
+ content: output || '',
48
+ };
49
+ }
50
+ if (Array.isArray(output.content)) {
51
+ output.content = output.content.join('\n');
52
+ }
53
+ return output;
54
+ };
35
55
  //# sourceMappingURL=addVirtualTypesFileToTsMorphProject.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"addVirtualTypesFileToTsMorphProject.js","sourceRoot":"","sources":["../../../../../packages/typescript-resolver-files/src/addVirtualTypesFileToTsMorphProject/addVirtualTypesFileToTsMorphProject.ts"],"names":[],"mappings":";;;;AAAA,gEAAgE;AAChE,mFAAmF;AAK5E,MAAM,mCAAmC,GAAG,CAAO,EACxD,cAAc,EACd,SAAS,EACT,iBAAiB,EACjB,mBAAmB,GAMpB,EAAuB,EAAE;IACxB,MAAM,SAAS,GAAG,MAAM,wBAAwB,CAAC;QAC/C,SAAS;QACT,iBAAiB;QACjB,mBAAmB;KACpB,CAAC,CAAC;IAEH,MAAM,eAAe,GAAG,cAAc,CAAC,gBAAgB,CACrD,SAAS,CAAC,QAAQ,EAClB,SAAS,CAAC,OAAO,EACjB,EAAE,SAAS,EAAE,IAAI,EAAE,CACpB,CAAC;IAEF,OAAO,eAAe,CAAC;AACzB,CAAC,CAAA,CAAC;AAxBW,QAAA,mCAAmC,uCAwB9C;AAEF;;;GAGG;AACH,MAAM,wBAAwB,GAAG,CAAO,EACtC,SAAS,EACT,iBAAiB,EACjB,mBAAmB,GAKpB,EAGE,EAAE;;IACH,MAAM,CAAC,gBAAgB,EAAE,yBAAyB,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACtE,gBAAgB,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,EAAE,mBAAmB,CAAC;QAC3D,yBAAyB,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,EAAE,mBAAmB,CAAC;KACrE,CAAC,CAAC;IAEH,OAAO;QACL,QAAQ,EAAE,iBAAiB;QAC3B,OAAO,EAAE;MACP,MAAA,gBAAgB,CAAC,OAAO,0CAAE,IAAI,CAAC,IAAI,CAAC;MACpC,MAAA,yBAAyB,CAAC,OAAO,0CAAE,IAAI,CAAC,IAAI,CAAC;MAC7C,gBAAgB,CAAC,OAAO,GAAG,yBAAyB,CAAC,OAAO,EAAE;KACjE,CAAC;AACJ,CAAC,CAAA,CAAC"}
1
+ {"version":3,"file":"addVirtualTypesFileToTsMorphProject.js","sourceRoot":"","sources":["../../../../../packages/typescript-resolver-files/src/addVirtualTypesFileToTsMorphProject/addVirtualTypesFileToTsMorphProject.ts"],"names":[],"mappings":";;;;AACA,kDAAkD;AAElD,gEAAgE;AAChE,mFAAmF;AAK5E,MAAM,mCAAmC,GAAG,CAAO,EACxD,cAAc,EACd,SAAS,EACT,iBAAiB,EACjB,mBAAmB,EACnB,SAAS,GAOV,EAAuB,EAAE;IACxB,MAAM,SAAS,GAAG,MAAM,wBAAwB,CAAC;QAC/C,SAAS;QACT,iBAAiB;QACjB,mBAAmB;QACnB,SAAS;KACV,CAAC,CAAC;IAEH,MAAM,eAAe,GAAG,cAAc,CAAC,gBAAgB,CACrD,SAAS,CAAC,QAAQ,EAClB,SAAS,CAAC,OAAO,EACjB,EAAE,SAAS,EAAE,IAAI,EAAE,CACpB,CAAC;IAEF,OAAO,eAAe,CAAC;AACzB,CAAC,CAAA,CAAC;AA3BW,QAAA,mCAAmC,uCA2B9C;AAEF;;;GAGG;AACH,MAAM,wBAAwB,GAAG,CAAO,EACtC,SAAS,EACT,iBAAiB,EACjB,mBAAmB,EACnB,SAAS,GAMV,EAGE,EAAE;;IACH,MAAM,CAAC,gBAAgB,EAAE,yBAAyB,EAAE,SAAS,CAAC,GAC5D,MAAM,OAAO,CAAC,GAAG,CAAC;QAChB,gBAAgB,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,EAAE,mBAAmB,CAAC;QAC3D,yBAAyB,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,EAAE,mBAAmB,CAAC;QACpE,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE;KAC5D,CAAC,CAAC;IAEL,MAAM,yBAAyB,GAC7B,yCAAyC,CAAC,SAAS,CAAC,CAAC;IAEvD,OAAO;QACL,QAAQ,EAAE,iBAAiB;QAC3B,OAAO,EAAE;MACP,MAAA,yBAAyB,CAAC,OAAO,0CAAE,IAAI,CAAC,IAAI,CAAC;MAC7C,MAAA,gBAAgB,CAAC,OAAO,0CAAE,IAAI,CAAC,IAAI,CAAC;MACpC,MAAA,yBAAyB,CAAC,OAAO,0CAAE,IAAI,CAAC,IAAI,CAAC;MAC7C,gBAAgB,CAAC,OAAO;MACxB,yBAAyB,CAAC,OAAO;MACjC,yBAAyB,CAAC,OAAO;MACjC,MAAA,yBAAyB,CAAC,MAAM,0CAAE,IAAI,CAAC,IAAI,CAAC;KAC7C;KACF,CAAC;AACJ,CAAC,CAAA,CAAC;AAEF,MAAM,yCAAyC,GAAG,CAChD,MAA0B,EACC,EAAE;IAC7B,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;QAC9B,OAAO;YACL,OAAO,EAAE,MAAM,IAAI,EAAE;SACtB,CAAC;KACH;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE;QACjC,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAC5C;IACD,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC"}
@@ -4,5 +4,12 @@ interface AddExternalResolverImportParams {
4
4
  normalizedResolverName: string;
5
5
  configImportSyntax: string;
6
6
  }
7
+ /**
8
+ * addExternalResolverImport
9
+ *
10
+ * 1. parse external resolvers (originally from config.externalResolvers) import syntax
11
+ * 2. dedupes any duplicated imports
12
+ * 3. declares the which identifier name to use for GraphQL object or resolver in identifierUsages
13
+ */
7
14
  export declare const addExternalResolverImport: (params: AddExternalResolverImportParams, { result, config: { emitLegacyCommonJSImports }, }: GenerateResolverFilesContext) => void;
8
15
  export {};
@@ -2,11 +2,19 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.addExternalResolverImport = void 0;
4
4
  const utils_1 = require("../utils");
5
+ /**
6
+ * addExternalResolverImport
7
+ *
8
+ * 1. parse external resolvers (originally from config.externalResolvers) import syntax
9
+ * 2. dedupes any duplicated imports
10
+ * 3. declares the which identifier name to use for GraphQL object or resolver in identifierUsages
11
+ */
5
12
  const addExternalResolverImport = (params, { result, config: { emitLegacyCommonJSImports }, }) => {
6
13
  const { importIdentifier, identifierUsage, moduleImport } = parseImportSyntax(params);
14
+ let shouldPushIndentifierUsages = false;
7
15
  result.externalImports[moduleImport] =
8
16
  result.externalImports[moduleImport] ||
9
- {
17
+ ({
10
18
  moduleName: params.moduleName,
11
19
  importLineMeta: {
12
20
  isTypeImport: false,
@@ -17,33 +25,47 @@ const addExternalResolverImport = (params, { result, config: { emitLegacyCommonJ
17
25
  emitLegacyCommonJSImports,
18
26
  },
19
27
  identifierUsages: [],
20
- };
21
- const externalImport = result.externalImports[moduleImport];
28
+ });
29
+ const { importLineMeta, identifierUsages } = result.externalImports[moduleImport];
22
30
  switch (importIdentifier.__type) {
23
31
  case 'default':
24
- if (externalImport.importLineMeta.defaultImport &&
25
- externalImport.importLineMeta.defaultImport !==
26
- importIdentifier.defaultImport) {
27
- throw new Error(`There can be only one default import from '${moduleImport}'. Current: ${externalImport.importLineMeta.defaultImport}. New: ${importIdentifier.defaultImport}`);
32
+ if (importLineMeta.defaultImport &&
33
+ importLineMeta.defaultImport !== importIdentifier.defaultImport) {
34
+ throw new Error(`There can be only one default import from '${moduleImport}'. Current: ${importLineMeta.defaultImport}. New: ${importIdentifier.defaultImport}`);
28
35
  }
29
- externalImport.importLineMeta.defaultImport =
30
- importIdentifier.defaultImport;
36
+ importLineMeta.defaultImport = importIdentifier.defaultImport;
37
+ shouldPushIndentifierUsages = true;
31
38
  break;
32
- case 'named':
33
- externalImport.importLineMeta.namedImports.push(importIdentifier.namedImport);
39
+ case 'named': {
40
+ const foundSameImport = importLineMeta.namedImports.find((existingImport) => typeof existingImport === 'string' &&
41
+ existingImport === importIdentifier.namedImport);
42
+ if (!foundSameImport) {
43
+ importLineMeta.namedImports.push(importIdentifier.namedImport);
44
+ shouldPushIndentifierUsages = true;
45
+ }
34
46
  break;
35
- case 'namedWithAlias':
36
- externalImport.importLineMeta.namedImports.push({
37
- propertyName: importIdentifier.propertyName,
38
- identifierName: importIdentifier.identifierName,
39
- });
47
+ }
48
+ case 'namedWithAlias': {
49
+ const foundSameImport = importLineMeta.namedImports.find((existingImport) => typeof existingImport === 'object' &&
50
+ existingImport.identifierName === importIdentifier.identifierName &&
51
+ existingImport.propertyName === importIdentifier.propertyName);
52
+ if (!foundSameImport) {
53
+ importLineMeta.namedImports.push({
54
+ propertyName: importIdentifier.propertyName,
55
+ identifierName: importIdentifier.identifierName,
56
+ });
57
+ shouldPushIndentifierUsages = true;
58
+ }
40
59
  break;
60
+ }
41
61
  default:
42
62
  // importIdentifier is `never` unless new __type is added
43
63
  // i.e. this is here for typesafety
44
64
  return importIdentifier;
45
65
  }
46
- externalImport.identifierUsages.push(identifierUsage);
66
+ if (shouldPushIndentifierUsages) {
67
+ identifierUsages.push(identifierUsage);
68
+ }
47
69
  };
48
70
  exports.addExternalResolverImport = addExternalResolverImport;
49
71
  const parseImportSyntax = ({ configImportSyntax, normalizedResolverName, }) => {
@@ -1 +1 @@
1
- {"version":3,"file":"addExternalResolverImport.js","sourceRoot":"","sources":["../../../../../packages/typescript-resolver-files/src/generateResolverFiles/addExternalResolverImport.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"addExternalResolverImport.js","sourceRoot":"","sources":["../../../../../packages/typescript-resolver-files/src/generateResolverFiles/addExternalResolverImport.ts"],"names":[],"mappings":"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"}
@@ -8,7 +8,7 @@ const createDefaultFileDetails = () => ({
8
8
  queryFields: [],
9
9
  mutationFields: [],
10
10
  subscriptionFields: [],
11
- objectTypes: [],
11
+ objectTypes: {},
12
12
  });
13
13
  /**
14
14
  * addResolverMainFiles
@@ -19,6 +19,7 @@ const createDefaultFileDetails = () => ({
19
19
  * If no resolvers are created or imported, do not generate a file.
20
20
  */
21
21
  const addResolverMainFiles = ({ config: { baseOutputDir, resolverTypesPath, resolverMainFile, resolverMainFileMode, emitLegacyCommonJSImports, }, result, }) => {
22
+ const baseIdentifierUsage = countBaseIdentifiersUsage(result.files);
22
23
  const resolverMainFiles = Object.entries(result.files).reduce((res, [filepath, file]) => {
23
24
  if (file.__filetype === 'file') {
24
25
  return res;
@@ -32,6 +33,14 @@ const addResolverMainFiles = ({ config: { baseOutputDir, resolverTypesPath, reso
32
33
  if (!res[resolverMainFilename]) {
33
34
  res[resolverMainFilename] = createDefaultFileDetails();
34
35
  }
36
+ const baseIdentifierName = makeNormalizedResolverNameVariableCompatible(file.meta.normalizedResolverName.base);
37
+ const identifierName = baseIdentifierUsage[baseIdentifierName] > 1
38
+ ? makeNormalizedResolverNameVariableCompatible(file.meta.normalizedResolverName.withModule)
39
+ : baseIdentifierName;
40
+ const fieldMapping = {
41
+ propertyName: file.mainImportIdentifier,
42
+ identifierName,
43
+ };
35
44
  // Non Root Object fields that was generated
36
45
  if (file.__filetype === 'objectType' ||
37
46
  file.__filetype === 'generalResolver') {
@@ -39,23 +48,17 @@ const addResolverMainFiles = ({ config: { baseOutputDir, resolverTypesPath, reso
39
48
  isTypeImport: false,
40
49
  module: (0, utils_1.relativeModulePath)(outputDir, filepath),
41
50
  moduleType: 'file',
42
- namedImports: [file.mainImportIdentifier],
51
+ namedImports: [fieldMapping],
43
52
  emitLegacyCommonJSImports,
44
53
  }));
45
- res[resolverMainFilename].objectTypes.push({
46
- propertyName: file.mainImportIdentifier,
47
- identifierName: file.mainImportIdentifier,
54
+ pushToObjectTypes({
55
+ objectTypes: res[resolverMainFilename].objectTypes,
56
+ property: file.mainImportIdentifier,
57
+ value: identifierName,
48
58
  });
49
59
  return res;
50
60
  }
51
61
  // Root object fields
52
- const identifierName = file.meta.normalizedResolverName
53
- .split('.')
54
- .join('_');
55
- const fieldMapping = {
56
- propertyName: file.mainImportIdentifier,
57
- identifierName,
58
- };
59
62
  res[resolverMainFilename].importLines.push((0, utils_1.printImportLine)({
60
63
  isTypeImport: false,
61
64
  module: (0, utils_1.relativeModulePath)(outputDir, filepath),
@@ -91,9 +94,10 @@ const addResolverMainFiles = ({ config: { baseOutputDir, resolverTypesPath, reso
91
94
  const resolverNameParts = usage.normalizedResolverName.split('.');
92
95
  // Only 1 part, this is a GraphQL ObjectType
93
96
  if (resolverNameParts.length === 1) {
94
- res[resolverMainFilename].objectTypes.push({
95
- propertyName: resolverNameParts[0],
96
- identifierName: usage.identifierName,
97
+ pushToObjectTypes({
98
+ objectTypes: res[resolverMainFilename].objectTypes,
99
+ property: resolverNameParts[0],
100
+ value: usage.identifierName,
97
101
  });
98
102
  return;
99
103
  }
@@ -137,6 +141,7 @@ const addResolverMainFiles = ({ config: { baseOutputDir, resolverTypesPath, reso
137
141
  : '';
138
142
  result.files[resolverMainFilename] = {
139
143
  __filetype: 'file',
144
+ mainImportIdentifier: resolversIdentifier,
140
145
  content: `/* This file was automatically generated. DO NOT UPDATE MANUALLY. */
141
146
  ${(0, utils_1.printImportLine)({
142
147
  isTypeImport: true,
@@ -145,17 +150,59 @@ const addResolverMainFiles = ({ config: { baseOutputDir, resolverTypesPath, reso
145
150
  namedImports: [resolversTypeName],
146
151
  emitLegacyCommonJSImports,
147
152
  })}
148
- ${resolverMainFile.importLines.map((line) => line).join('\n')}
153
+ ${resolverMainFile.importLines.join('\n')}
149
154
  export const ${resolversIdentifier}: ${resolversTypeName} = {
150
155
  ${queries}
151
156
  ${mutations}
152
157
  ${suscriptions}
153
- ${resolverMainFile.objectTypes.map(printObjectMapping).join(',\n')}
158
+ ${printObjectTypes(resolverMainFile.objectTypes)}
154
159
  }`,
155
- mainImportIdentifier: resolversIdentifier,
156
160
  };
157
161
  });
158
162
  };
159
163
  exports.addResolverMainFiles = addResolverMainFiles;
160
164
  const printObjectMapping = ({ propertyName, identifierName, }) => `${propertyName}: ${identifierName}`;
165
+ const pushToObjectTypes = ({ objectTypes, property, value, }) => {
166
+ if (!objectTypes[property]) {
167
+ objectTypes[property] = [];
168
+ }
169
+ objectTypes[property].push(value);
170
+ };
171
+ const printObjectTypes = (objectTypes) => {
172
+ return Object.entries(objectTypes)
173
+ .map(([property, values]) => {
174
+ if (values.length === 1) {
175
+ return `${property}: ${values[0]}`;
176
+ }
177
+ const spreadedValueString = values
178
+ .map((value) => `...${value}`)
179
+ .join(',');
180
+ return `${property}: { ${spreadedValueString} }`;
181
+ })
182
+ .join(',\n');
183
+ };
184
+ /**
185
+ * countBaseIdentifiersUsage
186
+ *
187
+ * function to count how many of the same identifier is used across all files
188
+ */
189
+ const countBaseIdentifiersUsage = (files) => {
190
+ return Object.entries(files).reduce((res, [_filepath, file]) => {
191
+ if (file.__filetype === 'file') {
192
+ return res;
193
+ }
194
+ const identifier = makeNormalizedResolverNameVariableCompatible(file.meta.normalizedResolverName.base);
195
+ if (!res[identifier]) {
196
+ res[identifier] = 0;
197
+ }
198
+ res[identifier]++;
199
+ return res;
200
+ }, {});
201
+ };
202
+ const makeNormalizedResolverNameVariableCompatible = (identifier) => {
203
+ return identifier
204
+ .split('.')
205
+ .filter((part) => Boolean(part))
206
+ .join('_');
207
+ };
161
208
  //# sourceMappingURL=addResolverMainFiles.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"addResolverMainFiles.js","sourceRoot":"","sources":["../../../../../packages/typescript-resolver-files/src/generateResolverFiles/addResolverMainFiles.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"addResolverMainFiles.js","sourceRoot":"","sources":["../../../../../packages/typescript-resolver-files/src/generateResolverFiles/addResolverMainFiles.ts"],"names":[],"mappings":";;;AAAA,6BAA6B;AAC7B,oCAKkB;AAUlB,MAAM,wBAAwB,GAAG,GAAgB,EAAE,CAAC,CAAC;IACnD,WAAW,EAAE,EAAE;IACf,WAAW,EAAE,EAAE;IACf,cAAc,EAAE,EAAE;IAClB,kBAAkB,EAAE,EAAE;IACtB,WAAW,EAAE,EAAE;CAChB,CAAC,CAAC;AAEH;;;;;;;GAOG;AACI,MAAM,oBAAoB,GAAG,CAAC,EACnC,MAAM,EAAE,EACN,aAAa,EACb,iBAAiB,EACjB,gBAAgB,EAChB,oBAAoB,EACpB,yBAAyB,GAC1B,EACD,MAAM,GACuB,EAAQ,EAAE;IACvC,MAAM,mBAAmB,GAAG,yBAAyB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAEpE,MAAM,iBAAiB,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAE3D,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,EAAE;QAC1B,IAAI,IAAI,CAAC,UAAU,KAAK,MAAM,EAAE;YAC9B,OAAO,GAAG,CAAC;SACZ;QAED,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;QAEtB,sHAAsH;QACtH,MAAM,oBAAoB,GACxB,oBAAoB,KAAK,SAAS;YAChC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,UAAU,EAAE,gBAAgB,CAAC;YACnE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,EAAE,gBAAgB,CAAC,CAAC;QAEvD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;QAErD,IAAI,CAAC,GAAG,CAAC,oBAAoB,CAAC,EAAE;YAC9B,GAAG,CAAC,oBAAoB,CAAC,GAAG,wBAAwB,EAAE,CAAC;SACxD;QAED,MAAM,kBAAkB,GAAG,4CAA4C,CACrE,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,IAAI,CACtC,CAAC;QACF,MAAM,cAAc,GAClB,mBAAmB,CAAC,kBAAkB,CAAC,GAAG,CAAC;YACzC,CAAC,CAAC,4CAA4C,CAC1C,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,UAAU,CAC5C;YACH,CAAC,CAAC,kBAAkB,CAAC;QAEzB,MAAM,YAAY,GAAuB;YACvC,YAAY,EAAE,IAAI,CAAC,oBAAoB;YACvC,cAAc;SACf,CAAC;QAEF,4CAA4C;QAC5C,IACE,IAAI,CAAC,UAAU,KAAK,YAAY;YAChC,IAAI,CAAC,UAAU,KAAK,iBAAiB,EACrC;YACA,GAAG,CAAC,oBAAoB,CAAC,CAAC,WAAW,CAAC,IAAI,CACxC,IAAA,uBAAe,EAAC;gBACd,YAAY,EAAE,KAAK;gBACnB,MAAM,EAAE,IAAA,0BAAkB,EAAC,SAAS,EAAE,QAAQ,CAAC;gBAC/C,UAAU,EAAE,MAAM;gBAClB,YAAY,EAAE,CAAC,YAAY,CAAC;gBAC5B,yBAAyB;aAC1B,CAAC,CACH,CAAC;YAEF,iBAAiB,CAAC;gBAChB,WAAW,EAAE,GAAG,CAAC,oBAAoB,CAAC,CAAC,WAAW;gBAClD,QAAQ,EAAE,IAAI,CAAC,oBAAoB;gBACnC,KAAK,EAAE,cAAc;aACtB,CAAC,CAAC;YAEH,OAAO,GAAG,CAAC;SACZ;QAED,qBAAqB;QACrB,GAAG,CAAC,oBAAoB,CAAC,CAAC,WAAW,CAAC,IAAI,CACxC,IAAA,uBAAe,EAAC;YACd,YAAY,EAAE,KAAK;YACnB,MAAM,EAAE,IAAA,0BAAkB,EAAC,SAAS,EAAE,QAAQ,CAAC;YAC/C,UAAU,EAAE,MAAM;YAClB,YAAY,EAAE,CAAC,YAAY,CAAC;YAC5B,yBAAyB;SAC1B,CAAC,CACH,CAAC;QAEF,MAAM,aAAa,GAAuC;YACxD,KAAK,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC;YACrE,QAAQ,EAAE,GAAG,EAAE,CACb,GAAG,CAAC,oBAAoB,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,YAAY,CAAC;YAC7D,YAAY,EAAE,GAAG,EAAE,CACjB,GAAG,CAAC,oBAAoB,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,YAAY,CAAC;SAClE,CAAC;QACF,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,EAAE,CAAC;QAE/C,OAAO,GAAG,CAAC;IACb,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE;QACpE,sHAAsH;QACtH,MAAM,oBAAoB,GACxB,oBAAoB,KAAK,SAAS;YAChC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,UAAU,EAAE,gBAAgB,CAAC;YACnE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,EAAE,gBAAgB,CAAC,CAAC;QAEvD,IAAI,CAAC,GAAG,CAAC,oBAAoB,CAAC,EAAE;YAC9B,GAAG,CAAC,oBAAoB,CAAC,GAAG,wBAAwB,EAAE,CAAC;SACxD;QAED,GAAG,CAAC,oBAAoB,CAAC,CAAC,WAAW,CAAC,IAAI,CACxC,IAAA,uBAAe,EAAC;YACd,YAAY,EAAE,KAAK;YACnB,MAAM;YACN,UAAU,EAAE,UAAU;YACtB,YAAY,EAAE,IAAI,CAAC,cAAc,CAAC,YAAY;YAC9C,aAAa,EAAE,IAAI,CAAC,cAAc,CAAC,aAAa;YAChD,yBAAyB;SAC1B,CAAC,CACH,CAAC;QAEF,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YACtC,MAAM,iBAAiB,GAAG,KAAK,CAAC,sBAAsB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAElE,4CAA4C;YAC5C,IAAI,iBAAiB,CAAC,MAAM,KAAK,CAAC,EAAE;gBAClC,iBAAiB,CAAC;oBAChB,WAAW,EAAE,GAAG,CAAC,oBAAoB,CAAC,CAAC,WAAW;oBAClD,QAAQ,EAAE,iBAAiB,CAAC,CAAC,CAAC;oBAC9B,KAAK,EAAE,KAAK,CAAC,cAAc;iBAC5B,CAAC,CAAC;gBACH,OAAO;aACR;YAED,yGAAyG;YACzG,MAAM,CAAC,cAAc,EAAE,KAAK,CAAC,GAAG,iBAAiB,CAAC;YAClD,IAAI,CAAC,IAAA,wBAAgB,EAAC,cAAc,CAAC,EAAE;gBACrC,MAAM,IAAI,KAAK,CAAC,sCAAsC,cAAc,EAAE,CAAC,CAAC;aACzE;YACD,MAAM,YAAY,GAAuB;gBACvC,cAAc,EAAE,KAAK,CAAC,cAAc;gBACpC,YAAY,EAAE,KAAK;aACpB,CAAC;YACF,MAAM,aAAa,GAAuC;gBACxD,KAAK,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC;gBACrE,QAAQ,EAAE,GAAG,EAAE,CACb,GAAG,CAAC,oBAAoB,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,YAAY,CAAC;gBAC7D,YAAY,EAAE,GAAG,EAAE,CACjB,GAAG,CAAC,oBAAoB,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,YAAY,CAAC;aAClE,CAAC;YACF,aAAa,CAAC,cAAc,CAAC,EAAE,CAAC;QAClC,CAAC,CAAC,CAAC;QAEH,OAAO,GAAG,CAAC;IACb,CAAC,EAAE,iBAAiB,CAAC,CAAC;IAEtB,MAAM,mBAAmB,GAAG,WAAW,CAAC;IACxC,MAAM,iBAAiB,GAAG,WAAW,CAAC,CAAC,kDAAkD;IAEzF,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,OAAO,CACvC,CAAC,CAAC,oBAAoB,EAAE,gBAAgB,CAAC,EAAE,EAAE;QAC3C,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;QACrD,MAAM,2BAA2B,GAAG,IAAA,0BAAkB,EACpD,SAAS,EACT,iBAAiB,CAClB,CAAC;QAEF,MAAM,OAAO,GACX,gBAAgB,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC;YACrC,CAAC,CAAC,YAAY,gBAAgB,CAAC,WAAW;iBACrC,GAAG,CAAC,kBAAkB,CAAC;iBACvB,IAAI,CAAC,GAAG,CAAC,KAAK;YACnB,CAAC,CAAC,EAAE,CAAC;QACT,MAAM,SAAS,GACb,gBAAgB,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC;YACxC,CAAC,CAAC,eAAe,gBAAgB,CAAC,cAAc;iBAC3C,GAAG,CAAC,kBAAkB,CAAC;iBACvB,IAAI,CAAC,GAAG,CAAC,KAAK;YACnB,CAAC,CAAC,EAAE,CAAC;QACT,MAAM,YAAY,GAChB,gBAAgB,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC;YAC5C,CAAC,CAAC,mBAAmB,gBAAgB,CAAC,kBAAkB;iBACnD,GAAG,CAAC,kBAAkB,CAAC;iBACvB,IAAI,CAAC,GAAG,CAAC,KAAK;YACnB,CAAC,CAAC,EAAE,CAAC;QAET,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,GAAG;YACnC,UAAU,EAAE,MAAM;YAClB,oBAAoB,EAAE,mBAAmB;YACzC,OAAO,EAAE;MACX,IAAA,uBAAe,EAAC;gBAChB,YAAY,EAAE,IAAI;gBAClB,MAAM,EAAE,2BAA2B;gBACnC,UAAU,EAAE,MAAM;gBAClB,YAAY,EAAE,CAAC,iBAAiB,CAAC;gBACjC,yBAAyB;aAC1B,CAAC;MACA,gBAAgB,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;mBAC1B,mBAAmB,KAAK,iBAAiB;QACpD,OAAO;QACP,SAAS;QACT,YAAY;QACZ,gBAAgB,CAAC,gBAAgB,CAAC,WAAW,CAAC;MAChD;SACC,CAAC;IACJ,CAAC,CACF,CAAC;AACJ,CAAC,CAAC;AA3MW,QAAA,oBAAoB,wBA2M/B;AAMF,MAAM,kBAAkB,GAAG,CAAC,EAC1B,YAAY,EACZ,cAAc,GACK,EAAU,EAAE,CAAC,GAAG,YAAY,KAAK,cAAc,EAAE,CAAC;AAGvE,MAAM,iBAAiB,GAAG,CAAC,EACzB,WAAW,EACX,QAAQ,EACR,KAAK,GAKN,EAAQ,EAAE;IACT,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE;QAC1B,WAAW,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;KAC5B;IAED,WAAW,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACpC,CAAC,CAAC;AAEF,MAAM,gBAAgB,GAAG,CAAC,WAA2B,EAAU,EAAE;IAC/D,OAAO,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC;SAC/B,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE;QAC1B,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;YACvB,OAAO,GAAG,QAAQ,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;SACpC;QAED,MAAM,mBAAmB,GAAG,MAAM;aAC/B,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,KAAK,EAAE,CAAC;aAC7B,IAAI,CAAC,GAAG,CAAC,CAAC;QACb,OAAO,GAAG,QAAQ,OAAO,mBAAmB,IAAI,CAAC;IACnD,CAAC,CAAC;SACD,IAAI,CAAC,KAAK,CAAC,CAAC;AACjB,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,yBAAyB,GAAG,CAChC,KAAsD,EAC9B,EAAE;IAC1B,OAAO,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,CACjC,CAAC,GAAG,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,EAAE;QACzB,IAAI,IAAI,CAAC,UAAU,KAAK,MAAM,EAAE;YAC9B,OAAO,GAAG,CAAC;SACZ;QAED,MAAM,UAAU,GAAG,4CAA4C,CAC7D,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,IAAI,CACtC,CAAC;QAEF,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE;YACpB,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;SACrB;QAED,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;QAElB,OAAO,GAAG,CAAC;IACb,CAAC,EACD,EAAE,CACH,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,4CAA4C,GAAG,CACnD,UAAkB,EACV,EAAE;IACV,OAAO,UAAU;SACd,KAAK,CAAC,GAAG,CAAC;SACV,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;SAC/B,IAAI,CAAC,GAAG,CAAC,CAAC;AACf,CAAC,CAAC"}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.generateResolverFiles = void 0;
4
+ const path = require("path");
4
5
  const graphql_1 = require("graphql");
5
6
  const utils_1 = require("../utils");
6
7
  const addResolverMainFiles_1 = require("./addResolverMainFiles");
@@ -27,6 +28,7 @@ const generateResolverFiles = (ctx) => {
27
28
  ScalarType: handleGraphQLScalarType_1.handleGraphQLScalarType,
28
29
  InterfaceType: handleGraphQLInterfaceType_1.handleGraphQLInterfaceType,
29
30
  };
31
+ // Root object types e.g. Query, Mutation, Subscription
30
32
  if ((0, utils_1.isRootObjectType)(schemaType) && (0, graphql_1.isObjectType)(namedType)) {
31
33
  Object.entries(namedType.getFields()).forEach(([fieldName, fieldNode]) => {
32
34
  var _a;
@@ -40,6 +42,43 @@ const generateResolverFiles = (ctx) => {
40
42
  });
41
43
  return;
42
44
  }
45
+ // Other output object types
46
+ if ((0, graphql_1.isObjectType)(namedType)) {
47
+ const fieldsByGraphQLModule = Object.entries(namedType.getFields()).reduce((res, [_, fieldNode]) => {
48
+ var _a;
49
+ const fieldLocation = (_a = fieldNode.astNode) === null || _a === void 0 ? void 0 : _a.loc;
50
+ const graphQLModule = path.dirname((fieldLocation === null || fieldLocation === void 0 ? void 0 : fieldLocation.source.name) || '');
51
+ if (!res[graphQLModule]) {
52
+ res[graphQLModule] = {
53
+ fieldNodes: [],
54
+ // Note: fieldLocation here is the location of the first field found in a GraphQL Module.
55
+ // The reason we use field's location instead of the object type's location is because when `extend type ObjectType` is used, the location of object type is the last found location.
56
+ // i.e. we cannot rely on object's location if `extend type` is used.
57
+ firstFieldLocation: fieldLocation,
58
+ };
59
+ }
60
+ res[graphQLModule].fieldNodes.push(fieldNode);
61
+ return res;
62
+ }, {});
63
+ // If there are multiple object type files to generate e.g. `extend type ObjectType` is used across multiple modules
64
+ // Then, generate one file for each location
65
+ const fieldsToGenerate = Object.entries(fieldsByGraphQLModule);
66
+ if (fieldsToGenerate.length > 1) {
67
+ fieldsToGenerate.forEach(([_, { firstFieldLocation, fieldNodes }]) => {
68
+ const fieldsToPick = fieldNodes.map((field) => field.name);
69
+ (0, visitNamedType_1.visitNamedType)({
70
+ namedType,
71
+ resolverName: namedType.name,
72
+ belongsToRootObject: null,
73
+ location: firstFieldLocation,
74
+ visitor,
75
+ fieldsToPick,
76
+ }, ctx);
77
+ });
78
+ return;
79
+ }
80
+ }
81
+ // Other types e.g. Union, Scalar, Interface
43
82
  (0, visitNamedType_1.visitNamedType)({
44
83
  namedType,
45
84
  resolverName: namedType.name,
@@ -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,iEAA8D;AAC9D,yDAAsD;AACtD,yFAAsF;AACtF,uEAAoE;AACpE,qEAAkE;AAClE,uEAAoE;AACpE,6EAA0E;AAC1E,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,+CAAsB;YACjC,UAAU,EAAE,iDAAuB;YACnC,aAAa,EAAE,uDAA0B;SAC1C,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,wDAAwD;IACxD,IAAA,2CAAoB,EAAC,GAAG,CAAC,CAAC;AAC5B,CAAC,CAAC;AAvDW,QAAA,qBAAqB,yBAuDhC"}
1
+ {"version":3,"file":"generateResolverFiles.js","sourceRoot":"","sources":["../../../../../packages/typescript-resolver-files/src/generateResolverFiles/generateResolverFiles.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getVariableStatementWithExpectedIdentifier = void 0;
4
4
  const getVariableStatementWithExpectedIdentifier = (sourceFile, resolverFile) => {
5
+ var _a, _b;
5
6
  let isExported = false;
6
7
  const variableStatementWithExpectedIdentifier = sourceFile.getVariableStatement((statement) => {
7
8
  let hasExpectedIdentifier = false;
@@ -18,6 +19,19 @@ const getVariableStatementWithExpectedIdentifier = (sourceFile, resolverFile) =>
18
19
  });
19
20
  return hasExpectedIdentifier;
20
21
  });
22
+ /**
23
+ * If we found the variable statement replace its type with the expected resolver type string
24
+ *
25
+ * This is because we change the type of the resolver in some cases:
26
+ * 1. When `extend type <Object>` is used, we might change its original type to the picked version
27
+ * e.g. `Book` might become `Pick<Book, 'title' | 'author'>`
28
+ */
29
+ if (variableStatementWithExpectedIdentifier &&
30
+ resolverFile.meta.resolverTypeString) {
31
+ (_b = (_a = variableStatementWithExpectedIdentifier
32
+ .getDeclarationList()
33
+ .getDeclarations()[0]) === null || _a === void 0 ? void 0 : _a.getTypeNode()) === null || _b === void 0 ? void 0 : _b.replaceWithText(resolverFile.meta.resolverTypeString);
34
+ }
21
35
  return {
22
36
  variableStatement: variableStatementWithExpectedIdentifier,
23
37
  isExported,
@@ -1 +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"}
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;;;;;;OAMG;IACH,IACE,uCAAuC;QACvC,YAAY,CAAC,IAAI,CAAC,kBAAkB,EACpC;QACA,MAAA,MAAA,uCAAuC;aACpC,kBAAkB,EAAE;aACpB,eAAe,EAAE,CAAC,CAAC,CAAC,0CACnB,WAAW,EAAE,0CACb,eAAe,CAAC,YAAY,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;KAC3D;IAED,OAAO;QACL,iBAAiB,EAAE,uCAAuC;QAC1D,UAAU;KACX,CAAC;AACJ,CAAC,CAAC;AA/CW,QAAA,0CAA0C,8CA+CrD"}
@@ -6,7 +6,8 @@ const handleGraphQLInterfaceType = ({ fieldFilePath, resolverName, normalizedRes
6
6
  if (!resolverGeneration.interface) {
7
7
  return;
8
8
  }
9
- const variableStatement = `export const ${resolverName}: ${resolversTypeMeta.typeString} = { /* Implement ${resolverName} interface logic here */ };`;
9
+ const resolverTypeString = resolversTypeMeta.typeString;
10
+ const variableStatement = `export const ${resolverName}: ${resolverTypeString} = { /* Implement ${resolverName} interface logic here */ };`;
10
11
  result.files[fieldFilePath] = {
11
12
  __filetype: 'generalResolver',
12
13
  content: `
@@ -23,6 +24,7 @@ const handleGraphQLInterfaceType = ({ fieldFilePath, resolverName, normalizedRes
23
24
  moduleName,
24
25
  normalizedResolverName,
25
26
  variableStatement,
27
+ resolverTypeString,
26
28
  },
27
29
  };
28
30
  };
@@ -1 +1 @@
1
- {"version":3,"file":"handleGraphQLInterfaceType.js","sourceRoot":"","sources":["../../../../../packages/typescript-resolver-files/src/generateResolverFiles/handleGraphQLInterfaceType.ts"],"names":[],"mappings":";;;AAAA,oCAA2C;AAGpC,MAAM,0BAA0B,GAAuB,CAC5D,EACE,aAAa,EACb,YAAY,EACZ,sBAAsB,EACtB,iBAAiB,EACjB,UAAU,GACX,EACD,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,EAAE,EACrE,EAAE;IACF,IAAI,CAAC,kBAAkB,CAAC,SAAS,EAAE;QACjC,OAAO;KACR;IAED,MAAM,iBAAiB,GAAG,gBAAgB,YAAY,KAAK,iBAAiB,CAAC,UAAU,qBAAqB,YAAY,6BAA6B,CAAC;IAEtJ,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,UAAU,EAAE,iBAAiB,CAAC,UAAU;YACxC,YAAY,EAAE,CAAC,iBAAiB,CAAC,eAAe,CAAC;YACjD,yBAAyB;SAC1B,CAAC;MACA,iBAAiB,EAAE;QACrB,oBAAoB,EAAE,YAAY;QAClC,IAAI,EAAE;YACJ,UAAU;YACV,sBAAsB;YACtB,iBAAiB;SAClB;KACF,CAAC;AACJ,CAAC,CAAC;AAlCW,QAAA,0BAA0B,8BAkCrC"}
1
+ {"version":3,"file":"handleGraphQLInterfaceType.js","sourceRoot":"","sources":["../../../../../packages/typescript-resolver-files/src/generateResolverFiles/handleGraphQLInterfaceType.ts"],"names":[],"mappings":";;;AAAA,oCAA2C;AAGpC,MAAM,0BAA0B,GAAuB,CAC5D,EACE,aAAa,EACb,YAAY,EACZ,sBAAsB,EACtB,iBAAiB,EACjB,UAAU,GACX,EACD,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,EAAE,EACrE,EAAE;IACF,IAAI,CAAC,kBAAkB,CAAC,SAAS,EAAE;QACjC,OAAO;KACR;IAED,MAAM,kBAAkB,GAAG,iBAAiB,CAAC,UAAU,CAAC;IAExD,MAAM,iBAAiB,GAAG,gBAAgB,YAAY,KAAK,kBAAkB,qBAAqB,YAAY,6BAA6B,CAAC;IAE5I,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,UAAU,EAAE,iBAAiB,CAAC,UAAU;YACxC,YAAY,EAAE,CAAC,iBAAiB,CAAC,eAAe,CAAC;YACjD,yBAAyB;SAC1B,CAAC;MACA,iBAAiB,EAAE;QACrB,oBAAoB,EAAE,YAAY;QAClC,IAAI,EAAE;YACJ,UAAU;YACV,sBAAsB;YACtB,iBAAiB;YACjB,kBAAkB;SACnB;KACF,CAAC;AACJ,CAAC,CAAC;AArCW,QAAA,0BAA0B,8BAqCrC"}
@@ -1,2 +1,4 @@
1
1
  import type { GraphQLTypeHandler } from './types';
2
- export declare const handleGraphQLObjectType: GraphQLTypeHandler;
2
+ export declare const handleGraphQLObjectType: GraphQLTypeHandler<null, {
3
+ fieldsToPick?: string[];
4
+ }>;
@@ -2,12 +2,31 @@
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, moduleName, }, { result, config: { resolverGeneration, graphQLObjectTypeResolversToGenerate, emitLegacyCommonJSImports, }, }) => {
5
+ const handleGraphQLObjectType = ({ fieldFilePath, resolverName, normalizedResolverName, resolversTypeMeta, moduleName, fieldsToPick = [], // If fieldsToPick.length === 0, it means the current object handles all resolvers
6
+ }, { result, config: { resolverGeneration, graphQLObjectTypeResolversToGenerate, emitLegacyCommonJSImports, }, }) => {
6
7
  if (!resolverGeneration.object) {
7
8
  return;
8
9
  }
9
- const variableStatement = `export const ${resolverName}: ${resolversTypeMeta.typeString} = {
10
- /* Implement ${resolverName} resolver logic here */
10
+ // `typeString` contains the resolver type
11
+ // If there's fieldsToPick, we must only pick said fields from the original resolver type
12
+ const typeString = fieldsToPick.length > 0
13
+ ? `Pick<${resolversTypeMeta.typeString}, ${fieldsToPick
14
+ .map((fieldName) => `'${fieldName}'`)
15
+ .join('|')}>`
16
+ : resolversTypeMeta.typeString;
17
+ // Array of all resolvers that may need type checking
18
+ // If there's fieldsToPick, we must only generate said fields
19
+ const allResolversToGenerate = graphQLObjectTypeResolversToGenerate[resolverName];
20
+ const resolversToGenerate = fieldsToPick.length > 0
21
+ ? fieldsToPick.reduce((res, fieldToPick) => {
22
+ if (allResolversToGenerate) {
23
+ res[fieldToPick] = allResolversToGenerate[fieldToPick];
24
+ }
25
+ return res;
26
+ }, {})
27
+ : allResolversToGenerate;
28
+ const variableStatement = `export const ${resolverName}: ${typeString} = {
29
+ /* Implement ${resolverName} resolver logic here */
11
30
  };`;
12
31
  result.files[fieldFilePath] = {
13
32
  __filetype: 'objectType',
@@ -25,7 +44,8 @@ const handleGraphQLObjectType = ({ fieldFilePath, resolverName, normalizedResolv
25
44
  moduleName,
26
45
  normalizedResolverName,
27
46
  variableStatement,
28
- resolversToGenerate: graphQLObjectTypeResolversToGenerate[resolverName], // Array of all resolvers that may need type checking
47
+ resolverTypeString: typeString,
48
+ resolversToGenerate,
29
49
  },
30
50
  };
31
51
  };
@@ -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,EACE,aAAa,EACb,YAAY,EACZ,sBAAsB,EACtB,iBAAiB,EACjB,UAAU,GACX,EACD,EACE,MAAM,EACN,MAAM,EAAE,EACN,kBAAkB,EAClB,oCAAoC,EACpC,yBAAyB,GAC1B,GACF,EACD,EAAE;IACF,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE;QAC9B,OAAO;KACR;IAED,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,UAAU,EAAE,iBAAiB,CAAC,UAAU;YACxC,YAAY,EAAE,CAAC,iBAAiB,CAAC,eAAe,CAAC;YACjD,yBAAyB;SAC1B,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;AA5CW,QAAA,uBAAuB,2BA4ClC"}
1
+ {"version":3,"file":"handleGraphQLObjectType.js","sourceRoot":"","sources":["../../../../../packages/typescript-resolver-files/src/generateResolverFiles/handleGraphQLObjectType.ts"],"names":[],"mappings":";;;AACA,oCAA2C;AAEpC,MAAM,uBAAuB,GAGhC,CACF,EACE,aAAa,EACb,YAAY,EACZ,sBAAsB,EACtB,iBAAiB,EACjB,UAAU,EACV,YAAY,GAAG,EAAE,EAAE,kFAAkF;EACtG,EACD,EACE,MAAM,EACN,MAAM,EAAE,EACN,kBAAkB,EAClB,oCAAoC,EACpC,yBAAyB,GAC1B,GACF,EACD,EAAE;IACF,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE;QAC9B,OAAO;KACR;IAED,0CAA0C;IAC1C,yFAAyF;IACzF,MAAM,UAAU,GACd,YAAY,CAAC,MAAM,GAAG,CAAC;QACrB,CAAC,CAAC,QAAQ,iBAAiB,CAAC,UAAU,KAAK,YAAY;aAClD,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,SAAS,GAAG,CAAC;aACpC,IAAI,CAAC,GAAG,CAAC,GAAG;QACjB,CAAC,CAAC,iBAAiB,CAAC,UAAU,CAAC;IAEnC,qDAAqD;IACrD,6DAA6D;IAC7D,MAAM,sBAAsB,GAC1B,oCAAoC,CAAC,YAAY,CAAC,CAAC;IACrD,MAAM,mBAAmB,GACvB,YAAY,CAAC,MAAM,GAAG,CAAC;QACrB,CAAC,CAAC,YAAY,CAAC,MAAM,CACjB,CAAC,GAAG,EAAE,WAAW,EAAE,EAAE;YACnB,IAAI,sBAAsB,EAAE;gBAC1B,GAAG,CAAC,WAAW,CAAC,GAAG,sBAAsB,CAAC,WAAW,CAAC,CAAC;aACxD;YACD,OAAO,GAAG,CAAC;QACb,CAAC,EACD,EAAE,CACH;QACH,CAAC,CAAC,sBAAsB,CAAC;IAE7B,MAAM,iBAAiB,GAAG,gBAAgB,YAAY,KAAK,UAAU;mBACpD,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,UAAU,EAAE,iBAAiB,CAAC,UAAU;YACxC,YAAY,EAAE,CAAC,iBAAiB,CAAC,eAAe,CAAC;YACjD,yBAAyB;SAC1B,CAAC;MACA,iBAAiB,EAAE;QACrB,oBAAoB,EAAE,YAAY;QAClC,IAAI,EAAE;YACJ,UAAU;YACV,sBAAsB;YACtB,iBAAiB;YACjB,kBAAkB,EAAE,UAAU;YAC9B,mBAAmB;SACpB;KACF,CAAC;AACJ,CAAC,CAAC;AA3EW,QAAA,uBAAuB,2BA2ElC"}
@@ -8,10 +8,11 @@ const handleGraphQLRootObjectTypeField = ({ fieldFilePath, resolverName, belongs
8
8
  (belongsToRootObject === 'Subscription' && !resolverGeneration.subscription)) {
9
9
  return;
10
10
  }
11
- const suggestion = `/* Implement ${normalizedResolverName} resolver logic here */`;
12
- let variableStatement = `export const ${resolverName}: NonNullable<${resolversTypeMeta.typeString}> = async (_parent, _arg, _ctx) => { ${suggestion} };`;
11
+ const suggestion = `/* Implement ${normalizedResolverName.base} resolver logic here */`;
12
+ const resolverTypeString = `NonNullable<${resolversTypeMeta.typeString}>`;
13
+ let variableStatement = `export const ${resolverName}: ${resolverTypeString} = async (_parent, _arg, _ctx) => { ${suggestion} };`;
13
14
  if (belongsToRootObject === 'Subscription') {
14
- variableStatement = `export const ${resolverName}: NonNullable<${resolversTypeMeta.typeString}> = {
15
+ variableStatement = `export const ${resolverName}: ${resolverTypeString} = {
15
16
  subscribe: async (_parent, _arg, _ctx) => { ${suggestion} },
16
17
  }`;
17
18
  }
@@ -31,6 +32,7 @@ const handleGraphQLRootObjectTypeField = ({ fieldFilePath, resolverName, belongs
31
32
  moduleName,
32
33
  belongsToRootObject,
33
34
  variableStatement,
35
+ resolverTypeString,
34
36
  normalizedResolverName,
35
37
  },
36
38
  };
@@ -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,EACjB,UAAU,GACX,EACD,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,EAAE,EACrE,EAAE;IACF,IACE,CAAC,mBAAmB,KAAK,OAAO,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC;QAC9D,CAAC,mBAAmB,KAAK,UAAU,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC;QACpE,CAAC,mBAAmB,KAAK,cAAc,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,EAC5E;QACA,OAAO;KACR;IAED,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,UAAU,EAAE,iBAAiB,CAAC,UAAU;YACxC,YAAY,EAAE,CAAC,iBAAiB,CAAC,eAAe,CAAC;YACjD,yBAAyB;SAC1B,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;AAjDW,QAAA,gCAAgC,oCAiD3C"}
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,MAAM,EAAE,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,EAAE,EACrE,EAAE;IACF,IACE,CAAC,mBAAmB,KAAK,OAAO,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC;QAC9D,CAAC,mBAAmB,KAAK,UAAU,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC;QACpE,CAAC,mBAAmB,KAAK,cAAc,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,EAC5E;QACA,OAAO;KACR;IAED,MAAM,UAAU,GAAG,gBAAgB,sBAAsB,CAAC,IAAI,yBAAyB,CAAC;IAExF,MAAM,kBAAkB,GAAG,eAAe,iBAAiB,CAAC,UAAU,GAAG,CAAC;IAE1E,IAAI,iBAAiB,GAAG,gBAAgB,YAAY,KAAK,kBAAkB,uCAAuC,UAAU,KAAK,CAAC;IAClI,IAAI,mBAAmB,KAAK,cAAc,EAAE;QAC1C,iBAAiB,GAAG,gBAAgB,YAAY,KAAK,kBAAkB;oDACvB,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,UAAU,EAAE,iBAAiB,CAAC,UAAU;YACxC,YAAY,EAAE,CAAC,iBAAiB,CAAC,eAAe,CAAC;YACjD,yBAAyB;SAC1B,CAAC;UACA,iBAAiB,EAAE;QACzB,oBAAoB,EAAE,YAAY;QAClC,IAAI,EAAE;YACJ,UAAU;YACV,mBAAmB;YACnB,iBAAiB;YACjB,kBAAkB;YAClB,sBAAsB;SACvB;KACF,CAAC;AACJ,CAAC,CAAC;AApDW,QAAA,gCAAgC,oCAoD3C"}
@@ -36,6 +36,7 @@ const handleGraphQLScalarType = ({ fieldFilePath, resolverName, normalizedResolv
36
36
  moduleName,
37
37
  normalizedResolverName,
38
38
  variableStatement,
39
+ resolverTypeString: null,
39
40
  },
40
41
  };
41
42
  };
@@ -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,UAAU,EAAE,EACnE,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,EAAE,EACrE,EAAE;IACF,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE;QAC9B,OAAO;KACR;IAED,MAAM,iBAAiB,GAAG,gBAAgB,YAAY;aAC3C,YAAY;oBACL,YAAY;;;;;;;;;;MAU1B,CAAC;IAEL,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG;QAC5B,UAAU,EAAE,iBAAiB;QAC7B,OAAO,EAAE;MACP,IAAA,uBAAe,EAAC;YAChB,YAAY,EAAE,KAAK;YACnB,MAAM,EAAE,SAAS;YACjB,UAAU,EAAE,QAAQ;YACpB,YAAY,EAAE,CAAC,iBAAiB,CAAC;YACjC,yBAAyB;SAC1B,CAAC;MACA,iBAAiB,EAAE;QACrB,oBAAoB,EAAE,YAAY;QAClC,IAAI,EAAE;YACJ,UAAU;YACV,sBAAsB;YACtB,iBAAiB;SAClB;KACF,CAAC;AACJ,CAAC,CAAC;AAxCW,QAAA,uBAAuB,2BAwClC"}
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,MAAM,EAAE,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,EAAE,EACrE,EAAE;IACF,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE;QAC9B,OAAO;KACR;IAED,MAAM,iBAAiB,GAAG,gBAAgB,YAAY;aAC3C,YAAY;oBACL,YAAY;;;;;;;;;;MAU1B,CAAC;IAEL,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG;QAC5B,UAAU,EAAE,iBAAiB;QAC7B,OAAO,EAAE;MACP,IAAA,uBAAe,EAAC;YAChB,YAAY,EAAE,KAAK;YACnB,MAAM,EAAE,SAAS;YACjB,UAAU,EAAE,QAAQ;YACpB,YAAY,EAAE,CAAC,iBAAiB,CAAC;YACjC,yBAAyB;SAC1B,CAAC;MACA,iBAAiB,EAAE;QACrB,oBAAoB,EAAE,YAAY;QAClC,IAAI,EAAE;YACJ,UAAU;YACV,sBAAsB;YACtB,iBAAiB;YACjB,kBAAkB,EAAE,IAAI;SACzB;KACF,CAAC;AACJ,CAAC,CAAC;AAzCW,QAAA,uBAAuB,2BAyClC"}
@@ -22,6 +22,7 @@ const handleGraphQLUnionType = ({ fieldFilePath, resolverName, normalizedResolve
22
22
  meta: {
23
23
  moduleName,
24
24
  normalizedResolverName,
25
+ resolverTypeString: resolversTypeMeta.typeString,
25
26
  variableStatement,
26
27
  },
27
28
  };
@@ -1 +1 @@
1
- {"version":3,"file":"handleGraphQLUnionType.js","sourceRoot":"","sources":["../../../../../packages/typescript-resolver-files/src/generateResolverFiles/handleGraphQLUnionType.ts"],"names":[],"mappings":";;;AAAA,oCAA2C;AAGpC,MAAM,sBAAsB,GAAuB,CACxD,EACE,aAAa,EACb,YAAY,EACZ,sBAAsB,EACtB,iBAAiB,EACjB,UAAU,GACX,EACD,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,EAAE,EACrE,EAAE;IACF,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE;QAC7B,OAAO;KACR;IAED,MAAM,iBAAiB,GAAG,gBAAgB,YAAY,KAAK,iBAAiB,CAAC,UAAU,qBAAqB,YAAY,yBAAyB,CAAC;IAElJ,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,UAAU,EAAE,iBAAiB,CAAC,UAAU;YACxC,YAAY,EAAE,CAAC,iBAAiB,CAAC,eAAe,CAAC;YACjD,yBAAyB;SAC1B,CAAC;MACA,iBAAiB,EAAE;QACrB,oBAAoB,EAAE,YAAY;QAClC,IAAI,EAAE;YACJ,UAAU;YACV,sBAAsB;YACtB,iBAAiB;SAClB;KACF,CAAC;AACJ,CAAC,CAAC;AAlCW,QAAA,sBAAsB,0BAkCjC"}
1
+ {"version":3,"file":"handleGraphQLUnionType.js","sourceRoot":"","sources":["../../../../../packages/typescript-resolver-files/src/generateResolverFiles/handleGraphQLUnionType.ts"],"names":[],"mappings":";;;AAAA,oCAA2C;AAGpC,MAAM,sBAAsB,GAAuB,CACxD,EACE,aAAa,EACb,YAAY,EACZ,sBAAsB,EACtB,iBAAiB,EACjB,UAAU,GACX,EACD,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,EAAE,EACrE,EAAE;IACF,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE;QAC7B,OAAO;KACR;IAED,MAAM,iBAAiB,GAAG,gBAAgB,YAAY,KAAK,iBAAiB,CAAC,UAAU,qBAAqB,YAAY,yBAAyB,CAAC;IAElJ,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,UAAU,EAAE,iBAAiB,CAAC,UAAU;YACxC,YAAY,EAAE,CAAC,iBAAiB,CAAC,eAAe,CAAC;YACjD,yBAAyB;SAC1B,CAAC;MACA,iBAAiB,EAAE;QACrB,oBAAoB,EAAE,YAAY;QAClC,IAAI,EAAE;YACJ,UAAU;YACV,sBAAsB;YACtB,kBAAkB,EAAE,iBAAiB,CAAC,UAAU;YAChD,iBAAiB;SAClB;KACF,CAAC;AACJ,CAAC,CAAC;AAnCW,QAAA,sBAAsB,0BAmCjC"}
@@ -4,6 +4,7 @@ import type { GraphQLObjectTypeResolversToGenerate } from '../getGraphQLObjectTy
4
4
  import type { ParseSourcesResult } from '../parseSources';
5
5
  import type { ImportLineMeta, RootObjectType } from '../utils';
6
6
  import type { ParsedPresetConfig } from '../validatePresetConfig';
7
+ import type { NormalizedResolverName } from './visitNamedType';
7
8
  interface BaseVirtualFile {
8
9
  __filetype: string;
9
10
  content: string;
@@ -17,7 +18,8 @@ export interface GeneralResolverFile extends BaseVirtualFile {
17
18
  meta: {
18
19
  moduleName: string;
19
20
  variableStatement: string;
20
- normalizedResolverName: string;
21
+ resolverTypeString: string | null;
22
+ normalizedResolverName: NormalizedResolverName;
21
23
  };
22
24
  }
23
25
  export interface RootObjectTypeFieldResolverFile extends BaseVirtualFile {
@@ -26,7 +28,8 @@ export interface RootObjectTypeFieldResolverFile extends BaseVirtualFile {
26
28
  moduleName: string;
27
29
  belongsToRootObject: RootObjectType;
28
30
  variableStatement: string;
29
- normalizedResolverName: string;
31
+ resolverTypeString: string;
32
+ normalizedResolverName: NormalizedResolverName;
30
33
  };
31
34
  }
32
35
  export interface ObjectTypeFile extends BaseVirtualFile {
@@ -34,7 +37,8 @@ export interface ObjectTypeFile extends BaseVirtualFile {
34
37
  meta: {
35
38
  moduleName: string;
36
39
  variableStatement: string;
37
- normalizedResolverName: string;
40
+ resolverTypeString: string;
41
+ normalizedResolverName: NormalizedResolverName;
38
42
  resolversToGenerate?: GraphQLObjectTypeResolversToGenerate[number];
39
43
  };
40
44
  }
@@ -78,13 +82,13 @@ export interface GraphQLTypeHandlerParams<BelongsToRootObject = null> {
78
82
  fieldFilePath: string;
79
83
  resolverName: string;
80
84
  belongsToRootObject: BelongsToRootObject;
81
- normalizedResolverName: string;
85
+ normalizedResolverName: NormalizedResolverName;
82
86
  resolversTypeMeta: {
83
87
  typeNamedImport: `${string}Resolvers`;
84
88
  module: ImportLineMeta['module'];
85
89
  moduleType: ImportLineMeta['moduleType'];
86
- typeString: `${string}Resolvers` | `${RootObjectType}Resolvers['${string}']`;
90
+ typeString: string;
87
91
  };
88
92
  }
89
- export type GraphQLTypeHandler<BelongsToRootObject = null> = (params: GraphQLTypeHandlerParams<BelongsToRootObject>, ctx: GenerateResolverFilesContext) => void;
93
+ export type GraphQLTypeHandler<BelongsToRootObject = null, ExtraParams = Record<string, unknown>> = (params: GraphQLTypeHandlerParams<BelongsToRootObject> & ExtraParams, ctx: GenerateResolverFilesContext) => void;
90
94
  export {};
@@ -14,4 +14,8 @@ export interface VisitNamedTypeParams {
14
14
  };
15
15
  location?: Location;
16
16
  }
17
- export declare const visitNamedType: ({ namedType, resolverName, belongsToRootObject, location, visitor, }: VisitNamedTypeParams, ctx: GenerateResolverFilesContext) => void;
17
+ export declare const visitNamedType: <P extends Record<string, unknown>>({ namedType, resolverName, belongsToRootObject, location, visitor, ...extraParams }: VisitNamedTypeParams & P, ctx: GenerateResolverFilesContext) => void;
18
+ export interface NormalizedResolverName {
19
+ base: string;
20
+ withModule: string;
21
+ }
@@ -1,12 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.visitNamedType = void 0;
4
+ const tslib_1 = require("tslib");
4
5
  const path = require("path");
5
6
  const graphql_1 = require("graphql");
6
7
  const utils_1 = require("../utils");
7
8
  const addExternalResolverImport_1 = require("./addExternalResolverImport");
8
- const visitNamedType = ({ namedType, resolverName, belongsToRootObject, location, visitor, }, ctx) => {
9
- const normalizedResolverName = normalizeResolverName(resolverName, belongsToRootObject);
9
+ const visitNamedType = (_a, ctx) => {
10
+ var { namedType, resolverName, belongsToRootObject, location, visitor } = _a, extraParams = tslib_1.__rest(_a, ["namedType", "resolverName", "belongsToRootObject", "location", "visitor"]);
10
11
  // Check to see if need to generate resolver files
11
12
  const parsedDetails = parseLocationForOutputDir(belongsToRootObject ? [belongsToRootObject] : [], ctx, location);
12
13
  if (!parsedDetails) {
@@ -14,24 +15,27 @@ const visitNamedType = ({ namedType, resolverName, belongsToRootObject, location
14
15
  return;
15
16
  }
16
17
  const { moduleName, outputDir } = parsedDetails;
17
- const externalResolverImportSyntax = ctx.config.externalResolvers[normalizedResolverName];
18
+ const normalizedResolverName = normalizeResolverName(moduleName, resolverName, belongsToRootObject);
19
+ const externalResolverImportSyntax = ctx.config.externalResolvers[normalizedResolverName.base];
20
+ // when used with extended object types scenario
18
21
  if (externalResolverImportSyntax) {
19
22
  // If has external resolver, use it
20
23
  (0, addExternalResolverImport_1.addExternalResolverImport)({
21
24
  moduleName,
22
- normalizedResolverName,
25
+ normalizedResolverName: normalizedResolverName.base,
23
26
  configImportSyntax: externalResolverImportSyntax,
24
27
  }, ctx);
25
28
  return;
26
29
  }
27
30
  // Generate resolver files based on its type
28
- const visitorHandlerParams = validateAndPrepareForGraphQLTypeHandler({
31
+ const visitorHandlerParamsBase = validateAndPrepareForGraphQLTypeHandler({
29
32
  resolverName,
30
33
  normalizedResolverName,
31
34
  outputDir,
32
35
  belongsToRootObject,
33
36
  moduleName,
34
37
  }, ctx);
38
+ const visitorHandlerParams = Object.assign(Object.assign({}, visitorHandlerParamsBase), extraParams);
35
39
  if (visitorHandlerParams.belongsToRootObject) {
36
40
  visitor['RootObjectTypeField'](visitorHandlerParams, ctx);
37
41
  }
@@ -114,11 +118,24 @@ const validateAndPrepareForGraphQLTypeHandler = ({ resolverName, normalizedResol
114
118
  * Function to get format resolver name based on its definition in the schema
115
119
  * - Root object type resolver e.g Query.me, Mutation.updateUser
116
120
  * - Object type e.g. User, Profile
121
+ *
122
+ * Returns an object with 2 key/value pairs:
123
+ * - base: resolver name without module. This is used by to match up with config.externalResolvers.
124
+ * - withModule: resolver name with module. This is used to identify the resolver INTERNAL unique path used in main resolver files.
117
125
  */
118
- const normalizeResolverName = (name, rootObject) => {
119
- if (!rootObject) {
120
- return name;
121
- }
122
- return `${rootObject}.${name}`;
126
+ const normalizeResolverName = (moduleName, name, rootObject) => {
127
+ const baseResolverName = !rootObject ? name : `${rootObject}.${name}`;
128
+ // Note: this is to make sure the resolver name is a valid variable name because we use it in resolvers.generated.ts
129
+ //
130
+ // However, this naive implementation means there could be a duplicated variable name if a mix of kebab-case and snake_case is used.
131
+ // e.g. `user-by-account-name` and `user_by_account_name` will both be normalized to `user_by_account_name`
132
+ //
133
+ // If users report this issue. We can try another approach.
134
+ // I'm banking my slim hope in humanity that no codebase is so chaotic that it uses both kebab-case and snake_case.
135
+ const variableSafeModuleName = moduleName.replace('-', '_');
136
+ return {
137
+ base: baseResolverName,
138
+ withModule: `${variableSafeModuleName}.${baseResolverName}`,
139
+ };
123
140
  };
124
141
  //# sourceMappingURL=visitNamedType.js.map
@@ -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
+ export * from './normalizeAddConfigPath';
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./normalizeAddConfigPath"), exports);
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/typescript-resolver-files/src/normalizeAddConfigPath/index.ts"],"names":[],"mappings":";;;AAAA,mEAAyC"}
@@ -0,0 +1,11 @@
1
+ import type { AddPluginConfig } from '@graphql-codegen/add/typings/config';
2
+ /**
3
+ * normalizeAddConfigPath
4
+ *
5
+ * Function to turn the add config keys into normalized path a.k.a. path from baseOutputDir
6
+ * This helps us detects targeted file being given in different formats e.g. './types.generated.ts' vs 'types.generated.ts'
7
+ */
8
+ export declare const normalizeAddConfigPath: ({ add, baseOutputDir, }: {
9
+ add?: Record<string, AddPluginConfig> | undefined;
10
+ baseOutputDir: string;
11
+ }) => Record<string, AddPluginConfig> | undefined;
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.normalizeAddConfigPath = void 0;
4
+ const path = require("path");
5
+ /**
6
+ * normalizeAddConfigPath
7
+ *
8
+ * Function to turn the add config keys into normalized path a.k.a. path from baseOutputDir
9
+ * This helps us detects targeted file being given in different formats e.g. './types.generated.ts' vs 'types.generated.ts'
10
+ */
11
+ const normalizeAddConfigPath = ({ add, baseOutputDir, }) => {
12
+ if (!add) {
13
+ return undefined;
14
+ }
15
+ const normalizedPathAdd = Object.entries(add).reduce((res, [originalFilePath, config]) => {
16
+ res[path.posix.join(baseOutputDir, originalFilePath)] = config;
17
+ return res;
18
+ }, {});
19
+ return normalizedPathAdd;
20
+ };
21
+ exports.normalizeAddConfigPath = normalizeAddConfigPath;
22
+ //# sourceMappingURL=normalizeAddConfigPath.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"normalizeAddConfigPath.js","sourceRoot":"","sources":["../../../../../packages/typescript-resolver-files/src/normalizeAddConfigPath/normalizeAddConfigPath.ts"],"names":[],"mappings":";;;AAAA,6BAA6B;AAG7B;;;;;GAKG;AACI,MAAM,sBAAsB,GAAG,CAAC,EACrC,GAAG,EACH,aAAa,GAId,EAA+C,EAAE;IAChD,IAAI,CAAC,GAAG,EAAE;QACR,OAAO,SAAS,CAAC;KAClB;IAED,MAAM,iBAAiB,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,CAElD,CAAC,GAAG,EAAE,CAAC,gBAAgB,EAAE,MAAM,CAAC,EAAE,EAAE;QACpC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,EAAE,gBAAgB,CAAC,CAAC,GAAG,MAAM,CAAC;QAC/D,OAAO,GAAG,CAAC;IACb,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,iBAAiB,CAAC;AAC3B,CAAC,CAAC;AAnBW,QAAA,sBAAsB,0BAmBjC"}
package/src/preset.js CHANGED
@@ -18,6 +18,7 @@ const addVirtualTypesFileToTsMorphProject_1 = require("./addVirtualTypesFileToTs
18
18
  const parseTypeMappers_1 = require("./parseTypeMappers");
19
19
  const validatePresetConfig_1 = require("./validatePresetConfig");
20
20
  const validateAndMergeParsedConfigs_1 = require("./validateAndMergeParsedConfigs");
21
+ const normalizeAddConfigPath_1 = require("./normalizeAddConfigPath");
21
22
  exports.presetName = '@eddeee888/gcg-typescript-resolver-files';
22
23
  exports.preset = {
23
24
  buildGeneratesSection: ({ schema, schemaAst, presetConfig: rawPresetConfig, baseOutputDir, profiler = (0, plugin_helpers_1.createNoopProfiler)(), }) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
@@ -28,8 +29,9 @@ exports.preset = {
28
29
  if (!Array.isArray(sources) || sources.length === 0) {
29
30
  throw new Error('Empty Sources. Make sure schema files are parsed correctly.');
30
31
  }
31
- const { resolverTypesPath: relativeResolverTypesPathFromBaseOutputDir, resolverRelativeTargetDir, mappersFileExtension: typeMappersFileExtension, mappersSuffix: typeMappersSuffix, resolverMainFile, resolverMainFileMode, resolverGeneration, typeDefsFilePath, typeDefsFileMode, scalarsModule, scalarsOverrides, mode, whitelistedModules, blacklistedModules, externalResolvers, typesPluginsConfig, tsMorphProjectOptions, fixObjectTypeResolvers, emitLegacyCommonJSImports, } = (0, validatePresetConfig_1.validatePresetConfig)(rawPresetConfig);
32
+ const { add, resolverTypesPath: relativeResolverTypesPathFromBaseOutputDir, resolverRelativeTargetDir, mappersFileExtension: typeMappersFileExtension, mappersSuffix: typeMappersSuffix, resolverMainFile, resolverMainFileMode, resolverGeneration, typeDefsFilePath, typeDefsFileMode, scalarsModule, scalarsOverrides, mode, whitelistedModules, blacklistedModules, externalResolvers, typesPluginsConfig, tsMorphProjectOptions, fixObjectTypeResolvers, emitLegacyCommonJSImports, } = (0, validatePresetConfig_1.validatePresetConfig)(rawPresetConfig);
32
33
  const resolverTypesPath = path.posix.join(baseOutputDir, relativeResolverTypesPathFromBaseOutputDir);
34
+ const normalizedAdd = (0, normalizeAddConfigPath_1.normalizeAddConfigPath)({ add, baseOutputDir });
33
35
  const { sourceMap } = (0, parseSources_1.parseSources)(sources);
34
36
  const tsMorphProject = yield profiler.run(() => tslib_1.__awaiter(void 0, void 0, void 0, function* () { return new ts_morph_1.Project(tsMorphProjectOptions); }), createProfilerRunName('Initialising ts-morph project'));
35
37
  const typeMappersMap = yield profiler.run(() => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
@@ -58,7 +60,7 @@ exports.preset = {
58
60
  parsedGraphQLSchemaMeta,
59
61
  });
60
62
  // typescript and typescript-resolvers plugins config
61
- const resolverTypesConfig = (0, gcg_server_config_1.defineConfig)(Object.assign(Object.assign({ emitLegacyCommonJSImports }, typesPluginsConfig), { scalars: mergedConfig.scalarTypes, mappers: Object.assign(Object.assign({}, mergedConfig.typeMappers), typesPluginsConfig.mappers) }));
63
+ const resolverTypesConfig = (0, gcg_server_config_1.defineConfig)(Object.assign(Object.assign({ namingConvention: 'keep', emitLegacyCommonJSImports }, typesPluginsConfig), { scalars: mergedConfig.scalarTypes, mappers: Object.assign(Object.assign({}, mergedConfig.typeMappers), typesPluginsConfig.mappers) }));
62
64
  // typesSourceFile is the virtual `types.generated.ts`
63
65
  // This is useful when we need to do static analysis as most types come from this file
64
66
  // e.g. comparing mappers field type vs schema object field type
@@ -67,6 +69,7 @@ exports.preset = {
67
69
  schemaAst,
68
70
  resolverTypesConfig,
69
71
  resolverTypesPath,
72
+ addConfig: normalizedAdd === null || normalizedAdd === void 0 ? void 0 : normalizedAdd[resolverTypesPath],
70
73
  }), createProfilerRunName('addVirtualTypesFileToTsMorphProject'));
71
74
  const graphQLObjectTypeResolversToGenerate = yield profiler.run(() => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
72
75
  return (0, getGraphQLObjectTypeResolversToGenerate_1.getGraphQLObjectTypeResolversToGenerate)({
@@ -75,13 +78,23 @@ exports.preset = {
75
78
  typeMappersMap,
76
79
  });
77
80
  }), createProfilerRunName('graphQLObjectTypeResolversToGenerate'));
81
+ const resolverTypesFilePlugins = [
82
+ { typescript: {} },
83
+ { ['typescript-resolvers']: {} },
84
+ ];
85
+ if (normalizedAdd === null || normalizedAdd === void 0 ? void 0 : normalizedAdd[resolverTypesPath]) {
86
+ resolverTypesFilePlugins.push({
87
+ add: normalizedAdd[resolverTypesPath],
88
+ });
89
+ }
78
90
  const resolverTypesFile = {
79
91
  filename: resolverTypesPath,
80
92
  pluginMap: {
81
93
  typescript: typeScriptPlugin,
82
94
  'typescript-resolvers': typeScriptResolversPlugin,
95
+ add: addPlugin,
83
96
  },
84
- plugins: [{ typescript: {} }, { ['typescript-resolvers']: {} }],
97
+ plugins: resolverTypesFilePlugins,
85
98
  config: resolverTypesConfig,
86
99
  schema,
87
100
  documents: [],
package/src/preset.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"preset.js","sourceRoot":"","sources":["../../../../packages/typescript-resolver-files/src/preset.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"preset.js","sourceRoot":"","sources":["../../../../packages/typescript-resolver-files/src/preset.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import type { AddPluginConfig } from '@graphql-codegen/add/typings/config';
1
2
  import * as typeScriptPlugin from '@graphql-codegen/typescript';
2
3
  import * as typeScriptResolversPlugin from '@graphql-codegen/typescript-resolvers';
3
4
  import type { ProjectOptions } from 'ts-morph';
@@ -12,6 +13,7 @@ export type ScalarsOverridesType = string | {
12
13
  output: string;
13
14
  };
14
15
  export interface ParsedPresetConfig {
16
+ add?: Record<string, AddPluginConfig>;
15
17
  resolverTypesPath: string;
16
18
  resolverRelativeTargetDir: string;
17
19
  resolverMainFile: string;
@@ -44,6 +46,7 @@ export interface ParsedPresetConfig {
44
46
  emitLegacyCommonJSImports: boolean;
45
47
  }
46
48
  export interface RawPresetConfig {
49
+ add?: Record<string, unknown>;
47
50
  resolverTypesPath?: string;
48
51
  resolverRelativeTargetDir?: string;
49
52
  resolverMainFile?: string;
@@ -68,6 +71,7 @@ export interface RawPresetConfig {
68
71
  emitLegacyCommonJSImports?: boolean;
69
72
  }
70
73
  export interface TypedPresetConfig extends RawPresetConfig {
74
+ add?: Record<string, AddPluginConfig>;
71
75
  mode?: ConfigMode;
72
76
  resolverMainFileMode?: ResolverMainFileMode;
73
77
  typeDefsFileMode?: TypeDefsFileMode;
@@ -75,5 +79,5 @@ export interface TypedPresetConfig extends RawPresetConfig {
75
79
  typesPluginsConfig?: ParsedTypesPluginsConfig;
76
80
  resolverGeneration?: ResolverGeneration;
77
81
  }
78
- export declare const validatePresetConfig: ({ resolverTypesPath, resolverRelativeTargetDir, resolverMainFile, resolverMainFileMode, resolverGeneration, typeDefsFilePath, typeDefsFileMode: inputTypeDefsFileMode, mappersFileExtension, mappersSuffix, scalarsModule, scalarsOverrides, mode, whitelistedModules, blacklistedModules, externalResolvers, typesPluginsConfig, tsConfigFilePath, fixObjectTypeResolvers, emitLegacyCommonJSImports, }: RawPresetConfig) => ParsedPresetConfig;
82
+ export declare const validatePresetConfig: ({ add, resolverTypesPath, resolverRelativeTargetDir, resolverMainFile, resolverMainFileMode, resolverGeneration, typeDefsFilePath, typeDefsFileMode: inputTypeDefsFileMode, mappersFileExtension, mappersSuffix, scalarsModule, scalarsOverrides, mode, whitelistedModules, blacklistedModules, externalResolvers, typesPluginsConfig, tsConfigFilePath, fixObjectTypeResolvers, emitLegacyCommonJSImports, }: RawPresetConfig) => ParsedPresetConfig;
79
83
  export {};
@@ -11,7 +11,7 @@ const defaultResolverRelativeTargetDirMap = {
11
11
  };
12
12
  const defaultTypeDefsFilePath = './typeDefs.generated.ts';
13
13
  const defaultScalarsModule = 'graphql-scalars';
14
- const validatePresetConfig = ({ resolverTypesPath = './types.generated.ts', resolverRelativeTargetDir, resolverMainFile = 'resolvers.generated.ts', resolverMainFileMode = 'merged', resolverGeneration = 'recommended', typeDefsFilePath = defaultTypeDefsFilePath, typeDefsFileMode: inputTypeDefsFileMode = 'merged', mappersFileExtension = '.mappers.ts', mappersSuffix = 'Mapper', scalarsModule = 'graphql-scalars', scalarsOverrides = {}, mode = 'modules', whitelistedModules, blacklistedModules, externalResolvers = {}, typesPluginsConfig = {}, tsConfigFilePath = './tsconfig.json', fixObjectTypeResolvers = 'smart', emitLegacyCommonJSImports = true, }) => {
14
+ const validatePresetConfig = ({ add, resolverTypesPath = './types.generated.ts', resolverRelativeTargetDir, resolverMainFile = 'resolvers.generated.ts', resolverMainFileMode = 'merged', resolverGeneration = 'recommended', typeDefsFilePath = defaultTypeDefsFilePath, typeDefsFileMode: inputTypeDefsFileMode = 'merged', mappersFileExtension = '.mappers.ts', mappersSuffix = 'Mapper', scalarsModule = 'graphql-scalars', scalarsOverrides = {}, mode = 'modules', whitelistedModules, blacklistedModules, externalResolvers = {}, typesPluginsConfig = {}, tsConfigFilePath = './tsconfig.json', fixObjectTypeResolvers = 'smart', emitLegacyCommonJSImports = true, }) => {
15
15
  if (mode !== 'merged' && mode !== 'modules') {
16
16
  throw new Error(utils_1.fmt.error('presetConfig.mode must be "merged" or "modules" (default is "modules")', 'Validation'));
17
17
  }
@@ -84,7 +84,9 @@ const validatePresetConfig = ({ resolverTypesPath = './types.generated.ts', reso
84
84
  console.warn(utils_1.fmt.warn(`Unable to find TypeScript config at ${absoluteTsConfigFilePath}. Use presetConfig.tsConfigFilePath to set a custom value. Otherwise, type analysis may not work correctly.`));
85
85
  }
86
86
  }
87
+ const validatedAdd = validateAddOption(add);
87
88
  return {
89
+ add: validatedAdd,
88
90
  resolverTypesPath,
89
91
  resolverRelativeTargetDir: finalResolverRelativeTargetDir,
90
92
  resolverMainFile,
@@ -114,6 +116,9 @@ const validateTypesPluginsConfig = (config) => {
114
116
  if ('emitLegacyCommonJSImports' in config) {
115
117
  throw new Error(utils_1.fmt.error('presetConfig.typesPluginsConfig.emitLegacyCommonJSImports is not supported. Use presetConfig.emitLegacyCommonJSImports instead.', 'Validation'));
116
118
  }
119
+ if ('namingConvention' in config) {
120
+ console.warn(utils_1.fmt.warn("presetConfig.typesPluginsConfig.namingConvention is not fully supported. The default is `namingConvention: 'keep'`. Change at your own risk."));
121
+ }
117
122
  const { scalars: _, emitLegacyCommonJSImports: __ } = config, rest = tslib_1.__rest(config, ["scalars", "emitLegacyCommonJSImports"]);
118
123
  return rest;
119
124
  };
@@ -150,4 +155,19 @@ const parseResolverGeneration = (resolverGeneration) => {
150
155
  interface: false,
151
156
  };
152
157
  };
158
+ const validateAddOption = (add) => {
159
+ if (!add) {
160
+ return undefined;
161
+ }
162
+ Object.entries(add).forEach(([_, pluginConfig]) => {
163
+ if (typeof pluginConfig !== 'object' || pluginConfig === null) {
164
+ throw new Error(utils_1.fmt.error('presetConfig.add must be an object', 'Validation'));
165
+ }
166
+ if (!('content' in pluginConfig)) {
167
+ throw new Error(utils_1.fmt.error('presetConfig.add must contain a "content" property', 'Validation'));
168
+ }
169
+ });
170
+ // TODO: a bit hacky here but what's a good way to coerce this type? 🤔
171
+ return add;
172
+ };
153
173
  //# sourceMappingURL=validatePresetConfig.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"validatePresetConfig.js","sourceRoot":"","sources":["../../../../../packages/typescript-resolver-files/src/validatePresetConfig/validatePresetConfig.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validatePresetConfig.js","sourceRoot":"","sources":["../../../../../packages/typescript-resolver-files/src/validatePresetConfig/validatePresetConfig.ts"],"names":[],"mappings":"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"}