Catch the highlights of GraphQLConf 2023! Click for recordings. Or check out our recap blog post.
Docs
Config Reference
Multi Project

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