GraphQL server + client, which npm packages do you really need?

I’m having a hard time with dependencies, for GraphQL, my app initialization always fails in Meteor + I’m not sure if it’s related to my packages. For example, apollo-server does not show up anywhere but I found it somewhere along the way in a tutorial. What do you need as a boilerplate for a Apollo app that runs on the client and server?

    "apollo-client": "^0.10.1",
    "apollo-server": "^0.3.3",
    "babel-runtime": "^6.23.0",
    "body-parser": "^1.17.1",
    "express": "^4.15.2",
    "graphql": "^0.9.1",
    "graphql-server-express": "^0.6.0",
    "graphql-subscriptions": "^0.3.0",
    "graphql-tag": "^1.3.1",
    "graphql-tools": "^0.10.1",
    "lodash": "^4.17.4",
    "meteor-node-stubs": "^0.2.5",
    "moment": "^2.17.1",
    "mongoose": "^4.8.6",
    "polymer-apollo": "^1.1.20"

I don’t think dumping some number of packages into your dependencies is going to work - in fact it’s more likely to cause hard to debug errors. Rather than starting with a boilerplate, I think it’s best to build things up one at a time - first, set up a GraphQL server and try sending some queries via GraphiQL. Then, try setting up apollo client and sending a basic query. Then try connecting it to Polymer.

2 Likes