@eddeee888/gcg-typescript-resolver-files 0.4.1 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -200,6 +200,61 @@ The files with this extension provides mappers interfaces and types for the sche
200
200
 
201
201
  Exported interfaces and types with this suffix from `mappersFile` in each module are put into the mappers object of [@graphql-codegen/typescript-resolvers](https://the-guild.dev/graphql/codegen/plugins/typescript/typescript-resolvers).
202
202
 
203
+ ### scalarsModule
204
+
205
+ `string` or `false` (Default: `graphql-scalars`)
206
+
207
+ Where Scalar implementation and codegen types come from. Use `false` to implement your own Scalars.
208
+
209
+ If using an module that is not `graphql-scalars`, the module must export resolver implementation and codegen type the same way `graphql-scalars` does e.g.
210
+
211
+ ```ts
212
+ {
213
+ resolvers: {
214
+ DateTime: DateTimeResolver,
215
+ },
216
+ DateTimeResolver: {
217
+ // ... resolver implementation
218
+ extensions: {
219
+ codegenScalarType: 'Date | string',
220
+ },
221
+ }
222
+ }
223
+ ```
224
+
225
+ ### scalarsOverrides
226
+
227
+ `Record<string, { resolver?: string; type?: string | { input: string; output: string } }>` (Default: `{}`)
228
+
229
+ Overrides scalars' resolver implementation, type or both.
230
+
231
+ Example:
232
+
233
+ ```ts
234
+ // codegen.ts
235
+ {
236
+ generates: {
237
+ 'src/schema': defineConfig({
238
+ scalarsOverrides: {
239
+ DateTime: {
240
+ resolver: './localDateTimeResolver#Resolver',
241
+ }
242
+ Currency: {
243
+ type: 'unknown'
244
+ },
245
+ BigInt: {
246
+ resolver: '@other/scalars#BigIntResolver',
247
+ type: {
248
+ input: 'bigint',
249
+ output: 'number | string'
250
+ }
251
+ }
252
+ }
253
+ })
254
+ }
255
+ }
256
+ ```
257
+
203
258
  ### tsConfigFilePath
204
259
 
205
260
  `string` (Default: `./tsconfig.json`)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eddeee888/gcg-typescript-resolver-files",
3
- "version": "0.4.1",
3
+ "version": "0.5.0",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "https://github.com/eddeee888/graphql-code-generator-plugins.git",
@@ -27,11 +27,10 @@
27
27
  "graphql": "^15.0.0 || ^16.0.0"
28
28
  },
29
29
  "dependencies": {
30
- "@graphql-codegen/add": "^4.0.0",
31
- "@graphql-codegen/plugin-helpers": "^4.2.0",
32
- "@graphql-codegen/typescript": "^3.0.3",
33
- "@graphql-codegen/typescript-resolvers": "^3.2.0",
34
- "graphql-scalars": "^1.20.1",
30
+ "@graphql-codegen/add": "^5.0.0",
31
+ "@graphql-codegen/plugin-helpers": "^5.0.0",
32
+ "@graphql-codegen/typescript": "^4.0.0",
33
+ "@graphql-codegen/typescript-resolvers": "^4.0.0",
35
34
  "ts-morph": "^18.0.0"
36
35
  },
