graphql-schema-diff 0.6.0

Semantic diffing for GraphQL schemas
Documentation
directive @auth(requires: Role = ADMIN) on OBJECT | FIELD_DEFINITION
directive @deprecated(reason: String) on FIELD_DEFINITION | ENUM_VALUE
directive @key(fields: String!) repeatable on OBJECT

type Query {
  user: User
  admin: User @auth
}

type User @key(fields: "id") {
  id: ID!
  name: String! @deprecated(reason: "use fullName")
  role: Role!
  autorized(action: String @deprecated(reason: "use newAction"), newAction: String): Boolean!
}

enum Role {
  ADMIN
  USER @deprecated(reason: "no longer supported")
}

input PriceArgs {
  quantity: Int!
  packaging: String! @deprecated(reason: "no longer supported")
}

# --- #

directive @auth(requires: Role = ADMIN) on OBJECT | FIELD_DEFINITION
directive @deprecated(reason: String) on FIELD_DEFINITION | ENUM_VALUE
directive @key(fields: String!) repeatable on OBJECT

type Query {
  user: User @auth
  admin: User
}

type User @key(fields: "id") @key(fields: "name") {
  id: ID!
  name: String!
  role: Role!
  autorized(action: String, newAction: String @deprecated(reason: "no longer supported")): Boolean!
}

enum Role {
  ADMIN
  USER
}

input PriceArgs {
  quantity: Int! @deprecated(reason: "no longer supported")
  packaging: String!
}