By gqlfoundation | September 11, 2020 | GraphQL Newsletter
GraphQL has redefined how developers work with APIs and client-server interactions. And as the community works hard to foster the growth and adoption of GraphQL, we are excited to share the work of the community and discussions via a new monthly GraphQL Foundation newsletter.
All work on GraphQL and related projects, both big and small, is important to the growth and maturity of the project, which has already seen adoption from many of the world’s largest internet-scale companies.
Many of these items are just in beginning discussions while some are further along. The goal of this monthly post is to summarize and share what’s top of mind for the community and help others get involved. These are only initial discussion topics. For notes on the full discussion during the monthly WG calls please refer to these call notes
This is an RFC for a new “Tagged” type to be added to GraphQL, to help address the input polymorphism feature gap. Originally proposed as the @oneField directive, the Tagged type has evolved into an entire new type in the type system, and is currently the lead proposal from the Input Unions Working Group.
A Tagged type defines a list of named member fields each with an associated type (like the fields in Object and Input Object types); but with the stipulation that exactly one of these fields must be present (no more, no less). Depending on the types of the member fields, a Tagged type could be appropriate for input, output, or both, which is proving to be quite controversial; it’s possible that the tagged type might be scoped to input only before release. The Tagged type was most recently introduced to the GraphQL Working Group in August and is undergoing feedback and revision before an expected update with the working group in October or November.
If you have use-cases for input polymorphism, please take a look - feedback is very welcome.
@dotansimha from The Guild had recently implemented an improved version of DocumentNode, called TypedDocumentNode, that allows type generics for result type and variable type and contributed it to graphql-js.
This improved version allows TypeScript to infer the types automatically when an object that matches the signature is used.
You can learn more by reading about it on his blog post.
In Other News
We recently welcomed the newest member of the GraphQL Foundation - The Guild. Here you can find the list of all current members of the foundation.
@hereisnaman successfully finished his Google Summer of Code (GSoC) project and is in the process of merging hisPR. Learn more about it here.
GraphQL was accepted to the Google Season of Docs (GSoD) and @carolstran will be working on the FAQ section of graphql.org
Organizations interested in becoming members of the GraphQL Foundation or the GraphQL Specification can learn more on our member page. If you have questions about membership, please send an email to firstname.lastname@example.org.