37
36
  "publishConfig": {
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.handleGraphQLUninionType = void 0;
4
4
  const utils_1 = require("../utils");
5
5
  const handleGraphQLUninionType = ({ fieldFilePath, resolverName, normalizedResolverName, resolversTypeMeta, moduleName, }, { result, config: { emitLegacyCommonJSImports } }) => {
6
- const variableStatement = `export const ${resolverName}: ${resolversTypeMeta.typeString} = { __resolveType: (parent) => parent.__typename };`;
6
+ const variableStatement = `export const ${resolverName}: ${resolversTypeMeta.typeString} = { /* Implement ${resolverName} union logic here */ };`;
7
7
  result.files[fieldFilePath] = {
8
8
  __filetype: 'generalResolver',
9
9
  content: `
@@ -1 +1 @@
1
- {"version":3,"file":"handleGraphQLUninionType.js","sourceRoot":"","sources":["../../../../../packages/typescript-resolver-files/src/generateResolverFiles/handleGraphQLUninionType.ts"],"names":[],"mappings":";;;AAAA,oCAA2C;AAGpC,MAAM,wBAAwB,GAAuB,CAC1D,EACE,aAAa,EACb,YAAY,EACZ,sBAAsB,EACtB,iBAAiB,EACjB,UAAU,GACX,EACD,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,yBAAyB,EAAE,EAAE,EACjD,EAAE;IACF,MAAM,iBAAiB,GAAG,gBAAgB,YAAY,KAAK,iBAAiB,CAAC,UAAU,sDAAsD,CAAC;IAE9I,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG;QAC5B,UAAU,EAAE,iBAAiB;QAC7B,OAAO,EAAE;MACP,IAAA,uBAAe,EAAC;YAChB,YAAY,EAAE,IAAI;YAClB,MAAM,EAAE,iBAAiB,CAAC,MAAM;YAChC,YAAY,EAAE,CAAC,iBAAiB,CAAC,eAAe,CAAC;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;AA7BW,QAAA,wBAAwB,4BA6BnC"}
1
+ {"version":3,"file":"handleGraphQLUninionType.js","sourceRoot":"","sources":["../../../../../packages/typescript-resolver-files/src/generateResolverFiles/handleGraphQLUninionType.ts"],"names":[],"mappings":";;;AAAA,oCAA2C;AAGpC,MAAM,wBAAwB,GAAuB,CAC1D,EACE,aAAa,EACb,YAAY,EACZ,sBAAsB,EACtB,iBAAiB,EACjB,UAAU,GACX,EACD,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,yBAAyB,EAAE,EAAE,EACjD,EAAE;IACF,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,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;AA7BW,QAAA,wBAAwB,4BA6BnC"}
@@ -1,11 +1,13 @@
1
1
  import { GraphQLSchema } from 'graphql';
2
2
  import type { ParseSourcesResult } from '../parseSources';
3
3
  import type { TypeMappersMap } from '../parseTypeMappers';
4
- import type { ParsedPresetConfig } from '../validatePresetConfig';
4
+ import type { ParsedPresetConfig, ScalarsOverridesType } from '../validatePresetConfig';
5
5
  interface ParseGraphQLSchemaParams {
6
6
  schemaAst: GraphQLSchema;
7
7
  sourceMap: ParseSourcesResult['sourceMap'];
8
8
  typeMappersMap: TypeMappersMap;
9
+ scalarsModule: ParsedPresetConfig['scalarsModule'];
10
+ scalarsOverrides: ParsedPresetConfig['scalarsOverrides'];
9
11
  whitelistedModules: ParsedPresetConfig['whitelistedModules'];
10
12
  blacklistedModules: ParsedPresetConfig['blacklistedModules'];
11
13
  }
@@ -14,7 +16,11 @@ export interface ParsedGraphQLSchemaMeta {
14
16
  object: Record<string, true>;
15
17
  scalar: Record<string, true>;
16
18
  };
17
- pluginsConfig: Record<'defaultScalarTypesMap' | 'defaultScalarExternalResolvers' | 'defaultTypeMappers', Record<string, string>>;
19
+ pluginsConfig: {
20
+ defaultScalarTypesMap: Record<string, ScalarsOverridesType>;
21
+ defaultScalarExternalResolvers: Record<string, string>;
22
+ defaultTypeMappers: Record<string, string>;
23
+ };
18
24
  }
19
- export declare const parseGraphQLSchema: ({ schemaAst, sourceMap, typeMappersMap, whitelistedModules, blacklistedModules, }: ParseGraphQLSchemaParams) => ParsedGraphQLSchemaMeta;
25
+ export declare const parseGraphQLSchema: ({ schemaAst, sourceMap, typeMappersMap, scalarsModule, scalarsOverrides, whitelistedModules, blacklistedModules, }: ParseGraphQLSchemaParams) => Promise<ParsedGraphQLSchemaMeta>;
20
26
  export {};
@@ -1,13 +1,19 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.parseGraphQLSchema = void 0;
4
+ const tslib_1 = require("tslib");
4
5
  const graphql_1 = require("graphql");
5
- const graphql_scalars_1 = require("graphql-scalars");
6
6
  const utils_1 = require("../utils");
7
- const parseGraphQLSchema = ({ schemaAst, sourceMap, typeMappersMap, whitelistedModules, blacklistedModules, }) => {
7
+ const parseGraphQLSchema = ({ schemaAst, sourceMap, typeMappersMap, scalarsModule, scalarsOverrides, whitelistedModules, blacklistedModules, }) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
8
+ const scalarResolverMap = scalarsModule
9
+ ? yield getScalarResolverMapFromModule(scalarsModule)
10
+ : {};
8
11
  return Object.entries(schemaAst.getTypeMap()).reduce((res, [schemaType, namedType]) => {
9
12
  var _a;
10
13
  if ((0, utils_1.isNativeNamedType)(namedType)) {
14
+ if ((0, graphql_1.isSpecifiedScalarType)(namedType)) {
15
+ handleNativeScalarType({ schemaType, result: res, scalarsOverrides });
16
+ }
11
17
  return res;
12
18
  }
13
19
  const parsedSource = (0, utils_1.parseLocationForWhitelistedModule)({
@@ -21,7 +27,13 @@ const parseGraphQLSchema = ({ schemaAst, sourceMap, typeMappersMap, whitelistedM
21
27
  }
22
28
  if ((0, graphql_1.isScalarType)(namedType)) {
23
29
  res.userDefinedSchemaTypeMap.scalar[schemaType] = true;
24
- handleScalarType(schemaType, res);
30
+ handleScalarType({
31
+ scalarResolverMap,
32
+ schemaType,
33
+ scalarsModule,
34
+ scalarsOverrides,
35
+ result: res,
36
+ });
25
37
  }
26
38
  if (!(0, utils_1.isRootObjectType)(schemaType) && (0, graphql_1.isObjectType)(namedType)) {
27
39
  res.userDefinedSchemaTypeMap.object[schemaType] = true;
@@ -44,18 +56,54 @@ const parseGraphQLSchema = ({ schemaAst, sourceMap, typeMappersMap, whitelistedM
44
56
  defaultTypeMappers: {},
45
57
  },
46
58
  });
47
- };
59
+ });
48
60
  exports.parseGraphQLSchema = parseGraphQLSchema;
49
- const handleScalarType = (schemaType, result) => {
50
- const scalarResolver = graphql_scalars_1.resolvers[schemaType];
51
- if (!scalarResolver) {
52
- return;
61
+ const handleScalarType = ({ scalarResolverMap, schemaType, result, scalarsModule, scalarsOverrides, }) => {
62
+ const scalarResolver = scalarResolverMap[schemaType];
63
+ // Use found the scalar from scalar module
64
+ if (scalarResolver) {
65
+ if (scalarResolver.extensions.codegenScalarType &&
66
+ typeof scalarResolver.extensions.codegenScalarType === 'string') {
67
+ result.pluginsConfig.defaultScalarTypesMap[schemaType] =
68
+ scalarResolver.extensions.codegenScalarType;
69
+ }
70
+ result.pluginsConfig.defaultScalarExternalResolvers[schemaType] = `~${scalarsModule}#${scalarResolver.name}Resolver`;
71
+ }
72
+ // If found scalar overrides, use them
73
+ const override = scalarsOverrides[schemaType];
74
+ if (override) {
75
+ if (override.type) {
76
+ result.pluginsConfig.defaultScalarTypesMap[schemaType] = override.type;
77
+ }
78
+ if (override.resolver) {
79
+ result.pluginsConfig.defaultScalarExternalResolvers[schemaType] =
80
+ override.resolver;
81
+ }
82
+ }
83
+ };
84
+ const getScalarResolverMapFromModule = (scalarsModule) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
85
+ let module;
86
+ try {
87
+ module = yield Promise.resolve(`${scalarsModule}`).then(s => require(s));
88
+ }
89
+ catch (err) {
90
+ if (err instanceof Error &&
91
+ 'code' in err &&
92
+ err.code === 'MODULE_NOT_FOUND') {
93
+ console.warn(utils_1.fmt.warn(`Unable to import \`${scalarsModule}\`. Install \`${scalarsModule}\` or you have to implement Scalar resolvers by yourself.`));
94
+ }
95
+ }
96
+ if (!module || !module.resolvers) {
97
+ return {};
53
98
  }
54
- if (scalarResolver.extensions.codegenScalarType &&
55
- typeof scalarResolver.extensions.codegenScalarType === 'string') {
56
- result.pluginsConfig.defaultScalarTypesMap[schemaType] =
57
- scalarResolver.extensions.codegenScalarType;
99
+ return module.resolvers;
100
+ });
101
+ const handleNativeScalarType = ({ schemaType, result, scalarsOverrides, }) => {
102
+ const override = scalarsOverrides[schemaType];
103
+ // Note: only override the type i.e. same functionality as `typescript` plugin's scalars
104
+ // I've never seen someone overriding native scalar's implementation so it's probably not a thing.
105
+ if (override && override.type) {
106
+ result.pluginsConfig.defaultScalarTypesMap[schemaType] = override.type;
58
107
  }
59
- result.pluginsConfig.defaultScalarExternalResolvers[schemaType] = `~graphql-scalars#${scalarResolver.name}Resolver`;
60
108
  };
