apollographql / apollographql/vscode-graphql

Feature: Support multiple schemas in a monorepository

Open
#302 3 comments 0 reactions 0 assignees View on GitHub
Dominant language
TypeScript
Stars
78
Forks
23
PR merge metrics
No merged PRs in 30d

Description

Currently, you point to a single schema in a codebase which is fine for most, but we're using a monorepository to share code between multiple brands using NX.

Example folder structure:
```
/apps
brand-a
brand-b
/libs
common-utils
a-atoms
a-molecules
b-atoms
b-molecules
```

Brand A and B share common utilities and more, and each brand has it's own schema/API and UI components.

We'd like to be able to do something like this:

**apollo.config.json:**
```json
{
"clients": [
{
"service": "brand-a@production",
"includes": [
"/apps/brand-a/**/*.graphql",
"/libs/a-atoms/**/*.graphql",
"/libs/a-molecules/**/*.graphql"
]
},
{
"service": "brand-b@production",
"includes": [
"/apps/brand-b/**/*.graphql",
"/libs/b-atoms/**/*.graphql",
"/libs/b-molecules/**/*.graphql"
]
}
]
}
```

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reviewing the proposed apollo.config.json structure and how the extension currently reads a single schema. Trace the configuration entry point and determine how multiple clients should map their includes and services. Done means a monorepository can configure separate schemas for brand A and brand B.

Written by the indexing model from the issue text.

Assessment

Tech stack
graphql, typescript, vscode
Domain
tooling
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.