Skip to content
This repository has been archived by the owner on Jul 25, 2023. It is now read-only.

Latest commit

 

History

History
68 lines (49 loc) · 2.28 KB

CONTRIBUTING.md

File metadata and controls

68 lines (49 loc) · 2.28 KB

Contributing

Building

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.

Testing

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

Running the examples app

Run npm install, then use react-native run-android or react-native run-ios to run the example projects.

Releasing

Upgrading the vendored libraries

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:

cp -r ../bugsnag-cocoa/Source/* cocoa/vendor/bugsnag-cocoa/Source
cp -r ../bugsnag-cocoa/iOS/* cocoa/vendor/bugsnag-cocoa/iOS

Release Checklist

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

Making a new release

  1. Update the version number in package.json, android/build.gradle, and the README documentation badge.
  2. Update the changelog with new features and fixes
  3. Commit the changes and tag in the format v[version]. Push.
  4. Publish the package to npm using npm publish.
  5. Create a new release on GitHub, copying the changelog entry.