The Guild Newsletter - Issue #1

Our commitment to the GraphQL Ecosystem is stronger than ever, with more than 15 active projects used by thousands of developers, participating in the GraphQL Foundation projects, and working with many companies to help them get the best of GraphQL.

We felt that we could do a better job at making it easier to follow the evolution of our ecosystem and share our tips and knowledge.

For this reason, we are happy to share with you this first issue of The Guild Newsletter, a monthly newsletter that will share:

  • The Guild and GraphQL Foundation projects releases

  • Blogposts about GraphQL

  • Tips on how to get the best of our tools

Starting our newsletter is a long-time due project and we feel that this month is the perfect timing to start with the recent launch of GraphQL Yoga v2 and our first product: GraphQL Hive.

Announcements

Meet The Guild team at the GraphQL SF Meetup on June 7th 🗓

We are very excited to have all The Guild members moving to SF together (for the first time!) and join the GraphQL SF Meetup!

This meetup will be the occasion to share our vision of the future of The Guild and especially to answer all your questions during a dedicated AMA.

Registrations are already open, we can’t wait to meet you!

You are part of a company based in SF? Let’s meet!

GraphQL Yoga v2 is available! 🧘‍♂️

GraphQL Yoga, our GraphQL Server library, recently reached a huge milestone: the v2 version!

With the growing community of tools in the GraphQL space, most recently Envelop, we were able to rewrite GraphQL Yoga 2.0 from scratch with easy setup, performance, and developer experience at the core.

Discover all the new features brought by the v2 in the launch article, its dedicated GraphQL.wtf video, or by following the Yoga tutorial.

We already received much positive feedback and great adoption with RedwoordJS and Parse Plateform switching to Yoga as their default GraphQL server.

More is coming soon, a new NestJS GraphQL Yoga driver, stay tuned!

GraphQL Hive, our first open-source SaaS product �

Today is a big day for us: we are releasing our first open-source SaaS product, GraphQL Hive.

GraphQL Hive aims to help GraphQL developers to get to know their GraphQL APIs a little more with our schema registry, monitoring, alerts, and integrations.

This new open source project comes with its managed SaaS alternative, with a generous free “Hobby” plan.

Get started by reading our launch article: https://www.the-guild.dev/blog/announcing-graphql-hive-public

GraphQLFoundation

The Guild is a member of the GraphQL Foundation whose mission is to ensure that the GraphQL community is able to focus on the continued evolution of the specification and reference implementations.

We are happy to announce that The Guild is now the new maintainer of the DataLoader project.

We started a maintenance plan that includes TypeScript support, and better documentation: https://github.com/graphql/dataloader/issues/297.

Finally, Benjie from PostGraphile, started the “GraphQL Composite Schemas Working Group” initiative. The evolution of the GraphQL ecosystem brought many different solutions to compose multiple GraphQL Schemas (Hasura GraphQL Joins, Apollo Federation, GraphQL Modules, GraphQL Tools, etc).

The goal of this working group would be to define a spec to avoid a proliferation of standards.

If you are working in this field or are interested in the subject, we highly encourage you to join this WG: https://github.com/graphql/graphql-wg/pull/977.

The Guild Ecosystem

A better documentation experience

New documentation search

As most of our projects grow, we realized that it might be sometimes difficult to quickly find the searched content.

For this reason, we are happy to release a new search experience that allows you to search across all of our projects, thanks to a unified UI.

We already have many improvements listed for this first beta version of the new search, all feedback is more than welcome: https://github.com/the-guild-org/the-guild-components/issues/372.

More collaborative documentation

Most of our documentation now provides an “Edit on Github” link, to ease feedback and collaboration, along with a brand new comment system!

GraphQL Code Generator

First, we would like to thank all of you since GraphQL Code Generator recently crossed the 1.4 million weekly downloads on NPM 🎉

We lately put a lot of effort into codegen by first improving its documentation with better Getting started content and new Guides for major frameworks and setups.

