Skip to content

pranjalbareth/DiffQL

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

7 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ” DiffQL

A blazing-fast CLI tool to detect breaking and non-breaking changes between two GraphQL schemas.


πŸ“¦ Installation

Install globally via NPM:

npm install -g diffql

πŸš€ Usage

diffql ./schemas/oldSchema.graphql ./schemas/newSchema.graphql

You can also run directly using Node:

node src/index.js ./schemas/oldSchema.graphql ./schemas/newSchema.graphql

βœ… Output Example

πŸ” 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)

πŸ“– Features

  • πŸ” Detect breaking and non-breaking changes
  • 🎨 Color-coded CLI output (tick/cross icons)
  • πŸ›  Works on any GraphQL schema file
  • πŸ” Easily integratable into CI/CD

πŸ—Ί Roadmap (Coming Soon)

  • 🚫 CI/CD enforcement mode (--fail-on-breaking)
  • βš™οΈ Custom rule engine via config file
  • πŸ•˜ Schema version history & timeline
  • 🧠 Smart impact analysis

πŸ§ͺ Testing

We use Jest for tests:

npm run test

πŸ‘¨β€πŸ’» Contributing

Pull requests and ideas are welcome!

  1. Fork the repo
  2. Create a feature branch
  3. Make your changes
  4. Submit a PR

πŸ“„ License

MIT License. Use it freely.


🌍 Links

About

CLI tool to detect changes between two GraphQL schemas.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published