Add global, type level, or field level authorization checks to your schema
Validating your inputs and arguments
Quickly define data-loaders for your types and fields to avoid n+1 queries.
Easy to use builder methods for defining relay style nodes and connections, and helpful utilities
for cursor based pagination.
Define simple object types without resolvers or manual type definitions.
Add mock resolver for easier testing
Build multiple subsets of your graph to easily share code between internal and external APIs.
Integrate with existing schema graphql directives in a type-safe way.
Make any part of your graph subscribable to get live updates as your data changes.