You will find below the list of “not-to-miss” updates released since the beginning of the year:

Introducing Document Driven Applications and Fragment Masking

Fragment Masking is a popular technique, that so far has been exclusive to Relay users. We built a new plugin preset on top of TypedDocumentNode that allows using fragment masking with any GraphQL client or framework. This will help more people build data-driven self-contained components. We are already using it heavily within Hive!

Codegen performance

Many improvements have been made to codegen performance, make sure to update all your @graphql-codegen/* packages to the last version!

If you are facing some performance issues in a development environment, we recommend disabling the documentation validation in development, as follows:

Merge similar Fragment types

Some of you have reported some issues related to the usage of Node interface design that leads to poor type resolution and heavy generated types.

Thankfully, @asmundg provided a new option (mergeFragmentTypes: true) for all typescript plugins that enable merging “similar fragments”.

More information is available on the related PR: https://github.com/dotansimha/graphql-code-generator/pull/7799

Mesh

First, similarly to GraphQL Code Generator, we completely revamped the GraphQL Mesh documentation. Getting started and learning the concepts is now a lot easier!

Mesh's ongoing ambitious work aims to provide a better developer experience, stronger handlers, and cross-platform support.

Here is a summary of what to expect from the last releases:

Cross-platform support

This initiative is initially born from our collaboration with The Graph in building The Graph client to query multiple GraphQL APIs as a unified schema, from the client side.

Following those requirements, GraphQL Mesh is now 100% browser compatible and we will continue efforts to improve this support (smaller bundler, etc).

Finally, GraphQL Mesh server architecture has been completely rewritten with GraphQL Yoga and Envelop, making GraphQL Mesh easier to deploy to most server and serverless environments.

You will find more information on how to deploy GraphQL Mesh on Serverless in our documentation.

Better developer experience

The experience of GraphQL Mesh users has been improved thanks to improved logging and a complete rewrite of the server architecture.

GraphQL Mesh now relies on GraphQL Yoga and Envelop, you can easily customize the Envelop plugins by simply providing plugin lists (see the new experimental declarative plugin configuration) or a JavaScript file.

OpenAPI handler rewrite

With the goal to provide a more stable and performance OpenAPI handler, the existing openapi handler will be soon sunset and replaced by the new-openapi.

This change will come with a migration guide.

In the meantime, we highly advise you to give a try to the new-openapi handler to anticipate changes in the generated GraphQL Schema.

2022 is gonna be an important year for GraphQL Mesh, stay tuned!

Envelop

The v2 of Envelop, our GraphQL servers plugin system has been released!

This version brings performance improvement and one breaking change:

We highly recommend avoiding using any plugins that use onResolversCalled within your production environment as it has a severe impact on the performance of the individual resolver functions within your schema.

Finally, as you may know, we believe that open source projects should live under a person's name - this way it promotes the person and not just the company, and also it creates a more healthy ownership model.

Given his commitment to Envelop, we are happy to announce that the Envelop repository has been transferred to Laurin!

KitQL

KitQL is a new library built exclusively for SvelteKit, leveraging each and every possibility of this fantastic way of building apps.

It’s making use of our EcoSystem & Best Practices like:

  • GraphQL-Yoga (for the server)

  • GraphQL-Modules (to organize things nicely)

  • GraphQL-ESLint (to respect coding rules)

  • A dedicated client abusing fetch & stores mechanisms

  • … fully typed

  • … and more to come!

If you are in SvelteKit and want to use GraphQL (client and/or server), it’s definitely the way to go.

Check our videos and all other resources here: Get started with KitQL

Releases

We hope you enjoyed reading this first newsletter as much as we loved writing it!

You can find more information about our projects, blog posts, and services on our brand-new https://the-guild.dev website ✨

Stay up to date by following us on Twitter and don’t hesitate to reach out to us by:

  • Replying to this email

  • Opening an issue on our projects

  • Chat with us via our websites

  • Send an email to [email protected]