Contributing Guide
react-native-share
uses semantic-release
for creating new releases. Also, we follow the commit-lint
specification with husky
to handle our commit messages.
So whenever a new commit arrives at the master
, if it's attending the semantic-release
config to release a newer version in just a few minutes a new release will be published to npm. 🚀
Documentation
We use Docusaurus to build our documentation. Everything you need to change the docs is located at ./website
.
You just need to run a:
yarn; yarn start
And you will be able to run a local version of Docusaurus. Everytime a PR is merged on the master
branch, a new version of the docs will be published. So you just need to think about writing some cool .mdx
.
Using the Example App
To run the example app, which is located at ./example
, just run at the root project:
yarn && cd example/ios && pod install && cd -
And finally a yarn start
at the root folder.
After that, open the file example/ios/example.xcworkspace
with XCode or run a yarn start:android
to start the android simulator.
Where is the package.json and node_modules?
We don't need a package.json
or node_modules
because we are using a custom config with react-native.config.js
, that let us use easily the rootFolder of the project.
Also, we changed some native files like: AppDelegate.M
,
MainApplication.java
and
other files. By doing this, we are able to use the root-version of react-native-share and react at ../../../
.
If you want to do something similar on your library, or other project I recommend looking at datetimepicker which was the base to apply this changes.