Skip to content

Roadmap #1358

@theguild-bot

Description

@theguild-bot

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 - Released!

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. Live Query Plugin #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. @ardatan 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)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions