react-native-package
Provides a consistent format to define and export packages for React Native.
Getting Started
Install react-native-package
using yarn
:
yarn add react-native-package
Motivation
This package (pun intended) addresses several issues when creating a NativeModule for React Native:
- Consistent way of checking if a NativeModule was installed correctly.
- Allows 'guarding' a module on a platform that it has not been implemented on yet.
- Helpful error messages when a module has not been implemented on a platform.
Usage
This is an example from the react-native-instabug-sdk
which was the motivation for this package.
;; ;
Using values from the package.json
, we can record a consistent warning if we determine this package was not installed correctly:
Warning: react-native-instabug-sdk was not installed correctly. Please follow the instructions in the README: https://github.com/negativetwelve/react-native-instabug-sdk#readme.
It will also record a message if the Package is not enabled on the current platform:
Warning: react-native-instabug-sdk does not currently have an implementation for Android. If you would like to contribute, please submit a PR to https://github.com/negativetwelve/react-native-instabug-sdk.
But, calling a method on that platform, Android in this case, such as:
;; Component { Instabug; } { return <Text>Testing Instabug</Text> ; }
will not error! 🎉
Contributing
If you have any ideas on how this module could be better, create an Issue or submit a PR.