GraphQL Foundation Monthly Newsletter August 2020
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
Updates
GraphQL over WebSocket refresh, existing issues and security implications
This discussion topic proposes taking on the following two critical items of security and bypassing the onConnect event. And possibly re-writing the WebSocket protocol from scratch with full RFCs
Tagged Type RFC
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.
Standardize naming for Field coordinates
This PR proposes the following 2 RFCs
- Formalizing the naming and definition of field coordinates (as discussed in #735)
- Formalizing the way in which a Field Node (and list thereof) contained within a query document can be serialized as field coordinates
Adding generics to DocumentNode and Source to allow TypeScript type inference
@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
- GraphQL over HTTP was moved and is now under GraphQL Foundation
- @lilianammmatos and
@robrichard have made big progress on
@deferer & @stream
. Yo can learn more by watching their talk about it at the GraphQL Summit: - @andimarek and @eapache started the GraphQL Scalars initiative. You can also learn more by watching their talk about it at the GraphQL Summit.
- All WG recordings were published on YouTube.
Get Involved!
Developers can get involved in the community and contribute to the project at https://github.com/graphql.
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 membership@graphql.org.