A GitHub App built with Probot that prevent Breaking Changes in a GraphQL API using GitHub Checks API.
When using Continuous Evolution you have to prevent any Breaking Changes to your GraphQL API. That's why we recommend to commit a dump of your GraphQL schema (using SDL) inside your repository (eg: with a pre-commit).
graphql-doctor will use your current schema and compare it with the previous schema (eg: the schema on the master branch) then it guess if you made some Breaking or Dangerous changes !
You can look at this Pull request.
This project was created because we, at Cap Collectif, wanted the same bot as used internally at GitHub. We mostly used xuorig/graphql-schema_comparator as an inspiration.
Add the following key to your package.json :
"graphql-doctor": {
"schema.public.graphql": {
"ref": "heads/master",
"schemaPath": "schema.public.graphql"
}
},This will compare your current schema.public.graphql against schema.public.graphql in the master branch.
We don't provide a public application (yet!) but you can easily deploy your own. Internally we are using heroku :
git push heroku master# Install dependencies
yarn install
# Run the bot
yarn start
# Run tests
yarn testIf you have suggestions for how graphql-doctor could be improved, or want to report a bug, open an issue! Any kind of contributions is greatly appreciated.
For more, check out the Contributing Guide.
Created by Aurélien David. Sponsored by Cap Collectif.

