The Guild Newsletter #4: the next GraphQL Codegen experience, Yoga v3
September has been a strong month, with advancements in all our projects!
GraphQL Hive also stepped forward on the documentation side with better guides for self-hosted setup.
Finally, Conferences are back, and we are happy to be part of many of them and more to come!
GraphQL Code Generator: the new developer experience
While the work on the v3 roadmap continues, two major improvements have been shipped to codegen.
First, GraphQL Code Generator now support and encourage TypeScript configuration file (codegen.ts), graphql-codegen/[email protected].
Moving to TypeScript configuration provides autocompletion and avoids typos, with better integrations with nowadays projects and IDEs.
Another major improvement is the client preset release that delivers the best developer experience when building GraphQL applications.
The newly released `client` preset brings you typed GraphQL Queries and Mutations with no need to import types or other generated code (hooks).
Just use the provided graphql() helper function to define your GraphQL documents and get an instant typed GraphQL experience, will all framework.
Conferences are back, and so are we!
September resumes conferences, and we are happy to be part of many of them!
Laurin talked about GraphQL Code Generator's new developer experience at the GraphQL Conf, summarised by Uri in this Twitter thread 🧵
Uri was also present at the GraphQL Conf, sharing everything you need to know about GraphQL Hive and especially sharing how The Guild is using GraphQL in all of its projects; be ready for some gems content ahead! 💎
The Guild ecosystem
GraphQL Yoga: v3, Bun support, GraphiQL 2.0
We are pleased to announce that GraphQL Yoga 3 is now available as an alpha release.
Yoga 3 is a major milestone with simplified packaging (a single package for all environments), embedded GraphiQL 2.0, Bun.js support, and more! 🚀
While the complete list of changes can be found in the changelog, here are the major changes to keep in mind:
Drop of Node 12.x support (Node 14.x minimum is required)
a single NPM package for all environments graphql-yoga instead of @graphql-yoga/common and @graphql-yoga/node
Yoga is now fully "GraphQL over HTTP" spec compliant
Yoga, as a subgraph, has complete compatibility against the Apollo Federation Specification
Many documentation improvements (versioned docs)
You can find our Yoga v2 -> v3 migration guide in our documentation.
Please try this new major alpha release, we can't wait to have your feedback!
GraphQL Hive: Open-source improvements, External Composition API
As we continue onboarding new users, some asked for easier self-hosted installation.
We recently released dedicated docker images and documentation, now available from the GraphQL Hive repository.
More information is available in the dedicated "Self-hosting GraphQL Hive" documentation and the announcement blog post below:
Host your own GraphQL Hive instance.
We are also happy to announce that GraphQL Hive supports Apollo Router 1.0 with a dedicated docker image.
Hive also now supports external schema composition, allowing users to build and validate Schema outside of GraphQL Hive.
More detail can be found on the dedicated documentation page.
GraphQL Mesh: documentation improvements, GraphiQL 2.0 support
GraphQL Mesh now relies on Yoga v3, gaining advantages of all its new features and improvements (Bun.js support, GraphiQL 2.0, and more).
Also, on top of many documentation improvements, Mesh documentation now offers a dedicated "Plugins" section that covers many use cases:
Security: Depth limits, Rate limiting
Error handling: Sentry, error masking
Tracing: NewRelic, Datadog, StatsD, Apollo Tracing
Moving to JSON Schema handler brings better performance and easier future evolution of this source handler.
Please let us know if you need any assistance with migrating (via GitHub Discussions or our website chat).
GraphQL ESLint: Vue and Svelte support, performance improvements
With GraphQL ESLint v3.12.0, our ESLint tool becomes a more multilanguage linter. A new minor update adds support for linting GraphQL documents from vue and svelte files.
Also, this update improves performance for linting code files and adds support for configuring gql, graphql, /* GraphQL */ keywords via GraphQL Config.
`whatwg-node`: Bun support
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]