@eddeee888/gcg-typescript-resolver-files 0.17.0 → 0.18.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.
- package/LICENSE +21 -0
- package/README.md +3 -3
- package/{src → dist}/addVirtualTypesFileToTsMorphProject/addVirtualTypesFileToTsMorphProject.d.ts +2 -2
- package/{src → dist}/addVirtualTypesFileToTsMorphProject/addVirtualTypesFileToTsMorphProject.js +11 -17
- package/dist/addVirtualTypesFileToTsMorphProject/index.d.ts +1 -0
- package/dist/addVirtualTypesFileToTsMorphProject/index.js +1 -0
- package/{src → dist}/defineConfig.d.ts +1 -1
- package/{src → dist}/defineConfig.js +4 -10
- package/{src → dist}/generateResolverFiles/addExternalResolverImport.d.ts +1 -1
- package/{src → dist}/generateResolverFiles/addExternalResolverImport.js +3 -8
- package/{src → dist}/generateResolverFiles/addObjectTypeResolversPropertyAssignmentNodesIfNotImplemented.d.ts +1 -1
- package/{src → dist}/generateResolverFiles/addObjectTypeResolversPropertyAssignmentNodesIfNotImplemented.js +9 -14
- package/{src → dist}/generateResolverFiles/addResolverMainFiles.d.ts +1 -1
- package/{src → dist}/generateResolverFiles/addResolverMainFiles.js +11 -17
- package/{src → dist}/generateResolverFiles/ensureEnumTypeResolversAreGenerated.d.ts +1 -1
- package/{src → dist}/generateResolverFiles/ensureEnumTypeResolversAreGenerated.js +6 -11
- package/{src → dist}/generateResolverFiles/generateResolverFiles.d.ts +1 -1
- package/dist/generateResolverFiles/generateResolverFiles.js +87 -0
- package/{src → dist}/generateResolverFiles/getImportStatementWithExpectedNamedImport.d.ts +1 -1
- package/dist/generateResolverFiles/getImportStatementWithExpectedNamedImport.js +14 -0
- package/{src → dist}/generateResolverFiles/getVariableStatementWithExpectedIdentifier.d.ts +1 -1
- package/{src → dist}/generateResolverFiles/getVariableStatementWithExpectedIdentifier.js +1 -6
- package/{src → dist}/generateResolverFiles/handleGraphQLEnumType.d.ts +1 -1
- package/{src → dist}/generateResolverFiles/handleGraphQLEnumType.js +6 -11
- package/{src → dist}/generateResolverFiles/handleGraphQLInterfaceType.d.ts +1 -1
- package/{src → dist}/generateResolverFiles/handleGraphQLInterfaceType.js +6 -11
- package/{src → dist}/generateResolverFiles/handleGraphQLObjectType.d.ts +1 -1
- package/{src → dist}/generateResolverFiles/handleGraphQLObjectType.js +8 -14
- package/dist/generateResolverFiles/handleGraphQLRootObjectTypeField.d.ts +3 -0
- package/{src → dist}/generateResolverFiles/handleGraphQLRootObjectTypeField.js +8 -13
- package/{src → dist}/generateResolverFiles/handleGraphQLScalarType.d.ts +1 -1
- package/{src → dist}/generateResolverFiles/handleGraphQLScalarType.js +6 -11
- package/{src → dist}/generateResolverFiles/handleGraphQLUnionType.d.ts +1 -1
- package/{src → dist}/generateResolverFiles/handleGraphQLUnionType.js +5 -10
- package/dist/generateResolverFiles/index.d.ts +2 -0
- package/dist/generateResolverFiles/index.js +1 -0
- package/{src → dist}/generateResolverFiles/postProcessFiles.d.ts +1 -1
- package/{src → dist}/generateResolverFiles/postProcessFiles.js +24 -26
- package/{src → dist}/generateResolverFiles/types.d.ts +6 -6
- package/dist/generateResolverFiles/types.js +1 -0
- package/{src → dist}/generateResolverFiles/visitNamedType.d.ts +2 -2
- package/{src → dist}/generateResolverFiles/visitNamedType.js +3 -8
- package/dist/generateTypeDefsFiles/generateTypeDefsContent.js +7 -0
- package/{src → dist}/generateTypeDefsFiles/generateTypeDefsFiles.d.ts +3 -3
- package/{src → dist}/generateTypeDefsFiles/generateTypeDefsFiles.js +7 -13
- package/dist/generateTypeDefsFiles/index.d.ts +1 -0
- package/dist/generateTypeDefsFiles/index.js +1 -0
- package/{src → dist}/getGraphQLObjectTypeResolversToGenerate/getGraphQLObjectTypeResolversToGenerate.d.ts +3 -3
- package/{src → dist}/getGraphQLObjectTypeResolversToGenerate/getGraphQLObjectTypeResolversToGenerate.js +17 -22
- package/{src → dist}/getGraphQLObjectTypeResolversToGenerate/getNodePropertyMap.js +5 -10
- package/dist/getGraphQLObjectTypeResolversToGenerate/index.d.ts +1 -0
- package/dist/getGraphQLObjectTypeResolversToGenerate/index.js +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.js +3 -0
- package/dist/normalizeAddConfigPath/index.d.ts +1 -0
- package/dist/normalizeAddConfigPath/index.js +1 -0
- package/{src → dist}/normalizeAddConfigPath/normalizeAddConfigPath.d.ts +1 -1
- package/{src → dist}/normalizeAddConfigPath/normalizeAddConfigPath.js +2 -8
- package/{src → dist}/parseGraphQLSchema/index.d.ts +2 -2
- package/dist/parseGraphQLSchema/index.js +1 -0
- package/{src → dist}/parseGraphQLSchema/normalizeResolverName.d.ts +1 -1
- package/{src → dist}/parseGraphQLSchema/normalizeResolverName.js +1 -6
- package/{src → dist}/parseGraphQLSchema/parseGraphQLSchema.d.ts +5 -5
- package/{src → dist}/parseGraphQLSchema/parseGraphQLSchema.js +43 -50
- package/{src → dist}/parseGraphQLSchema/parseLocationForOutputDir.d.ts +2 -2
- package/{src → dist}/parseGraphQLSchema/parseLocationForOutputDir.js +4 -10
- package/dist/parseSources/index.d.ts +1 -0
- package/dist/parseSources/index.js +1 -0
- package/{src → dist}/parseSources/parseSources.d.ts +1 -1
- package/{src → dist}/parseSources/parseSources.js +2 -7
- package/{src → dist}/parseTypeMappers/collectTypeMappersFromSourceFile.d.ts +2 -2
- package/{src → dist}/parseTypeMappers/collectTypeMappersFromSourceFile.js +15 -21
- package/dist/parseTypeMappers/index.d.ts +1 -0
- package/dist/parseTypeMappers/index.js +1 -0
- package/{src → dist}/parseTypeMappers/parseTypeMappers.d.ts +2 -2
- package/dist/parseTypeMappers/parseTypeMappers.js +20 -0
- package/{src → dist}/preset.d.ts +1 -1
- package/dist/preset.js +214 -0
- package/dist/utils/cwd.js +7 -0
- package/dist/utils/fmt.js +15 -0
- package/dist/utils/index.d.ts +12 -0
- package/dist/utils/index.js +12 -0
- package/{src → dist}/utils/isMatchResolverNamePattern.js +3 -9
- package/dist/utils/isNativeNamedType.js +13 -0
- package/dist/utils/isRootObjectType.js +3 -0
- package/{src → dist}/utils/isWhitelistedModule.js +1 -6
- package/{src → dist}/utils/logger.d.ts +1 -1
- package/dist/utils/logger.js +13 -0
- package/dist/utils/normalizeImportExtension.js +9 -0
- package/dist/utils/normalizeRelativePath.js +6 -0
- package/{src → dist}/utils/parseLocationForWhitelistedModule.d.ts +1 -1
- package/dist/utils/parseLocationForWhitelistedModule.js +17 -0
- package/{src → dist}/utils/printImportLine.d.ts +1 -1
- package/{src → dist}/utils/printImportLine.js +3 -7
- package/dist/utils/relativeModulePath.js +6 -0
- package/dist/validateAndMergeParsedConfigs/index.d.ts +1 -0
- package/dist/validateAndMergeParsedConfigs/index.js +1 -0
- package/{src → dist}/validateAndMergeParsedConfigs/validateAndMergeParsedConfigs.d.ts +2 -2
- package/{src → dist}/validateAndMergeParsedConfigs/validateAndMergeParsedConfigs.js +16 -13
- package/dist/validatePresetConfig/index.d.ts +1 -0
- package/dist/validatePresetConfig/index.js +1 -0
- package/{src → dist}/validatePresetConfig/validatePresetConfig.d.ts +2 -2
- package/{src → dist}/validatePresetConfig/validatePresetConfig.js +29 -36
- package/package.json +22 -11
- package/src/addVirtualTypesFileToTsMorphProject/addVirtualTypesFileToTsMorphProject.js.map +0 -1
- package/src/addVirtualTypesFileToTsMorphProject/index.d.ts +0 -1
- package/src/addVirtualTypesFileToTsMorphProject/index.js +0 -5
- package/src/addVirtualTypesFileToTsMorphProject/index.js.map +0 -1
- package/src/defineConfig.js.map +0 -1
- package/src/generateResolverFiles/addExternalResolverImport.js.map +0 -1
- package/src/generateResolverFiles/addObjectTypeResolversPropertyAssignmentNodesIfNotImplemented.js.map +0 -1
- package/src/generateResolverFiles/addResolverMainFiles.js.map +0 -1
- package/src/generateResolverFiles/ensureEnumTypeResolversAreGenerated.js.map +0 -1
- package/src/generateResolverFiles/generateResolverFiles.js +0 -54
- package/src/generateResolverFiles/generateResolverFiles.js.map +0 -1
- package/src/generateResolverFiles/getImportStatementWithExpectedNamedImport.js +0 -20
- package/src/generateResolverFiles/getImportStatementWithExpectedNamedImport.js.map +0 -1
- package/src/generateResolverFiles/getVariableStatementWithExpectedIdentifier.js.map +0 -1
- package/src/generateResolverFiles/handleGraphQLEnumType.js.map +0 -1
- package/src/generateResolverFiles/handleGraphQLInterfaceType.js.map +0 -1
- package/src/generateResolverFiles/handleGraphQLObjectType.js.map +0 -1
- package/src/generateResolverFiles/handleGraphQLRootObjectTypeField.d.ts +0 -3
- package/src/generateResolverFiles/handleGraphQLRootObjectTypeField.js.map +0 -1
- package/src/generateResolverFiles/handleGraphQLScalarType.js.map +0 -1
- package/src/generateResolverFiles/handleGraphQLUnionType.js.map +0 -1
- package/src/generateResolverFiles/index.d.ts +0 -2
- package/src/generateResolverFiles/index.js +0 -6
- package/src/generateResolverFiles/index.js.map +0 -1
- package/src/generateResolverFiles/postProcessFiles.js.map +0 -1
- package/src/generateResolverFiles/types.js +0 -3
- package/src/generateResolverFiles/types.js.map +0 -1
- package/src/generateResolverFiles/visitNamedType.js.map +0 -1
- package/src/generateTypeDefsFiles/generateTypeDefsContent.js +0 -12
- package/src/generateTypeDefsFiles/generateTypeDefsContent.js.map +0 -1
- package/src/generateTypeDefsFiles/generateTypeDefsFiles.js.map +0 -1
- package/src/generateTypeDefsFiles/index.d.ts +0 -1
- package/src/generateTypeDefsFiles/index.js +0 -5
- package/src/generateTypeDefsFiles/index.js.map +0 -1
- package/src/getGraphQLObjectTypeResolversToGenerate/getGraphQLObjectTypeResolversToGenerate.js.map +0 -1
- package/src/getGraphQLObjectTypeResolversToGenerate/getNodePropertyMap.js.map +0 -1
- package/src/getGraphQLObjectTypeResolversToGenerate/index.d.ts +0 -1
- package/src/getGraphQLObjectTypeResolversToGenerate/index.js +0 -5
- package/src/getGraphQLObjectTypeResolversToGenerate/index.js.map +0 -1
- package/src/index.d.ts +0 -3
- package/src/index.js +0 -10
- package/src/index.js.map +0 -1
- package/src/normalizeAddConfigPath/index.d.ts +0 -1
- package/src/normalizeAddConfigPath/index.js +0 -5
- package/src/normalizeAddConfigPath/index.js.map +0 -1
- package/src/normalizeAddConfigPath/normalizeAddConfigPath.js.map +0 -1
- package/src/parseGraphQLSchema/index.js +0 -5
- package/src/parseGraphQLSchema/index.js.map +0 -1
- package/src/parseGraphQLSchema/normalizeResolverName.js.map +0 -1
- package/src/parseGraphQLSchema/parseGraphQLSchema.js.map +0 -1
- package/src/parseGraphQLSchema/parseLocationForOutputDir.js.map +0 -1
- package/src/parseSources/index.d.ts +0 -1
- package/src/parseSources/index.js +0 -5
- package/src/parseSources/index.js.map +0 -1
- package/src/parseSources/parseSources.js.map +0 -1
- package/src/parseTypeMappers/collectTypeMappersFromSourceFile.js.map +0 -1
- package/src/parseTypeMappers/index.d.ts +0 -1
- package/src/parseTypeMappers/index.js +0 -5
- package/src/parseTypeMappers/index.js.map +0 -1
- package/src/parseTypeMappers/parseTypeMappers.js +0 -26
- package/src/parseTypeMappers/parseTypeMappers.js.map +0 -1
- package/src/preset.js +0 -214
- package/src/preset.js.map +0 -1
- package/src/utils/cwd.js +0 -13
- package/src/utils/cwd.js.map +0 -1
- package/src/utils/fmt.js +0 -19
- package/src/utils/fmt.js.map +0 -1
- package/src/utils/index.d.ts +0 -12
- package/src/utils/index.js +0 -16
- package/src/utils/index.js.map +0 -1
- package/src/utils/isMatchResolverNamePattern.js.map +0 -1
- package/src/utils/isNativeNamedType.js +0 -18
- package/src/utils/isNativeNamedType.js.map +0 -1
- package/src/utils/isRootObjectType.js +0 -8
- package/src/utils/isRootObjectType.js.map +0 -1
- package/src/utils/isWhitelistedModule.js.map +0 -1
- package/src/utils/logger.js +0 -17
- package/src/utils/logger.js.map +0 -1
- package/src/utils/normalizeImportExtension.js +0 -13
- package/src/utils/normalizeImportExtension.js.map +0 -1
- package/src/utils/normalizeRelativePath.js +0 -11
- package/src/utils/normalizeRelativePath.js.map +0 -1
- package/src/utils/parseLocationForWhitelistedModule.js +0 -22
- package/src/utils/parseLocationForWhitelistedModule.js.map +0 -1
- package/src/utils/printImportLine.js.map +0 -1
- package/src/utils/relativeModulePath.js +0 -12
- package/src/utils/relativeModulePath.js.map +0 -1
- package/src/validateAndMergeParsedConfigs/index.d.ts +0 -1
- package/src/validateAndMergeParsedConfigs/index.js +0 -5
- package/src/validateAndMergeParsedConfigs/index.js.map +0 -1
- package/src/validateAndMergeParsedConfigs/validateAndMergeParsedConfigs.js.map +0 -1
- package/src/validatePresetConfig/index.d.ts +0 -1
- package/src/validatePresetConfig/index.js +0 -5
- package/src/validatePresetConfig/index.js.map +0 -1
- package/src/validatePresetConfig/validatePresetConfig.js.map +0 -1
- /package/{src → dist}/generateTypeDefsFiles/generateTypeDefsContent.d.ts +0 -0
- /package/{src → dist}/getGraphQLObjectTypeResolversToGenerate/getNodePropertyMap.d.ts +0 -0
- /package/{src → dist}/utils/cwd.d.ts +0 -0
- /package/{src → dist}/utils/fmt.d.ts +0 -0
- /package/{src → dist}/utils/isMatchResolverNamePattern.d.ts +0 -0
- /package/{src → dist}/utils/isNativeNamedType.d.ts +0 -0
- /package/{src → dist}/utils/isRootObjectType.d.ts +0 -0
- /package/{src → dist}/utils/isWhitelistedModule.d.ts +0 -0
- /package/{src → dist}/utils/normalizeImportExtension.d.ts +0 -0
- /package/{src → dist}/utils/normalizeRelativePath.d.ts +0 -0
- /package/{src → dist}/utils/relativeModulePath.d.ts +0 -0
|
@@ -1,24 +1,21 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
const utils_1 = require("../utils");
|
|
5
|
-
const handleGraphQLInterfaceType = ({ fieldFilePath, isFileAlreadyOnFilesystem, resolverName, normalizedResolverName, resolversTypeMeta, moduleName, relativePathFromBaseToModule, }, { result, config: { resolverGeneration, emitLegacyCommonJSImports, importExtension } }) => {
|
|
6
|
-
if (!(0, utils_1.isMatchResolverNamePattern)({
|
|
1
|
+
import { printImportLine, isMatchResolverNamePattern, logger, } from '../utils/index.js';
|
|
2
|
+
export const handleGraphQLInterfaceType = ({ fieldFilePath, isFileAlreadyOnFilesystem, resolverName, normalizedResolverName, resolversTypeMeta, moduleName, relativePathFromBaseToModule, }, { result, config: { resolverGeneration, emitLegacyCommonJSImports, importExtension }, }) => {
|
|
3
|
+
if (!isMatchResolverNamePattern({
|
|
7
4
|
pattern: resolverGeneration.interface,
|
|
8
5
|
value: normalizedResolverName.withModule,
|
|
9
6
|
}) &&
|
|
10
7
|
!isFileAlreadyOnFilesystem) {
|
|
11
|
-
|
|
8
|
+
logger.debug(`Skipped Interface resolver generation: "${normalizedResolverName.withModule}". Pattern: "${resolverGeneration.interface}".`);
|
|
12
9
|
return;
|
|
13
10
|
}
|
|
14
11
|
const resolverTypeString = resolversTypeMeta.typeString;
|
|
15
|
-
const resolverTypeImportDeclaration =
|
|
12
|
+
const resolverTypeImportDeclaration = printImportLine({
|
|
16
13
|
isTypeImport: true,
|
|
17
14
|
module: resolversTypeMeta.module,
|
|
18
15
|
moduleType: resolversTypeMeta.moduleType,
|
|
19
16
|
namedImports: [resolversTypeMeta.typeNamedImport],
|
|
20
17
|
emitLegacyCommonJSImports,
|
|
21
|
-
importExtension
|
|
18
|
+
importExtension,
|
|
22
19
|
});
|
|
23
20
|
const variableStatement = `export const ${resolverName}: ${resolverTypeString} = { /* Implement ${resolverName} interface logic here */ };`;
|
|
24
21
|
result.files[fieldFilePath] = {
|
|
@@ -44,5 +41,3 @@ const handleGraphQLInterfaceType = ({ fieldFilePath, isFileAlreadyOnFilesystem,
|
|
|
44
41
|
},
|
|
45
42
|
};
|
|
46
43
|
};
|
|
47
|
-
exports.handleGraphQLInterfaceType = handleGraphQLInterfaceType;
|
|
48
|
-
//# sourceMappingURL=handleGraphQLInterfaceType.js.map
|
|
@@ -1,11 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
exports.handleGraphQLObjectType = void 0;
|
|
4
|
-
const utils_1 = require("../utils");
|
|
5
|
-
const handleGraphQLObjectType = ({ fieldFilePath, resolverName, isFileAlreadyOnFilesystem, normalizedResolverName, resolversTypeMeta, moduleName, relativePathFromBaseToModule, fieldsToPick = [], // If fieldsToPick.length === 0, it means the current object handles all resolvers
|
|
1
|
+
import { printImportLine, isMatchResolverNamePattern, logger, } from '../utils/index.js';
|
|
2
|
+
export const handleGraphQLObjectType = ({ fieldFilePath, resolverName, isFileAlreadyOnFilesystem, normalizedResolverName, resolversTypeMeta, moduleName, relativePathFromBaseToModule, fieldsToPick = [], // If fieldsToPick.length === 0, it means the current object handles all resolvers
|
|
6
3
|
generatedTypesFileMeta, }, { result, config: { resolverGeneration, typeMappersMap, graphQLObjectTypeResolversToGenerate, emitLegacyCommonJSImports, importExtension, }, }) => {
|
|
7
|
-
|
|
8
|
-
const matchedPatternToGenerate = (0, utils_1.isMatchResolverNamePattern)({
|
|
4
|
+
const matchedPatternToGenerate = isMatchResolverNamePattern({
|
|
9
5
|
pattern: resolverGeneration.object,
|
|
10
6
|
value: normalizedResolverName.withModule,
|
|
11
7
|
});
|
|
@@ -13,12 +9,12 @@ generatedTypesFileMeta, }, { result, config: { resolverGeneration, typeMappersMa
|
|
|
13
9
|
if (!matchedPatternToGenerate &&
|
|
14
10
|
!mapperDetails &&
|
|
15
11
|
!isFileAlreadyOnFilesystem) {
|
|
16
|
-
|
|
12
|
+
logger.debug(`Skipped Object resolver generation: "${normalizedResolverName.withModule}". "Pattern: ${resolverGeneration.object}".`);
|
|
17
13
|
return;
|
|
18
14
|
}
|
|
19
15
|
const forcedGenerationWarning = (() => {
|
|
20
16
|
if (!matchedPatternToGenerate && mapperDetails) {
|
|
21
|
-
|
|
17
|
+
logger.debug(`Object resolver generation was NOT skipped because there is a associated mapper: "${normalizedResolverName.withModule}". "Pattern: ${resolverGeneration.object}". Mapper: ${mapperDetails.mapper.name}`);
|
|
22
18
|
return `/*
|
|
23
19
|
* Note: This object type is generated because "${mapperDetails.mapper.name}" is declared. This is to ensure runtime safety.
|
|
24
20
|
*
|
|
@@ -39,7 +35,7 @@ generatedTypesFileMeta, }, { result, config: { resolverGeneration, typeMappersMa
|
|
|
39
35
|
fieldsToPick.push('__isTypeOf');
|
|
40
36
|
}
|
|
41
37
|
if (hasFieldsToPick &&
|
|
42
|
-
|
|
38
|
+
generatedTypesFileMeta.generatedResolverTypes.userDefined[normalizedResolverName.base].federation?.hasResolveReference) {
|
|
43
39
|
fieldsToPick.push('__resolveReference');
|
|
44
40
|
}
|
|
45
41
|
// - `typeString` contains the resolver type
|
|
@@ -79,13 +75,13 @@ generatedTypesFileMeta, }, { result, config: { resolverGeneration, typeMappersMa
|
|
|
79
75
|
const variableStatement = `${forcedGenerationWarning}export const ${resolverName}: ${typeString} = {
|
|
80
76
|
/* Implement ${resolverName} resolver logic here */
|
|
81
77
|
};`;
|
|
82
|
-
const resolverTypeImportDeclaration =
|
|
78
|
+
const resolverTypeImportDeclaration = printImportLine({
|
|
83
79
|
isTypeImport: true,
|
|
84
80
|
module: resolversTypeMeta.module,
|
|
85
81
|
moduleType: resolversTypeMeta.moduleType,
|
|
86
82
|
namedImports: [resolversTypeMeta.typeNamedImport],
|
|
87
83
|
emitLegacyCommonJSImports,
|
|
88
|
-
importExtension
|
|
84
|
+
importExtension,
|
|
89
85
|
});
|
|
90
86
|
result.files[fieldFilePath] = {
|
|
91
87
|
__filetype: 'objectType',
|
|
@@ -112,5 +108,3 @@ generatedTypesFileMeta, }, { result, config: { resolverGeneration, typeMappersMa
|
|
|
112
108
|
},
|
|
113
109
|
};
|
|
114
110
|
};
|
|
115
|
-
exports.handleGraphQLObjectType = handleGraphQLObjectType;
|
|
116
|
-
//# sourceMappingURL=handleGraphQLObjectType.js.map
|
|
@@ -1,22 +1,19 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
exports.handleGraphQLRootObjectTypeField = void 0;
|
|
4
|
-
const utils_1 = require("../utils");
|
|
5
|
-
const handleGraphQLRootObjectTypeField = ({ fieldFilePath, isFileAlreadyOnFilesystem, resolverName, belongsToRootObject, normalizedResolverName, resolversTypeMeta, moduleName, relativePathFromBaseToModule, }, { result, config: { resolverGeneration, emitLegacyCommonJSImports, importExtension } }) => {
|
|
1
|
+
import { printImportLine, isMatchResolverNamePattern, logger, } from '../utils/index.js';
|
|
2
|
+
export const handleGraphQLRootObjectTypeField = ({ fieldFilePath, isFileAlreadyOnFilesystem, resolverName, belongsToRootObject, normalizedResolverName, resolversTypeMeta, moduleName, relativePathFromBaseToModule, }, { result, config: { resolverGeneration, emitLegacyCommonJSImports, importExtension }, }) => {
|
|
6
3
|
if ((belongsToRootObject === 'Query' &&
|
|
7
|
-
!
|
|
4
|
+
!isMatchResolverNamePattern({
|
|
8
5
|
pattern: resolverGeneration.query,
|
|
9
6
|
value: normalizedResolverName.withModule,
|
|
10
7
|
}) &&
|
|
11
8
|
!isFileAlreadyOnFilesystem) ||
|
|
12
9
|
(belongsToRootObject === 'Mutation' &&
|
|
13
|
-
!
|
|
10
|
+
!isMatchResolverNamePattern({
|
|
14
11
|
pattern: resolverGeneration.mutation,
|
|
15
12
|
value: normalizedResolverName.withModule,
|
|
16
13
|
}) &&
|
|
17
14
|
!isFileAlreadyOnFilesystem) ||
|
|
18
15
|
(belongsToRootObject === 'Subscription' &&
|
|
19
|
-
!
|
|
16
|
+
!isMatchResolverNamePattern({
|
|
20
17
|
pattern: resolverGeneration.subscription,
|
|
21
18
|
value: normalizedResolverName.withModule,
|
|
22
19
|
}) &&
|
|
@@ -28,7 +25,7 @@ const handleGraphQLRootObjectTypeField = ({ fieldFilePath, isFileAlreadyOnFilesy
|
|
|
28
25
|
: belongsToRootObject === 'Subscription'
|
|
29
26
|
? resolverGeneration.subscription
|
|
30
27
|
: 'Unknown';
|
|
31
|
-
|
|
28
|
+
logger.debug(`Skipped ${belongsToRootObject} resolver generation: "${normalizedResolverName.withModule}". Pattern: "${resolverGenerationPattern}".`);
|
|
32
29
|
return;
|
|
33
30
|
}
|
|
34
31
|
const suggestion = `/* Implement ${normalizedResolverName.base} resolver logic here */`;
|
|
@@ -39,13 +36,13 @@ const handleGraphQLRootObjectTypeField = ({ fieldFilePath, isFileAlreadyOnFilesy
|
|
|
39
36
|
subscribe: async (_parent, _arg, _ctx) => { ${suggestion} },
|
|
40
37
|
}`;
|
|
41
38
|
}
|
|
42
|
-
const resolverTypeImportDeclaration =
|
|
39
|
+
const resolverTypeImportDeclaration = printImportLine({
|
|
43
40
|
isTypeImport: true,
|
|
44
41
|
module: resolversTypeMeta.module,
|
|
45
42
|
moduleType: resolversTypeMeta.moduleType,
|
|
46
43
|
namedImports: [resolversTypeMeta.typeNamedImport],
|
|
47
44
|
emitLegacyCommonJSImports,
|
|
48
|
-
importExtension
|
|
45
|
+
importExtension,
|
|
49
46
|
});
|
|
50
47
|
result.files[fieldFilePath] = {
|
|
51
48
|
__filetype: 'rootObjectTypeFieldResolver',
|
|
@@ -72,5 +69,3 @@ const handleGraphQLRootObjectTypeField = ({ fieldFilePath, isFileAlreadyOnFilesy
|
|
|
72
69
|
},
|
|
73
70
|
};
|
|
74
71
|
};
|
|
75
|
-
exports.handleGraphQLRootObjectTypeField = handleGraphQLRootObjectTypeField;
|
|
76
|
-
//# sourceMappingURL=handleGraphQLRootObjectTypeField.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import type { GraphQLTypeHandler } from './types';
|
|
1
|
+
import type { GraphQLTypeHandler } from './types.js';
|
|
2
2
|
export declare const handleGraphQLScalarType: GraphQLTypeHandler;
|
|
@@ -1,24 +1,21 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.handleGraphQLScalarType = void 0;
|
|
4
|
-
const utils_1 = require("../utils");
|
|
1
|
+
import { printImportLine, isMatchResolverNamePattern, logger, } from '../utils/index.js';
|
|
5
2
|
const graphQLScalarType = 'GraphQLScalarType';
|
|
6
|
-
const handleGraphQLScalarType = ({ fieldFilePath, isFileAlreadyOnFilesystem, resolverName, normalizedResolverName, moduleName, relativePathFromBaseToModule, }, { result, config: { resolverGeneration, emitLegacyCommonJSImports, importExtension } }) => {
|
|
7
|
-
if (!
|
|
3
|
+
export const handleGraphQLScalarType = ({ fieldFilePath, isFileAlreadyOnFilesystem, resolverName, normalizedResolverName, moduleName, relativePathFromBaseToModule, }, { result, config: { resolverGeneration, emitLegacyCommonJSImports, importExtension }, }) => {
|
|
4
|
+
if (!isMatchResolverNamePattern({
|
|
8
5
|
pattern: resolverGeneration.scalar,
|
|
9
6
|
value: normalizedResolverName.withModule,
|
|
10
7
|
}) &&
|
|
11
8
|
!isFileAlreadyOnFilesystem) {
|
|
12
|
-
|
|
9
|
+
logger.debug(`Skipped Scalar resolver generation: "${normalizedResolverName.withModule}". Pattern: "${resolverGeneration.scalar}".`);
|
|
13
10
|
return;
|
|
14
11
|
}
|
|
15
|
-
const resolverTypeImportDeclaration =
|
|
12
|
+
const resolverTypeImportDeclaration = printImportLine({
|
|
16
13
|
isTypeImport: false,
|
|
17
14
|
module: 'graphql',
|
|
18
15
|
moduleType: 'module',
|
|
19
16
|
namedImports: [graphQLScalarType],
|
|
20
17
|
emitLegacyCommonJSImports,
|
|
21
|
-
importExtension
|
|
18
|
+
importExtension,
|
|
22
19
|
});
|
|
23
20
|
const variableStatement = `export const ${resolverName} = new ${graphQLScalarType}({
|
|
24
21
|
name: '${resolverName}',
|
|
@@ -56,5 +53,3 @@ const handleGraphQLScalarType = ({ fieldFilePath, isFileAlreadyOnFilesystem, res
|
|
|
56
53
|
},
|
|
57
54
|
};
|
|
58
55
|
};
|
|
59
|
-
exports.handleGraphQLScalarType = handleGraphQLScalarType;
|
|
60
|
-
//# sourceMappingURL=handleGraphQLScalarType.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import type { GraphQLTypeHandler } from './types';
|
|
1
|
+
import type { GraphQLTypeHandler } from './types.js';
|
|
2
2
|
export declare const handleGraphQLUnionType: GraphQLTypeHandler;
|
|
@@ -1,17 +1,14 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
const utils_1 = require("../utils");
|
|
5
|
-
const handleGraphQLUnionType = ({ fieldFilePath, isFileAlreadyOnFilesystem, resolverName, normalizedResolverName, resolversTypeMeta, moduleName, relativePathFromBaseToModule, }, { result, config: { resolverGeneration, emitLegacyCommonJSImports, importExtension } }) => {
|
|
6
|
-
if (!(0, utils_1.isMatchResolverNamePattern)({
|
|
1
|
+
import { printImportLine, isMatchResolverNamePattern, logger, } from '../utils/index.js';
|
|
2
|
+
export const handleGraphQLUnionType = ({ fieldFilePath, isFileAlreadyOnFilesystem, resolverName, normalizedResolverName, resolversTypeMeta, moduleName, relativePathFromBaseToModule, }, { result, config: { resolverGeneration, emitLegacyCommonJSImports, importExtension }, }) => {
|
|
3
|
+
if (!isMatchResolverNamePattern({
|
|
7
4
|
pattern: resolverGeneration.union,
|
|
8
5
|
value: normalizedResolverName.withModule,
|
|
9
6
|
}) &&
|
|
10
7
|
!isFileAlreadyOnFilesystem) {
|
|
11
|
-
|
|
8
|
+
logger.debug(`Skipped Union resolver generation: "${normalizedResolverName.withModule}". Pattern: "${resolverGeneration.union}".`);
|
|
12
9
|
return;
|
|
13
10
|
}
|
|
14
|
-
const resolverTypeImportDeclaration =
|
|
11
|
+
const resolverTypeImportDeclaration = printImportLine({
|
|
15
12
|
isTypeImport: true,
|
|
16
13
|
module: resolversTypeMeta.module,
|
|
17
14
|
moduleType: resolversTypeMeta.moduleType,
|
|
@@ -43,5 +40,3 @@ const handleGraphQLUnionType = ({ fieldFilePath, isFileAlreadyOnFilesystem, reso
|
|
|
43
40
|
},
|
|
44
41
|
};
|
|
45
42
|
};
|
|
46
|
-
exports.handleGraphQLUnionType = handleGraphQLUnionType;
|
|
47
|
-
//# sourceMappingURL=handleGraphQLUnionType.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { generateResolverFiles } from './generateResolverFiles.js';
|
|
@@ -1,20 +1,16 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
const getVariableStatementWithExpectedIdentifier_1 = require("./getVariableStatementWithExpectedIdentifier");
|
|
8
|
-
const addObjectTypeResolversPropertyAssignmentNodesIfNotImplemented_1 = require("./addObjectTypeResolversPropertyAssignmentNodesIfNotImplemented");
|
|
9
|
-
const ensureEnumTypeResolversAreGenerated_1 = require("./ensureEnumTypeResolversAreGenerated");
|
|
10
|
-
const getImportStatementWithExpectedNamedImport_1 = require("./getImportStatementWithExpectedNamedImport");
|
|
1
|
+
import * as path from 'path';
|
|
2
|
+
import { cwd } from '../utils/index.js';
|
|
3
|
+
import { getVariableStatementWithExpectedIdentifier } from './getVariableStatementWithExpectedIdentifier.js';
|
|
4
|
+
import { addObjectTypeResolversPropertyAssignmentNodesIfNotImplemented, } from './addObjectTypeResolversPropertyAssignmentNodesIfNotImplemented.js';
|
|
5
|
+
import { ensureEnumTypeResolversAreGenerated } from './ensureEnumTypeResolversAreGenerated.js';
|
|
6
|
+
import { getImportStatementWithExpectedNamedImport } from './getImportStatementWithExpectedNamedImport.js';
|
|
11
7
|
/**
|
|
12
8
|
* postProcessFiles does static analysis on existing files OR to-be-generated files
|
|
13
9
|
* e.g.
|
|
14
10
|
* - Make sure correct variables are exported
|
|
15
11
|
* - Make sure object types have field resolvers if mapper type's field cannot be used as schema type's field
|
|
16
12
|
*/
|
|
17
|
-
const postProcessFiles = ({ config: { tsMorph: { project }, fixObjectTypeResolvers, }, result, }) => {
|
|
13
|
+
export const postProcessFiles = ({ config: { tsMorph: { project }, fixObjectTypeResolvers, }, result, }) => {
|
|
18
14
|
const sourceFilesToProcess = [];
|
|
19
15
|
// 1. Load resolver files into ts-morph project so we can run static analysis
|
|
20
16
|
Object.entries(result.files).forEach(([filePath, file]) => {
|
|
@@ -46,7 +42,7 @@ const postProcessFiles = ({ config: { tsMorph: { project }, fixObjectTypeResolve
|
|
|
46
42
|
// these property assigments are to be removed if there's no TypeScript error
|
|
47
43
|
const addedPropertyAssignmentNodes = {};
|
|
48
44
|
sourceFilesToProcess.forEach(({ sourceFile, resolverFile }) => {
|
|
49
|
-
const normalizedRelativePath = path.posix.relative(
|
|
45
|
+
const normalizedRelativePath = path.posix.relative(cwd(), sourceFile.getFilePath());
|
|
50
46
|
const { addedVariableStatement } = ensureExportedResolver(sourceFile, resolverFile);
|
|
51
47
|
if (resolverFile.__filetype !== 'scalarResolver' ||
|
|
52
48
|
// For scalarResolver, only add `import { GraphQLScalarType } ...` if variable statement was added.
|
|
@@ -57,7 +53,7 @@ const postProcessFiles = ({ config: { tsMorph: { project }, fixObjectTypeResolve
|
|
|
57
53
|
if ((fixObjectTypeResolvers.object === 'smart' ||
|
|
58
54
|
fixObjectTypeResolvers.object === 'fast') &&
|
|
59
55
|
resolverFile.__filetype === 'objectType') {
|
|
60
|
-
|
|
56
|
+
addObjectTypeResolversPropertyAssignmentNodesIfNotImplemented({
|
|
61
57
|
addedPropertyAssignmentNodes,
|
|
62
58
|
sourceFile,
|
|
63
59
|
resolverFile,
|
|
@@ -67,17 +63,19 @@ const postProcessFiles = ({ config: { tsMorph: { project }, fixObjectTypeResolve
|
|
|
67
63
|
if ((fixObjectTypeResolvers.enum === 'smart' ||
|
|
68
64
|
fixObjectTypeResolvers.enum === 'fast') &&
|
|
69
65
|
resolverFile.__filetype === 'enumResolver') {
|
|
70
|
-
|
|
66
|
+
ensureEnumTypeResolversAreGenerated(sourceFile, resolverFile);
|
|
71
67
|
}
|
|
72
68
|
// Overwrite existing files with fixes
|
|
73
|
-
result.files[normalizedRelativePath] =
|
|
69
|
+
result.files[normalizedRelativePath] = {
|
|
70
|
+
...resolverFile,
|
|
71
|
+
content: sourceFile.getText(),
|
|
72
|
+
};
|
|
74
73
|
});
|
|
75
74
|
// 3. ensure object type's added property assignments are removed if there's no related TypeScript error
|
|
76
75
|
// We do this only once at the project level instead of sourceFile level to speed up the process
|
|
77
76
|
if (fixObjectTypeResolvers.object === 'smart') {
|
|
78
77
|
project.getPreEmitDiagnostics().forEach((d) => {
|
|
79
|
-
|
|
80
|
-
const filename = (_a = d.getSourceFile()) === null || _a === void 0 ? void 0 : _a.getFilePath().toString();
|
|
78
|
+
const filename = d.getSourceFile()?.getFilePath().toString();
|
|
81
79
|
if (!filename || !addedPropertyAssignmentNodes[filename]) {
|
|
82
80
|
return;
|
|
83
81
|
}
|
|
@@ -103,18 +101,19 @@ const postProcessFiles = ({ config: { tsMorph: { project }, fixObjectTypeResolve
|
|
|
103
101
|
}
|
|
104
102
|
// 4. Apply to result files the updated content done in step 2. and 3. above
|
|
105
103
|
sourceFilesToProcess.forEach(({ sourceFile, resolverFile }) => {
|
|
106
|
-
const normalizedRelativePath = path.posix.relative(
|
|
104
|
+
const normalizedRelativePath = path.posix.relative(cwd(), sourceFile.getFilePath());
|
|
107
105
|
// Overwrite existing files with fixes
|
|
108
|
-
result.files[normalizedRelativePath] =
|
|
106
|
+
result.files[normalizedRelativePath] = {
|
|
107
|
+
...resolverFile,
|
|
108
|
+
content: sourceFile.getText(),
|
|
109
|
+
};
|
|
109
110
|
});
|
|
110
111
|
};
|
|
111
|
-
exports.postProcessFiles = postProcessFiles;
|
|
112
112
|
/**
|
|
113
113
|
* Ensure correctly named resolvers are exported
|
|
114
114
|
*/
|
|
115
115
|
const ensureExportedResolver = (sourceFile, resolverFile) => {
|
|
116
|
-
|
|
117
|
-
const { variableStatement, isExported } = (0, getVariableStatementWithExpectedIdentifier_1.getVariableStatementWithExpectedIdentifier)(sourceFile, resolverFile);
|
|
116
|
+
const { variableStatement, isExported } = getVariableStatementWithExpectedIdentifier(sourceFile, resolverFile);
|
|
118
117
|
/**
|
|
119
118
|
* If we found the variable statement replace its type with the expected resolver type string
|
|
120
119
|
*
|
|
@@ -123,11 +122,11 @@ const ensureExportedResolver = (sourceFile, resolverFile) => {
|
|
|
123
122
|
* e.g. `Book` might become `Pick<Book, 'title' | 'author'>`
|
|
124
123
|
*/
|
|
125
124
|
let ensureCorrectResolverType = undefined;
|
|
126
|
-
if (variableStatement &&
|
|
125
|
+
if (variableStatement && resolverFile.meta.resolverType?.final) {
|
|
127
126
|
const variableDeclaration = variableStatement
|
|
128
127
|
.getDeclarationList()
|
|
129
128
|
.getDeclarations()[0];
|
|
130
|
-
const typeNode = variableDeclaration
|
|
129
|
+
const typeNode = variableDeclaration?.getTypeNode();
|
|
131
130
|
ensureCorrectResolverType = typeNode
|
|
132
131
|
? () => {
|
|
133
132
|
const trimTypeString = (value) => value.replace(/[\n\r\s]/g, '');
|
|
@@ -193,10 +192,9 @@ const ensureExportedResolver = (sourceFile, resolverFile) => {
|
|
|
193
192
|
* Ensure correctly imported resolves type generated by typescript-resolvers plugin
|
|
194
193
|
*/
|
|
195
194
|
const ensureImportedType = (sourceFile, resolverFile) => {
|
|
196
|
-
const { importDeclaration } =
|
|
195
|
+
const { importDeclaration } = getImportStatementWithExpectedNamedImport(sourceFile, resolverFile);
|
|
197
196
|
if (!importDeclaration) {
|
|
198
197
|
sourceFile.insertStatements(0, resolverFile.meta.resolverTypeImportDeclaration);
|
|
199
198
|
resolverFile.filesystem.contentUpdated = true;
|
|
200
199
|
}
|
|
201
200
|
};
|
|
202
|
-
//# sourceMappingURL=postProcessFiles.js.map
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import type { SourceFile, Project } from 'ts-morph';
|
|
2
2
|
import type * as typeScriptResolversPlugin from '@graphql-codegen/typescript-resolvers';
|
|
3
|
-
import type { GraphQLObjectTypeResolversToGenerate } from '../getGraphQLObjectTypeResolversToGenerate';
|
|
4
|
-
import type { TypeMappersMap } from '../parseTypeMappers';
|
|
5
|
-
import type { ImportExtension, ImportLineMeta, RootObjectType } from '../utils';
|
|
6
|
-
import type { ParsedPresetConfig } from '../validatePresetConfig';
|
|
7
|
-
import type { NormalizedResolverName } from '../parseGraphQLSchema';
|
|
8
|
-
import type { ParsedGraphQLSchemaMeta } from '../parseGraphQLSchema';
|
|
3
|
+
import type { GraphQLObjectTypeResolversToGenerate } from '../getGraphQLObjectTypeResolversToGenerate/index.js';
|
|
4
|
+
import type { TypeMappersMap } from '../parseTypeMappers/index.js';
|
|
5
|
+
import type { ImportExtension, ImportLineMeta, RootObjectType } from '../utils/index.js';
|
|
6
|
+
import type { ParsedPresetConfig } from '../validatePresetConfig/index.js';
|
|
7
|
+
import type { NormalizedResolverName } from '../parseGraphQLSchema/index.js';
|
|
8
|
+
import type { ParsedGraphQLSchemaMeta } from '../parseGraphQLSchema/index.js';
|
|
9
9
|
export type GeneratedTypesFileMeta = {
|
|
10
10
|
generatedResolverTypes: NonNullable<Awaited<ReturnType<typeof typeScriptResolversPlugin.plugin>>['meta']>['generatedResolverTypes'];
|
|
11
11
|
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { GraphQLTypeHandler, GenerateResolverFilesContext } from './types';
|
|
2
|
-
import type { ResolverDetails } from '../parseGraphQLSchema';
|
|
1
|
+
import type { GraphQLTypeHandler, GenerateResolverFilesContext } from './types.js';
|
|
2
|
+
import type { ResolverDetails } from '../parseGraphQLSchema/index.js';
|
|
3
3
|
export declare const visitNamedType: <T = null>({ moduleName, relativePathFromBaseToModule, normalizedResolverName, resolverFile, relativePathToResolverTypesFile, typeNamedImport, typeString, belongsToRootObject, visitor, }: ResolverDetails & {
|
|
4
4
|
belongsToRootObject: T;
|
|
5
5
|
visitor: GraphQLTypeHandler<T>;
|
|
@@ -1,11 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
exports.visitNamedType = void 0;
|
|
4
|
-
const addExternalResolverImport_1 = require("./addExternalResolverImport");
|
|
5
|
-
const visitNamedType = ({ moduleName, relativePathFromBaseToModule, normalizedResolverName, resolverFile, relativePathToResolverTypesFile, typeNamedImport, typeString, belongsToRootObject, visitor, }, ctx) => {
|
|
1
|
+
import { addExternalResolverImport } from './addExternalResolverImport.js';
|
|
2
|
+
export const visitNamedType = ({ moduleName, relativePathFromBaseToModule, normalizedResolverName, resolverFile, relativePathToResolverTypesFile, typeNamedImport, typeString, belongsToRootObject, visitor, }, ctx) => {
|
|
6
3
|
const unmanagedResolversImportSyntax = ctx.config.unmanagedResolvers[normalizedResolverName.base];
|
|
7
4
|
if (unmanagedResolversImportSyntax) {
|
|
8
|
-
|
|
5
|
+
addExternalResolverImport({
|
|
9
6
|
moduleName,
|
|
10
7
|
relativePathFromBaseToModule,
|
|
11
8
|
normalizedResolverName: normalizedResolverName.base,
|
|
@@ -33,5 +30,3 @@ const visitNamedType = ({ moduleName, relativePathFromBaseToModule, normalizedRe
|
|
|
33
30
|
generatedTypesFileMeta: ctx.config.generatedTypesFileMeta,
|
|
34
31
|
}, ctx);
|
|
35
32
|
};
|
|
36
|
-
exports.visitNamedType = visitNamedType;
|
|
37
|
-
//# sourceMappingURL=visitNamedType.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { mergeTypeDefs } from '@graphql-tools/merge';
|
|
2
|
+
export const generateTypeDefsContent = ({ mergedSDL, }) => {
|
|
3
|
+
const documentNode = mergeTypeDefs(mergedSDL, { noLocation: true });
|
|
4
|
+
const documentNodeString = JSON.stringify(documentNode);
|
|
5
|
+
return `import type { DocumentNode } from 'graphql';
|
|
6
|
+
export const typeDefs = ${documentNodeString} as unknown as DocumentNode`;
|
|
7
|
+
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type { StandardFile } from '../generateResolverFiles';
|
|
2
|
-
import type { ParseSourcesResult } from '../parseSources';
|
|
3
|
-
import type { TypeDefsFileMode } from '../validatePresetConfig';
|
|
1
|
+
import type { StandardFile } from '../generateResolverFiles/index.js';
|
|
2
|
+
import type { ParseSourcesResult } from '../parseSources/index.js';
|
|
3
|
+
import type { TypeDefsFileMode } from '../validatePresetConfig/index.js';
|
|
4
4
|
interface GenerateTypeDefsFilesParams {
|
|
5
5
|
baseOutputDir: string;
|
|
6
6
|
typeDefsFilePath: string;
|
|
@@ -1,14 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
const
|
|
5
|
-
const path = tslib_1.__importStar(require("path"));
|
|
6
|
-
const utils_1 = require("../utils");
|
|
7
|
-
const generateTypeDefsContent_1 = require("./generateTypeDefsContent");
|
|
8
|
-
const generateTypeDefsFiles = ({ baseOutputDir, typeDefsFilePath, typeDefsFileMode, sourceMap, blacklistedModules, whitelistedModules, }) => {
|
|
1
|
+
import * as path from 'path';
|
|
2
|
+
import { cwd, isWhitelistedModule } from '../utils/index.js';
|
|
3
|
+
import { generateTypeDefsContent } from './generateTypeDefsContent.js';
|
|
4
|
+
export const generateTypeDefsFiles = ({ baseOutputDir, typeDefsFilePath, typeDefsFileMode, sourceMap, blacklistedModules, whitelistedModules, }) => {
|
|
9
5
|
const filesContent = {};
|
|
10
6
|
Object.values(sourceMap).forEach(({ moduleName, source, sourcePath }) => {
|
|
11
|
-
const isWhitelisted =
|
|
7
|
+
const isWhitelisted = isWhitelistedModule({
|
|
12
8
|
moduleName,
|
|
13
9
|
whitelistedModules,
|
|
14
10
|
blacklistedModules,
|
|
@@ -33,7 +29,7 @@ const generateTypeDefsFiles = ({ baseOutputDir, typeDefsFilePath, typeDefsFileMo
|
|
|
33
29
|
// sourcePath.dir is absolute which does not work well to use as filenames for Windows
|
|
34
30
|
// example of cases where it does not work:
|
|
35
31
|
// - when `prettier` is run in afterAllFileWrite hooks with absolute Windows path
|
|
36
|
-
const relativeSourcePathDir = path.posix.relative(
|
|
32
|
+
const relativeSourcePathDir = path.posix.relative(cwd(), sourcePath.dir);
|
|
37
33
|
appendSDLToFile({
|
|
38
34
|
filesContent,
|
|
39
35
|
filePath: path.posix.join(relativeSourcePathDir, typeDefsFilePath),
|
|
@@ -52,13 +48,12 @@ const generateTypeDefsFiles = ({ baseOutputDir, typeDefsFilePath, typeDefsFileMo
|
|
|
52
48
|
type: 'virtual',
|
|
53
49
|
contentUpdated: false,
|
|
54
50
|
},
|
|
55
|
-
content:
|
|
51
|
+
content: generateTypeDefsContent({ mergedSDL: content }),
|
|
56
52
|
mainImportIdentifier: 'typeDefs',
|
|
57
53
|
};
|
|
58
54
|
});
|
|
59
55
|
return result;
|
|
60
56
|
};
|
|
61
|
-
exports.generateTypeDefsFiles = generateTypeDefsFiles;
|
|
62
57
|
const appendSDLToFile = ({ rawSDL, filePath, filesContent, }) => {
|
|
63
58
|
if (!rawSDL) {
|
|
64
59
|
return;
|
|
@@ -68,4 +63,3 @@ const appendSDLToFile = ({ rawSDL, filePath, filesContent, }) => {
|
|
|
68
63
|
}
|
|
69
64
|
filesContent[filePath] += `${rawSDL}\n`;
|
|
70
65
|
};
|
|
71
|
-
//# sourceMappingURL=generateTypeDefsFiles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './generateTypeDefsFiles.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './generateTypeDefsFiles.js';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { type SourceFile, type Project } from 'ts-morph';
|
|
2
|
-
import type { TypeMappersMap } from '../parseTypeMappers';
|
|
3
|
-
import type { ParsedGraphQLSchemaMeta } from '../parseGraphQLSchema';
|
|
4
|
-
import type { GeneratedTypesFileMeta } from '../generateResolverFiles';
|
|
2
|
+
import type { TypeMappersMap } from '../parseTypeMappers/index.js';
|
|
3
|
+
import type { ParsedGraphQLSchemaMeta } from '../parseGraphQLSchema/index.js';
|
|
4
|
+
import type { GeneratedTypesFileMeta } from '../generateResolverFiles/index.js';
|
|
5
5
|
export type GraphQLObjectTypeResolversToGenerate = Record<string, Record<string, {
|
|
6
6
|
resolverName: string;
|
|
7
7
|
resolverDeclaration: string;
|