Skip to Content
SWR 2.0 is out! Read more →
remotegraphql-yogamigrationmigration-from-apollo-server

Migration from Apollo Server

Installation

You can start by installing graphql-yoga package.

Install Equivalent Envelop Plugins of the Apollo Server

Some features that are included within apollo-server by default must be installed as envelop plugins. Learn more about envelop plugins here.

Example Initial Usage of GraphQL Yoga

For example, if you are using Apollo Server Errors:

apollo-server-errors-example.ts
import { schema } from './schema'
- import { ApolloServer } from 'apollo-server'
+ import { createServer } from '@graphql-yoga/node'
+ import { useApolloServerErrors } from '@envelop/apollo-server-errors'
 
- const server = new ApolloServer({
+ const server = createServer({
  // You can also pass `typeDefs` and `resolvers` here directly if you previously use `ApolloServer` constructor to build your `GraphQLSchema`
  // schema: { typeDefs, resolvers },
  schema,
+  plugins: [useApolloServerErrors()]
})
 
server.start()

Migration from Standalone apollo-server

You don’t need anything special. You can just use GraphQL Yoga as in the example above.

Migration from apollo-server-*

Check the integration section to choose the server framework you are using with Apollo Server.

For example, if you are using Express, you should remove server.start() from the code above and replace server.applyMiddleware({ app }) with the route as in Express Integration section:

- server.applyMiddleware({ app })
+ app.use('/graphql', server)