Humpty 🍳
Makes sure your changelogs mention your breaking changes

Intro
It's really easy to make a breaking API change to your React component and forget to release it as a major version. Humpty stops this from happening by checking what's changed in your component API, and making sure it is mentioned in your changelogs.
Usage
$ humpty --oldApi 72c5c9e0 --newApi c72257 --gitRepo ~/Repos/bengummer/humpty-mock-api
🚨 Found 1 breaking API change not mentioned in git commits (72c5c9..c72257):
Default export
- Prop type changed: "age" was string, now number
Supported APIs and changelogs
💡 This project has just started, a pluggable API/changelog system can be added to support APIs other than React. Raise an issue to discuss! Check out the Trello board for the roadmap.
Supported API detection
- React components
- Prop removed
- Prop type changed
- Prop made mandatory
- Prop made optional
Note: React components are currently only checked in the root index.js
file - this will be made more flexible soon to read the main
script from package.json
.
Supported changelogs
- React components
- Commit messages containing
${propName} prop
Installation
If you're using humpty in CI you can install it globally
$ yarn global add humpty
Or add it as a devDependency and call it via an npm script
{
"name": "my-component",
"scripts": {
"humpty": "humpty ..."
}
}
$ yarn add --dev humpty
$ yarn run humpty
Detailed usage
--oldApi
Git branch or SHA where your current public API code is stored.
--newApi
Git branch or SHA where your new public API code is stored.
--gitRepo
Path to the git repo where your source lives.
--json
(optional)
Output result as JSON instead of emoji + text