import type { CodegenConfig } from '@graphql-codegen/cli'; const config: CodegenConfig = { overwrite: true, emitLegacyCommonJSImports: false, verbose: true, config: { namingConvention: { enumValues: 'change-case-all#upperCase', transformUnderscore: true, useTypeImports: true, }, scalars: { DateTime: 'string', Long: 'number', JSON: 'Record', URL: 'URL', Port: 'number', UUID: 'string', BigInt: 'number', }, scalarSchemas: { URL: 'z.instanceof(URL)', Long: 'z.number()', JSON: 'z.record(z.string(), z.any())', Port: 'z.number()', UUID: 'z.string()', BigInt: 'z.number()', }, }, generates: { // Generate Types for Mothership GraphQL Client 'src/graphql/generated/client/': { documents: './src/graphql/**/*.ts', schema: { [process.env.MOTHERSHIP_GRAPHQL_LINK ?? 'https://staging.mothership.unraid.net/ws']: { headers: { origin: 'https://forums.unraid.net', }, }, }, preset: 'client', presetConfig: { gqlTagName: 'graphql', }, config: { useTypeImports: true, withObjectType: true, }, plugins: [{ add: { content: '/* eslint-disable */' } }], }, }, }; export default config;