- Fork the library on GitHub
- Build and test your changes
- Commit and push until you are happy with your contribution
- Make a pull request
bugsnag-react-native depends on bugsnag-android and bugsnag-cocoa as well as React Native itself for the headers and macros used in linking a native extension. Because of these dependencies, it is easiest to hack on the library as a part of an example project where all of these components are integrated.
Unit tests for the JavaScript client are run with Jest.
npm i
npm run test:unit:js
Code coverage is reported in the ./coverage
directory. On a Mac, the following command
will open the coverage report in your default browser:
open coverage/lcov-report/index.html
Run npm install
, then use react-native run-android
or react-native run-ios
to run the example projects.
To upgrade bugsnag-cocoa, prepare an updated version of bugsnag-cocoa, then copy the Source and iOS directories. Assuming bugsnag-cocoa is located in the same directory as bugsnag-react-native:
make ANDROID_VERSION=X IOS_VERSION=X upgrade_vendor
- Upgrade TypeScript definitions if the JavaScript has changed.
Please follow the testing instructions in the platforms release checklist, and any additional steps directly below.
- Ensure the example app sends the correct error for each type on iOS and Android
- Archive the iOS app and validate the bundle
- Generate a signed APK for Android
- Update the changelog with new features and fixes
make VERSION=[number] release
- Create a new release on GitHub, copying the changelog entry.