@eddeee888/gcg-typescript-resolver-files 0.5.0 → 0.7.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 (62) hide show
  1. package/README.md +34 -0
  2. package/package.json +3 -2
  3. package/src/addVirtualTypesFileToTsMorphProject/addVirtualTypesFileToTsMorphProject.d.ts +5 -2
  4. package/src/addVirtualTypesFileToTsMorphProject/addVirtualTypesFileToTsMorphProject.js +27 -7
  5. package/src/addVirtualTypesFileToTsMorphProject/addVirtualTypesFileToTsMorphProject.js.map +1 -1
  6. package/src/defineConfig.d.ts +3 -2
  7. package/src/defineConfig.js +3 -2
  8. package/src/defineConfig.js.map +1 -1
  9. package/src/generateResolverFiles/addExternalResolverImport.d.ts +7 -0
  10. package/src/generateResolverFiles/addExternalResolverImport.js +41 -18
  11. package/src/generateResolverFiles/addExternalResolverImport.js.map +1 -1
  12. package/src/generateResolverFiles/addResolverMainFiles.d.ts +10 -0
  13. package/src/generateResolverFiles/{addResolverMainFile.js → addResolverMainFiles.js} +79 -23
  14. package/src/generateResolverFiles/addResolverMainFiles.js.map +1 -0
  15. package/src/generateResolverFiles/generateResolverFiles.js +46 -5
  16. package/src/generateResolverFiles/generateResolverFiles.js.map +1 -1
  17. package/src/generateResolverFiles/getVariableStatementWithExpectedIdentifier.js +14 -0
  18. package/src/generateResolverFiles/getVariableStatementWithExpectedIdentifier.js.map +1 -1
  19. package/src/generateResolverFiles/handleGraphQLInterfaceType.d.ts +2 -0
  20. package/src/generateResolverFiles/handleGraphQLInterfaceType.js +32 -0
  21. package/src/generateResolverFiles/handleGraphQLInterfaceType.js.map +1 -0
  22. package/src/generateResolverFiles/handleGraphQLObjectType.d.ts +3 -1
  23. package/src/generateResolverFiles/handleGraphQLObjectType.js +28 -4
  24. package/src/generateResolverFiles/handleGraphQLObjectType.js.map +1 -1
  25. package/src/generateResolverFiles/handleGraphQLRootObjectTypeField.js +12 -4
  26. package/src/generateResolverFiles/handleGraphQLRootObjectTypeField.js.map +1 -1
  27. package/src/generateResolverFiles/handleGraphQLScalarType.js +20 -3
  28. package/src/generateResolverFiles/handleGraphQLScalarType.js.map +1 -1
  29. package/src/generateResolverFiles/handleGraphQLUnionType.d.ts +2 -0
  30. package/src/generateResolverFiles/{handleGraphQLUninionType.js → handleGraphQLUnionType.js} +9 -4
  31. package/src/generateResolverFiles/handleGraphQLUnionType.js.map +1 -0
  32. package/src/generateResolverFiles/types.d.ts +13 -7
  33. package/src/generateResolverFiles/visitNamedType.d.ts +6 -1
  34. package/src/generateResolverFiles/visitNamedType.js +32 -10
  35. package/src/generateResolverFiles/visitNamedType.js.map +1 -1
  36. package/src/index.d.ts +1 -0
  37. package/src/index.js +3 -1
  38. package/src/index.js.map +1 -1
  39. package/src/normalizeAddConfigPath/index.d.ts +1 -0
  40. package/src/normalizeAddConfigPath/index.js +5 -0
  41. package/src/normalizeAddConfigPath/index.js.map +1 -0
  42. package/src/normalizeAddConfigPath/normalizeAddConfigPath.d.ts +11 -0
  43. package/src/normalizeAddConfigPath/normalizeAddConfigPath.js +22 -0
  44. package/src/normalizeAddConfigPath/normalizeAddConfigPath.js.map +1 -0
  45. package/src/parseTypeMappers/collectTypeMappersFromSourceFile.js +19 -0
  46. package/src/parseTypeMappers/collectTypeMappersFromSourceFile.js.map +1 -1
  47. package/src/preset.js +18 -6
  48. package/src/preset.js.map +1 -1
  49. package/src/utils/getNodePropertyMap.js +26 -0
  50. package/src/utils/getNodePropertyMap.js.map +1 -1
  51. package/src/utils/printImportLine.d.ts +10 -1
  52. package/src/utils/printImportLine.js +6 -3
  53. package/src/utils/printImportLine.js.map +1 -1
  54. package/src/validateAndMergeParsedConfigs/validateAndMergeParsedConfigs.js +1 -4
  55. package/src/validateAndMergeParsedConfigs/validateAndMergeParsedConfigs.js.map +1 -1
  56. package/src/validatePresetConfig/validatePresetConfig.d.ts +19 -2
  57. package/src/validatePresetConfig/validatePresetConfig.js +66 -8
  58. package/src/validatePresetConfig/validatePresetConfig.js.map +1 -1
  59. package/src/generateResolverFiles/addResolverMainFile.d.ts +0 -5
  60. package/src/generateResolverFiles/addResolverMainFile.js.map +0 -1
  61. package/src/generateResolverFiles/handleGraphQLUninionType.d.ts +0 -2
  62. package/src/generateResolverFiles/handleGraphQLUninionType.js.map +0 -1
