Package Exports
- @graphql-inspector/core
- @graphql-inspector/core/ast/document
- @graphql-inspector/core/coverage/index
- @graphql-inspector/core/coverage/output/json
- @graphql-inspector/core/diff/argument
- @graphql-inspector/core/diff/changes/argument
- @graphql-inspector/core/diff/changes/change
- @graphql-inspector/core/diff/changes/directive
- @graphql-inspector/core/diff/changes/enum
- @graphql-inspector/core/diff/changes/field
- @graphql-inspector/core/diff/changes/input
- @graphql-inspector/core/diff/changes/object
- @graphql-inspector/core/diff/changes/schema
- @graphql-inspector/core/diff/changes/type
- @graphql-inspector/core/diff/changes/union
- @graphql-inspector/core/diff/directive
- @graphql-inspector/core/diff/enum
- @graphql-inspector/core/diff/field
- @graphql-inspector/core/diff/index
- @graphql-inspector/core/diff/input
- @graphql-inspector/core/diff/interface
- @graphql-inspector/core/diff/object
- @graphql-inspector/core/diff/onComplete/types
- @graphql-inspector/core/diff/rules/config
- @graphql-inspector/core/diff/rules/consider-usage
- @graphql-inspector/core/diff/rules/dangerous-breaking
- @graphql-inspector/core/diff/rules/ignore-description-changes
- @graphql-inspector/core/diff/rules/index
- @graphql-inspector/core/diff/rules/safe-unreachable
- @graphql-inspector/core/diff/rules/suppress-removal-of-deprecated-field
- @graphql-inspector/core/diff/rules/types
- @graphql-inspector/core/diff/schema
- @graphql-inspector/core/diff/union
- @graphql-inspector/core/index
- @graphql-inspector/core/package.json
- @graphql-inspector/core/similar/index
- @graphql-inspector/core/utils/apollo
- @graphql-inspector/core/utils/compare
- @graphql-inspector/core/utils/graphql
- @graphql-inspector/core/utils/is-deprecated
- @graphql-inspector/core/utils/path
- @graphql-inspector/core/utils/string
- @graphql-inspector/core/validate/alias-count
- @graphql-inspector/core/validate/complexity
- @graphql-inspector/core/validate/directive-count
- @graphql-inspector/core/validate/index
- @graphql-inspector/core/validate/query-depth
- @graphql-inspector/core/validate/token-count
Readme
GraphQL Inspector
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 helps you validate documents and fragments against a schema and even find similar or duplicated types.
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 programmatic API, so you can use it however you want to and even build tools on top of it.
Installation
pnpm add @graphql-inspector/coreExamples
import {
diff,
validate,
similar,
coverage,
Change,
InvalidDocument,
SimilarMap,
SchemaCoverage
} from '@graphql-inspector/core'
// diff
const changes: Change[] = diff(schemaA, schemaB)
// validate
const invalid: InvalidDocument[] = validate(documentsGlob, schema)
// similar
const similar: SimilarMap = similar(schema, typename, threshold)
// coverage
const schemaCoverage: SchemaCoverage = coverage(schema, documents)
// ...License
MIT © Kamil Kisiela