A customized React Native scaffold.
The following must be available in your system:
Node v18.16.0
(LTS) recommended.
Install node modules:
yarn install
Install python packages:
pipenv install
Make changes to the scaffold and regenerate distribution artifacts:
yarn run bootstrap
Validate that the original facebook/react-native template was left untouched with:
yarn run template
Make sure to update the .crowdbotics.json version and add an entry to CHANGELOG.md.
- make sure to have a compatible version of urllib3 with openssl. urllib3 v2.0 or higher is compatible with OpenSSL 1.1.1 or higher
When making scaffold updates, please make sure the following still works:
- creating a demo app (
npx crowdbotics/modules demo
) - iOS Appetize build
- iOS TestFlight build
- iOS local emulator (
npx react-native start
) - iOS local xcode build
- Android Appetize build
- Android Internal build
- Android local emulator (
npx react-native start
) - Android local debug build (
./android/gradlew assembleDebug -p ./android
) - Web deployment (called API in the Dashboard)
- Web local dev server (
yarn run web
) - Web local build (
yarn run web:build
) - Studio loads the app and the welcome screen renders correctly
In order to test scaffold updates on Dashboard/Studio create a new Review App and set REACT_NATIVE_SCAFFOLD_REPO_BRANCH
to the name of your branch.
Double check your work locally with those helper scripts checks:
yarn run bootstrap
produces no changes besides potential changes inyarn.lock
resolved versionsyarn run template
produces no changesyarn run semver
check passes
Important!
Increase the version of the scaffold in package.json
and .crowdbotics.json
.
Finally make sure to update the CHANGELOG with human friendly descriptions.