node package manager
Easy sharing. Manage teams and permissions with one click. Create a free org ¬Ľ

humpty

Humpty ūüć≥

Makes sure your changelogs mention your breaking changes

Build Status npm

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