A blazing-fast CLI tool to detect breaking and non-breaking changes between two GraphQL schemas.
Install globally via NPM:
npm install -g diffqldiffql ./schemas/oldSchema.graphql ./schemas/newSchema.graphqlYou can also run directly using Node:
node src/index.js ./schemas/oldSchema.graphql ./schemas/newSchema.graphqlπ Schema Diff Results:
β Breaking: Type 'User' removed
β
Non-breaking: Type 'Post' added
- β Green: Non-breaking change (e.g., new types or fields)
- β Red: Breaking change (e.g., removed types or required fields removed)
- π Detect breaking and non-breaking changes
- π¨ Color-coded CLI output (tick/cross icons)
- π Works on any GraphQL schema file
- π Easily integratable into CI/CD
- π« CI/CD enforcement mode (
--fail-on-breaking) - βοΈ Custom rule engine via config file
- π Schema version history & timeline
- π§ Smart impact analysis
We use Jest for tests:
npm run testPull requests and ideas are welcome!
- Fork the repo
- Create a feature branch
- Make your changes
- Submit a PR
MIT License. Use it freely.