Docs
Development and Testing
Developer Tools

Developer Tools

Thank you to our amazing community members who have created tools and packages around Apollo Angular! If you’ve built something and would like it to be featured, please send a pull request to add it to the list.

Breaking Change Detection with GraphQL Inspector

GraphQL Inspector is a set of tools to help you better maintain and improve GraphQL API as well as GraphQL consumers.

GraphQL Inspector outputs a list of changes between two GraphQL schemas. Every change is precisely explained and marked as breaking, non-breaking or dangerous. It will help you validate documents and fragments against a schema and even find similar or duplicated types.

Use GraphQL Inspector however you like:

The way GraphQL Inspector is built enables you to use everything through a CLI or each feature separately using one of many available packages. There’s also a GitHub Application that you can install and use within seconds. If you’re a fan of GitHub Actions, we got you covered too.

Breaking Change Detection with GraphQL Inspector

Code Generation with GraphQL Codegen

A tool to generate a ready to use in your component, strongly typed Angular services, for every defined query, mutation or subscription.

To learn more about the tool, please read the “Apollo-Angular 1.2  —  using GraphQL in your apps just got a whole lot easier!” article.

More about Query, Mutation, Subscription services in “Query, Mutation, Subscription services” chapter of Apollo Angular documentation.

Read documentation.

npm i -D @graphql-codegen/cli @graphql-codegen/typescript-apollo-angular

GraphQL ESLint

GraphQL ESLint is a parser, plugin and set rules for GraphQL (for schema and operations). Easily customizable with custom rules. Integrates with IDEs and modern GraphQL tools.

  • Integrates with ESLint core (as a ESTree parser).
  • Works on .graphql files, gql or graphql usages and /* GraphQL */ magic comments.
  • Lints both GraphQL schema and GraphQL operations.
  • Extended type info for more advanced usages
  • Supports ESLint directives (for example: eslint-disable-next-line)
  • Easily extendable - supports custom rules based on GraphQL’s AST and ESLint API.
  • Validates, lints, prettifies and checks for best practices across GraphQL schema and GraphQL operations.
  • Integrates with graphql-config
  • Integrates and visualizes lint issues in popular IDEs (VSCode / WebStorm)

Collection of GraphQL Scalars

GraphQL Scalars is a library of custom GraphQL Scalars for creating precise type-safe GraphQL schemas.

Generate REST API Out of GraphQL

Sofa takes your GraphQL Schema, looks for available queries, mutations and subscriptions and turns all of that into REST API.

import express from 'express';
import sofa from 'sofa-api';
 
const app = express();
 
app.use(sofa({ schema }));
 
app.listen();
 
// GET /users
// GET /messages

Turn Anything into GraphQL API

GraphQL Mesh allows you to use GraphQL query language to access data in remote APIs that don’t run GraphQL (and also ones that do run GraphQL).

Develop GraphQL API with GraphQL Modules

GraphQL Modules lets you separate your backend implementation to small, reusable, easy-to-implement and easy-to-test pieces.

Other Tools and Libraries

Packages listed above are specific to Angular, but it’s possible to use any Apollo related package with Apollo Angular.