apollographql / apollographql/vscode-graphql
Feature: Support multiple schemas in a monorepository
- 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