Key Points on Upgrading from graphql-yoga v2 to v4
This article outlines a tricky point when upgrading graphql-yoga v2 to v4. For a comprehensive migration guide, please refer to the official migration guide.
1. Removal of endpoint
and graphiql.endpoint
options
One of the significant changes in v4 is the removal of the endpoint
and graphiql.endpoint
options. This can have implications, especially for those using express
alongside.
2. Changes in the Configuration Approach
The configuration method in v2 was as follows:
const graphQLServer = createServer({
//... previous configuration details
})
In v4, the new configuration method is:
const graphQLServer = createYoga({
schema: createSchema({
//... new configuration details
}),
});
3. Changes regarding the Endpoint
In v4, the default endpoint is set to /graphql
. If you want to use an alternate endpoint, you'll need to explicitly specify it using the graphqlEndpoint
option.
For instance, in v2, setting the endpoint to /graphql-other
worked seamlessly:
//...
app.use('/graphql-other', graphQLOtherServer);
However, with the same setup in v4, you would encounter a NOT FOUND
error.
The solution is:
const graphQLOtherServer = createYoga({
graphqlEndpoint: '/graphql-other', // explicitly setting the endpoint
//... other configurations
});
app.use('/graphql-other', graphQLOtherServer);
This change can be a bit tricky, so it's crucial to be aware to avoid potential pitfalls during the upgrade.
I hope this sheds light on some nuances of the upgrade process and helps you navigate any challenges smoothly.
Top comments (0)