migration to fastify and graphql-yoga #2284
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
What kind of change does this PR introduce?
feature, refactoring
Issue Number:
Fixes #2283
Did you add tests for your changes?
No, not needed
Snapshots/Videos:
If relevant, did you update the documentation?
Not yet, will be done after this PR is merged.
Summary
The primary web server will be migrated to fastify from express. The graphql server will be migrated to graphql-yoga from apollo-server.
The graphql server will be decoupled from the fastify server to have seperation of concerns make it easier to swap out either the HTTP server(fastify) or the graphql server(graphql-yoga). All the dependencies required by the graphql resolvers at runtime will be provided to them using the graphql context and direct imports inside the resolver functions will be kept to a minimum.
It is of utmost importance that the HTTP layer does not bleed into the graphql layer to prevent tight coupling.
Does this PR introduce a breaking change?
Yes, this PR would introduce a breaking change.
Other information
The PR is incomplete, more commits will be made later on to accommodate all the required changes.
Have you read the contributing guide?
Yes