We want this community to be friendly and respectful to each other. Please follow it in all your interactions with the project.
To get started with the project, run yarn in the root directory to install the
required dependencies for each package:
yarnWhile it's possible to use
npm, the tooling is built aroundyarn, so you'll have an easier time if you useyarnfor development.
While developing, you can run the example app to test your changes. Any changes you make in your library's JavaScript code will be reflected in the example app without a rebuild. If you change any native code, then you'll need to rebuild the example app.
Go into the example app:
cd internal/fishjam-chatPrebuild the app:
npx expo prebuildNote
Be sure to run npx expo prebuild and not yarn prebuild as there's an issue with path generation for the ios/.xcode.env.local file
To start the packager:
yarn startTo run the example app on Android:
yarn androidTo run the example app on iOS:
yarn iosMake sure your code passes TypeScript and ESLint. Run the following (in root folder) to verify:
yarn typecheck
yarn lint:checkTo edit the React Native SDK's Swift files, open internal/fishjam-chat/ios/FishjamExample.xcworkspace in Xcode
and find the source files at
Pods > Development Pods > RNFishjamClient
to edit the iOS native SDK find
Pods > Development Pods > FishjamCloudClient
To edit the React Native SDK's Kotlin files, open internal/fishjam-chat/android in Android studio and find the
source files at
fishjam-cloud-react-native-client
to edit the Android native SDK find
fishjam-cloud-android-client
We use TypeScript for type checking, ESLint with Prettier for linting and formatting the code, and Jest for testing.
Working on your first pull request? You can learn how from this free series: How to Contribute to an Open Source Project on GitHub.
When you're sending a pull request:
- Prefer small pull requests focused on one change.
- Verify that linters and tests are passing.
- Run
npx expo-doctorand make sure that your changes don't break any of it's checks. - Review the documentation to make sure it looks good.
- Follow the pull request template when opening a pull request.
- For pull requests that change the API or implementation, discuss with maintainers first by opening an issue.