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:
- Command Line Tool
- GitHub Application
- GitHub Action
- Programmatic API
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.
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.
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
orgraphql
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.