Files
suwayomi-material-you-webui/gql_codegen.ts
2026-05-15 20:41:14 +02:00

51 lines
1.6 KiB
TypeScript

/*
* 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;