61
109
  //# sourceMappingURL=parseGraphQLSchema.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"parseGraphQLSchema.js","sourceRoot":"","sources":["../../../../../packages/typescript-resolver-files/src/parseGraphQLSchema/parseGraphQLSchema.ts"],"names":[],"mappings":";;;AAAA,qCAAoE;AACpE,qDAA+D;AAI/D,oCAIkB;AAuBX,MAAM,kBAAkB,GAAG,CAAC,EACjC,SAAS,EACT,SAAS,EACT,cAAc,EACd,kBAAkB,EAClB,kBAAkB,GACO,EAA2B,EAAE;IACtD,OAAO,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC,CAAC,MAAM,CAClD,CAAC,GAAG,EAAE,CAAC,UAAU,EAAE,SAAS,CAAC,EAAE,EAAE;;QAC/B,IAAI,IAAA,yBAAiB,EAAC,SAAS,CAAC,EAAE;YAChC,OAAO,GAAG,CAAC;SACZ;QAED,MAAM,YAAY,GAAG,IAAA,yCAAiC,EAAC;YACrD,QAAQ,EAAE,MAAA,SAAS,CAAC,OAAO,0CAAE,GAAG;YAChC,SAAS;YACT,kBAAkB;YAClB,kBAAkB;SACnB,CAAC,CAAC;QACH,IAAI,CAAC,YAAY,EAAE;YACjB,OAAO,GAAG,CAAC;SACZ;QAED,IAAI,IAAA,sBAAY,EAAC,SAAS,CAAC,EAAE;YAC3B,GAAG,CAAC,wBAAwB,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;YACvD,gBAAgB,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;SACnC;QAED,IAAI,CAAC,IAAA,wBAAgB,EAAC,UAAU,CAAC,IAAI,IAAA,sBAAY,EAAC,SAAS,CAAC,EAAE;YAC5D,GAAG,CAAC,wBAAwB,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;YAEvD,2BAA2B;YAC3B,MAAM,iBAAiB,GAAG,cAAc,CAAC,UAAU,CAAC,CAAC;YACrD,IAAI,iBAAiB,EAAE;gBACrB,GAAG,CAAC,aAAa,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,UAAU,CAAC;oBAChE,iBAAiB,CAAC,gBAAgB,CAAC;aACtC;SACF;QAED,OAAO,GAAG,CAAC;IACb,CAAC,EACD;QACE,wBAAwB,EAAE;YACxB,MAAM,EAAE,EAAE;YACV,MAAM,EAAE,EAAE;SACX;QACD,aAAa,EAAE;YACb,qBAAqB,EAAE,EAAE;YACzB,8BAA8B,EAAE,EAAE;YAClC,kBAAkB,EAAE,EAAE;SACvB;KACF,CACF,CAAC;AACJ,CAAC,CAAC;AArDW,QAAA,kBAAkB,sBAqD7B;AAEF,MAAM,gBAAgB,GAAG,CACvB,UAAkB,EAClB,MAA+B,EACzB,EAAE;IACR,MAAM,cAAc,GAAG,2BAAe,CAAC,UAAU,CAAC,CAAC;IACnD,IAAI,CAAC,cAAc,EAAE;QACnB,OAAO;KACR;IAED,IACE,cAAc,CAAC,UAAU,CAAC,iBAAiB;QAC3C,OAAO,cAAc,CAAC,UAAU,CAAC,iBAAiB,KAAK,QAAQ,EAC/D;QACA,MAAM,CAAC,aAAa,CAAC,qBAAqB,CAAC,UAAU,CAAC;YACpD,cAAc,CAAC,UAAU,CAAC,iBAAiB,CAAC;KAC/C;IAED,MAAM,CAAC,aAAa,CAAC,8BAA8B,CACjD,UAAU,CACX,GAAG,oBAAoB,cAAc,CAAC,IAAI,UAAU,CAAC;AACxD,CAAC,CAAC"}
