The Guild Newsletter - Issue #2

We are happy to be back for this second edition of The Guild Newsletter!

All meeting together in SF in June has been the perfect occasion to brainstorm about the future of The Guild and our projects.

We have a lot of plans, starting with new major versions of many of our libraries (codegen, Mesh, Yoga v3) and a stronger commitment to open source.

We believe that open source does not only mean “public code” but also means sharing knowledge and being transparent about plans and progress.

Following this vision, we decided to be better at sharing knowledge and information by #buildingInPublic.

From now on, we will ensure that most of our roadmaps, knowledge, and meeting notes are publicly shared on GitHub (more information on that matter in the announcement section below).

Announcements

We #BuildInPublic, our commitment to better open-source

While being Open Source contributors for many years, we feel we can do better at being open-sourced.

A big chunk of exciting discussions and information is currently kept private in our Slack and Notion, and we feel we could make most of it public.

For this reason, we decided to gradually make most of our notion pages and Slack chats public through Github Discussions automation.

We have already started to share some Notion pages, for example, the “Shared coding standards across projects” page and the "Yoga v3" page.

We will continue spreading our vision of Open Source, based on open collaboration and great knowledge sharing, by sharing more public information and being more transparent through better changelogs, public roadmaps, and live community exchanges.

Stay tuned!

GraphQL Hive now supports 2 more languages: PHP and Ruby 🚀

We are pleased to see members from the community building integrations for Hive!

Following the adoption of non-JavaScript communities, we decided to implement integration for another big community of GraphQL adopters, Ruby: https://github.com/charlypoly/graphql-ruby-hive.

We will continue working on making Hive available to more communities 🚀

Suppose you are interested in developing your own integration. In that case, the perfect place to start is the GraphQL Hive reporting and usage API specifications (as always, feel free to reach us for any support in this process).

Adobe Commerce x GraphQL Mesh

We are thrilled by the recent announcement of Adobe Commerce highlighting that GraphQL Mesh has been chosen as a core component of the upcoming new Adobe Commerce platform.

Adobe Commerce is leveraging GraphQL to allow developers to access multiple data sources through a unified GraphQL Schema, unique to each store.

A video from Adobe is available here.

Our collaboration with Adobe - and other companies/projects will definitely help Mesh move faster and evolve toward a better developer experience.

Some of those improvements have already landed in new versions (more details below); stay tuned! 🚀

Conferences and meetups 🎤

GraphQL Berlin meetup on July 20th

Laurin will talk about how to get the best of GraphQL at the next GraphQL Berlin meetup, on July 20th.

HasuraCon talk recording is available

Jamie gave a complete overview on how to build modern GraphQL APIs by leveraging GraphQL Yoga and Envelop 🚀

His talk is the best way to get started with GraphQL Yoga v2:

The Guild Ecosystem

GraphQL Yoga: v3 roadmap and Nest integration

We planned the features for the next major release of Yoga v3. You can find and provide feedback on the roadmap here. We also rolled out this week a distributed Redis Pub/Sub implementation based on the EventTarget standard (learn more on the Yoga Documentation). Also, we are already investigating how Yoga can run on Bun.js.

Finally, we continue to make GraphQL Yoga available to most frameworks and easy to deploy anywhere! 🚀

We are happy to announce that @graphql-yoga/nestjs can now be used with Nest GraphQL Module to build standalone GraphQL API and Federation Gateway and Services:

Get started with our documentation!

Bringing the best GraphQL experience to Svelte

In early July, we announced that KitQL and Houdini are joining forces toward one common goal (check the title ⚡). You can read more about it on the dedicated blog post: https://www.the-guild.dev/blog/houdini-and-kitql.

If you want an introduction to the topic, check out this video that was recorded at Vienna Meetup:

We will be happy to welcome you to our repos to start exchanging ideas.

GraphQL Mesh

We continue to push a lot of effort into GraphQL Mesh, with new features shipped in the past few weeks and ambitious plans for the future 🚀

Here are the significant new features and improvements now available in the latest version of Mesh’s packages:

Additional Resolvers can now be defined with directives

additionalResolvers can be verbose to write, for this reason, they can be now defined directly in additionalTypeDefs using the @resolveTo directive:

GraphQL source handler fetching strategies

The @graphql-mesh/graphql source handler now provides advanced fetching strategies:

  • retry: configure a retry rule when failing to query the GraphQL API

  • timeout

  • fallback: provide many GraphQL endpoints as a fallback

  • race: provide many GraphQL endpoints and use the response of the fastest one

Better support for Cloudflare Workers KV cache

To make GraphQL Mesh available to all platforms, we improved the cache handling for Cloudflare Workers deployments.

More information is available on this dedicated GraphQL.wtf episode:

The Guild libraries “TypeScript Module exports map support” rollout

TypeScript 4.7 finally shipped with native ESM support. This requires adjusting the exports map in a libraries package.json to contain references to the TypeScript definition files. Now we have three possible ways of declaring TypeScript definitions 😅. We updated our library build management tool bob-the-bundler to consider these concerns and improve overall ESM and CJS integrity via a new check command that tries to import/require all declared exports using Node.js.

We are now slowly rolling out the changes starting with GraphQL Tools, GraphQL Yoga, and Envelop.

Related Links:

GraphQL.wtf 📺

Your weekly dose of GraphQL tutorials is available at Graphql.wtf!

Here are some of the videos that have been published since our last newsletter issue:

  • Typed Document Node: Generate a DocumentNode automatically for GraphQL operations, and the typescript signature it represents for better use with GraphQL clients.

  • The Graph Client: Generate a fully typed SDK automatically to query the Ethereum network using The Graph Client.

  • Schema-first or code-first GraphQL: Getting started with GraphQL doesn't always mean you need to write your schema by hand. Instead, you can use code-first tools to define both your type definitions and resolvers.

Releases

We hope that you appreciated this second edition of The Guild Newsletter!

As always, we are eager to get your feedback on all those recent releases; please feel free to reach out with any of the mediums listed below.

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

  • Replying to this issue

  • Opening an issue on our projects

  • Chat with us via our websites

  • Send an email to [email protected]