forked from Suwayomi/Suwayomi-WebUI
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathgql_codegen.ts
More file actions
50 lines (47 loc) · 1.56 KB
/
Copy pathgql_codegen.ts
File metadata and controls
50 lines (47 loc) · 1.56 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
/*
* Copyright (C) Contributors to the Suwayomi project
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at https://mozilla.org/MPL/2.0/.
*/
import type { CodegenConfig } from '@graphql-codegen/cli';
// eslint-disable-next-line import-x/no-extraneous-dependencies
import 'dotenv/config';
const config: CodegenConfig = {
overwrite: true,
schema: process.env.CODEGEN_SERVER_URL_GQL,
documents: ['src/lib/graphql/**', '!src/lib/graphql/generated/**'],
ignoreNoDocuments: true,
config: {
namingConvention: {
typeNames: 'change-case-all#pascalCase',
transformUnderscore: true,
},
scalars: {
LongString: 'string',
Cursor: 'string',
Duration: 'string',
},
},
generates: {
'src/lib/graphql/generated/graphql-base.types.ts': {
plugins: ['typescript'],
config: {
generateOperationTypes: false,
},
},
'src/lib/graphql/generated/graphql.ts': {
plugins: ['typescript-operations'],
config: {
importSchemaTypesFrom: 'src/lib/graphql/generated/graphql-base.types.ts',
nonOptionalTypename: true,
},
},
'src/lib/graphql/generated/apollo-helpers.ts': {
plugins: ['typescript-apollo-client-helpers'],
},
},
};
// eslint-disable-next-line import-x/no-default-export
export default config;