1
+ {"version":3,"file":"parseGraphQLSchema.js","sourceRoot":"","sources":["../../../../../packages/typescript-resolver-files/src/parseGraphQLSchema/parseGraphQLSchema.ts"],"names":[],"mappings":"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"}
package/src/preset.js CHANGED
@@ -16,6 +16,7 @@ const getGraphQLObjectTypeResolversToGenerate_1 = require("./getGraphQLObjectTyp
16
16
  const addVirtualTypesFileToTsMorphProject_1 = require("./addVirtualTypesFileToTsMorphProject");
17
17
  const parseTypeMappers_1 = require("./parseTypeMappers");
18
18
  const validatePresetConfig_1 = require("./validatePresetConfig");
19
+ const validateAndMergeParsedConfigs_1 = require("./validateAndMergeParsedConfigs");
19
20
  exports.presetName = '@eddeee888/gcg-typescript-resolver-files';
20
21
  exports.preset = {
21
22
  buildGeneratesSection: ({ schema, schemaAst, presetConfig: rawPresetConfig, baseOutputDir, profiler = (0, plugin_helpers_1.createNoopProfiler)(), }) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
@@ -26,7 +27,7 @@ exports.preset = {
26
27
  if (!Array.isArray(sources) || sources.length === 0) {
27
28
  throw new Error('Empty Sources. Make sure schema files are parsed correctly.');
28
29
  }
29
- const { resolverTypesPath: relativeResolverTypesPathFromBaseOutputDir, resolverRelativeTargetDir, mappersFileExtension: typeMappersFileExtension, mappersSuffix: typeMappersSuffix, resolverMainFile, resolverMainFileMode, typeDefsFilePath, typeDefsFileMode, mode, whitelistedModules, blacklistedModules, externalResolvers, typesPluginsConfig, tsMorphProjectOptions, fixObjectTypeResolvers, emitLegacyCommonJSImports, } = (0, validatePresetConfig_1.validatePresetConfig)(rawPresetConfig);
30
+ const { resolverTypesPath: relativeResolverTypesPathFromBaseOutputDir, resolverRelativeTargetDir, mappersFileExtension: typeMappersFileExtension, mappersSuffix: typeMappersSuffix, resolverMainFile, resolverMainFileMode, typeDefsFilePath, typeDefsFileMode, scalarsModule, scalarsOverrides, mode, whitelistedModules, blacklistedModules, externalResolvers, typesPluginsConfig, tsMorphProjectOptions, fixObjectTypeResolvers, emitLegacyCommonJSImports, } = (0, validatePresetConfig_1.validatePresetConfig)(rawPresetConfig);
30
31
  const resolverTypesPath = path.posix.join(baseOutputDir, relativeResolverTypesPathFromBaseOutputDir);
31
32
  const { sourceMap } = (0, parseSources_1.parseSources)(sources);
32
33
  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'));
@@ -42,15 +43,24 @@ exports.preset = {
42
43
  });
43
44
  }), createProfilerRunName('parseTypeMappers'));
