Skip to content

Latest commit

 

History

History
62 lines (50 loc) · 1.24 KB

multiproject-config.mdx

File metadata and controls

62 lines (50 loc) · 1.24 KB
id title
multiproject-config
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