v2MigrationApollo Server
⚠️
This is the documentation for the old GraphQL Yoga version 2. We recommend upgrading to the latest GraphQL Yoga version 5.

Migrate to GraphQL Yoga v5

Migration from Apollo Server

Installation

You can start by installing graphql-yoga package.

Terminal
yarn add @graphql-yoga/node

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)