44
45
  const generatesSection = [];
45
- const { userDefinedSchemaTypeMap, pluginsConfig: { defaultScalarTypesMap, defaultScalarExternalResolvers, defaultTypeMappers, }, } = (0, parseGraphQLSchema_1.parseGraphQLSchema)({
46
+ const parsedGraphQLSchemaMeta = yield (0, parseGraphQLSchema_1.parseGraphQLSchema)({
46
47
  schemaAst,
47
48
  sourceMap,
49
+ scalarsModule,
50
+ scalarsOverrides,
48
51
  typeMappersMap,
49
52
  whitelistedModules,
50
53
  blacklistedModules,
51
54
  });
55
+ const mergedConfig = (0, validateAndMergeParsedConfigs_1.validateAndMergeParsedConfigs)({
56
+ externalResolvers,
57
+ parsedGraphQLSchemaMeta,
58
+ });
52
59
  // typescript and typescript-resolvers plugins config
53
- const resolverTypesConfig = Object.assign(Object.assign({ enumsAsTypes: true, nonOptionalTypename: true, emitLegacyCommonJSImports }, typesPluginsConfig), { scalars: Object.assign(Object.assign({}, defaultScalarTypesMap), typesPluginsConfig.scalars), mappers: Object.assign(Object.assign({}, defaultTypeMappers), typesPluginsConfig.mappers) });
60
+ const resolverTypesConfig = Object.assign(Object.assign({ enumsAsTypes: true, emitLegacyCommonJSImports, optionalResolveType: true, resolversNonOptionalTypename: {
61
+ unionMember: true,
62
+ interfaceImplementingType: true,
63
+ } }, typesPluginsConfig), { scalars: Object.assign({}, mergedConfig.scalarTypes), mappers: Object.assign(Object.assign({}, mergedConfig.typeMappers), typesPluginsConfig.mappers) });
54
64
  // typesSourceFile is the virtual `types.generated.ts`
55
65
  // This is useful when we need to do static analysis as most types come from this file
56
66
  // e.g. comparing mappers field type vs schema object field type
@@ -63,7 +73,7 @@ exports.preset = {
63
73
  const graphQLObjectTypeResolversToGenerate = yield profiler.run(() => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
64
74
  return (0, getGraphQLObjectTypeResolversToGenerate_1.getGraphQLObjectTypeResolversToGenerate)({
65
75
  typesSourceFile,
66
- userDefinedSchemaObjectTypeMap: userDefinedSchemaTypeMap.object,
76
+ userDefinedSchemaObjectTypeMap: mergedConfig.userDefinedSchemaTypeMap.object,
67
77
  typeMappersMap,
68
78
  });
69
79
  }), createProfilerRunName('graphQLObjectTypeResolversToGenerate'));
@@ -127,7 +137,7 @@ exports.preset = {
127
137
  mode,
128
138
  whitelistedModules,
129
139
  blacklistedModules,
130
- externalResolvers: Object.assign(Object.assign({}, defaultScalarExternalResolvers), externalResolvers),
140
+ externalResolvers: Object.assign({}, mergedConfig.externalResolvers),
131
141
  emitLegacyCommonJSImports,
132
142
  },
133
143
  result,
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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"}
@@ -0,0 +1 @@
1
+ export * from './validateAndMergeParsedConfigs';
@@ -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("./validateAndMergeParsedConfigs"), exports);
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/typescript-resolver-files/src/validateAndMergeParsedConfigs/index.ts"],"names":[],"mappings":";;;AAAA,0EAAgD"}
@@ -0,0 +1,18 @@
1
+ import type { ParsedGraphQLSchemaMeta } from '../parseGraphQLSchema';
2
+ import type { ParsedPresetConfig, ScalarsOverridesType } from '../validatePresetConfig';
3
+ interface MergedConfig {
4
+ userDefinedSchemaTypeMap: ParsedGraphQLSchemaMeta['userDefinedSchemaTypeMap'];
5
+ externalResolvers: ParsedPresetConfig['externalResolvers'];
6
+ scalarTypes: Record<string, ScalarsOverridesType>;
7
+ typeMappers: Record<string, string>;
8
+ }
9
+ /**
10
+ * validateAndMergeParsedConfigs is used to make sure all parsed configs do not incorrectly override each other.
11
+ * Use this to ensure there's only one way of doing something. e.g.
12
+ * - scalarsOverrides must be used over externalResolvers to override scalars
13
+ */
14
+ export declare const validateAndMergeParsedConfigs: ({ externalResolvers, parsedGraphQLSchemaMeta: { userDefinedSchemaTypeMap, pluginsConfig: { defaultScalarExternalResolvers, defaultScalarTypesMap, defaultTypeMappers, }, }, }: {
15
+ externalResolvers: ParsedPresetConfig['externalResolvers'];
16
+ parsedGraphQLSchemaMeta: ParsedGraphQLSchemaMeta;
17
+ }) => MergedConfig;
18
+ export {};
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.validateAndMergeParsedConfigs = void 0;
4
+ const utils_1 = require("../utils");
5
+ const nativeScalarTypes = {
6
+ ID: { input: 'string', output: 'string | number' },
7
+ };
8
+ /**
9
+ * validateAndMergeParsedConfigs is used to make sure all parsed configs do not incorrectly override each other.
10
+ * Use this to ensure there's only one way of doing something. e.g.
11
+ * - scalarsOverrides must be used over externalResolvers to override scalars
12
+ */
13
+ const validateAndMergeParsedConfigs = ({ externalResolvers, parsedGraphQLSchemaMeta: { userDefinedSchemaTypeMap, pluginsConfig: { defaultScalarExternalResolvers, defaultScalarTypesMap, defaultTypeMappers, }, }, }) => {
14
+ Object.keys(externalResolvers).forEach((schemaType) => {
15
+ if (userDefinedSchemaTypeMap.scalar[schemaType]) {
16
+ throw new Error(utils_1.fmt.error(`Scalar "${schemaType}" found in presetConfig.externalResolvers. Use presetConfig.scalarsOverrides to override scalar implementation and type. Remove "${schemaType}" from presetConfig.externalResolvers.`, 'Validation'));
17
+ }
18
+ });
19
+ return {
20
+ userDefinedSchemaTypeMap,
21
+ externalResolvers: Object.assign(Object.assign({}, defaultScalarExternalResolvers), externalResolvers),
22
+ scalarTypes: Object.assign(Object.assign({}, nativeScalarTypes), defaultScalarTypesMap),
23
+ typeMappers: defaultTypeMappers,
24
+ };
25
+ };
26
+ exports.validateAndMergeParsedConfigs = validateAndMergeParsedConfigs;
27
+ //# sourceMappingURL=validateAndMergeParsedConfigs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validateAndMergeParsedConfigs.js","sourceRoot":"","sources":["../../../../../packages/typescript-resolver-files/src/validateAndMergeParsedConfigs/validateAndMergeParsedConfigs.ts"],"names":[],"mappings":";;;AAKA,oCAA+B;AAE/B,MAAM,iBAAiB,GAAyC;IAC9D,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,iBAAiB,EAAE;CACnD,CAAC;AASF;;;;GAIG;AACI,MAAM,6BAA6B,GAAG,CAAC,EAC5C,iBAAiB,EACjB,uBAAuB,EAAE,EACvB,wBAAwB,EACxB,aAAa,EAAE,EACb,8BAA8B,EAC9B,qBAAqB,EACrB,kBAAkB,GACnB,GACF,GAIF,EAAgB,EAAE;IACjB,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE;QACpD,IAAI,wBAAwB,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE;YAC/C,MAAM,IAAI,KAAK,CACb,WAAG,CAAC,KAAK,CACP,WAAW,UAAU,oIAAoI,UAAU,wCAAwC,EAC3M,YAAY,CACb,CACF,CAAC;SACH;IACH,CAAC,CAAC,CAAC;IAEH,OAAO;QACL,wBAAwB;QACxB,iBAAiB,kCACZ,8BAA8B,GAC9B,iBAAiB,CACrB;QACD,WAAW,kCACN,iBAAiB,GACjB,qBAAqB,CACzB;QACD,WAAW,EAAE,kBAAkB;KAChC,CAAC;AACJ,CAAC,CAAC;AArCW,QAAA,6BAA6B,iCAqCxC"}
@@ -1,13 +1,15 @@
1
1
  import * as typeScriptPlugin from '@graphql-codegen/typescript';
