43 lines
925 B
TypeScript
43 lines
925 B
TypeScript
import type { CodegenConfig } from '@graphql-codegen/cli'
|
|
|
|
const schema =
|
|
process.env.CODEGEN_SCHEMA_URL ??
|
|
process.env.VITE_GRAPHQL_URI ??
|
|
'https://localhost:5001/graphql'
|
|
|
|
const authToken = process.env.VITE_CODEGEN_TOKEN ?? process.env.CODEGEN_TOKEN
|
|
const headers = authToken
|
|
? {
|
|
Authorization: `Bearer ${authToken}`,
|
|
}
|
|
: undefined
|
|
|
|
const config: CodegenConfig = {
|
|
schema: {
|
|
[schema]: { headers },
|
|
},
|
|
documents: 'src/**/*.graphql',
|
|
generates: {
|
|
'src/__generated__/graphql.ts': {
|
|
plugins: [
|
|
'typescript',
|
|
'typescript-operations',
|
|
'typed-document-node',
|
|
],
|
|
config: {
|
|
avoidOptionals: {
|
|
field: true,
|
|
inputValue: false,
|
|
},
|
|
enumsAsConst: true,
|
|
maybeValue: 'T | null',
|
|
skipTypename: true,
|
|
useTypeImports: true,
|
|
},
|
|
},
|
|
},
|
|
ignoreNoDocuments: true,
|
|
}
|
|
|
|
export default config
|