• Stars
    star
    107
  • Rank 312,317 (Top 7 %)
  • Language
    TypeScript
  • License
    MIT License
  • Created over 11 years ago
  • Updated about 1 month ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Universal JavaScript library for reporting errors to Honeybadger.io ⚡

Honeybadger for JavaScript

Node CI

Welcome! This is the monorepo which holds all Honeybadger packages for JavaScript. You can refer to the README of each package for more information and instructions:

Documentation and Support

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

Changelog

  • CHANGELOG.md is updated when a new version is released (npm run release). The root CHANGELOG.md has a collective changelog from changes in all the packages of the monorepo. Each package also has its own CHANGELOG.md with changes related only to itself.

  • Conventional Commits are enforced with a Git hook (via husky + commitlint) in order to automate changelog generation.

Contributing

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

Development

We use Lerna to manage the monorepo. It helps us:

  • link between packages,
  • generate changelogs and bump versions (based on conventional commits) and
  • publish to NPM
  1. Run npm install from the monorepo root.
  2. Run npm test from the monorepo root to run unit tests for all packages.

Lerna Tips

  • Always install from the root, i.e. npm install only from the root folder, otherwise you may get unexpected issues with the linked packages.
  • Use lerna add my-pkg --scope="@honeybadger-io/js" to add my-pkg in the @honeybadger-io/js project. Or you can manually add to the target project's package.json file. You still need to run npm install from the root.
  • Use lerna run to execute commands for all projects. If the command is not found it will not be executed. You can filter the packages using --scope. For example, lerna run test will execute npm run test to all packages that have this script available.

For more info, you can read the docs.

Troubleshooting TypeScript

  • Not seeing changes when working in .ts files? Make sure that you rebuild every time you make a change. Or enable "compile on save" with your IDE - WebStorm(Jetbrains) / VS Code.
  • If you are getting errors with Typescript, make sure that you do npm run build. It's a prerequisite for Typescript Project References.

Releasing

Packages in the monorepo are released in independent mode, meaning that Lerna will decide which packages to release and what version bump to apply based on the commits since the last release.

Releasing is done using Github actions, which run npm run release. This command calls lerna publish, which does the following:

  • generates changelog based on the commit messages (see Changelog above)
  • npm version
  • npm publish

Note: some packages may have a postpublish script, for example @honeybadger-io/js (found in packages/js) has a script to also publish to our js.honeybadger.io CDN (hosted on AWS via S3/CloudFront).

Release Automation

The repository automatically releases new packages every week using the Publish New Release - Scheduled workflow (lerna-scheduled-publish.yml).

You can manually trigger a new release using the Publish New Release workflow (lerna-publish.yml).

Note: only users with write permissions can trigger this workflow (i.e. Collaborators).

Available Commands

  • npm run release - Calculates the next version, commits and publishes to NPM (and to our CDN). This command is executed from the Publish New Release workflow.

License

This Honeybadger repository and published packages are MIT licensed. See the MIT-LICENSE file in this repository for details.

More Repositories

1

heya

Heya 👋 is a campaign mailer for Rails. Think of it like ActionMailer, but for timed email sequences. It can also perform other actions like sending a text message.
Ruby
714
star
2

incoming

Incoming! helps you receive email in your Rack apps.
Ruby
308
star
3

honeybadger-ruby

Ruby gem for reporting errors to honeybadger.io
Ruby
229
star
4

honeybadger-elixir

Elixir client for Honeybadger.
Elixir
177
star
5

pg_partition_manager

Manage PostgreSQL table partitions
Ruby
67
star
6

honeybadger-laravel

PHP/Laravel library for reporting errors to Honeybadger.io 🐘 ⚡
PHP
39
star
7

honeybadger-php

PHP library for reporting errors to Honeybadger.io 🐘 ⚡
PHP
38
star
8

honeybadger-go

Send Go (golang) panics and errors to Honeybadger.
Go
34
star
9

serverless-quickstart

A boilerplate project for getting started with Serverless/Node ⚡
JavaScript
34
star
10

honeybadger-webpack

A webpack plugin to send sourcemaps to Honeybadger
JavaScript
29
star
11

honeybadger-node

A node.js notifier for honeybadger.io
JavaScript
21
star
12

honeybadger-python

Send Python and Django errors to Honeybadger.
Python
15
star
13

nextjs-with-honeybadger

This is an example of how to use Honeybadger to catch & report errors on both client + server side in Next.js.
JavaScript
14
star
14

honeybadger-react

Official React integration for Honeybadger.io ⚡
TypeScript
14
star
15

honeybadger-crystal

Crystal library for reporting errors to Honeybadger.io 💎 ⚡
Crystal
14
star
16

honeybadger-vue

Official Vue.js integration for Honeybadger.io ⚡
JavaScript
11
star
17

honeybadger-lambda-node

A Node template for AWS Lamda which reports errors to Honeybadger.io
JavaScript
10
star
18

honeybadger-java

Java Client to report exceptions to Honeybadger.io
Java
9
star
19

github-notify-deploy-action

Send deployment notifications to Honeybadger via GitHub Actions
Shell
8
star
20

honeybadger-rails-webpacker-example

Example Rails 5.1/Webpacker app with support for Source Maps in Honeybadger
Ruby
6
star
21

reck

🐍 Reck: the exception-powered Ruby web framework! 🐍
Ruby
6
star
22

nova-honeybadger

Official Laravel Nova package for Honeybadger.io 🐘 ⚡
PHP
5
star
23

github-upload-sourcemap-action

Upload source maps to Honeybadger via GitHub Actions
Shell
5
star
24

heya-app

This is my testbed/example Rails app for the heya gem.
Ruby
4
star
25

yabeda-honeybadger_insights

Yabeda integration with Honeybadger Insights
Ruby
4
star
26

delayed_job_honeybadger

Notifies Honeybadger of errors in Delayed Job workers.
Ruby
4
star
27

honeybadger-dotnet

C#
3
star
28

crywolf-node

Honeybadger example for Node.JS
JavaScript
3
star
29

crywolf-elixir

Honeybadger example for Elixir
Elixir
3
star
30

honeybadger-react-native

Official React Native integration for Honeybadger.io ⚡
JavaScript
2
star
31

honeybadger-cocoa

Official Objective-C & Swift library for reporting errors and crashes to Honeybadger.io 🍎 ⚡
Objective-C
2
star
32

unicorn

Ruby
1
star
33

rpush-plugin

Rpush plugin for Honeybadger
Ruby
1
star
34

circleci-orb

CircleCI Orb that interacts with the Honeybadger.io API.
1
star
35

honeybadger-sinatra-example

Example sinatra app reporting errors w/ Honeybadger
Ruby
1
star
36

examples-react-on-rails

A simple example of how to integrate Honeybadger with React on Rails to unlock Universal (Isomorphic) error reporting in your React-based Rails apps.
Ruby
1
star
37

examples-rails

A sample Rails app for trying Honeybadger.io
Ruby
1
star