Development instructions

Requirements

Following software is recommended for development:

Install following software for development:

Initial setup

git clone git@github.com:mvestola/panttipullo-react-native.git
npm install
cp example.env .env

Provide proper Sentry details in .env file for JS error reporting.

Development

npm run eslint
npm start

Run in Android emulator

Better to run in real phone because barcode scanning is easier. To run in emulator:

/android-sdk-linux_x86/emulator/emulator -list-avds
/android-sdk-linux_x86/emulator/emulator @Nexus_6_API_27

After that, choose “run on emulator” from browser

Upgrading

Upgrade expo and other packages:

npm i -g expo-cli
expo upgrade
git commit
npm i -g npm-check-updates && ncu -u
# Check that expo/react packages were not upgraded too much
rm -rf node_modules && rm package-lock.json
npm install

Documentation for external libraries used

Third party services used

Production release checklist

Before release

To release:

  1. Publish to expo: npm run publish
  2. Make Android release if other than plain JS changes: npm run build-android