Skip to content

Commit 8ec553b

Browse files
authored
v0.10.0 (#299)
* Handle Enum resolvers (#293) * Add logic to handle Enum types: wireup, mapper, resolverGeneration * Add e2e test for Enum mappers in auto-wireup test * Fix the need to alwasy having to add enum mapper when generating enum resolver files * Rebase tests to have default enum values * Add changeset * Fix unit tests * Ensure enums with mapper types are always generated to avoid runtime issues * Set up test for enum with mappers must have file generation * Update test snapshot * Ensure all allowed enums are generated to avoid runtime error (#296) * Add functionality to ensure all allowed fields are generated * Add changeset * Fix unit test * Update changeset * Fix validatePresetConfig tests * Use typescript resolvers meta to support `namingConvention` for generated types of GraphQL definitions (#301) * Use meta from generated types for resolver type names * Update e2e tests * Add changeset * Fix lint/unit test * Update e2e tests for namingConvention to capture all possible types * Add FIXME to update meta * Fix lint * Fix typo (#303) * Fix typo * Update baseline tests * Use meta for accurate resolvers map type (#304) * Temporarily use alpha version to test * Use resolversType from meta * Baseline test with typesPrefix for more coverage * Add changeset * Bump to latest version * Use schema-ast plugin (#307)
1 parent d682d2e commit 8ec553b

File tree

118 files changed

+5489
-984
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

118 files changed

+5489
-984
lines changed

.changeset/cool-jobs-fold.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'@eddeee888/gcg-typescript-resolver-files': minor
3+
---
4+
5+
Handle enum resolverGeneration, autowireup and mapper. Enable enum resolvers generation by default.

.changeset/hot-spoons-tie.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'@eddeee888/gcg-typescript-resolver-files': minor
3+
---
4+
5+
Use reported generated type names from @graphql-codegen/typescript-resolvers meta to support all naming convention

.changeset/metal-vans-accept.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'@eddeee888/gcg-typescript-resolver-files': minor
3+
---
4+
5+
Add `fixObjectTypeResolvers.enum = smart` option to ensure all allowedValues are generated

.changeset/strange-carrots-smell.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'@eddeee888/gcg-typescript-resolver-files': minor
3+
---
4+
5+
Fully support namingConvention for resolvers map

package.json

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,12 @@
1313
"@changesets/cli": "2.27.1",
1414
"@eddeee888/eslint-plugin": "0.0.1",
1515
"@eddeee888/nx-graphql-code-generator": "1.1.0",
16-
"@graphql-codegen/add": "5.0.2",
16+
"@graphql-codegen/add": "5.0.3",
1717
"@graphql-codegen/cli": "5.0.2",
1818
"@graphql-codegen/plugin-helpers": "5.0.4",
19-
"@graphql-codegen/typescript": "4.0.7",
20-
"@graphql-codegen/typescript-resolvers": "4.1.0",
19+
"@graphql-codegen/schema-ast": "4.1.0",
20+
"@graphql-codegen/typescript": "4.0.8",
21+
"@graphql-codegen/typescript-resolvers": "4.2.0",
2122
"@nx/devkit": "19.0.2",
2223
"@nx/eslint": "19.0.2",
2324
"@nx/eslint-plugin": "19.0.2",

packages/server-config/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
"license": "MIT",
2626
"dependencies": {
2727
"@graphql-codegen/typescript": "^4.0.7",
28-
"@graphql-codegen/typescript-resolvers": "^4.1.0",
28+
"@graphql-codegen/typescript-resolvers": "^4.2.0",
2929
"tslib": "^2.3.0"
3030
},
3131
"publishConfig": {

packages/typescript-resolver-files-e2e/project.json

Lines changed: 36 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -20,124 +20,124 @@
2020
"executor": "nx:run-commands",
2121
"options": {
2222
"commands": [
23-
"rimraf -g 'packages/typescript-resolver-files-e2e/src/**/resolvers/'",
24-
"rimraf -g 'packages/typescript-resolver-files-e2e/src/**/rslvrs/'",
25-
"rimraf -g 'packages/typescript-resolver-files-e2e/src/**/*.generated.*'",
26-
"rimraf -g 'packages/typescript-resolver-files-e2e/src/**/*.gen.*'",
23+
"rimraf -g \"packages/typescript-resolver-files-e2e/src/**/resolvers/\"",
24+
"rimraf -g \"packages/typescript-resolver-files-e2e/src/**/rslvrs/\"",
25+
"rimraf -g \"packages/typescript-resolver-files-e2e/src/**/*.generated.*\"",
26+
"rimraf -g \"packages/typescript-resolver-files-e2e/src/**/*.gen.*\"",
2727
"node packages/typescript-resolver-files-e2e/src/test-resolvers-auto-wireup/test-setup.js"
2828
],
2929
"parallel": false
3030
},
3131
"configurations": {
3232
"test-merged": {
3333
"commands": [
34-
"rimraf -g 'packages/typescript-resolver-files-e2e/src/test-merged/**/resolvers/'",
35-
"rimraf -g 'packages/typescript-resolver-files-e2e/src/test-merged/**/*.generated.*'"
34+
"rimraf -g \"packages/typescript-resolver-files-e2e/src/test-merged/**/resolvers/\"",
35+
"rimraf -g \"packages/typescript-resolver-files-e2e/src/test-merged/**/*.generated.*\""
3636
],
3737
"parallel": false
3838
},
3939
"test-modules": {
4040
"commands": [
41-
"rimraf -g 'packages/typescript-resolver-files-e2e/src/test-modules/**/resolvers/'",
42-
"rimraf -g 'packages/typescript-resolver-files-e2e/src/test-modules/**/*.generated.*'"
41+
"rimraf -g \"packages/typescript-resolver-files-e2e/src/test-modules/**/resolvers/\"",
42+
"rimraf -g \"packages/typescript-resolver-files-e2e/src/test-modules/**/*.generated.*\""
4343
],
4444
"parallel": false
4545
},
4646
"test-whitelisted": {
4747
"commands": [
48-
"rimraf -g 'packages/typescript-resolver-files-e2e/src/test-whitelisted/**/resolvers/'",
49-
"rimraf -g 'packages/typescript-resolver-files-e2e/src/test-whitelisted/**/*.generated.*'"
48+
"rimraf -g \"packages/typescript-resolver-files-e2e/src/test-whitelisted/**/resolvers/\"",
49+
"rimraf -g \"packages/typescript-resolver-files-e2e/src/test-whitelisted/**/*.generated.*\""
5050
],
5151
"parallel": false
5252
},
5353
"test-external-resolvers": {
5454
"commands": [
55-
"rimraf -g 'packages/typescript-resolver-files-e2e/src/test-external-resolvers/**/resolvers/'",
56-
"rimraf -g 'packages/typescript-resolver-files-e2e/src/test-external-resolvers/**/*.generated.*'"
55+
"rimraf -g \"packages/typescript-resolver-files-e2e/src/test-external-resolvers/**/resolvers/\"",
56+
"rimraf -g \"packages/typescript-resolver-files-e2e/src/test-external-resolvers/**/*.generated.*\""
5757
],
5858
"parallel": false
5959
},
6060
"test-config-overrides": {
6161
"commands": [
62-
"rimraf -g 'packages/typescript-resolver-files-e2e/src/test-config-overrides/**/rslvrs/'",
63-
"rimraf -g 'packages/typescript-resolver-files-e2e/src/test-config-overrides/**/*.gen.*'"
62+
"rimraf -g \"packages/typescript-resolver-files-e2e/src/test-config-overrides/**/rslvrs/\"",
63+
"rimraf -g \"packages/typescript-resolver-files-e2e/src/test-config-overrides/**/*.gen.*\""
6464
],
6565
"parallel": false
6666
},
6767
"test-mappers": {
6868
"commands": [
69-
"rimraf -g 'packages/typescript-resolver-files-e2e/src/test-mappers/**/resolvers/'",
70-
"rimraf -g 'packages/typescript-resolver-files-e2e/src/test-mappers/**/*.generated.*'"
69+
"rimraf -g \"packages/typescript-resolver-files-e2e/src/test-mappers/**/resolvers/\"",
70+
"rimraf -g \"packages/typescript-resolver-files-e2e/src/test-mappers/**/*.generated.*\""
7171
],
7272
"parallel": false
7373
},
7474
"test-mappers-vs-schema-types": {
7575
"commands": [
76-
"rimraf -g 'packages/typescript-resolver-files-e2e/src/test-mappers-vs-schema-types/**/resolvers/'",
77-
"rimraf -g 'packages/typescript-resolver-files-e2e/src/test-mappers-vs-schema-types/**/*.generated.*'"
76+
"rimraf -g \"packages/typescript-resolver-files-e2e/src/test-mappers-vs-schema-types/**/resolvers/\"",
77+
"rimraf -g \"packages/typescript-resolver-files-e2e/src/test-mappers-vs-schema-types/**/*.generated.*\""
7878
],
7979
"parallel": false
8080
},
8181
"test-config-ts": {
8282
"commands": [
83-
"rimraf -g 'packages/typescript-resolver-files-e2e/src/test-config-ts/**/resolvers/'",
84-
"rimraf -g 'packages/typescript-resolver-files-e2e/src/test-config-ts/**/*.generated.*'"
83+
"rimraf -g \"packages/typescript-resolver-files-e2e/src/test-config-ts/**/resolvers/\"",
84+
"rimraf -g \"packages/typescript-resolver-files-e2e/src/test-config-ts/**/*.generated.*\""
8585
],
8686
"parallel": false
8787
},
8888
"test-modules-typedefs-file-mode": {
8989
"commands": [
90-
"rimraf -g 'packages/typescript-resolver-files-e2e/src/test-modules-typedefs-file-mode/**/resolvers/'",
91-
"rimraf -g 'packages/typescript-resolver-files-e2e/src/test-modules-typedefs-file-mode/**/*.generated.*'"
90+
"rimraf -g \"packages/typescript-resolver-files-e2e/src/test-modules-typedefs-file-mode/**/resolvers/\"",
91+
"rimraf -g \"packages/typescript-resolver-files-e2e/src/test-modules-typedefs-file-mode/**/*.generated.*\""
9292
],
9393
"parallel": false
9494
},
9595
"test-modules-resolver-main-file-mode": {
9696
"commands": [
97-
"rimraf -g 'packages/typescript-resolver-files-e2e/src/test-modules-resolver-main-file-mode/**/resolvers/'",
98-
"rimraf -g 'packages/typescript-resolver-files-e2e/src/test-modules-resolver-main-file-mode/**/*.generated.*'"
97+
"rimraf -g \"packages/typescript-resolver-files-e2e/src/test-modules-resolver-main-file-mode/**/resolvers/\"",
98+
"rimraf -g \"packages/typescript-resolver-files-e2e/src/test-modules-resolver-main-file-mode/**/*.generated.*\""
9999
],
100100
"parallel": false
101101
},
102102
"test-scalars-module": {
103103
"commands": [
104-
"rimraf -g 'packages/typescript-resolver-files-e2e/src/test-scalars-module/**/resolvers/'",
105-
"rimraf -g 'packages/typescript-resolver-files-e2e/src/test-scalars-module/**/*.generated.*'"
104+
"rimraf -g \"packages/typescript-resolver-files-e2e/src/test-scalars-module/**/resolvers/\"",
105+
"rimraf -g \"packages/typescript-resolver-files-e2e/src/test-scalars-module/**/*.generated.*\""
106106
],
107107
"parallel": false
108108
},
109109
"test-resolver-generation": {
110110
"commands": [
111-
"rimraf -g 'packages/typescript-resolver-files-e2e/src/test-resolver-generation/**/resolvers/'",
112-
"rimraf -g 'packages/typescript-resolver-files-e2e/src/test-resolver-generation/**/*.generated.*'"
111+
"rimraf -g \"packages/typescript-resolver-files-e2e/src/test-resolver-generation/**/resolvers/\"",
112+
"rimraf -g \"packages/typescript-resolver-files-e2e/src/test-resolver-generation/**/*.generated.*\""
113113
],
114114
"parallel": false
115115
},
116116
"test-add-option": {
117117
"commands": [
118-
"rimraf -g 'packages/typescript-resolver-files-e2e/src/test-add-option/**/resolvers/'",
119-
"rimraf -g 'packages/typescript-resolver-files-e2e/src/test-add-option/**/*.generated.*'"
118+
"rimraf -g \"packages/typescript-resolver-files-e2e/src/test-add-option/**/resolvers/\"",
119+
"rimraf -g \"packages/typescript-resolver-files-e2e/src/test-add-option/**/*.generated.*\""
120120
],
121121
"parallel": false
122122
},
123123
"test-extended-object-types": {
124124
"commands": [
125-
"rimraf -g 'packages/typescript-resolver-files-e2e/src/test-extended-object-types/**/resolvers/'",
126-
"rimraf -g 'packages/typescript-resolver-files-e2e/src/test-extended-object-types/**/*.generated.*'"
125+
"rimraf -g \"packages/typescript-resolver-files-e2e/src/test-extended-object-types/**/resolvers/\"",
126+
"rimraf -g \"packages/typescript-resolver-files-e2e/src/test-extended-object-types/**/*.generated.*\""
127127
],
128128
"parallel": false
129129
},
130130
"test-nested-domain-modules": {
131131
"commands": [
132-
"rimraf -g 'packages/typescript-resolver-files-e2e/src/test-nested-domain-modules/**/resolvers/'",
133-
"rimraf -g 'packages/typescript-resolver-files-e2e/src/test-nested-domain-modules/**/*.generated.*'"
132+
"rimraf -g \"packages/typescript-resolver-files-e2e/src/test-nested-domain-modules/**/resolvers/\"",
133+
"rimraf -g \"packages/typescript-resolver-files-e2e/src/test-nested-domain-modules/**/*.generated.*\""
134134
],
135135
"parallel": false
136136
},
137137
"test-resolvers-auto-wireup": {
138138
"commands": [
139-
"rimraf -g 'packages/typescript-resolver-files-e2e/src/test-resolvers-auto-wireup/**/resolvers/'",
140-
"rimraf -g 'packages/typescript-resolver-files-e2e/src/test-resolvers-auto-wireup/**/*.generated.*'",
139+
"rimraf -g \"packages/typescript-resolver-files-e2e/src/test-resolvers-auto-wireup/**/resolvers/\"",
140+
"rimraf -g \"packages/typescript-resolver-files-e2e/src/test-resolvers-auto-wireup/**/*.generated.*\"",
141141
"node packages/typescript-resolver-files-e2e/src/test-resolvers-auto-wireup/test-setup.js"
142142
],
143143
"parallel": false
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
type Query {
2+
test: Test!
3+
}
4+
5+
type Test {
6+
boolean: Boolean!
7+
float: Float!
8+
id: ID!
9+
int: Int!
10+
string: String!
11+
}
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
type Query {
2+
test: Test!
3+
}
4+
5+
type Test {
6+
boolean: Boolean!
7+
float: Float!
8+
id: ID!
9+
int: Int!
10+
string: String!
11+
}
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
type Query {
2+
test: Test!
3+
}
4+
5+
type Test {
6+
boolean: Boolean!
7+
float: Float!
8+
id: ID!
9+
int: Int!
10+
string: String!
11+
}

packages/typescript-resolver-files-e2e/src/test-config-overrides/codegen.ts

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ const config: CodegenConfig = {
1414
resolverRelativeTargetDir: 'rslvrs',
1515
resolverMainFile: 'resolvers.gen.ts',
1616
typeDefsFilePath: false,
17+
resolverGeneration: 'all',
1718
scalarsOverrides: {
1819
BigInt: {
1920
resolver:
@@ -28,6 +29,7 @@ const config: CodegenConfig = {
2829
},
2930
},
3031
typesPluginsConfig: {
32+
typesPrefix: 'I_',
3133
namingConvention: {
3234
typeNames: 'change-case#upperCase',
3335
enumValues: 'change-case#lowerCase',
@@ -36,6 +38,14 @@ const config: CodegenConfig = {
3638
enumsAsTypes: false,
3739
contextType: './customTypes#ResolverContext',
3840
},
41+
mergeSchema: {
42+
path: 'schema.gen.gql',
43+
config: {
44+
includeIntrospectionTypes: true,
45+
commentDescriptions: true,
46+
sort: true,
47+
},
48+
},
3949
}),
4050
},
4151
};
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
import type { I_CURRENCYRESOLVERS } from './../../types.gen';
2+
export const Currency: I_CURRENCYRESOLVERS = {
3+
USD: 'USD',
4+
AUD: 'AUD',
5+
};
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
import type { I_ERRORRESOLVERS } from './../../types.gen';
2+
export const Error: I_ERRORRESOLVERS = {
3+
/* Implement Error interface logic here */
4+
};
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
import type { I_ERRORTYPERESOLVERS } from './../../types.gen';
2+
export const ErrorType: I_ERRORTYPERESOLVERS = {
3+
NOT_FOUND: 'NOT_FOUND',
4+
INPUT_VALIDATION_ERROR: 'INPUT_VALIDATION_ERROR',
5+
FORBIDDEN_ERROR: 'FORBIDDEN_ERROR',
6+
UNEXPECTED_ERROR: 'UNEXPECTED_ERROR',
7+
};
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import type { PaginationResultResolvers } from './../../types.gen';
2-
export const PaginationResult: PaginationResultResolvers = {
1+
import type { I_PAGINATIONRESULTRESOLVERS } from './../../types.gen';
2+
export const PaginationResult: I_PAGINATIONRESULTRESOLVERS = {
33
/* Implement PaginationResult resolver logic here */
44
};
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import type { StandardErrorResolvers } from './../../types.gen';
2-
export const StandardError: StandardErrorResolvers = {
1+
import type { I_STANDARDERRORRESOLVERS } from './../../types.gen';
2+
export const StandardError: I_STANDARDERRORRESOLVERS = {
33
/* Implement StandardError resolver logic here */
44
};

packages/typescript-resolver-files-e2e/src/test-config-overrides/modules/resolvers.gen.ts

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/* This file was automatically generated. DO NOT UPDATE MANUALLY. */
2-
import type { Resolvers } from './types.gen';
2+
import type { I_RESOLVERS } from './types.gen';
33
import { me as Query_me } from './user/rslvrs/Query/me';
44
import { topicById as Query_topicById } from './topic/rslvrs/Query/topicById';
55
import { topicsCreatedByUser as Query_topicsCreatedByUser } from './topic/rslvrs/Query/topicsCreatedByUser';
@@ -19,9 +19,17 @@ import { User } from './user/rslvrs/User';
1919
import { UserResult } from './user/rslvrs/UserResult';
2020
import { SomeOtherScalars } from './base/rslvrs/SomeOtherScalars';
2121
import { WithInputOutput } from './base/rslvrs/WithInputOutput';
22+
import { Error } from './base/rslvrs/Error';
23+
import { TopicByIdPayload } from './topic/rslvrs/TopicByIdPayload';
24+
import { TopicCreatePayload } from './topic/rslvrs/TopicCreatePayload';
25+
import { TopicEditPayload } from './topic/rslvrs/TopicEditPayload';
26+
import { TopicsCreatedByUserPayload } from './topic/rslvrs/TopicsCreatedByUserPayload';
27+
import { UserPayload } from './user/rslvrs/UserPayload';
28+
import { Currency } from './base/rslvrs/Currency';
29+
import { ErrorType } from './base/rslvrs/ErrorType';
2230
import CustomBigIntResolver from './base/CustomBigIntResolver';
2331
import { DateTimeResolver } from 'graphql-scalars';
24-
export const resolvers: Resolvers = {
32+
export const resolvers: I_RESOLVERS = {
2533
Query: {
2634
me: Query_me,
2735
topicById: Query_topicById,
@@ -45,6 +53,14 @@ export const resolvers: Resolvers = {
4553
UserResult: UserResult,
4654
SomeOtherScalars: SomeOtherScalars,
4755
WithInputOutput: WithInputOutput,
56+
Error: Error,
57+
TopicByIdPayload: TopicByIdPayload,
58+
TopicCreatePayload: TopicCreatePayload,
59+
TopicEditPayload: TopicEditPayload,
60+
TopicsCreatedByUserPayload: TopicsCreatedByUserPayload,
61+
UserPayload: UserPayload,
62+
Currency: Currency,
63+
ErrorType: ErrorType,
4864
BigInt: CustomBigIntResolver,
4965
DateTime: DateTimeResolver,
5066
};

0 commit comments

Comments
 (0)