graphql-yoga icon indicating copy to clipboard operation
graphql-yoga copied to clipboard

Roadmap

Open theguild-bot opened this issue 2 years ago • 0 comments

This page is synced automatically from The Guild's Notion Notion page URL: https://www.notion.so/Roadmap-232f99f86aa34383bac5d72e53aa24b7

At The Guild we’ve decided to work as much as we can in public, that’s why we are opening the roadmaps for all of our projects.

The goals for this are:

  1. So you will know what we are working on, what we see as a higher priority, and know what to expect from our projects in the future
  2. So you can share your opinions and thoughts about what we do and influence our decisions
  3. So you can join us and contribute to our efforts!

v3

The progress of version 3 is tracked on branch v3. Canary releases will be released from that branch. Once the branch becomes stable it will be merged into master and we will release the stable version 3 to npm.

v3.x

  1. Start GraphQL server maintainers’ working group
  2. Create @live RFC on the repo
    1. https://github.com/dotansimha/graphql-yoga/issues/1377
  3. Fragment Modularity Support

Things that might go into v3:

Making Envelop Schema Agnostic

### Reasons to do that 

- To improve Conductor execution and performance through Mesh
	- Remote executor and avoid wrapping a clean executor function
- To remove the coupling to specific GraphQL schema implementation (resolvers)
	- Any other alternative executing strategies that don't follow the default GraphQL-JS execution algorithm
	- Resolvers are just one way of implementing the schema, some execution engines might not use it (Benjie’s stuff, GraphQL-Tools executor, Federation)

### Technical Path

1. Drop `onResolverCalled` from `envelop` API
2. Drop `onSchemaChange` , `setSchema` APIs
	1. @Arda TANRIKULU should this be `onExecuteFnChnage` instead? some plugins like `useExtendedValidation` might need to things like build `TypeInfo` (and we wish to make sure it happens once, because of performance)
	2. Should we introduce an alternative Envelop API for wrapping the `execute` function?
3. Make sure all plugins that needs access to the schema implements the schema access through `execute` function arguments (this should be the recommended way of dealing with the schema)

theguild-bot avatar Jul 06 '22 15:07 theguild-bot