V2 Roadmap
See original GitHub issueWe 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
- https://github.com/dotansimha/graphql-yoga/issues/199
- https://github.com/dotansimha/graphql-yoga/issues/424
- https://github.com/dotansimha/graphql-yoga/issues/579
- https://github.com/dotansimha/graphql-yoga/issues/619
- https://github.com/dotansimha/graphql-yoga/issues/628
- https://github.com/dotansimha/graphql-yoga/issues/634
Real-time capabilities
- https://github.com/dotansimha/graphql-yoga/issues/594
- https://github.com/dotansimha/graphql-yoga/issues/647
Uploads
- https://github.com/dotansimha/graphql-yoga/issues/571
- https://github.com/dotansimha/graphql-yoga/issues/613
- https://github.com/dotansimha/graphql-yoga/issues/615
Testing
- https://github.com/dotansimha/graphql-yoga/issues/586
- https://github.com/dotansimha/graphql-yoga/issues/597
- https://github.com/dotansimha/graphql-yoga/issues/616
- https://github.com/dotansimha/graphql-yoga/issues/663
Improved TypeScript support
- https://github.com/dotansimha/graphql-yoga/issues/585
- https://github.com/dotansimha/graphql-yoga/issues/611
- https://github.com/dotansimha/graphql-yoga/issues/617
ESM Support
- https://github.com/dotansimha/graphql-yoga/issues/656
- https://github.com/dotansimha/graphql-yoga/issues/659
Serverless Support
Misc
- https://github.com/dotansimha/graphql-yoga/issues/618
- https://github.com/dotansimha/graphql-yoga/issues/624
- https://github.com/dotansimha/graphql-yoga/issues/595
- https://github.com/dotansimha/graphql-yoga/issues/626
- https://github.com/dotansimha/graphql-yoga/issues/658
- https://github.com/dotansimha/graphql-yoga/issues/627
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:
- Created 2 years ago
- Reactions:51
- Comments:7
Top 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 >
Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free
Top Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
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 versionhelix
?We are currently working on
v2
for helix. We are working on creating agnostic HTTP handler usingfetch
API’sRequest
andResponse
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.Hey @RicardoValero95 👋🏼
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).