@eddeee888/gcg-typescript-resolver-files 0.10.4 → 0.12.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 +34 -0
- package/package.json +8 -8
- package/src/addVirtualTypesFileToTsMorphProject/addVirtualTypesFileToTsMorphProject.js +7 -6
- package/src/addVirtualTypesFileToTsMorphProject/addVirtualTypesFileToTsMorphProject.js.map +1 -1
- package/src/generateResolverFiles/addObjectTypeResolversPropertyAssignmentNodesIfNotImplemented.d.ts +17 -0
- package/src/generateResolverFiles/addObjectTypeResolversPropertyAssignmentNodesIfNotImplemented.js +58 -0
- package/src/generateResolverFiles/addObjectTypeResolversPropertyAssignmentNodesIfNotImplemented.js.map +1 -0
- package/src/generateResolverFiles/addResolverMainFiles.js +6 -0
- package/src/generateResolverFiles/addResolverMainFiles.js.map +1 -1
- package/src/generateResolverFiles/ensureEnumTypeResolversAreGenerated.js +1 -0
- package/src/generateResolverFiles/ensureEnumTypeResolversAreGenerated.js.map +1 -1
- package/src/generateResolverFiles/generateResolverFiles.js +1 -1
- package/src/generateResolverFiles/generateResolverFiles.js.map +1 -1
- package/src/generateResolverFiles/getVariableStatementWithExpectedIdentifier.d.ts +0 -1
- package/src/generateResolverFiles/getVariableStatementWithExpectedIdentifier.js +0 -20
- package/src/generateResolverFiles/getVariableStatementWithExpectedIdentifier.js.map +1 -1
- package/src/generateResolverFiles/handleGraphQLEnumType.js +6 -2
- package/src/generateResolverFiles/handleGraphQLEnumType.js.map +1 -1
- package/src/generateResolverFiles/handleGraphQLInterfaceType.js +4 -0
- package/src/generateResolverFiles/handleGraphQLInterfaceType.js.map +1 -1
- package/src/generateResolverFiles/handleGraphQLObjectType.d.ts +0 -1
- package/src/generateResolverFiles/handleGraphQLObjectType.js +34 -11
- package/src/generateResolverFiles/handleGraphQLObjectType.js.map +1 -1
- package/src/generateResolverFiles/handleGraphQLRootObjectTypeField.js +4 -0
- package/src/generateResolverFiles/handleGraphQLRootObjectTypeField.js.map +1 -1
- package/src/generateResolverFiles/handleGraphQLScalarType.js +4 -0
- package/src/generateResolverFiles/handleGraphQLScalarType.js.map +1 -1
- package/src/generateResolverFiles/handleGraphQLUnionType.js +4 -0
- package/src/generateResolverFiles/handleGraphQLUnionType.js.map +1 -1
- package/src/generateResolverFiles/postProcessFiles.js +111 -24
- package/src/generateResolverFiles/postProcessFiles.js.map +1 -1
- package/src/generateResolverFiles/types.d.ts +6 -0
- package/src/generateResolverFiles/visitNamedType.js +1 -0
- package/src/generateResolverFiles/visitNamedType.js.map +1 -1
- package/src/generateTypeDefsFiles/generateTypeDefsFiles.js +6 -0
- package/src/generateTypeDefsFiles/generateTypeDefsFiles.js.map +1 -1
- package/src/getGraphQLObjectTypeResolversToGenerate/getGraphQLObjectTypeResolversToGenerate.d.ts +3 -1
- package/src/getGraphQLObjectTypeResolversToGenerate/getGraphQLObjectTypeResolversToGenerate.js +136 -41
- package/src/getGraphQLObjectTypeResolversToGenerate/getGraphQLObjectTypeResolversToGenerate.js.map +1 -1
- package/src/{utils → getGraphQLObjectTypeResolversToGenerate}/getNodePropertyMap.d.ts +6 -3
- package/src/{utils → getGraphQLObjectTypeResolversToGenerate}/getNodePropertyMap.js +14 -5
- package/src/getGraphQLObjectTypeResolversToGenerate/getNodePropertyMap.js.map +1 -0
- package/src/parseGraphQLSchema/parseGraphQLSchema.d.ts +1 -3
- package/src/parseGraphQLSchema/parseGraphQLSchema.js +3 -10
- package/src/parseGraphQLSchema/parseGraphQLSchema.js.map +1 -1
- package/src/parseSources/parseSources.d.ts +6 -1
- package/src/parseSources/parseSources.js +15 -3
- package/src/parseSources/parseSources.js.map +1 -1
- package/src/parseTypeMappers/collectTypeMappersFromSourceFile.d.ts +2 -4
- package/src/parseTypeMappers/collectTypeMappersFromSourceFile.js +11 -39
- package/src/parseTypeMappers/collectTypeMappersFromSourceFile.js.map +1 -1
- package/src/parseTypeMappers/parseTypeMappers.d.ts +8 -6
- package/src/parseTypeMappers/parseTypeMappers.js +2 -4
- package/src/parseTypeMappers/parseTypeMappers.js.map +1 -1
- package/src/preset.js +44 -23
- package/src/preset.js.map +1 -1
- package/src/utils/index.d.ts +0 -1
- package/src/utils/index.js +0 -1
- package/src/utils/index.js.map +1 -1
- package/src/validatePresetConfig/validatePresetConfig.d.ts +6 -1
- package/src/validatePresetConfig/validatePresetConfig.js +28 -4
- package/src/validatePresetConfig/validatePresetConfig.js.map +1 -1
- package/src/generateResolverFiles/ensureObjectTypeResolversAreGenerated.d.ts +0 -6
- package/src/generateResolverFiles/ensureObjectTypeResolversAreGenerated.js +0 -80
- package/src/generateResolverFiles/ensureObjectTypeResolversAreGenerated.js.map +0 -1
- package/src/utils/getNodePropertyMap.js.map +0 -1
|
@@ -11,7 +11,7 @@ const defaultResolverRelativeTargetDirMap = {
|
|
|
11
11
|
};
|
|
12
12
|
const defaultTypeDefsFilePath = './typeDefs.generated.ts';
|
|
13
13
|
const defaultScalarsModule = 'graphql-scalars';
|
|
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', mergeSchema, 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', mappersRelativeTargetDir = './', mappersFileExtension = '.mappers.ts', mappersSuffix = 'Mapper', moduleNamingMode = 'last', mergeSchema, 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
|
}
|
|
@@ -41,6 +41,7 @@ const validatePresetConfig = ({ add, resolverTypesPath = './types.generated.ts',
|
|
|
41
41
|
typeDefsFileMode !== 'mergedWhitelisted') {
|
|
42
42
|
throw new Error(utils_1.fmt.error('presetConfig.typeDefsFileMode must be "merged", "mergedWhitelisted" or "modules" (default is "merged")', 'Validation'));
|
|
43
43
|
}
|
|
44
|
+
const finalModuleNamingMode = parseModuleNamingMode(moduleNamingMode);
|
|
44
45
|
if (!resolverTypesPath) {
|
|
45
46
|
throw new Error(utils_1.fmt.error('presetConfig.resolverTypesPath is required', 'Validation'));
|
|
46
47
|
}
|
|
@@ -99,8 +100,10 @@ const validatePresetConfig = ({ add, resolverTypesPath = './types.generated.ts',
|
|
|
99
100
|
typeDefsFileMode,
|
|
100
101
|
mergeSchema: parseMergeSchema(mergeSchema),
|
|
101
102
|
mode,
|
|
103
|
+
mappersRelativeTargetDir,
|
|
102
104
|
mappersFileExtension,
|
|
103
105
|
mappersSuffix,
|
|
106
|
+
moduleNamingMode: finalModuleNamingMode,
|
|
104
107
|
scalarsModule: finalScalarsModule,
|
|
105
108
|
scalarsOverrides,
|
|
106
109
|
whitelistedModules: whitelistedModules || [],
|
|
@@ -120,9 +123,6 @@ const validateTypesPluginsConfig = (config) => {
|
|
|
120
123
|
if ('emitLegacyCommonJSImports' in config) {
|
|
121
124
|
throw new Error(utils_1.fmt.error('presetConfig.typesPluginsConfig.emitLegacyCommonJSImports is not supported. Use presetConfig.emitLegacyCommonJSImports instead.', 'Validation'));
|
|
122
125
|
}
|
|
123
|
-
if ('namingConvention' in config) {
|
|
124
|
-
console.warn(utils_1.fmt.warn("presetConfig.typesPluginsConfig.namingConvention is not fully supported. The default is `namingConvention: 'keep'`. Change at your own risk."));
|
|
125
|
-
}
|
|
126
126
|
const { scalars: _, emitLegacyCommonJSImports: __ } = config, rest = tslib_1.__rest(config, ["scalars", "emitLegacyCommonJSImports"]);
|
|
127
127
|
return rest;
|
|
128
128
|
};
|
|
@@ -239,4 +239,28 @@ const parseMergeSchema = (mergeSchema) => {
|
|
|
239
239
|
config: mergeSchema.config,
|
|
240
240
|
};
|
|
241
241
|
};
|
|
242
|
+
const parseModuleNamingMode = (moduleNamingMode) => {
|
|
243
|
+
if (moduleNamingMode == null) {
|
|
244
|
+
// By default, for backwards compatibility prior to `moduleNamingMode`, we
|
|
245
|
+
// select the last directory in a path.
|
|
246
|
+
return -1;
|
|
247
|
+
}
|
|
248
|
+
if (typeof moduleNamingMode === 'string') {
|
|
249
|
+
// As a convenience we support the keywords "first" and "last".
|
|
250
|
+
if (moduleNamingMode === 'first') {
|
|
251
|
+
return 0;
|
|
252
|
+
}
|
|
253
|
+
else if (moduleNamingMode === 'last') {
|
|
254
|
+
return -1;
|
|
255
|
+
}
|
|
256
|
+
const parsedNumber = parseInt(moduleNamingMode);
|
|
257
|
+
if (!isNaN(parsedNumber)) {
|
|
258
|
+
return parsedNumber;
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
if (typeof moduleNamingMode === 'number') {
|
|
262
|
+
return moduleNamingMode;
|
|
263
|
+
}
|
|
264
|
+
throw new Error(utils_1.fmt.error('presetConfig.moduleNamingMode must be "first" or "last" or a number (default is "last")', 'Validation'));
|
|
265
|
+
};
|
|
242
266
|
//# sourceMappingURL=validatePresetConfig.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validatePresetConfig.js","sourceRoot":"","sources":["../../../../../packages/typescript-resolver-files/src/validatePresetConfig/validatePresetConfig.ts"],"names":[],"mappings":";;;;AAAA,mDAA6B;AAC7B,+CAAyB;AAMzB,oCAA4C;AAE5C,MAAM,mCAAmC,GAGrC;IACF,OAAO,EAAE,WAAW;IACpB,MAAM,EAAE,EAAE;CACX,CAAC;AACF,MAAM,uBAAuB,GAAG,yBAAyB,CAAC;AAC1D,MAAM,oBAAoB,GAAG,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"validatePresetConfig.js","sourceRoot":"","sources":["../../../../../packages/typescript-resolver-files/src/validatePresetConfig/validatePresetConfig.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import { type SourceFile } from 'ts-morph';
|
|
2
|
-
import type { ObjectTypeFile } from './types';
|
|
3
|
-
/**
|
|
4
|
-
* Ensure objectTypeResolver files have all the resolvers due to mismatched types
|
|
5
|
-
*/
|
|
6
|
-
export declare const ensureObjectTypeResolversAreGenerated: (sourceFile: SourceFile, resolverFile: ObjectTypeFile) => void;
|
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ensureObjectTypeResolversAreGenerated = void 0;
|
|
4
|
-
const ts_morph_1 = require("ts-morph");
|
|
5
|
-
const getVariableStatementWithExpectedIdentifier_1 = require("./getVariableStatementWithExpectedIdentifier");
|
|
6
|
-
/**
|
|
7
|
-
* Ensure objectTypeResolver files have all the resolvers due to mismatched types
|
|
8
|
-
*/
|
|
9
|
-
const ensureObjectTypeResolversAreGenerated = (sourceFile, resolverFile) => {
|
|
10
|
-
const resolversToGenerate = resolverFile.meta.resolversToGenerate || {};
|
|
11
|
-
if (!Object.keys(resolversToGenerate).length) {
|
|
12
|
-
return;
|
|
13
|
-
}
|
|
14
|
-
const { variableStatement } = (0, getVariableStatementWithExpectedIdentifier_1.getVariableStatementWithExpectedIdentifier)(sourceFile, resolverFile);
|
|
15
|
-
if (!variableStatement) {
|
|
16
|
-
throw new Error('Missing variableStatement in ensureObjectTypeResolversAreGenerated.');
|
|
17
|
-
}
|
|
18
|
-
/**
|
|
19
|
-
* FIXME: TS API does not expose `.isAssignable(Type, Type)` so we cannot use it to compare a field's type in schema type vs mapper type
|
|
20
|
-
*
|
|
21
|
-
* In this workaround, we try to put the type together and use TS's diagnostic tool to see if there's error:
|
|
22
|
-
* 1. If there's error, it means the mapper field cannot be safely mapped to schema field using GraphQL's default behaviour i.e. there will be runtime error
|
|
23
|
-
* In this case, we leave the resolver function as-is. There should be an error message from the parsing phrase explaining the types cannot be mapped.
|
|
24
|
-
* 2. If there's no error, it means we can safely remove the resolver and let GraphQL handle the mapping.
|
|
25
|
-
*
|
|
26
|
-
* Note: this only looks at fields that's not declared by the user. If it's already declared, we assume TS will report naturally if there's an error.
|
|
27
|
-
*/
|
|
28
|
-
// 1. Check to see which generated to-be-generated resolvers are implemented
|
|
29
|
-
const resolversData = Object.assign({}, resolversToGenerate);
|
|
30
|
-
variableStatement
|
|
31
|
-
.getDescendantsOfKind(ts_morph_1.SyntaxKind.PropertyAssignment)
|
|
32
|
-
.forEach((propertyAssignment) => {
|
|
33
|
-
const resolverName = propertyAssignment.getName();
|
|
34
|
-
if (resolversData[resolverName]) {
|
|
35
|
-
resolversData[resolverName].implemented = true;
|
|
36
|
-
}
|
|
37
|
-
});
|
|
38
|
-
variableStatement
|
|
39
|
-
.getDescendantsOfKind(ts_morph_1.SyntaxKind.MethodDeclaration)
|
|
40
|
-
.forEach((methodDeclaration) => {
|
|
41
|
-
const resolverName = methodDeclaration.getName();
|
|
42
|
-
if (resolversData[resolverName]) {
|
|
43
|
-
resolversData[resolverName].implemented = true;
|
|
44
|
-
}
|
|
45
|
-
});
|
|
46
|
-
// 2. Add missing resolver properties if they haven't been implemented
|
|
47
|
-
const addedPropertyAssignmentNodes = [];
|
|
48
|
-
Object.values(resolversData).forEach(({ resolverName, resolverDeclaration, implemented }) => {
|
|
49
|
-
if (!implemented) {
|
|
50
|
-
const addedNode = variableStatement
|
|
51
|
-
.getDescendantsOfKind(ts_morph_1.SyntaxKind.ObjectLiteralExpression)[0]
|
|
52
|
-
.addPropertyAssignment({
|
|
53
|
-
name: resolverName,
|
|
54
|
-
initializer: resolverDeclaration,
|
|
55
|
-
});
|
|
56
|
-
addedPropertyAssignmentNodes[addedNode.getStartLineNumber()] = {
|
|
57
|
-
node: addedNode,
|
|
58
|
-
__toBeRemoved: true,
|
|
59
|
-
};
|
|
60
|
-
}
|
|
61
|
-
});
|
|
62
|
-
// 3. Check to see if there's error at the newly added properties:
|
|
63
|
-
// a. If there's error, leave it as user needs to manually map mapper type to schema type
|
|
64
|
-
// b. If there's no error, remove the node because GraphQL default mapping behaviour should work
|
|
65
|
-
sourceFile.getPreEmitDiagnostics().forEach((d) => {
|
|
66
|
-
const lineNumberWithError = d.getLineNumber();
|
|
67
|
-
// If erroring on a recently added line, do not remove as user needs to implement it
|
|
68
|
-
if (lineNumberWithError &&
|
|
69
|
-
addedPropertyAssignmentNodes[lineNumberWithError]) {
|
|
70
|
-
addedPropertyAssignmentNodes[lineNumberWithError].__toBeRemoved = false;
|
|
71
|
-
}
|
|
72
|
-
});
|
|
73
|
-
Object.values(addedPropertyAssignmentNodes).forEach(({ node, __toBeRemoved }) => {
|
|
74
|
-
if (__toBeRemoved) {
|
|
75
|
-
node.remove();
|
|
76
|
-
}
|
|
77
|
-
});
|
|
78
|
-
};
|
|
79
|
-
exports.ensureObjectTypeResolversAreGenerated = ensureObjectTypeResolversAreGenerated;
|
|
80
|
-
//# sourceMappingURL=ensureObjectTypeResolversAreGenerated.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ensureObjectTypeResolversAreGenerated.js","sourceRoot":"","sources":["../../../../../packages/typescript-resolver-files/src/generateResolverFiles/ensureObjectTypeResolversAreGenerated.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"getNodePropertyMap.js","sourceRoot":"","sources":["../../../../../packages/typescript-resolver-files/src/utils/getNodePropertyMap.ts"],"names":[],"mappings":";;;AAAA,uCAKkB;AAIlB;;;GAGG;AACI,MAAM,kBAAkB,GAAG,CAAC,EACjC,IAAI,EACJ,cAAc,GAIf,EAAmB,EAAE;IACpB,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,WAAW,GAAG,cAAc,CAAC,cAAc,EAAE,CAAC;IAEpD,MAAM,UAAU,GAAG,CAAC,GAAa,EAAE;QACjC,IAAI,IAAI,CAAC,MAAM,CAAC,qBAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC;YAC7C,MAAM,MAAM,GAAa,EAAE,CAAC;YAC5B,0BAA0B,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YACzC,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,OAAO,WAAW;aACf,iBAAiB,CAAC,IAAI,CAAC;aACvB,aAAa,EAAE;aACf,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;IAC3C,CAAC,CAAC,EAAE,CAAC;IAEL,MAAM,eAAe,GAAG,UAAU,CAAC,MAAM,CACvC,CAAC,GAAG,EAAE,YAAY,EAAE,EAAE;QACpB,GAAG,CAAC,YAAY,CAAC,GAAG;YAClB,IAAI,EAAE,YAAY;SACnB,CAAC;QACF,OAAO,GAAG,CAAC;IACb,CAAC,EACD,EAAE,CACH,CAAC;IAEF,OAAO,eAAe,CAAC;AACzB,CAAC,CAAC;AArCW,QAAA,kBAAkB,sBAqC7B;AAEF,MAAM,0BAA0B,GAAG,CACjC,SAA2B,EAC3B,MAAgB,EACV,EAAE;IACR,MAAM,SAAS,GAAG,SAAS,CAAC,YAAY,EAAE,CAAC;IAC3C,IAAI,SAAS,EAAE,CAAC;QACd,0BAA0B,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAChD,CAAC;IAED,SAAS,CAAC,qBAAqB,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QACjD,IACE,IAAI,CAAC,WAAW,CAAC,qBAAU,CAAC,cAAc,CAAC;YAC3C,IAAI,CAAC,WAAW,CAAC,qBAAU,CAAC,gBAAgB,CAAC,EAC7C,CAAC;YACD,OAAO;QACT,CAAC;QACD,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACnC,uCAAuC;YACvC,OAAO;QACT,CAAC;QACD,IAAI,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;YAC7C,oBAAoB;YACpB,OAAO;QACT,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;IAC9B,CAAC,CAAC,CAAC;AACL,CAAC,CAAC"}
|