/ codegen.ts
codegen.ts
 1  import 'dotenv/config';
 2  import { CodegenConfig } from '@graphql-codegen/cli';
 3  
 4  const config: CodegenConfig = {
 5    overwrite: true,
 6    config: {
 7      nonOptionalTypename: true,
 8      dedupeFragments: true,
 9    },
10    schema: './schema.graphql',
11    generates: {
12      './src/lib/graphql/__generated__/base-types.ts': {
13        plugins: ['typescript'],
14      },
15      './src/': {
16        preset: 'near-operation-file',
17        documents: ['src/**/!(*.generated).{ts,graphql,svelte}'],
18        presetConfig: {
19          folder: '__generated__',
20          extension: '.generated.ts',
21          gqlTagName: 'gql',
22          fileName: 'gql',
23          pruneGeneratedFiles: true,
24          baseTypesPath: 'lib/graphql/__generated__/base-types.ts',
25        },
26        plugins: ['typescript-operations'],
27        config: {
28          dedupeFragments: true,
29          namingConvention: {
30            enumValues: 'keep',
31          },
32          useTypeImports: true,
33        },
34      },
35    },
36    hooks: {
37      afterAllFileWrite: ['prettier --write'],
38    },
39  };
40  
41  export default config;