Exploration: Replacing Custom GraphQL Implementation with Apollo Server Plugins #1489
Labels
dependencies
Pull requests that update a dependency file
difficulty: high
feature-request
New feature or request
maintainance
package:core
Affects the core package
provider:multicloud
Affects multiple cloud providers
refactor
Refactor or rearchitecture
size: XL
A task that due to its size could be considered a project itself.
spike
Milestone
In the earlier stages of the Booster Framework, we implemented a custom GraphQL protocol leveraging the
graphql-ws
sub-protocol implemented by thesubscriptions-transport-ws
library, due to the unavailability of websocket support in AWS Lambda and Azure Functions at that time. However, the landscape has evolved, and thesubscriptions-transport-ws
library is now deprecated. In its place, thegraphql-ws
library, which implements the subprotocolgraphql-transport-ws
, is recommended.Presently, the Apollo Server library provides plugins that facilitate websocket implementations in AWS Lambda, Azure Functions, and also offers express middleware for local server setup. This opens up the opportunity to replace our custom implementation with a more standardized, well-supported solution, subsequently reducing the amount of code we need to maintain and ensuring better protocol support.
Links to Apollo Server Libraries required for all our target providers:
We should explore the feasibility and potential benefits of adopting these Apollo Server plugins to replace our current GraphQL implementation. This exploration should evaluate the ease of integration, protocol support, and the reduction in maintenance overhead.
The text was updated successfully, but these errors were encountered: