Linter rulesGraphQLknown-types
known-types
Since 0.9.0
This rule checks that the types referenced by type system definitions are built-in scalars or defined in the document, as the GraphQL specification requires.
Rule Details
The rule reports the issues of the validation rule of the same name, with the messages of graphql-js. A document that breaks it is rejected by GraphQL servers and tools, so the rule should stay enabled with the error severity.
Configuration
This rule has no options.
version: "1.0"
commands:
lint:
graphql:
rules:
known-types: warning
The rule can be disabled for a node and everything nested in it with an # apigenie-lint-disable known-types comment on the node, or for a whole file with the comment at the top of the file, separated from the first definition by a blank line. It applies to definitions.
Examples
Good.
type Query { user: User }
type User { id: ID! }
Bad. The linter reports Unknown type "User"..
type Query { user: User }
Compatibility
The rule reports references to types and fragments that are not in the document only when the configuration sets self_contained: true, since schemas and operations are often split across files.