This project and readme have been auto generated by react-native-make
Make sure you have installed:
- Git
- XCode
- Android SDK
- node
- yarn
- react-native-cli
- ruby
- bundler (
sudo gem install bundler)
- bundler (
- transcrypt (
brew install transcrypt)
git clone git@github.com:bamlab/project-name.git
cd project-name
bundle install
yarn
bundle exec pod repo update
cd ios && bundle exec pod install && cd ..Ask the password to a BAM's architect.
transcrypt -c aes-256-cbc -p '<password>'
Launch the app in your simulator:
- iOS:
react-native run-ios --scheme TestRNMakeProject-Staging - Android:
react-native run-android --variant=stagingDebug
When you generated the repository with react-native-make the following feature must be present:
- A repository should have been created at https://github.com/bamlab/project-name
- Travis CI run your tests
- An application have been created and deployed on appcenter
- You can deploy automatically with fastlane to appcenter
- You can deploy with codepush to staging too
- We installed the following libraries for you:
- @react-native-community/async-storage
- react-native-localize
- i18n-js
- typesafe-actions
- jest
- prettier
- eslint
To find where a feature is installed / used, run a search on the whole project using the tag
| Name | Tag |
|---|---|
| Translations | @translations |
| Redux | @redux |
| Redux Persist | @redux-persist |
| Redux Persist Sensitive | @redux-persist-sensitive |
| React Navigation | @react-navigation |
| CodePush | @codepush |
| Firebase | @firebase |
| Firebase Crashlytics | @firebase-crashlytics |
| GraphQL | @graphql |
| GraphQL Subscriptions | @graphql-subscriptions |
| Storybook | @storybook |
You can run the tests with yarn test. This command will:
- Run
eslinton your project - Check the typescript types
- Run the
jesttests
You can run the jest tests in watch mode with:
yarn jest --watchYou can also get the coverage with:
yarn jest --coverageYou can automatically generate files by running the following commands:
yarn plop atom: generate an empty atomyarn plop module: generate a Redux module whose state containsvalueyarn plop page: generate an empty page
If you are in the bamlab organisation, travis CI have been set up for you. It should run the yarn test command on each pull request and branch update.
A staging environment have been created for you. This environment push the application on Appcenter.
You can find the pushed app at:
- https://appcenter.ms/orgs/BAM.tech/apps/testrnmakeproject-staging-ios
- https://appcenter.ms/orgs/BAM.tech/apps/testrnmakeproject-staging-android/
To deploy in staging, just run
./scripts/deploy.sh -t hard
There is few options on the deploy command. Please run the following command to have all usages:
./scripts/deploy.sh -h
Most of the time, on staging, you didn't change anything in the native code. If you changed only javascript code, you can run:
./scripts/deploy.sh
Then the build should be faster as only the javascript code have been published.
To download updates from the application, just open it and click on the "check update" button.
In Android Studio: File > Settings > Experimental > Gradle -> uncheck "Only sync the active variant" checkbox.