2
2
  import * as typeScriptResolversPlugin from '@graphql-codegen/typescript-resolvers';
3
3
  import type { ProjectOptions } from 'ts-morph';
4
- type ParsedTypesPluginsConfig = Omit<typeScriptPlugin.TypeScriptPluginConfig, 'scalars'> & Omit<typeScriptResolversPlugin.TypeScriptResolversPluginConfig, 'scalars'> & {
5
- scalars: Record<string, string>;
6
- };
4
+ type ParsedTypesPluginsConfig = Omit<typeScriptPlugin.TypeScriptPluginConfig & typeScriptResolversPlugin.TypeScriptResolversPluginConfig, 'scalars'>;
7
5
  type ConfigMode = 'merged' | 'modules';
8
6
  type ResolverMainFileMode = 'merged' | 'modules';
9
7
  export type TypeDefsFileMode = 'merged' | 'mergedWhitelisted' | 'modules';
10
8
  type FixObjectTypeResolvers = 'smart' | 'disabled';
9
+ export type ScalarsOverridesType = string | {
10
+ input: string;
11
+ output: string;
12
+ };
11
13
  export interface ParsedPresetConfig {
12
14
  resolverTypesPath: string;
13
15
  resolverRelativeTargetDir: string;
@@ -17,6 +19,11 @@ export interface ParsedPresetConfig {
17
19
  typeDefsFileMode: TypeDefsFileMode;
18
20
  mappersFileExtension: string;
19
21
  mappersSuffix: string;
22
+ scalarsModule: string | false;
23
+ scalarsOverrides: Record<string, {
24
+ resolver?: string;
25
+ type?: ScalarsOverridesType;
26
+ }>;
20
27
  mode: ConfigMode;
21
28
  whitelistedModules: string[];
22
29
  blacklistedModules: string[];
@@ -35,6 +42,11 @@ export interface RawPresetConfig {
35
42
  typeDefsFileMode?: string;
36
43
  mappersFileExtension?: string;
37
44
  mappersSuffix?: string;
45
+ scalarsModule?: string | boolean;
46
+ scalarsOverrides?: Record<string, {
47
+ resolver?: string;
48
+ type?: ScalarsOverridesType;
49
+ }>;
38
50
  mode?: string;
39
51
  whitelistedModules?: string[];
40
52
  blacklistedModules?: string[];
@@ -50,5 +62,5 @@ export interface TypedPresetConfig extends RawPresetConfig {
50
62
  typeDefsFileMode?: TypeDefsFileMode;
51
63
  fixObjectTypeResolvers?: FixObjectTypeResolvers;
52
64
  }
53
- export declare const validatePresetConfig: ({ resolverTypesPath, resolverRelativeTargetDir, resolverMainFile, resolverMainFileMode, typeDefsFilePath, typeDefsFileMode: inputTypeDefsFileMode, mappersFileExtension, mappersSuffix, mode, whitelistedModules, blacklistedModules, externalResolvers, typesPluginsConfig, tsConfigFilePath, fixObjectTypeResolvers, emitLegacyCommonJSImports, }: RawPresetConfig) => ParsedPresetConfig;
65
+ export declare const validatePresetConfig: ({ resolverTypesPath, resolverRelativeTargetDir, resolverMainFile, resolverMainFileMode, typeDefsFilePath, typeDefsFileMode: inputTypeDefsFileMode, mappersFileExtension, mappersSuffix, scalarsModule, scalarsOverrides, mode, whitelistedModules, blacklistedModules, externalResolvers, typesPluginsConfig, tsConfigFilePath, fixObjectTypeResolvers, emitLegacyCommonJSImports, }: RawPresetConfig) => ParsedPresetConfig;
54
66
  export {};
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.validatePresetConfig = void 0;
4
+ const tslib_1 = require("tslib");
4
5
  const path = require("path");
5
6
  const fs = require("fs");
6
7
  const utils_1 = require("../utils");
@@ -9,7 +10,8 @@ const defaultResolverRelativeTargetDirMap = {
9
10
  merged: '',
10
11
  };
11
12
  const defaultTypeDefsFilePath = './typeDefs.generated.ts';
12
- const validatePresetConfig = ({ resolverTypesPath = './types.generated.ts', resolverRelativeTargetDir, resolverMainFile = 'resolvers.generated.ts', resolverMainFileMode = 'merged', typeDefsFilePath = defaultTypeDefsFilePath, typeDefsFileMode: inputTypeDefsFileMode = 'merged', mappersFileExtension = '.mappers.ts', mappersSuffix = 'Mapper', mode = 'modules', whitelistedModules, blacklistedModules, externalResolvers = {}, typesPluginsConfig = {}, tsConfigFilePath = './tsconfig.json', fixObjectTypeResolvers = 'smart', emitLegacyCommonJSImports = true, }) => {
13
+ const defaultScalarsModule = 'graphql-scalars';
14
+ const validatePresetConfig = ({ resolverTypesPath = './types.generated.ts', resolverRelativeTargetDir, resolverMainFile = 'resolvers.generated.ts', resolverMainFileMode = 'merged', 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, }) => {
13
15
  if (mode !== 'merged' && mode !== 'modules') {
14
16
  throw new Error(utils_1.fmt.error('presetConfig.mode must be "merged" or "modules" (default is "modules")', 'Validation'));
15
17
  }
@@ -65,6 +67,10 @@ const validatePresetConfig = ({ resolverTypesPath = './types.generated.ts', reso
65
67
  if (finalTypeDefsFilePath === true) {
66
68
  finalTypeDefsFilePath = defaultTypeDefsFilePath;
67
69
  }
70
+ let finalScalarsModule = scalarsModule;
71
+ if (finalScalarsModule === true) {
72
+ finalScalarsModule = defaultScalarsModule;
73
+ }
68
74
  const tsMorphProjectOptions = {
69
75
  skipAddingFilesFromTsConfig: true, // avoid long startup time by NOT loading files included by tsconfig.json. We only use this virtually anyways so we don't need all the files
70
76
  };
@@ -87,6 +93,8 @@ const validatePresetConfig = ({ resolverTypesPath = './types.generated.ts', reso
87
93
  mode,
88
94
  mappersFileExtension,
89
95
  mappersSuffix,
96
+ scalarsModule: finalScalarsModule,
97
+ scalarsOverrides,
90
98
  whitelistedModules: whitelistedModules || [],
91
99
  blacklistedModules: blacklistedModules || [],
92
100
  externalResolvers,
@@ -98,10 +106,10 @@ const validatePresetConfig = ({ resolverTypesPath = './types.generated.ts', reso
98
106
  };
99
107
  exports.validatePresetConfig = validatePresetConfig;
100
108
  const validateTypesPluginsConfig = (config) => {
101
- const scalarsOption = config.scalars || {};
102
- if (typeof scalarsOption === 'string') {
103
- throw new Error(utils_1.fmt.error('presetConfig.typesPluginsConfig.scalars of type "string" is not supported', 'Validation'));
109
+ const { scalars } = config, rest = tslib_1.__rest(config, ["scalars"]);
110
+ if (scalars) {
111
+ throw new Error(utils_1.fmt.error('presetConfig.typesPluginsConfig.scalars is not supported. Use presetConfig.scalarsOverrides instead.', 'Validation'));
104
112
  }
105
- return Object.assign(Object.assign({}, config), { scalars: scalarsOption });
113
+ return Object.assign({}, rest);
106
114
  };
107
115
  //# 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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"}