All Projects → cap-collectif → Graphql Doctor

cap-collectif / Graphql Doctor

Licence: isc
Prevent Breaking Changes in a GraphQL API with GitHub Checks

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Graphql Doctor

Chimp
Tooling that helps you do quality, faster.
Stars: ✭ 783 (+285.71%)
Mutual labels:  graphql, continuous-integration
Circleci Cli
Use CircleCI from the command line
Stars: ✭ 297 (+46.31%)
Mutual labels:  graphql, continuous-integration
Relay Workshop
Material for my Relay Workshop
Stars: ✭ 197 (-2.96%)
Mutual labels:  graphql
Djangochannelsgraphqlws
Django Channels based WebSocket GraphQL server with Graphene-like subscriptions
Stars: ✭ 203 (+0%)
Mutual labels:  graphql
Conventions
GraphQL Conventions Library for .NET
Stars: ✭ 198 (-2.46%)
Mutual labels:  graphql
Crudl Example Express
CRUDL with Node/Express and MongoDB
Stars: ✭ 197 (-2.96%)
Mutual labels:  graphql
Escape
Release engineering, life-cycle management and Continuous Delivery of software platforms and artefacts
Stars: ✭ 199 (-1.97%)
Mutual labels:  continuous-integration
Firecamp
The world's first Multi-protocol API Platform. Run, Test, Collaborate to build Any Kind Of APIs.
Stars: ✭ 195 (-3.94%)
Mutual labels:  graphql
Jenkins Rest
Java client, built on top of jclouds, for working with Jenkins REST API
Stars: ✭ 201 (-0.99%)
Mutual labels:  continuous-integration
Gramps Legacy
The core data source combination engine of GrAMPS.
Stars: ✭ 198 (-2.46%)
Mutual labels:  graphql
Cml
♾️ CML - Continuous Machine Learning | CI/CD for ML
Stars: ✭ 2,843 (+1300.49%)
Mutual labels:  continuous-integration
Wp Decoupled
Next.js app with WPGraphQL and WordPress at the backend.
Stars: ✭ 197 (-2.96%)
Mutual labels:  graphql
Nexus
Code-First, Type-Safe, GraphQL Schema Construction
Stars: ✭ 2,722 (+1240.89%)
Mutual labels:  graphql
Rails Devise Graphql
A Rails 6 boilerplate to create your next Saas product. Preloaded with graphQL, devise, JWT, CanCanCan, RailsAdmin, Rubocop, Rspec, i18n and more.
Stars: ✭ 199 (-1.97%)
Mutual labels:  graphql
Graphql Schema comparator
Get changes between two GraphQL schemas 🤖
Stars: ✭ 196 (-3.45%)
Mutual labels:  graphql
Magellan
Real-time streaming GraphQL server for Go.
Stars: ✭ 202 (-0.49%)
Mutual labels:  graphql
Hands On Devops
A hands-on DevOps course covering the culture, methods and repeated practices of modern software development involving Packer, Vagrant, VirtualBox, Ansible, Kubernetes, K3s, MetalLB, Traefik, Docker-Compose, Docker, Taiga, GitLab, Drone CI, SonarQube, Selenium, InSpec, Alpine 3.10, Ubuntu-bionic, CentOS 7...
Stars: ✭ 196 (-3.45%)
Mutual labels:  continuous-integration
Ex check
One task to efficiently run all code analysis & testing tools in an Elixir project. Born out of 💜 to Elixir and pragmatism.
Stars: ✭ 198 (-2.46%)
Mutual labels:  continuous-integration
Basically Fullstack Graphql
Code that aims to explain the client and the server side of using GraphQL in apps.
Stars: ✭ 199 (-1.97%)
Mutual labels:  graphql
Django Graphql Auth
Django registration and authentication with GraphQL.
Stars: ✭ 200 (-1.48%)
Mutual labels:  graphql

GraphQL Doctor

A GitHub App built with Probot that prevent Breaking Changes in a GraphQL API using GitHub Checks API.

Why

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 !

Example

You can look at this Pull request.

Features

Show issues right in your schema

Found issue in schema

Generate a failure in case of Breaking Changes

Result in Check API

Inspiration

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.

Configuration

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.

Deployment

We don't provide a public application (yet!) but you can easily deploy your own. Internally we are using heroku :

git push heroku master

Contributing

Setup

# Install dependencies
yarn install

# Run the bot
yarn start

# Run tests
yarn test

If 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.

License

ISC

Credits

Created by Aurélien David. Sponsored by Cap Collectif.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].