import { CodegenConfig } from "@graphql-codegen/cli"; // graphql-codegen doesn't load .env.local, so we have to do it manually import * as dotenv from "dotenv"; dotenv.config({ path: ".env.local" }); const useIntrospection = ["1", "true"].includes( process.env.GRAPHQL_USE_INTROSPECTION?.toLowerCase() ?? "" ); const config: CodegenConfig = { schema: useIntrospection ? "introspection.json" : { [`http://${process.env.LDAP_HOST}:17170/api/graphql`]: { headers: { // can't make the request automatically (await on top level) Authorization: `Bearer ${process.env.GRAPHQL_CODEGEN_AUTH}` } } }, documents: ["src/**/*.ts", "src/**/*.tsx"], generates: { "./src/__generated__/": { preset: "client", presetConfig: { gqlTagName: "gql" } }, "introspection.json": { plugins: ["introspection"] } }, ignoreNoDocuments: true }; export default config;