Multi Project
In some cases, it's useful to have multiple projects in the same config file.
For example, in a monorepo, the VSCode GraphQL plugin will automatically pick up the right config for the right folder.
Configuration file format
Here's an example for a possible config file:
graphql.config.js
/** @type {import('graphql-config').IGraphQLConfig } */
module.exports = {
projects: {
prj1: {
schema: ['prj1/**/*.graphql'],
documents: ['prj1/**/*.gql'],
extensions: {
codegen: {
generates: {
'graphqlTypes.ts': {
plugins: ['typescript', 'typed-document-node']
}
}
}
}
},
prj2: {
schema: ['prj2/**/*.graphql'],
documents: ['prj2/**/*.gql'],
extensions: {
codegen: {
generates: {
'graphqlTypes.ts': {
plugins: ['typescript', 'typed-document-node']
}
}
}
}
}
}
}
Command to generate files
With the previous config, you can generate files with the following command:
graphql-codegen --config graphql.config.js --project prj1