Skip to content

GAP-33: A proposal for Set-semantic compatible Type System Definitions#33

Merged
magicmark merged 3 commits into
graphql:mainfrom
mjmahone:mjmahone-set-schema
May 19, 2026
Merged

GAP-33: A proposal for Set-semantic compatible Type System Definitions#33
magicmark merged 3 commits into
graphql:mainfrom
mjmahone:mjmahone-set-schema

Conversation

@mjmahone
Copy link
Copy Markdown
Contributor

@mjmahone mjmahone commented May 15, 2026

I have been working on a lot of operations that benefit from treating the GraphQL Schema as a Set. For context, see changes in the Relay schema-set crate: https://github.com/facebook/relay/tree/main/compiler/crates/schema-set

One of the core issues is there's no syntax I can use to get partial sets. For example I can have a type-definition and field definition removed, but there is still an argument on the field present.

This proposes to solve that through syntax that looks like:

extend type Person {
  extend field(argument: String) @deprecated
}

We could get into this state if we did something like:

type Person {
  field(argument: String): String @deprecated
}

exclude

type Person {
  field: String
}

This proposal should give a syntax that we could use in @egoodwinx's proposal in #4

@mjmahone mjmahone changed the title Base GAP proposal for Set-semantic compatible Type System Definitions GAP-33: A proposal for Set-semantic compatible Type System Definitions May 15, 2026
@mjmahone mjmahone force-pushed the mjmahone-set-schema branch from eef916b to 893b04a Compare May 15, 2026 22:03
Comment thread gaps/GAP-33/metadata.yml Outdated
Comment thread gaps/GAP-33/metadata.yml Outdated
Copy link
Copy Markdown
Contributor

@magicmark magicmark left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nice!

@magicmark
Copy link
Copy Markdown
Contributor

Merging per CONTRIBUING.md

Once approved by the authors and sponsor, the PR should be merged by the sponsor.

@magicmark magicmark merged commit e2ca741 into graphql:main May 19, 2026
2 checks passed
@magicmark
Copy link
Copy Markdown
Contributor

magicmark commented May 19, 2026

@mjmahone
Copy link
Copy Markdown
Contributor Author

Thanks @magicmark !

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants