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

honeybadger-io/honeybadger-vue

Repository files navigation

Honeybadger Vue.js Integration

Build Status npm version

Vue.js integration for Honeybadger.io

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

Note: Since v3.2 release of this project, both Vue.js v2.x and v3.x are supported!

Documentation and Support

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

The documentation includes detailed Vue Integration Guides, both for Vue.js v2.x and v3.x.

Project Goals

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

Project Status

This version is considered suitable for preview.

Limitations

Honeybadger-vue hooks in to the error handler in Vue. This means we only notify Honeybadger of Vue context for errors that Vue handles. Some errors inside Vue 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 Vue variables.

Key Assumptions

This project is built using a webpack-based Vue template. 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.

Changelog

See https://github.com/honeybadger-io/honeybadger-vue/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

# Serve the demo app with hot reload at localhost:8080
HONEYBADGER_API_KEY=yourkey npm run dev

# build for production with minification
npm run build

# build for production and view the bundle analyzer report
npm run build --report

# run unit tests
npm run unit

# run all tests
HONEYBADGER_API_KEY=yourkey npm run test:all

For a detailed explanation on how things work, check out the guide and docs for vue-loader.

Releasing

Releasing is done with two commands: npm version and npm publish. Both commands should be used with care.

To perform a release:

  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. Make sure to checkout the correct branch (i.e. if you are planning to release a version with other than latest dist tag).

  2. To publish the release, use npm publish. See npm help publish for documentation. This command will publish the version with the latest tag. To publish with a different tag, i.e. next, use npm publish --tag next.

  3. Verify the published version in Versions tab from here.

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-vue is MIT licensed. See the LICENSE file in this repository for details.