UNPKG

humpty

Version:

Makes sure your changelogs mention your breaking changes

84 lines (52 loc) • 2.08 kB
# Humpty šŸ³ > Makes sure your changelogs mention your breaking changes [![Build Status](https://travis-ci.org/bengummer/humpty.svg?branch=master)](https://travis-ci.org/bengummer/humpty) [![npm](https://img.shields.io/npm/v/humpty.svg)]() ## 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