humpty
Version:
Makes sure your changelogs mention your breaking changes
84 lines (52 loc) ⢠2.08 kB
Markdown
# Humpty š³
> Makes sure your changelogs mention your breaking changes
[](https://travis-ci.org/bengummer/humpty) []()
## 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
```sh
$ 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][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
```sh
$ yarn global add humpty
```
Or add it as a devDependency and call it via an npm script
```json
{
"name": "my-component",
"scripts": {
"humpty": "humpty ..."
}
}
```
```sh
$ 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
[trello-board]: https://trello.com/b/kO2SRotn/humpty