package/README.md CHANGED
@@ -136,6 +136,17 @@ How to generate file/s that put resolvers map together:
136
136
 
137
137
  File that puts all generated resolvers together. Relative from `baseOutputDir`.
138
138
 
139
+ ### resolverGeneration
140
+
141
+ `disabled` or `recommended` or `all` (Default: `recommended`)
142
+
143
+ Decides which resolvers to generate:
144
+
145
+ - `disabled`: generates no resolvers. Use this if you want to use your own structures. Note: if custom scalars are detected and used, resolver main files are still generated.
146
+ - `recommended`: generates the minimal amount of resolvers. Use this if you want a managed experience.
147
+ - no union/interface resolvers are generated because we rely on certain settings in `typescript-resolvers` that make these not required.
148
+ - `all`: generates all resolvers. Use this if you want all resolvers to be generated and use the ones you need.
149
+
139
150
  ### typeDefsFileMode
140
151
 
141
152
  `merged` or `mergedWhitelisted` or `modules` (Default: `merged`)
@@ -158,6 +169,29 @@ If `typeDefsFileMode=merged` or `typeDefsFileMode=mergedWhitelisted`, this path
158
169
 
159
170
  If `typeDefsFileMode=modules`, this path is relative from each module directory.
160
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
+
161
195
  ### whitelistedModules
162
196
 
163
197
  `Array<string>` (Only works with `config.mode=modules`)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eddeee888/gcg-typescript-resolver-files",
3
- "version": "0.5.0",
3
+ "version": "0.7.0",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "https://github.com/eddeee888/graphql-code-generator-plugins.git",
@@ -27,11 +27,12 @@
27
27
  "graphql": "^15.0.0 || ^16.0.0"
28
28
  },
29
29
  "dependencies": {
30
+ "@eddeee888/gcg-server-config": "0.1.0",
30
31
  "@graphql-codegen/add": "^5.0.0",
31
32
  "@graphql-codegen/plugin-helpers": "^5.0.0",
32
33
  "@graphql-codegen/typescript": "^4.0.0",
33
34
  "@graphql-codegen/typescript-resolvers": "^4.0.0",
34
- "ts-morph": "^18.0.0"
35
+ "ts-morph": "^19.0.0"
35
36
  },
