JSPM

@graphql-inspector/cli

0.6.5
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 128482
  • Score
    100M100P100Q164973F
  • License MIT

Tooling for GraphQL. Compare GraphQL Schemas, check documents, find breaking changes, find similar types.

Package Exports

  • @graphql-inspector/cli
  • @graphql-inspector/cli/dist/commands/validate

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@graphql-inspector/cli) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

GraphQL Inspector

CircleCI npm version

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

Example

Features

Major features:

  • Compares schemas
  • Finds breaking or dangerous changes
  • Validates documents against a schema
  • Finds similar / duplicated types
  • Schema coverage based on documents
  • Serves a GraphQL server with faked data and GraphQL Playground

GraphQL Inspector has a CLI and also a programatic API, so you can use it however you want to and even build tools on top of it.

Installation

yarn add @graphql-inspector/cli

CLI Usage

graphql-inspector diff     <OLD_SCHEMA> <NEW_SCHEMA>
graphql-inspector validate <DOCUMENTS>  <SCHEMA>
graphql-inspector similar  <SCHEMA>
graphql-inspector serve    <SCHEMA>
graphql-inspector coverage <DOCUMENTS>  <SCHEMA>
graphql-inspector --help

Examples

# Compare schemas
$ graphql-inspector diff OLD_SCHEMA NEW_SCHEMA

Detected the following changes (4) between schemas:

🛑  Field `name` was removed from object type `Post`
⚠️  Enum value `ARCHIVED` was added to enum `Status`
✅  Field `createdAt` was added to object type `Post`

Detected 1 breaking change


# Validate documents
$ graphql-inspector validate DOCUMENTS SCHEMA

Detected 1 invalid document:

🛑  ./documents/post.graphql:
  - Cannot query field createdAtSomePoint on type Post. Did you mean createdAt?


# Find similar types
$ graphql-inspector similar SCHEMA

✅ Post
Best match (60%): BlogPost


# Serve faked GraphQL API with Playground
$ graphql-inspector serve SCHEMA

✅ Serving the GraphQL API on http://localhost:4000/


# Check coverage
$ graphql-inspector coverage DOCUMENTS SCHEMA

Schema coverage

type Query {
  post x 1
}

type Post {
  id x 1
  title x 1
  🛑 createdAt x 0
  🛑 modifiedAt x 0
}

License

MIT © Kamil Kisiela