title: ApolloServer using mergeSchemas, Error: Apollo Server requires either an existing schema, modules or typeDefs
body: <p>I think I am just using this module wrong and that is the reason I am getting an error. According to the documentation I can pass an array of resolvers and schemas to the <code>mergeSchemas</code> function from <code>graphql-tools</code>. But I am getting this error:</p>
  
  <p><code>Error: Apollo Server requires either an existing schema, modules or typeDefs</code></p>
  
  <p>Here is the code:</p>
  
  <p><strong>app.js</strong></p>
  
  <pre><code>import { ApolloServer } from 'apollo-server'
  import schema from './modules'
  
  const server = new ApolloServer({
      schema
  })
  
  server.listen().then(({ url }) =&gt; {
      console.log(` Server ready at ${url}`)
  })
  </code></pre>
  
  <p><strong>Merging Schemas</strong></p>
  
  <pre><code>import { mergeSchemas } from 'graphql-tools'
  
  import bookSchema from './book/schema/book.gql'
  import bookResolver from './book/resolvers/book'
  
  export const schema = mergeSchemas({
      schemas: [bookSchema],
      resolvers: [bookResolver] // ==&gt; Maybe I have to merge these before hand?
  })
  </code></pre>
  
  <p><strong>Schema</strong></p>
  
  <pre><code>type Query {
      book(id: String!): Book
      bookList: [Book]
  }
  
  type Book {
      id: String
      name: String
      genre: String
  }
  </code></pre>
  
  <p><strong>Resolver</strong></p>
  
  <pre><code>export default {
      Query: {
          book: (parent, args, context, info) =&gt; {
              console.log(parent, args, context, info)
              return {
                  id: `1`,
                  name: `name`,
                  genre: `scary`
              }
          },
          bookList: (parent, args, context, info) =&gt; {
              console.log(parent, args, context, info)
              return [
                  { id: `1`, name: `name`, genre: `scary` },
                  { id: `2`, name: `name`, genre: `scary` }
              ]
          }
      }
  }
  </code></pre>