36
37
  "publishConfig": {
37
38
  "directory": "../../dist/packages/typescript-resolver-files"
@@ -1,8 +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
- export declare const addVirtualTypesFileToTsMorphProject: ({ tsMorphProject, schemaAst, resolverTypesPath, resolverTypesConfig, }: {
4
+ import type { ServerConfig } from '@eddeee888/gcg-server-config';
5
+ export declare const addVirtualTypesFileToTsMorphProject: ({ tsMorphProject, schemaAst, resolverTypesPath, resolverTypesConfig, addConfig, }: {
4
6
  tsMorphProject: Project;
5
7
  schemaAst: GraphQLSchema;
6
8
  resolverTypesPath: string;
7
- resolverTypesConfig: Record<string, unknown>;
9
+ resolverTypesConfig: ServerConfig;
10
+ addConfig?: AddPluginConfig | undefined;
8
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;AAI5E,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"}
@@ -1,5 +1,6 @@
1
1
  import type { Types } from '@graphql-codegen/plugin-helpers';
2
2
  import type { TypedPresetConfig } from './validatePresetConfig';
3
3
  export declare const defineConfig: (presetConfig?: TypedPresetConfig, context?: {
4
- baseOutputDir: string;
5
- }) => Pick<Types.ConfiguredOutput, 'preset' | 'presetConfig' | 'watchPattern'>;
4
+ baseOutputDir?: string;
5
+ schema?: Types.ConfiguredOutput['schema'];
6
+ }) => Pick<Types.ConfiguredOutput, 'preset' | 'presetConfig' | 'watchPattern' | 'schema'>;
@@ -3,8 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.defineConfig = void 0;
4
4
  const path = require("path");
5
5
  const preset_1 = require("./preset");
6
- const defineConfig = (presetConfig = {}, context = { baseOutputDir: '' }) => {
7
- const { baseOutputDir } = context;
6
+ const defineConfig = (presetConfig = {}, context = {}) => {
7
+ const { schema, baseOutputDir = '' } = context;
8
8
  const mappersFileExtension = presetConfig.mappersFileExtension || '.mappers.ts';
9
9
  const watchPattern = [];
10
10
  const mapperWatchPattern = path.posix.join(baseOutputDir, '**', `*${mappersFileExtension}`);
@@ -13,6 +13,7 @@ const defineConfig = (presetConfig = {}, context = { baseOutputDir: '' }) => {
13
13
  preset: preset_1.preset,
14
14
  presetConfig,
15
15
  watchPattern,
16
+ schema,
16
17
  };
17
18
  };
18
19
  exports.defineConfig = defineConfig;
@@ -1 +1 @@
1
- {"version":3,"file":"defineConfig.js","sourceRoot":"","sources":["../../../../packages/typescript-resolver-files/src/defineConfig.ts"],"names":[],"mappings":";;;AAAA,6BAA6B;AAG7B,qCAAkC;AAE3B,MAAM,YAAY,GAAG,CAC1B,eAAkC,EAAE,EACpC,UAAqC,EAAE,aAAa,EAAE,EAAE,EAAE,EACgB,EAAE;IAC5E,MAAM,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC;IAElC,MAAM,oBAAoB,GACxB,YAAY,CAAC,oBAAoB,IAAI,aAAa,CAAC;IAErD,MAAM,YAAY,GAAa,EAAE,CAAC;IAClC,MAAM,kBAAkB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CACxC,aAAa,EACb,IAAI,EACJ,IAAI,oBAAoB,EAAE,CAC3B,CAAC;IACF,YAAY,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAEtC,OAAO;QACL,MAAM,EAAN,eAAM;QACN,YAAY;QACZ,YAAY;KACb,CAAC;AACJ,CAAC,CAAC;AAtBW,QAAA,YAAY,gBAsBvB"}
1
+ {"version":3,"file":"defineConfig.js","sourceRoot":"","sources":["../../../../packages/typescript-resolver-files/src/defineConfig.ts"],"names":[],"mappings":";;;AAAA,6BAA6B;AAG7B,qCAAkC;AAE3B,MAAM,YAAY,GAAG,CAC1B,eAAkC,EAAE,EACpC,UAGI,EAAE,EAIN,EAAE;IACF,MAAM,EAAE,MAAM,EAAE,aAAa,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC;IAE/C,MAAM,oBAAoB,GACxB,YAAY,CAAC,oBAAoB,IAAI,aAAa,CAAC;IAErD,MAAM,YAAY,GAAa,EAAE,CAAC;IAClC,MAAM,kBAAkB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CACxC,aAAa,EACb,IAAI,EACJ,IAAI,oBAAoB,EAAE,CAC3B,CAAC;IACF,YAAY,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAEtC,OAAO;QACL,MAAM,EAAN,eAAM;QACN,YAAY;QACZ,YAAY;QACZ,MAAM;KACP,CAAC;AACJ,CAAC,CAAC;AA7BW,QAAA,YAAY,gBA6BvB"}
@@ -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,47 +2,70 @@
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,
13
21
  module: moduleImport,
22
+ moduleType: 'preserve',
14
23
  namedImports: [],
15
24
  defaultImport: undefined,
16
- emitLegacyCommonJSImports: emitLegacyCommonJSImports,
25
+ emitLegacyCommonJSImports,
17
26
  },
18
27
  identifierUsages: [],
19
- };
20
- const externalImport = result.externalImports[moduleImport];
28
+ });
29
+ const { importLineMeta, identifierUsages } = result.externalImports[moduleImport];
21
30
  switch (importIdentifier.__type) {
22
31
  case 'default':
23
- if (externalImport.importLineMeta.defaultImport &&
24
- externalImport.importLineMeta.defaultImport !==
25
- importIdentifier.defaultImport) {
26
- 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}`);
27
35
  }
28
- externalImport.importLineMeta.defaultImport =
29
- importIdentifier.defaultImport;
36
+ importLineMeta.defaultImport = importIdentifier.defaultImport;
37
+ shouldPushIndentifierUsages = true;
30
38
  break;
31
- case 'named':
32
- 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
+ }
33
46
  break;
34
- case 'namedWithAlias':
35
- externalImport.importLineMeta.namedImports.push({
36
- propertyName: importIdentifier.propertyName,
37
- identifierName: importIdentifier.identifierName,
38
- });
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
+ }
39
59
  break;
60
+ }
40
61
  default:
41
62
  // importIdentifier is `never` unless new __type is added
42
63
  // i.e. this is here for typesafety
43
64
  return importIdentifier;
44
65
  }
45
- externalImport.identifierUsages.push(identifierUsage);
66
+ if (shouldPushIndentifierUsages) {
67
+ identifierUsages.push(identifierUsage);
68
+ }
46
69
  };
47
70
  exports.addExternalResolverImport = addExternalResolverImport;
48
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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"}
@@ -0,0 +1,10 @@
1
+ import type { GenerateResolverFilesContext } from './types';
2
+ /**
3
+ * addResolverMainFiles
4
+ *
5
+ * @description Function to create resolver main file/s (default: resolvers.generated.ts)
6
+ * If resolverMainFileMode=merged, only one file is generated
7
+ * If resolverMainFileMode=modules, one file is generated for each module
8
+ * If no resolvers are created or imported, do not generate a file.
9
+ */
10
+ export declare const addResolverMainFiles: ({ config: { baseOutputDir, resolverTypesPath, resolverMainFile, resolverMainFileMode, emitLegacyCommonJSImports, }, result, }: GenerateResolverFilesContext) => void;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.addResolverMainFile = void 0;
3
+ exports.addResolverMainFiles = void 0;
4
4
  const path = require("path");
5
5
  const utils_1 = require("../utils");
6
6
  const createDefaultFileDetails = () => ({
@@ -8,12 +8,18 @@ const createDefaultFileDetails = () => ({
8
8
  queryFields: [],
9
9
  mutationFields: [],
10
10
  subscriptionFields: [],
11
- objectTypes: [],
11
+ objectTypes: {},
12
12
  });
13
13
  /**
14
- * TODO: rename addResolverMainFile -> addResolverMainFiles
14
+ * addResolverMainFiles
15
+ *
16
+ * @description Function to create resolver main file/s (default: resolvers.generated.ts)
17
+ * If resolverMainFileMode=merged, only one file is generated
18
+ * If resolverMainFileMode=modules, one file is generated for each module
19
+ * If no resolvers are created or imported, do not generate a file.
15
20
  */
16
- const addResolverMainFile = ({ config: { baseOutputDir, resolverTypesPath, resolverMainFile, resolverMainFileMode, emitLegacyCommonJSImports, }, result, }) => {
21
+ const addResolverMainFiles = ({ config: { baseOutputDir, resolverTypesPath, resolverMainFile, resolverMainFileMode, emitLegacyCommonJSImports, }, result, }) => {
22
+ const baseIdentifierUsage = countBaseIdentifiersUsage(result.files);
17
23
  const resolverMainFiles = Object.entries(result.files).reduce((res, [filepath, file]) => {
18
24
  if (file.__filetype === 'file') {
19
25
  return res;
@@ -27,32 +33,36 @@ const addResolverMainFile = ({ config: { baseOutputDir, resolverTypesPath, resol
27
33
  if (!res[resolverMainFilename]) {
28
34
  res[resolverMainFilename] = createDefaultFileDetails();
29
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
+ };
30
44
  // Non Root Object fields that was generated
31
45
  if (file.__filetype === 'objectType' ||
32
46
  file.__filetype === 'generalResolver') {
33
47
  res[resolverMainFilename].importLines.push((0, utils_1.printImportLine)({
34
48
  isTypeImport: false,
35
49
  module: (0, utils_1.relativeModulePath)(outputDir, filepath),
36
- namedImports: [file.mainImportIdentifier],
50
+ moduleType: 'file',
51
+ namedImports: [fieldMapping],
37
52
  emitLegacyCommonJSImports,
38
53
  }));
39
- res[resolverMainFilename].objectTypes.push({
40
- propertyName: file.mainImportIdentifier,
41
- identifierName: file.mainImportIdentifier,
54
+ pushToObjectTypes({
55
+ objectTypes: res[resolverMainFilename].objectTypes,
56
+ property: file.mainImportIdentifier,
57
+ value: identifierName,
42
58
  });
43
59
  return res;
44
60
  }
45
61
  // Root object fields
46
- const identifierName = file.meta.normalizedResolverName
47
- .split('.')
48
- .join('_');
49
- const fieldMapping = {
50
- propertyName: file.mainImportIdentifier,
51
- identifierName,
52
- };
53
62
  res[resolverMainFilename].importLines.push((0, utils_1.printImportLine)({
54
63
  isTypeImport: false,
55
64
  module: (0, utils_1.relativeModulePath)(outputDir, filepath),
65
+ moduleType: 'file',
56
66
  namedImports: [fieldMapping],
57
67
  emitLegacyCommonJSImports,
58
68
  }));
@@ -75,6 +85,7 @@ const addResolverMainFile = ({ config: { baseOutputDir, resolverTypesPath, resol
75
85
  res[resolverMainFilename].importLines.push((0, utils_1.printImportLine)({
76
86
  isTypeImport: false,
77
87
  module,
88
+ moduleType: 'preserve',
78
89
  namedImports: meta.importLineMeta.namedImports,
79
90
  defaultImport: meta.importLineMeta.defaultImport,
80
91
  emitLegacyCommonJSImports,
@@ -83,9 +94,10 @@ const addResolverMainFile = ({ config: { baseOutputDir, resolverTypesPath, resol
83
94
  const resolverNameParts = usage.normalizedResolverName.split('.');
84
95
  // Only 1 part, this is a GraphQL ObjectType
85
96
  if (resolverNameParts.length === 1) {
86
- res[resolverMainFilename].objectTypes.push({
87
- propertyName: resolverNameParts[0],
88
- identifierName: usage.identifierName,
97
+ pushToObjectTypes({
98
+ objectTypes: res[resolverMainFilename].objectTypes,
99
+ property: resolverNameParts[0],
100
+ value: usage.identifierName,
89
101
  });
90
102
  return;
91
103
  }
@@ -129,24 +141,68 @@ const addResolverMainFile = ({ config: { baseOutputDir, resolverTypesPath, resol
129
141
  : '';
130
142
  result.files[resolverMainFilename] = {
131
143
  __filetype: 'file',
144
+ mainImportIdentifier: resolversIdentifier,
132
145
  content: `/* This file was automatically generated. DO NOT UPDATE MANUALLY. */
133
146
  ${(0, utils_1.printImportLine)({
134
147
  isTypeImport: true,
135
148
  module: relativePathToResolverTypes,
149
+ moduleType: 'file',
136
150
  namedImports: [resolversTypeName],
137
151
  emitLegacyCommonJSImports,
138
152
  })}
139
- ${resolverMainFile.importLines.map((line) => line).join('\n')}
153
+ ${resolverMainFile.importLines.join('\n')}
140
154
  export const ${resolversIdentifier}: ${resolversTypeName} = {
141
155
  ${queries}
142
156
  ${mutations}
143
157
  ${suscriptions}
144
- ${resolverMainFile.objectTypes.map(printObjectMapping).join(',\n')}
158
+ ${printObjectTypes(resolverMainFile.objectTypes)}
145
159
  }`,
146
- mainImportIdentifier: resolversIdentifier,
147
160
  };
148
161
  });
149
162
  };
150
- exports.addResolverMainFile = addResolverMainFile;
163
+ exports.addResolverMainFiles = addResolverMainFiles;
151
164
  const printObjectMapping = ({ propertyName, identifierName, }) => `${propertyName}: ${identifierName}`;
152
- //# sourceMappingURL=addResolverMainFile.js.map
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
+ };
208
+ //# sourceMappingURL=addResolverMainFiles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"addResolverMainFiles.js","sourceRoot":"","sources":["../../../../../packages/typescript-resolver-files/src/generateResolverFiles/addResolverMainFiles.ts"],"names":[],"mappings":"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"}
@@ -1,14 +1,16 @@
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
- const addResolverMainFile_1 = require("./addResolverMainFile");
7
+ const addResolverMainFiles_1 = require("./addResolverMainFiles");
7
8
  const postProcessFiles_1 = require("./postProcessFiles");
8
9
  const handleGraphQLRootObjectTypeField_1 = require("./handleGraphQLRootObjectTypeField");
9
10
  const handleGraphQLObjectType_1 = require("./handleGraphQLObjectType");
10
- const handleGraphQLUninionType_1 = require("./handleGraphQLUninionType");
11
+ const handleGraphQLUnionType_1 = require("./handleGraphQLUnionType");
11
12
  const handleGraphQLScalarType_1 = require("./handleGraphQLScalarType");
13
+ const handleGraphQLInterfaceType_1 = require("./handleGraphQLInterfaceType");
12
14
  const visitNamedType_1 = require("./visitNamedType");
13
15
  const generateResolverFiles = (ctx) => {
14
16
  Object.entries(ctx.config.schema.getTypeMap()).forEach(([schemaType, namedType]) => {
@@ -22,9 +24,11 @@ const generateResolverFiles = (ctx) => {
22
24
  const visitor = {
23
25
  RootObjectTypeField: handleGraphQLRootObjectTypeField_1.handleGraphQLRootObjectTypeField,
24
26
  ObjectType: handleGraphQLObjectType_1.handleGraphQLObjectType,
25
- UnionType: handleGraphQLUninionType_1.handleGraphQLUninionType,
27
+ UnionType: handleGraphQLUnionType_1.handleGraphQLUnionType,
26
28
  ScalarType: handleGraphQLScalarType_1.handleGraphQLScalarType,
29
+ InterfaceType: handleGraphQLInterfaceType_1.handleGraphQLInterfaceType,
27
30
  };
31
+ // Root object types e.g. Query, Mutation, Subscription
28
32
  if ((0, utils_1.isRootObjectType)(schemaType) && (0, graphql_1.isObjectType)(namedType)) {
29
33
  Object.entries(namedType.getFields()).forEach(([fieldName, fieldNode]) => {
30
34
  var _a;
@@ -38,6 +42,43 @@ const generateResolverFiles = (ctx) => {
38
42
  });
39
43
  return;
40
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
41
82
  (0, visitNamedType_1.visitNamedType)({
42
83
  namedType,
43
84
  resolverName: namedType.name,
@@ -48,8 +89,8 @@ const generateResolverFiles = (ctx) => {
48
89
  });
49
90
  // Post process generated files (could be existing files or files to be generated)
50
91
  (0, postProcessFiles_1.postProcessFiles)(ctx);
51
- // Put all resolvers into a barrel file (or main file)
52
- (0, addResolverMainFile_1.addResolverMainFile)(ctx);
92
+ // Put all resolvers into barrel file/s (or main file/s)
93
+ (0, addResolverMainFiles_1.addResolverMainFiles)(ctx);
53
94
  };
54
95
  exports.generateResolverFiles = generateResolverFiles;
55
96
  //# sourceMappingURL=generateResolverFiles.js.map
@@ -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,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"}
1
+ {"version":3,"file":"generateResolverFiles.js","sourceRoot":"","sources":["../../../../../packages/typescript-resolver-files/src/generateResolverFiles/generateResolverFiles.ts"],"names":[],"mappings":"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"}