@eddeee888/gcg-typescript-resolver-files 0.16.0 → 0.18.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/CHANGELOG.md +816 -0
- package/DEVELOPMENT.md +49 -0
- 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/tsconfig.lib.tsbuildinfo +1 -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/eslint.config.mjs +22 -0
- package/package.json +25 -18
- package/project.json +8 -0
- package/src/addVirtualTypesFileToTsMorphProject/addVirtualTypesFileToTsMorphProject.ts +109 -0
- package/src/addVirtualTypesFileToTsMorphProject/index.ts +1 -0
- package/src/defineConfig.spec.ts +76 -0
- package/src/defineConfig.ts +37 -0
- package/src/generateResolverFiles/addExternalResolverImport.ts +185 -0
- package/src/generateResolverFiles/addObjectTypeResolversPropertyAssignmentNodesIfNotImplemented.spec.ts +1174 -0
- package/src/generateResolverFiles/addObjectTypeResolversPropertyAssignmentNodesIfNotImplemented.ts +144 -0
- package/src/generateResolverFiles/addResolverMainFiles.ts +343 -0
- package/src/generateResolverFiles/ensureEnumTypeResolversAreGenerated.ts +51 -0
- package/src/generateResolverFiles/generateResolverFiles.ts +148 -0
- package/src/generateResolverFiles/getImportStatementWithExpectedNamedImport.spec.ts +127 -0
- package/src/generateResolverFiles/getImportStatementWithExpectedNamedImport.ts +25 -0
- package/src/generateResolverFiles/getVariableStatementWithExpectedIdentifier.spec.ts +147 -0
- package/src/generateResolverFiles/getVariableStatementWithExpectedIdentifier.ts +34 -0
- package/src/generateResolverFiles/handleGraphQLEnumType.ts +100 -0
- package/src/generateResolverFiles/handleGraphQLInterfaceType.ts +70 -0
- package/src/generateResolverFiles/handleGraphQLObjectType.ts +171 -0
- package/src/generateResolverFiles/handleGraphQLRootObjectTypeField.ts +105 -0
- package/src/generateResolverFiles/handleGraphQLScalarType.ts +81 -0
- package/src/generateResolverFiles/handleGraphQLUnionType.ts +68 -0
- package/src/generateResolverFiles/index.ts +2 -0
- package/src/generateResolverFiles/postProcessFiles.ts +287 -0
- package/src/generateResolverFiles/types.ts +203 -0
- package/src/generateResolverFiles/visitNamedType.ts +66 -0
- package/src/generateTypeDefsFiles/generateTypeDefsContent.ts +15 -0
- package/src/generateTypeDefsFiles/generateTypeDefsFiles.ts +100 -0
- package/src/generateTypeDefsFiles/index.ts +1 -0
- package/src/getGraphQLObjectTypeResolversToGenerate/getGraphQLObjectTypeResolversToGenerate.ts +361 -0
- package/src/getGraphQLObjectTypeResolversToGenerate/getNodePropertyMap.spec.ts +115 -0
- package/src/getGraphQLObjectTypeResolversToGenerate/getNodePropertyMap.ts +88 -0
- package/src/getGraphQLObjectTypeResolversToGenerate/index.ts +1 -0
- package/src/index.ts +3 -0
- package/src/normalizeAddConfigPath/index.ts +1 -0
- package/src/normalizeAddConfigPath/normalizeAddConfigPath.ts +29 -0
- package/src/parseGraphQLSchema/index.ts +2 -0
- package/src/parseGraphQLSchema/normalizeResolverName.ts +28 -0
- package/src/parseGraphQLSchema/parseGraphQLSchema.ts +531 -0
- package/src/parseGraphQLSchema/parseLocationForOutputDir.ts +76 -0
- package/src/parseSources/index.ts +1 -0
- package/src/parseSources/parseSources.ts +83 -0
- package/src/parseTypeMappers/collectTypeMappersFromSourceFile.spec.ts +789 -0
- package/src/parseTypeMappers/collectTypeMappersFromSourceFile.ts +197 -0
- package/src/parseTypeMappers/index.ts +1 -0
- package/src/parseTypeMappers/parseTypeMappers.ts +75 -0
- package/src/preset.ts +317 -0
- package/src/utils/cwd.ts +8 -0
- package/src/utils/fmt.ts +16 -0
- package/src/utils/index.ts +12 -0
- package/src/utils/isMatchResolverNamePattern.ts +27 -0
- package/src/utils/isNativeNamedType.ts +21 -0
- package/src/utils/isRootObjectType.ts +8 -0
- package/src/utils/isWhitelistedModule.spec.ts +71 -0
- package/src/utils/isWhitelistedModule.ts +21 -0
- package/src/utils/logger.ts +14 -0
- package/src/utils/normalizeImportExtension.spec.ts +42 -0
- package/src/utils/normalizeImportExtension.ts +16 -0
- package/src/utils/normalizeRelativePath.ts +6 -0
- package/src/utils/parseLocationForWhitelistedModule.spec.ts +130 -0
- package/src/utils/parseLocationForWhitelistedModule.ts +38 -0
- package/src/utils/printImportLine.spec.ts +150 -0
- package/src/utils/printImportLine.ts +78 -0
- package/src/utils/relativeModulePath.ts +7 -0
- package/src/validateAndMergeParsedConfigs/index.ts +1 -0
- package/src/validateAndMergeParsedConfigs/validateAndMergeParsedConfigs.spec.ts +211 -0
- package/src/validateAndMergeParsedConfigs/validateAndMergeParsedConfigs.ts +92 -0
- package/src/validatePresetConfig/index.ts +1 -0
- package/src/validatePresetConfig/validatePresetConfig.spec.ts +706 -0
- package/src/validatePresetConfig/validatePresetConfig.ts +571 -0
- package/tsconfig.json +14 -0
- package/tsconfig.lib.json +18 -0
- package/tsconfig.spec.json +20 -0
- package/vite.config.ts +24 -0
- 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
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,816 @@
|
|
|
1
|
+
# @eddeee888/gcg-typescript-resolver-files
|
|
2
|
+
|
|
3
|
+
## 0.18.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- 04295b4: Migrate to ESM
|
|
8
|
+
|
|
9
|
+
### Patch Changes
|
|
10
|
+
|
|
11
|
+
- Updated dependencies [04295b4]
|
|
12
|
+
- @eddeee888/gcg-server-config@0.6.0
|
|
13
|
+
|
|
14
|
+
## 0.17.0
|
|
15
|
+
|
|
16
|
+
### Minor Changes
|
|
17
|
+
|
|
18
|
+
- 324f084: Support graphql@17
|
|
19
|
+
|
|
20
|
+
### Patch Changes
|
|
21
|
+
|
|
22
|
+
- Updated dependencies [324f084]
|
|
23
|
+
- @eddeee888/gcg-server-config@0.5.0
|
|
24
|
+
|
|
25
|
+
## 0.16.0
|
|
26
|
+
|
|
27
|
+
### Minor Changes
|
|
28
|
+
|
|
29
|
+
- b49fb8a: Drop Node 20 support
|
|
30
|
+
|
|
31
|
+
### Patch Changes
|
|
32
|
+
|
|
33
|
+
- b49fb8a: Bump codegen packages
|
|
34
|
+
- Updated dependencies [b49fb8a]
|
|
35
|
+
- Updated dependencies [b49fb8a]
|
|
36
|
+
- @eddeee888/gcg-server-config@0.4.0
|
|
37
|
+
|
|
38
|
+
## 0.15.1
|
|
39
|
+
|
|
40
|
+
### Patch Changes
|
|
41
|
+
|
|
42
|
+
- eb89da1: Sync/bump Codegen package versions to avoid type issues
|
|
43
|
+
- Updated dependencies [eb89da1]
|
|
44
|
+
- @eddeee888/gcg-server-config@0.3.1
|
|
45
|
+
|
|
46
|
+
## 0.15.0
|
|
47
|
+
|
|
48
|
+
### Minor Changes
|
|
49
|
+
|
|
50
|
+
- a5de01f: add importExtension configuration option
|
|
51
|
+
|
|
52
|
+
## 0.14.1
|
|
53
|
+
|
|
54
|
+
### Patch Changes
|
|
55
|
+
|
|
56
|
+
- 1591c8d: Add moduleNamingMode option
|
|
57
|
+
|
|
58
|
+
## 0.14.0
|
|
59
|
+
|
|
60
|
+
### Minor Changes
|
|
61
|
+
|
|
62
|
+
- e0476b3: Add fixObjectTypeResolvers `fast` mode (experimental)
|
|
63
|
+
|
|
64
|
+
This is now the default static analysis mode. If you see behaviour or runtime issues, please set `fixObjectTypeResolvers: smart` and file a report at <https://github.com/eddeee888/graphql-code-generator-plugins/issues>
|
|
65
|
+
|
|
66
|
+
## 0.13.0
|
|
67
|
+
|
|
68
|
+
### Minor Changes
|
|
69
|
+
|
|
70
|
+
- f14a549: Bump codegen packages major version
|
|
71
|
+
|
|
72
|
+
### Patch Changes
|
|
73
|
+
|
|
74
|
+
- Updated dependencies [f14a549]
|
|
75
|
+
- @eddeee888/gcg-server-config@0.3.0
|
|
76
|
+
|
|
77
|
+
## 0.12.2
|
|
78
|
+
|
|
79
|
+
### Patch Changes
|
|
80
|
+
|
|
81
|
+
- 6d79fc2: Fix issue where shorthand assignment are not detected for static analysis
|
|
82
|
+
|
|
83
|
+
## 0.12.1
|
|
84
|
+
|
|
85
|
+
### Patch Changes
|
|
86
|
+
|
|
87
|
+
- 7f03d24: Avoid low-level TypeScript typechecker usage unncessarily, which breaks when running static analysis
|
|
88
|
+
|
|
89
|
+
Originally, `getType` function was called during static analysis to get low-level `Type` for each type property declarations. These types can be used in typechecker's `isAssignableTo` function, which would have a significant perf boost (if done right). However, there needs to be a significant change to use `.isAssignableTo`, so `getType` was left there so we can continue the work later.
|
|
90
|
+
|
|
91
|
+
However, declarations of a node could be `undefined` if the type is wrapped in generics that synthesies properties(?). This causes the runtime error. [Relevant convo](https://github.com/microsoft/TypeScript/issues/61697)
|
|
92
|
+
|
|
93
|
+
For now, we can just remove the `getType` call, until we know how to handle these typing issues.
|
|
94
|
+
|
|
95
|
+
## 0.12.0
|
|
96
|
+
|
|
97
|
+
### Minor Changes
|
|
98
|
+
|
|
99
|
+
- e84fb01: Add mappersRelativeTargetDir config option
|
|
100
|
+
|
|
101
|
+
`string` (Default: `./`)
|
|
102
|
+
|
|
103
|
+
By default, mappers must be siblings with the schema they represent. For example, if the schema file is `/path/to/schema.graphql`, the mapper file is `/path/to/schema.mappers.ts`. This extension allows mappers to reside in a different directory relative to the schema file using the pattern `<schemaPath>/<mappersRelativeTargetDir>/<schemaName><mappersFileExtension>`.
|
|
104
|
+
|
|
105
|
+
- 221c671: Add moduleNamingMode option to determine the module name for each schema file
|
|
106
|
+
|
|
107
|
+
- **`last`**: The module name is derived from the **last** directory (within the schema directory) in the file's path.
|
|
108
|
+
- **`first`**: The module name is derived from the **first** directory (within the schema directory) in the file's path.
|
|
109
|
+
- **any number**: The module name is derived from the **nth zero-indexed** directory (within the schema directory) in the file's path. Supports negative numbers which select the **nth** directory from the back of the file's path.
|
|
110
|
+
|
|
111
|
+
### Patch Changes
|
|
112
|
+
|
|
113
|
+
- 19e1f03: Fix \_\_resolveReference being required all the time
|
|
114
|
+
- b4c501c: Update internals to use faster approach to run static analysis
|
|
115
|
+
- df77f2e: Fix issue generated type names with custom naming convention breaks mappers static analysis
|
|
116
|
+
- Updated dependencies [19e1f03]
|
|
117
|
+
- @eddeee888/gcg-server-config@0.2.3
|
|
118
|
+
|
|
119
|
+
## 0.11.0
|
|
120
|
+
|
|
121
|
+
### Minor Changes
|
|
122
|
+
|
|
123
|
+
- 9b45bf3: Use @graphql-codegen/typescript-resolvers meta to handle federation\_\_resolveType
|
|
124
|
+
- 9b45bf3: Do not add files on filesystem that have not been touched by codemod
|
|
125
|
+
|
|
126
|
+
### Patch Changes
|
|
127
|
+
|
|
128
|
+
- 9b45bf3: Do not report namingConvention usage as it is fully supported
|
|
129
|
+
|
|
130
|
+
## 0.10.4
|
|
131
|
+
|
|
132
|
+
### Patch Changes
|
|
133
|
+
|
|
134
|
+
- 7f281c9: Fix scalarOverrides not giving full control to users
|
|
135
|
+
|
|
136
|
+
## 0.10.3
|
|
137
|
+
|
|
138
|
+
### Patch Changes
|
|
139
|
+
|
|
140
|
+
- de78270: Ensure \_\_isTypeOf is in the picked properties so users can choose this way to handle abstract type should they choose
|
|
141
|
+
|
|
142
|
+
## 0.10.2
|
|
143
|
+
|
|
144
|
+
### Patch Changes
|
|
145
|
+
|
|
146
|
+
- 9088222: Fix interface mappers not being detected automatically
|
|
147
|
+
|
|
148
|
+
## 0.10.1
|
|
149
|
+
|
|
150
|
+
### Patch Changes
|
|
151
|
+
|
|
152
|
+
- 906d454: Bump @graphql-codegen/typescript-resolvers to v4.2.1
|
|
153
|
+
- bb9b5fe: Use @graphql-tools/merge to merge typeDefs
|
|
154
|
+
- Updated dependencies [906d454]
|
|
155
|
+
- @eddeee888/gcg-server-config@0.2.2
|
|
156
|
+
|
|
157
|
+
## 0.10.0
|
|
158
|
+
|
|
159
|
+
### Minor Changes
|
|
160
|
+
|
|
161
|
+
- 8ec553b: Handle enum resolverGeneration, autowireup and mapper. Enable enum resolvers generation by default.
|
|
162
|
+
- 8ec553b: Use reported generated type names from @graphql-codegen/typescript-resolvers meta to support all naming convention
|
|
163
|
+
- 8ec553b: Add `fixObjectTypeResolvers.enum = smart` option to ensure all allowedValues are generated
|
|
164
|
+
- 8ec553b: Fully support namingConvention for resolvers map
|
|
165
|
+
|
|
166
|
+
## 0.9.4
|
|
167
|
+
|
|
168
|
+
### Patch Changes
|
|
169
|
+
|
|
170
|
+
- b734d8b: Revert VariableStatement assumption that can cause runtime errors
|
|
171
|
+
|
|
172
|
+
## 0.9.3
|
|
173
|
+
|
|
174
|
+
### Patch Changes
|
|
175
|
+
|
|
176
|
+
- 386bb30: Fix issue where variable statements without type node does not get type node added
|
|
177
|
+
- 6715a49: Prefer detected scalar file on filesystem over scalar modules when wiring up resolvers map
|
|
178
|
+
- 86babc6: Fix issue where GraphQLScalarType is imported all the time, regardless of whether it's used
|
|
179
|
+
|
|
180
|
+
## 0.9.2
|
|
181
|
+
|
|
182
|
+
### Patch Changes
|
|
183
|
+
|
|
184
|
+
- 538eb24: Fix issue where whitelisted/blacklisted module can incorrectly detect extended resolvers to wire up to resolvers.generated.ts
|
|
185
|
+
- 263604f: Fix externalResolvers config not working for enums
|
|
186
|
+
|
|
187
|
+
## 0.9.1
|
|
188
|
+
|
|
189
|
+
### Patch Changes
|
|
190
|
+
|
|
191
|
+
- e999093: Add hooks to defineConfig context
|
|
192
|
+
|
|
193
|
+
## 0.9.0
|
|
194
|
+
|
|
195
|
+
### Minor Changes
|
|
196
|
+
|
|
197
|
+
- 454d1df: Add resolverGeneration 'minimal' mode
|
|
198
|
+
|
|
199
|
+
`minimal` is the equivalent of:
|
|
200
|
+
|
|
201
|
+
```json
|
|
202
|
+
{
|
|
203
|
+
"query": "*",
|
|
204
|
+
"mutation": "*",
|
|
205
|
+
"subscription": "*",
|
|
206
|
+
"scalar": "*",
|
|
207
|
+
"object": "",
|
|
208
|
+
"union": "",
|
|
209
|
+
"interface": ""
|
|
210
|
+
}
|
|
211
|
+
```
|
|
212
|
+
|
|
213
|
+
- 454d1df: Implement file auto-wireup if detected at the right filesystem location
|
|
214
|
+
|
|
215
|
+
### Patch Changes
|
|
216
|
+
|
|
217
|
+
- c48e8c6: Update internals to avoid parsing schema twice
|
|
218
|
+
|
|
219
|
+
## 0.8.1
|
|
220
|
+
|
|
221
|
+
### Patch Changes
|
|
222
|
+
|
|
223
|
+
- 3213b73: Bump base codegen plugin to apply patches from upstream
|
|
224
|
+
- d6df63c: Force generate object types with mappers to avoid runtime errors
|
|
225
|
+
- Updated dependencies [3213b73]
|
|
226
|
+
- @eddeee888/gcg-server-config@0.2.1
|
|
227
|
+
|
|
228
|
+
## 0.8.0
|
|
229
|
+
|
|
230
|
+
### Minor Changes
|
|
231
|
+
|
|
232
|
+
- 6bf957d: Extend `resolverGeneration` functionality
|
|
233
|
+
|
|
234
|
+
Allow passing in an object that to control which files to be generated. By default (i.e. `resolverGeneration: 'recommended'`), it's equivalent to the following settings:
|
|
235
|
+
|
|
236
|
+
```ts
|
|
237
|
+
defineConfig({
|
|
238
|
+
resolverGeneration: {
|
|
239
|
+
query: '*',
|
|
240
|
+
mutation: '*',
|
|
241
|
+
subscription: '*',
|
|
242
|
+
scalar: '*',
|
|
243
|
+
object: '*',
|
|
244
|
+
union: '',
|
|
245
|
+
interface: '',
|
|
246
|
+
},
|
|
247
|
+
});
|
|
248
|
+
```
|
|
249
|
+
|
|
250
|
+
Each option can take a glob pattern to tell the preset which files of a given type to be generated based on its normalized file name.
|
|
251
|
+
|
|
252
|
+
***
|
|
253
|
+
|
|
254
|
+
A normalized file name has this pattern:
|
|
255
|
+
|
|
256
|
+
```
|
|
257
|
+
<Module name>.<Top-level type name>.<Field resolver>?
|
|
258
|
+
```
|
|
259
|
+
|
|
260
|
+
Consider this schema:
|
|
261
|
+
|
|
262
|
+
```graphql
|
|
263
|
+
# src/schema/pet/schema.graphql
|
|
264
|
+
extend type Query {
|
|
265
|
+
pets: [Pet!]!
|
|
266
|
+
}
|
|
267
|
+
|
|
268
|
+
type Cat {
|
|
269
|
+
id: ID!
|
|
270
|
+
}
|
|
271
|
+
type Dog {
|
|
272
|
+
id: ID!
|
|
273
|
+
}
|
|
274
|
+
union Pet = Cat | Dog
|
|
275
|
+
|
|
276
|
+
# src/schema/user/schema.graphql
|
|
277
|
+
extend type Mutation {
|
|
278
|
+
createUser(id: ID!): CreateUserResult!
|
|
279
|
+
}
|
|
280
|
+
|
|
281
|
+
type User {
|
|
282
|
+
id: ID!
|
|
283
|
+
}
|
|
284
|
+
|
|
285
|
+
type CreateUserOk {
|
|
286
|
+
result: User!
|
|
287
|
+
}
|
|
288
|
+
type CreateUserError {
|
|
289
|
+
error: String!
|
|
290
|
+
}
|
|
291
|
+
union CreateUserResult = CreateUserOk | CreateUserError
|
|
292
|
+
```
|
|
293
|
+
|
|
294
|
+
Then, the generated files and normalised names are:
|
|
295
|
+
|
|
296
|
+
- `src/schema/pet/resolvers/Query/pets.ts`, affected by `query` option, normalized name: `pet.Query.pets`
|
|
297
|
+
- `src/schema/pet/resolvers/Cat.ts`, affected by `object` option, normalized name: `pet.Cat`
|
|
298
|
+
- `src/schema/pet/resolvers/Dog.ts`, affected by `object` option, normalized name: `pet.Dog`
|
|
299
|
+
- `src/schema/pet/resolvers/Pet.ts`, affected by `union` option, normalized name: `pet.Pet`
|
|
300
|
+
- `src/schema/user/resolvers/Mutation/createUser.ts`, affected by `mutation` option, normalized name: `user.Mutation.createUser`
|
|
301
|
+
- `src/schema/user/resolvers/User.ts`, affected by `object` option, normalized name: `user.User`
|
|
302
|
+
- `src/schema/user/resolvers/CreateUserOk.ts`, affected by `object` option, normalized name: `user.CreateUserOk`
|
|
303
|
+
- `src/schema/user/resolvers/CreateUserError.ts`, affected by `object` option, normalized name: `user.CreateUserError`
|
|
304
|
+
- `src/schema/user/resolvers/CreateUserResult.ts`, affected by `union` option, normalized name: `user.CreateUserResult`
|
|
305
|
+
|
|
306
|
+
Now, let's say we want to disable all union files, types ending with `Ok` or `Error`, the config would look like this:
|
|
307
|
+
|
|
308
|
+
```ts
|
|
309
|
+
defineConfig({
|
|
310
|
+
resolverGeneration: {
|
|
311
|
+
query: '*',
|
|
312
|
+
mutation: '*',
|
|
313
|
+
subscription: '*',
|
|
314
|
+
scalar: '*',
|
|
315
|
+
object: ['!*.*Ok', '!*.*Error'], // Disables objects ending with `Ok` or `Error` in every module
|
|
316
|
+
union: '', // Empty string disables all file generation of relevant type in every module
|
|
317
|
+
interface: '*',
|
|
318
|
+
},
|
|
319
|
+
});
|
|
320
|
+
```
|
|
321
|
+
|
|
322
|
+
- 00a80bc: Bump ts-morph to v22 which requires TypeScript 5.4
|
|
323
|
+
|
|
324
|
+
### Patch Changes
|
|
325
|
+
|
|
326
|
+
- 6bf957d: Add colours to logs
|
|
327
|
+
- de5599b: Move union and interface config from server config to server preset
|
|
328
|
+
|
|
329
|
+
This config is fairly opinionated and may not make sense being on server config. However, it is definitely the default mode of operation we want to use for server preset to avoid having extra files, simplifying the setup.
|
|
330
|
+
|
|
331
|
+
- Updated dependencies [de5599b]
|
|
332
|
+
- @eddeee888/gcg-server-config@0.2.0
|
|
333
|
+
|
|
334
|
+
## 0.7.5
|
|
335
|
+
|
|
336
|
+
### Patch Changes
|
|
337
|
+
|
|
338
|
+
- 4ab8016: Use TypeScript typechecker to collect type properties
|
|
339
|
+
|
|
340
|
+
Previously, we manually walked through the program to collect properties of types. This is problematic as there are lots of ways to declare mappers that we cannot manually handle. On top of this, type property properties can be handled natively correctly by TypeScript typechecker.
|
|
341
|
+
|
|
342
|
+
Note: class declaration private properties are picked up by TypeScript typechecker, which could be problematic. We are keeping that case as-is.
|
|
343
|
+
|
|
344
|
+
## 0.7.4
|
|
345
|
+
|
|
346
|
+
### Patch Changes
|
|
347
|
+
|
|
348
|
+
- e909a17: fix path to output resolver files in main resolver files for nested schema files
|
|
349
|
+
- 067bd7e: Add params to generated resolvers
|
|
350
|
+
- 47c8fa6: Update package.json with missing deps
|
|
351
|
+
- 891f718: fix path to output resolver files so they are always generated near to schema.graphql
|
|
352
|
+
- b226761: Implement recursively pick interface extensions
|
|
353
|
+
- Updated dependencies [47c8fa6]
|
|
354
|
+
- @eddeee888/gcg-server-config@0.1.1
|
|
355
|
+
|
|
356
|
+
## 0.7.3
|
|
357
|
+
|
|
358
|
+
### Patch Changes
|
|
359
|
+
|
|
360
|
+
- 9f3b82b: Federation support: Add \_\_resolveReference to picked fields when extending object types
|
|
361
|
+
|
|
362
|
+
## 0.7.2
|
|
363
|
+
|
|
364
|
+
### Patch Changes
|
|
365
|
+
|
|
366
|
+
- 8ed14fc: Fix issue where dashes were not handled correctly when using extended object pattern across multiple schemas
|
|
367
|
+
- 7567190: Declare tslib as a dependency
|
|
368
|
+
|
|
369
|
+
## 0.7.1
|
|
370
|
+
|
|
371
|
+
### Patch Changes
|
|
372
|
+
|
|
373
|
+
- 73d9936: Relax `presetConfig.typesPluginsConfig.namingConvention` enforcement. Warn if used.
|
|
374
|
+
|
|
375
|
+
In v0.7.0, we've made `presetConfig.typesPluginsConfig.namingConvention` to throw if used. In this release, we've relaxed it because certain options may still work e.g. `upperCaseFirst `. If `namingConvention` is used, we warn instead.
|
|
376
|
+
|
|
377
|
+
Currently, the preset naively uses the schema type spelling/casing as the generated type. Therefore, it's important to have `namingConvention` option as `keep`. In the future, we can revisit to make sure generated resolvers have the same `namingConvention` support as the generated type file.
|
|
378
|
+
|
|
379
|
+
## 0.7.0
|
|
380
|
+
|
|
381
|
+
### Minor Changes
|
|
382
|
+
|
|
383
|
+
- ab6a9e7: Support extending non-root object types
|
|
384
|
+
|
|
385
|
+
For example, given this schema:
|
|
386
|
+
|
|
387
|
+
```graphql
|
|
388
|
+
# user/schema.graphql
|
|
389
|
+
type User {
|
|
390
|
+
id: ID!
|
|
391
|
+
}
|
|
392
|
+
|
|
393
|
+
# car/schema.graphql
|
|
394
|
+
extend type User {
|
|
395
|
+
cars: [Car!]!
|
|
396
|
+
}
|
|
397
|
+
|
|
398
|
+
# house/schema.graphql
|
|
399
|
+
extend type User {
|
|
400
|
+
housesOwned: [House!]!
|
|
401
|
+
housesSold: [House!]!
|
|
402
|
+
}
|
|
403
|
+
```
|
|
404
|
+
|
|
405
|
+
It'd generate these files:
|
|
406
|
+
|
|
407
|
+
```ts
|
|
408
|
+
// user/resolvers/User.ts
|
|
409
|
+
export const User: Pick<UserResolvers, 'id'> = {
|
|
410
|
+
// ...
|
|
411
|
+
};
|
|
412
|
+
|
|
413
|
+
// car/resolvers/User.ts
|
|
414
|
+
export const User: Pick<UserResolvers, 'cars'> = {
|
|
415
|
+
// ...
|
|
416
|
+
};
|
|
417
|
+
|
|
418
|
+
// house/resolvers/User.ts
|
|
419
|
+
export const User: Pick<UserResolvers, 'housesOwned' | 'housesSold'> = {
|
|
420
|
+
// ...
|
|
421
|
+
};
|
|
422
|
+
```
|
|
423
|
+
|
|
424
|
+
And the main resolver file:
|
|
425
|
+
|
|
426
|
+
```ts
|
|
427
|
+
// resolvers.generated.ts
|
|
428
|
+
import { User as user_User } from './user/resolvers/User';
|
|
429
|
+
import { User as car_User } from './car/resolvers/User';
|
|
430
|
+
import { User as house_User } from './house/resolvers/User';
|
|
431
|
+
|
|
432
|
+
export const resolvers: Resolvers = {
|
|
433
|
+
User: {
|
|
434
|
+
...user_User,
|
|
435
|
+
...car_User,
|
|
436
|
+
...house_User,
|
|
437
|
+
},
|
|
438
|
+
};
|
|
439
|
+
```
|
|
440
|
+
|
|
441
|
+
- d5d9577: Drop support for `typesPluginsConfig.namingConvention` - this is now always `keep`
|
|
442
|
+
|
|
443
|
+
In the preset, we made the assumption that the types used in resolver files are in the same format as the schema. So we `keep` the naming convention.
|
|
444
|
+
|
|
445
|
+
Some types in `types.generated.ts` are affected. However, they are not currently used in any of the resolver files. So, if consumers have leaned into the recommended default config and generated resolver files (which is the intention of the preset), then there should be no issue upgrading.
|
|
446
|
+
|
|
447
|
+
- 5497e8f: Add experimental support for [add](https://the-guild.dev/graphql/codegen/plugins/other/add) plugin.
|
|
448
|
+
|
|
449
|
+
Consumers can use the preset's `add` option to do the equivalent of the `add` plugin to target the generated resolvers type file (default `types.generated.ts`).
|
|
450
|
+
|
|
451
|
+
Example:
|
|
452
|
+
|
|
453
|
+
```ts
|
|
454
|
+
// codegen.ts
|
|
455
|
+
{
|
|
456
|
+
generates: {
|
|
457
|
+
'src/schema': defineConfig({
|
|
458
|
+
add: {
|
|
459
|
+
'./types.generated.ts': { content: '/* eslint-disable */' },
|
|
460
|
+
},
|
|
461
|
+
})
|
|
462
|
+
}
|
|
463
|
+
}
|
|
464
|
+
```
|
|
465
|
+
|
|
466
|
+
### Patch Changes
|
|
467
|
+
|
|
468
|
+
- Updated dependencies [ccdc5e2]
|
|
469
|
+
- @eddeee888/gcg-server-config@0.1.0
|
|
470
|
+
|
|
471
|
+
## 0.6.0
|
|
472
|
+
|
|
473
|
+
### Minor Changes
|
|
474
|
+
|
|
475
|
+
- d0e17ad: Add resolverGeneration option
|
|
476
|
+
|
|
477
|
+
`disabled` or `recommended` or `all` (Default: `recommended`)
|
|
478
|
+
|
|
479
|
+
Decides which resolvers to generate:
|
|
480
|
+
|
|
481
|
+
- `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.
|
|
482
|
+
- `recommended`: generates the minimal amount of resolvers. Use this if you want a managed experience.
|
|
483
|
+
- no union/interface resolvers are generated because we rely on certain settings in `typescript-resolvers` that make these not required.
|
|
484
|
+
- `all`: generates all resolvers. Use this if you want all resolvers to be generated and use the ones you need.
|
|
485
|
+
|
|
486
|
+
- 1586d73: Add missing Interface file generation
|
|
487
|
+
|
|
488
|
+
### Patch Changes
|
|
489
|
+
|
|
490
|
+
- c3ee642: Fix emitLegacyCommonJSImports issues
|
|
491
|
+
|
|
492
|
+
- Fix issue where warning always logged if `presetConfig.emitLegacyCommonJSImports` is used
|
|
493
|
+
- Throw error when `presetConfig.typesPluginsConfig.emitLegacyCommonJSImports` is used
|
|
494
|
+
- (Internal) Replace automatic file detection in `printImportLine` with 3 options: `file`, `module` and `preserve`:
|
|
495
|
+
- This is to fix rare cases where absolute alias path is used in `externalResolvers` option e.g. `src/module/file` was missing `.js` because it was being detected as a module. `externalResolvers` is set by the user and also used internally for scalar types, so we can use `preserve` instead to keep the module value as-is.
|
|
496
|
+
- Options:
|
|
497
|
+
- `file`: import is a file. For ESM, .js extension is added. For CJS, no extension is added.
|
|
498
|
+
- `module`: import is a module from `node_modules` or aliased e.g. `graphql-scalars` or `@org/your-module`. No extension is added.
|
|
499
|
+
- `preserve`: preserve what the config declares. This is only used when taking user's config or preset-controlled config e.g. `externalExternals` because the import could be either file or module
|
|
500
|
+
|
|
501
|
+
- 191705f: Add schema option to defineConfig
|
|
502
|
+
- 49ba468: Added support for the case where the Type mapper is a class
|
|
503
|
+
- c968c2c: Fix: defineConfig's type no longer allows typesPluginsConfig.scalars or typesPluginsConfig.emitLegacyCommonJSImports
|
|
504
|
+
- 2205e3f: Update default custom GraphQLScalar template to guide users better
|
|
505
|
+
- Updated dependencies [5e58a08]
|
|
506
|
+
- @eddeee888/gcg-server-config@0.0.1
|
|
507
|
+
|
|
508
|
+
## 0.5.0
|
|
509
|
+
|
|
510
|
+
### Minor Changes
|
|
511
|
+
|
|
512
|
+
- f7831c1: Use resolversNonOptionalTypename instead of nonOptionalTypename
|
|
513
|
+
|
|
514
|
+
This makes using abstract types simpler because we do not return \_\_typename for all types, only for union members and interface implementing types.
|
|
515
|
+
|
|
516
|
+
- f7831c1: Add scalarsOverrides config option
|
|
517
|
+
|
|
518
|
+
`Record<string, { resolver?: string; type?: string | { input: string; output: string } }>` (Default: `{}`)
|
|
519
|
+
|
|
520
|
+
Overrides scalars' resolver implementation, type or both.
|
|
521
|
+
|
|
522
|
+
Example:
|
|
523
|
+
|
|
524
|
+
```ts
|
|
525
|
+
// codegen.ts
|
|
526
|
+
{
|
|
527
|
+
generates: {
|
|
528
|
+
'src/schema': defineConfig({
|
|
529
|
+
scalarsOverrides: {
|
|
530
|
+
DateTime: {
|
|
531
|
+
resolver: './localDateTimeResolver#Resolver',
|
|
532
|
+
}
|
|
533
|
+
Currency: {
|
|
534
|
+
type: 'unknown'
|
|
535
|
+
},
|
|
536
|
+
BigInt: {
|
|
537
|
+
resolver: '@other/scalars#BigIntResolver',
|
|
538
|
+
type: 'bigint'
|
|
539
|
+
}
|
|
540
|
+
}
|
|
541
|
+
})
|
|
542
|
+
}
|
|
543
|
+
}
|
|
544
|
+
```
|
|
545
|
+
|
|
546
|
+
BREAKING CHANGE: `typesPluginsConfig.scalars` can no longer be used. Please use `scalarOverrides` instead.
|
|
547
|
+
|
|
548
|
+
- f7831c1: Use optionalResolveType=true because resolversNonOptionalTypename works
|
|
549
|
+
- f7831c1: Add scalarsModule config option
|
|
550
|
+
|
|
551
|
+
`string` or `false` (Default: `graphql-scalars`)
|
|
552
|
+
|
|
553
|
+
Where Scalar implementation and codegen types come from. Use `false` to implement your own Scalars.
|
|
554
|
+
|
|
555
|
+
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.
|
|
556
|
+
|
|
557
|
+
```ts
|
|
558
|
+
{
|
|
559
|
+
resolvers: {
|
|
560
|
+
DateTime: DateTimeResolver,
|
|
561
|
+
},
|
|
562
|
+
DateTimeResolver: {
|
|
563
|
+
// ... resolver implementation
|
|
564
|
+
extensions: {
|
|
565
|
+
codegenScalarType: 'Date | string',
|
|
566
|
+
},
|
|
567
|
+
}
|
|
568
|
+
}
|
|
569
|
+
```
|
|
570
|
+
|
|
571
|
+
### Patch Changes
|
|
572
|
+
|
|
573
|
+
- f7831c1: Allows overriding native scalar types' type (Equivalent of typescript plugin's scalars option)
|
|
574
|
+
- f7831c1: Correctly implement ID Scalar's input/output type: input is string and output is string | number
|
|
575
|
+
|
|
576
|
+
## 0.4.1
|
|
577
|
+
|
|
578
|
+
### Patch Changes
|
|
579
|
+
|
|
580
|
+
- af10b65: Add emitLegacyCommonJSImports config option to support esm-style imports in generated output
|
|
581
|
+
- 72c0dc1: Fix typeDefsFileMode=modules not working well with codegen hooks (e.g. afterAllFileWrite) for Windows
|
|
582
|
+
|
|
583
|
+
## 0.4.0
|
|
584
|
+
|
|
585
|
+
### Minor Changes
|
|
586
|
+
|
|
587
|
+
- 037afdc: Add resolverMainFileMode. `merged` or `modules` (Default: `merged`)
|
|
588
|
+
|
|
589
|
+
How to generate file/s that put resolvers map together:
|
|
590
|
+
|
|
591
|
+
- `merged`: one file
|
|
592
|
+
- `modules`: one file per module. This can be used with module-based libraries like [graphql-modules](https://the-guild.dev/graphql/modules)
|
|
593
|
+
|
|
594
|
+
Example codegen config:
|
|
595
|
+
|
|
596
|
+
```ts
|
|
597
|
+
// codegen.ts
|
|
598
|
+
import type { CodegenConfig } from '@graphql-codegen/cli';
|
|
599
|
+
import { defineConfig } from '@eddeee888/gcg-typescript-resolver-files';
|
|
600
|
+
|
|
601
|
+
const config: CodegenConfig = {
|
|
602
|
+
schema: '**/*.graphql',
|
|
603
|
+
generates: {
|
|
604
|
+
'src/schema': defineConfig({
|
|
605
|
+
resolverMainFileMode: 'modules',
|
|
606
|
+
}),
|
|
607
|
+
},
|
|
608
|
+
};
|
|
609
|
+
|
|
610
|
+
export default config;
|
|
611
|
+
```
|
|
612
|
+
|
|
613
|
+
`resolverMainFileMode=modules` generates one `resolvers.generated.ts` file in each module:
|
|
614
|
+
|
|
615
|
+
```text
|
|
616
|
+
├── src/
|
|
617
|
+
│ ├── schema/
|
|
618
|
+
│ │ ├── base/
|
|
619
|
+
│ │ │ ├── schema.graphql
|
|
620
|
+
│ │ │ ├── resolvers.generated.ts # contains resolvers of types in `src/schema/base/schema.graphql`
|
|
621
|
+
│ │ ├── user/
|
|
622
|
+
│ │ │ ├── schema.graphql
|
|
623
|
+
│ │ │ ├── resolvers.generated.ts # contains resolvers of types in `src/schema/user/schema.graphql`
|
|
624
|
+
│ │ ├── book/
|
|
625
|
+
│ │ │ ├── schema.graphql
|
|
626
|
+
│ │ │ ├── resolvers.generated.ts # contains resolvers of types in `src/schema/book/schema.graphql`
|
|
627
|
+
```
|
|
628
|
+
|
|
629
|
+
If you are using `graphql-modules`, you can use the resolvers map like this:
|
|
630
|
+
|
|
631
|
+
```ts
|
|
632
|
+
// src/schema/user/index.ts
|
|
633
|
+
import { createModule } from 'graphql-modules';
|
|
634
|
+
import { resolvers } from './resolvers.generated.ts';
|
|
635
|
+
|
|
636
|
+
export const userModule = createModule({
|
|
637
|
+
id: 'user-module',
|
|
638
|
+
dirname: __dirname,
|
|
639
|
+
typeDefs: [
|
|
640
|
+
/* Your typeDefs*/
|
|
641
|
+
],
|
|
642
|
+
resolvers,
|
|
643
|
+
});
|
|
644
|
+
```
|
|
645
|
+
|
|
646
|
+
- df06e3b: Add typeDefsFileMode. `merged` or `mergedWhitelisted` or `modules` (Default: `merged`)
|
|
647
|
+
|
|
648
|
+
How to generate typeDefs file/s:
|
|
649
|
+
|
|
650
|
+
- `merged`: one file
|
|
651
|
+
- `mergedWhitelisted`: one file but only contains whitelisted modules. This is useful if your blacklisted modules handle their own type defs
|
|
652
|
+
- `modules`: one file per module. This can be used with module-based libraries like [graphql-modules](https://the-guild.dev/graphql/modules)
|
|
653
|
+
|
|
654
|
+
Example codegen config:
|
|
655
|
+
|
|
656
|
+
```ts
|
|
657
|
+
// codegen.ts
|
|
658
|
+
import type { CodegenConfig } from '@graphql-codegen/cli';
|
|
659
|
+
import { defineConfig } from '@eddeee888/gcg-typescript-resolver-files';
|
|
660
|
+
|
|
661
|
+
const config: CodegenConfig = {
|
|
662
|
+
schema: '**/*.graphql',
|
|
663
|
+
generates: {
|
|
664
|
+
'src/schema': defineConfig({
|
|
665
|
+
typeDefsFileMode: 'modules',
|
|
666
|
+
}),
|
|
667
|
+
},
|
|
668
|
+
};
|
|
669
|
+
|
|
670
|
+
export default config;
|
|
671
|
+
```
|
|
672
|
+
|
|
673
|
+
`typeDefsFileMode=modules` generates one `typeDefs.generated.ts` file in each module:
|
|
674
|
+
|
|
675
|
+
```text
|
|
676
|
+
├── src/
|
|
677
|
+
│ ├── schema/
|
|
678
|
+
│ │ ├── base/
|
|
679
|
+
│ │ │ ├── schema.graphql
|
|
680
|
+
│ │ │ ├── typeDefs.generated.ts # contains typeDefs of `src/schema/base/schema.graphql`
|
|
681
|
+
│ │ ├── user/
|
|
682
|
+
│ │ │ ├── schema.graphql
|
|
683
|
+
│ │ │ ├── typeDefs.generated.ts # contains typeDefs of `src/schema/user/schema.graphql`
|
|
684
|
+
│ │ ├── book/
|
|
685
|
+
│ │ │ ├── schema.graphql
|
|
686
|
+
│ │ │ ├── typeDefs.generated.ts # contains typeDefs of `src/schema/book/schema.graphql`
|
|
687
|
+
```
|
|
688
|
+
|
|
689
|
+
If you are using `graphql-modules`, you can use the resolvers map like this:
|
|
690
|
+
|
|
691
|
+
```ts
|
|
692
|
+
// src/schema/user/index.ts
|
|
693
|
+
import { createModule } from 'graphql-modules';
|
|
694
|
+
import { typeDefs } from './typeDefs.generated.ts';
|
|
695
|
+
|
|
696
|
+
export const userModule = createModule({
|
|
697
|
+
id: 'user-module',
|
|
698
|
+
dirname: __dirname,
|
|
699
|
+
typeDefs: [typeDefs],
|
|
700
|
+
resolvers: {
|
|
701
|
+
/* Your resolver map */
|
|
702
|
+
},
|
|
703
|
+
});
|
|
704
|
+
```
|
|
705
|
+
|
|
706
|
+
- 086802e: Add `defineConfig`. This sets up `preset`, `presetConfig` and `watchPattern`.
|
|
707
|
+
|
|
708
|
+
Example:
|
|
709
|
+
|
|
710
|
+
```ts
|
|
711
|
+
import type { CodegenConfig } from '@graphql-codegen/cli';
|
|
712
|
+
import { defineConfig } from '@eddeee888/typescript-resolver-files';
|
|
713
|
+
|
|
714
|
+
const config: CodegenConfig = {
|
|
715
|
+
schema: 'src/schema/**/*.graphql',
|
|
716
|
+
generates: {
|
|
717
|
+
'src/schema': defineConfig(),
|
|
718
|
+
},
|
|
719
|
+
};
|
|
720
|
+
|
|
721
|
+
export default config;
|
|
722
|
+
```
|
|
723
|
+
|
|
724
|
+
### Patch Changes
|
|
725
|
+
|
|
726
|
+
- fe0ca5d: Bump ts-morph to v18
|
|
727
|
+
- d5aac16: Handle intersection typeNode usually seen in GQL Interface types e.g. `type TypeA = TypeB & { something: string } & { somethingelse: string }`
|
|
728
|
+
- 6324453: Fix Subscription default generation template
|
|
729
|
+
- b70ee7f: Use path.posix to fix Windows errors
|
|
730
|
+
- 5302e38: Add example for custom preset config in README
|
|
731
|
+
|
|
732
|
+
## 0.3.0
|
|
733
|
+
|
|
734
|
+
### Minor Changes
|
|
735
|
+
|
|
736
|
+
- 686cafd: Implement type comparison between mapper type vs schema type to generate resolvers
|
|
737
|
+
|
|
738
|
+
## 0.2.1
|
|
739
|
+
|
|
740
|
+
### Patch Changes
|
|
741
|
+
|
|
742
|
+
- 75fc48b: Bump @graphql-codegen/\* deps
|
|
743
|
+
|
|
744
|
+
## 0.2.0
|
|
745
|
+
|
|
746
|
+
### Minor Changes
|
|
747
|
+
|
|
748
|
+
- 0d3c9db: Generate typeDefs by default
|
|
749
|
+
|
|
750
|
+
## 0.1.2
|
|
751
|
+
|
|
752
|
+
### Patch Changes
|
|
753
|
+
|
|
754
|
+
- 0a07d09: Make graphql-scalars deps because it is used in implementation
|
|
755
|
+
|
|
756
|
+
## 0.1.1
|
|
757
|
+
|
|
758
|
+
### Patch Changes
|
|
759
|
+
|
|
760
|
+
- 120a06a: Make resolverRelativeTargetDir more reasonable for merged mode
|
|
761
|
+
|
|
762
|
+
## 0.1.0
|
|
763
|
+
|
|
764
|
+
### Minor Changes
|
|
765
|
+
|
|
766
|
+
- 80986d8: Update config setting names and defaults to prioritise 'modules' mode over 'merged'
|
|
767
|
+
- 6a918ed: Fix deps vs peerDeps in package.json
|
|
768
|
+
- a81f7f3: Implement auto mappers
|
|
769
|
+
|
|
770
|
+
### Patch Changes
|
|
771
|
+
|
|
772
|
+
- 9646937: Fix Scalars in blacklisted modules not being ignored correctly
|
|
773
|
+
|
|
774
|
+
## 0.0.7
|
|
775
|
+
|
|
776
|
+
### Patch Changes
|
|
777
|
+
|
|
778
|
+
- a53b315: Make generated RootObjectTypeFields NonNullable to make reexports easier
|
|
779
|
+
|
|
780
|
+
## 0.0.6
|
|
781
|
+
|
|
782
|
+
### Patch Changes
|
|
783
|
+
|
|
784
|
+
- eda27b7: Add blacklistedModules config
|
|
785
|
+
|
|
786
|
+
## 0.0.5
|
|
787
|
+
|
|
788
|
+
### Patch Changes
|
|
789
|
+
|
|
790
|
+
- a15db13: Merge internal `typescript` and `typescript-resolvers` plugins config to one `typesPluginsConfig` field
|
|
791
|
+
|
|
792
|
+
## 0.0.4
|
|
793
|
+
|
|
794
|
+
### Patch Changes
|
|
795
|
+
|
|
796
|
+
- bcfe20d: Use graphql-scalars types and config
|
|
797
|
+
- bcfe20d: Add support with overrides for typescript and typescript-resolvers plugins
|
|
798
|
+
|
|
799
|
+
## 0.0.3
|
|
800
|
+
|
|
801
|
+
### Patch Changes
|
|
802
|
+
|
|
803
|
+
- 5065768: Turn to preset to better integrate with codegen
|
|
804
|
+
|
|
805
|
+
## 0.0.2
|
|
806
|
+
|
|
807
|
+
### Patch Changes
|
|
808
|
+
|
|
809
|
+
- 0a99233: Implement generating logic for Scalar type
|
|
810
|
+
- b2fe4da: Implement config.externalResolvers
|
|
811
|
+
|
|
812
|
+
## 0.0.1
|
|
813
|
+
|
|
814
|
+
### Patch Changes
|
|
815
|
+
|
|
816
|
+
- 49ffe7a: Initial publish
|