dotansimha / dotansimha/graphql-code-generator
graphql-modules-preset: Accept `enumsAsConst` for typescript plugin config
- Dominant language
- TypeScript
- Stars
- 11.3k
- Forks
- 1.4k
- Avg merge
- 1d 1h
- Merged PRs (30d)
- 23
Description
### Is your feature request related to a problem? Please describe.
`enumsAsConst` is ignored:
```typescript
import type { CodegenConfig } from '@graphql-codegen/cli'
const config: CodegenConfig = {
schema: './src/modules/**/typedefs/*.graphql',
generates: {
'./src/modules/': {
preset: 'graphql-modules',
presetConfig: {
baseTypesPath: '../generated-types/graphql.ts',
filename: 'generated-types/module-types.ts',
},
plugins: [
{
typescript: {
enumsAsConst: true, // ❌ Does not work
},
},
{
'typescript-resolvers': {}
},
],
},
},
}
export default config
```
because graphql-modules-preset overwrites typescript plugin config as `enumsAsTypes: true`, so `enumsAsConst: true` is ignored.
```typescript
config: {
...options.config,
enumsAsTypes: true, // 🙁
},
```
https://github.com/dotansimha/graphql-code-generator/blob/master/packages/presets/graphql-modules/src/index.ts#L69
### Describe the solution you'd like
Accept a config something like this in `ModulesConfig`:
```typescript
export type ModulesConfig = {
...
disableOverwritesEnumsAsConfig: boolean;
...
};
```
https://github.com/dotansimha/graphql-code-generator/blob/master/packages/presets/graphql-modules/src/config.ts
```typescript
import type { CodegenConfig } from '@graphql-codegen/cli'
const config: CodegenConfig = {
schema: './src/modules/**/typedefs/*.graphql',
generates: {
'./src/modules/': {
preset: 'graphql-modules',
presetConfig: {
baseTypesPath: '../generated-types/graphql.ts',
filename: 'generated-types/module-types.ts',
disableOverwritesEnumsAsConfig: true, // ✅ Add
},
plugins: [
{
typescript: {
enumsAsConst: true, // ✅ Works!
},
},
{
'typescript-resolvers': {}
},
],
},
},
}
export default config
```
### Describe alternatives you've considered
_No response_
### Is your feature request related to a problem? Please describe.
_No response_
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.