In addition to a set of fully-featured GraphQL clients, the Apollo community maintains a set of tools for building GraphQL servers, and some utilities that make it easier to work with GraphQL in general.
If you’re looking for a simple way to get a GraphQL.js server up and running, start with graphql-tools.
- graphql-tools, a package that enables you to build a production-ready GraphQL.js schema using the GraphQL schema language, rather than using the GraphQL.js type constructors directly. Schemas built with this package are compatible with any GraphQL servers, including our own
express-graphql. This allows you to build on the getting started guide for GraphQL.js with additional support for resolvers, unions, interfaces, custom scalars, modularizing your schema, and more.
- graphql-server, a production-ready Node.js GraphQL server library that supports Express, Connect, Hapi, Koa, and other popular Node HTTP servers, with built-in features like persisted queries, batching, and more. Apollo Server works with any GraphQL client, like Apollo, Relay, Lokka, and more.
The Apollo community is excited about enabling people to add realtime functionality to their applications, and GraphQL subscriptions are the first step on that path. You can use the packages below to add subscription support to any Node.js GraphQL server.
- subscriptions-transport-ws, a WebSocket server and client for GraphQL subscriptions that works with
You can read more about subscription server here.
- graphql-tag, a simple library for parsing and printing GraphQL queries, as well as putting together multiple fragments into one query. It helps power apollo-client and works great with eslint-plugin-graphql.