Skip to content
This repository has been archived by the owner on Sep 28, 2022. It is now read-only.

honeybadger-io/honeybadger-react

Repository files navigation

Honeybadger React.js Integration

Build Status npm version

Note: This repository has been moved to @honeybadger-io/js, home to all Honeybadger's JavaScript packages.

React.js integration for Honeybadger.io

Documentation and Support

For comprehensive documentation and support, check out our documentation site.

The documentation includes a detailed React integration guide

Project Goals

The goal is to provide an idiomatic, simple integration of Honeybadger's exception monitoring service with React.js applications.

Project Status

This version is considered suitable for preview.

Limitations

Honeybadger-react hooks in to the error handler in React. This means we only notify Honeybadger of React context for errors that React handles. Some errors inside React code may propagate to the window onerror handler instead.

In those cases, Honeybadger Javascript library's default error notifier is invoked, which will contain a stack trace but none of the React variables.

Key Assumptions

This project is built using create-react-library with rollup and generates artifacts in commonjs, esm and umd formats. It's possible your own build environment may be just different enough to require some adjustments. If you find that our artifacts don't quite meet your needs, please file an issue on GitHub.

Example app

There's a minimal implementation of a honeybadger-react integration in the ./example folder. If you want to contribute a patch to honeybadger-react, it can be useful to have the demo app running.

To run it, issue these commands from your shell:

cd example
npm install
REACT_APP_HONEYBADGER_API_KEY=b425b636 npm run start

This will serve the demo app with hot reload at localhost:3000

For a detailed explanation on how hot reloading works, check out the documentation.

Changelog

See https://github.com/honeybadger-io/honeybadger-react/blob/master/CHANGELOG.md Changelog is automatically generated with our release automation process.

Contributing

  1. Fork it.
  2. Create a topic branch git checkout -b my_branch
  3. Commit your changes git commit -am "Boom"
  4. Push to your branch git push origin my_branch
  5. Send a pull request

Development

# install dependencies
npm install

# build for production
npm run build

# run unit tests
npm test

# automatically continuously rebuild the dist/ artifacts with hot reload when developing
npm run start

Releasing

  1. With a clean working tree, use npm version [new version] to bump the version, commit the changes, tag the release, and push to GitHub. See npm help version for documentation.
  2. To publish the release, use npm publish. See npm help publish for documentation.

Release Automation

We use Ship.js to automate releasing.

Ship.js creates a PR once per week when unreleased changes are present. You can also trigger a release PR by saying "@shipjs prepare" in any issue or pull request comment on GitHub.

Troubleshooting a failed Ship.js release

If a ship.js release fails, you need to revert the release commit and delete the release branch (e.g releases/v1.1.0) Then, you can debug the issue by simulating the release process locally (npm run release -- --dry-run --yes --no-browse).

License

honeybadger-react is MIT licensed. See the LICENSE file in this repository for details.