question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

We are excited to announce the development of the next major version for graphql-yoga. The goal is to provide a fully-featured, simple to set up, performant and extendable server. Some key features:

  • GraphQL-over-HTTP spec compliant
  • Extend the GraphQL request flow using envelop
  • File uploads (via GraphQL multipart request specification)
  • GraphQL Subscriptions (using SSE)
  • Logging using Pino
  • Improved TypeScript Support
  • Try out experimental GraphQL features such as @defer and @stream

We triaged all the current open issues into different categories and tried to address all of them. Let us know if we missed something or if there is something else you would like to see and we can make it happen!

Configurability/Extensibility

Real-time capabilities

Uploads

Testing

Improved TypeScript support

ESM Support

Serverless Support

Misc

Future releases

  • Allow using with Deno and Cloudflare workers with no additional configs
  • Improved development workflow with GraphQL CLI
  • Starter projects supporting different styles to create schemas
  • Support different storage providers for uploads
  • Enhanced Plugin System that extends the base envelop plugin system and allows fully async parse/validate hooks + also hooking into beforeParseRequest/postParseRequest and preSendResponse/postSendResponse

Issue Analytics

  • State:closed
  • Created 2 years ago
  • Reactions:51
  • Comments:7

github_iconTop GitHub Comments

13reactions
saihajcommented, Dec 19, 2021

Hey @ivandotv 👋🏼 great question we will also add this to our website explaining in more detail.

Difference between GraphQL Helix and GraphQL Yoga?

Helix is an extensible, framework and runtime agnostic GraphQL Server. Helix is an abstraction that all GraphQL HTTP server need. It lets you implement the features you want and the full control of the transport layer.

GraphQL Yoga is a fully-featured server focusing on easy setup and performance. It is built-on top of GraphQL Helix and Envelop. It comes with defaults that we use and believe are needed in a production ready GraphQL server. Yoga provides a cross-platform server that you can just deploy anywhere Deno, CloudFlare workers, Next.js or just a standalone http server. If you are migrating from some HTTP framework you can easily integrate. We try to keep it very simple to deploy @graphql-yoga/core is the package you can use to deploy anywhere and no additional config is needed. graphql-yoga is Node specific package which is just built on top of @graphql-yoga/core which is runtime agnostic and ready to use server.

How did we do this? see next answer

Why does graphql-yoga use forked version helix?

We are currently working on v2 for helix. We are working on creating agnostic HTTP handler using fetch API’s Request and Response objects. Except Node.js all the new major runtimes support this out of the box. We are still actively working on the API and getting upstream means we go through the proper review cycle and testing. To get little more control how frequent we can release and so we can just upgrade and test out in yoga we think it is better to use the forked version for now while we work on finalizing all the details upstream in helix for the next release.

3reactions
saihajcommented, Feb 1, 2022

Hey @RicardoValero95 👋🏼

Been using GraphQL EZ for a while. What’s the difference?

GraphQL EZ is a plug-in based server. It is also built on top of envelop. It’s lifecycle methods allow you to hook into different phases of the HTTP request. It also supports multiple deploy targets but it has a separate package for each handler.

Yoga is same in the sense that it is also built on top of envelop. Yoga comes with some built in defaults which we think are necessary for a production server whereas EZ doesn’t have any opinions. EZ’s lifecycle method allow for a very powerful plug-in system which is something we are also working on designing for yoga. Yoga supports multiple deploy targets but doesn’t require any extra configuration. Yoga’s handler are built on top of W3C fetch API which allow us to support any environment, in node we just need to add polyfills (but soon we won’t even need that).

Read more comments on GitHub >

github_iconTop Results From Across the Web

Roadmap 2.0
Roadmap 2.0 is a mobile application designed to deliver a positive psychology based intervention program. Eight engaging activities aim to enhance positive ...
Read more >
terminal/terminal-v2-roadmap.md at main - GitHub
Priority* Scenario State 0 Settings UI ✔️ 0 Command palette ✔️ 1 Tab tear‑off 📝
Read more >
H2O Roadmap V2 - Medium
The H2O team has released a new roadmap that outlines its plans for the next year, including major developments ... A clear view...
Read more >
Roadmap - Product Information, Latest Updates, and Reviews ...
Roadmap v2. A simple tool to get your team aligned on what's next. 397 ; Roadmap v.1.0. Radically transparent project & team management...
Read more >
Bitgert Announced its Roadmap V2 With Numerous Web 3 ...
The Bitgert roadmap V2, which is launching soon, has a range of Web3 products coming up. The Web3 Geo DataMap is one of...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found