A cross-platform instrument tuner application built with Expo and React Native.
- Node.js (v20 recommended) and npm.
- For iOS development (Mac only): Xcode.
- For Android development: Android Studio and Android SDK.
-
Clone the repository.
-
Install dependencies:
npm install
Note: This command automatically runs the license generation script via a
postinstallhook.
Start the development server:
npm startThis will start the Metro bundler. You can then use the following commands or press the corresponding keys in the terminal:
- Web: Press
wor runnpm run web. - Android: Press
aor runnpm run android(requires an Android emulator or connected device). - iOS: Press
ior runnpm run ios(requires Xcode and an iOS simulator, Mac only).
This repository is configured with a GitHub Actions workflow that automatically builds and deploys the web version to GitHub Pages whenever changes are pushed to the main branch.
To manually build the web version for production:
npx expo export --platform webThe build artifacts will be created in the dist directory.
You can build the application using EAS Build (Expo Application Services) or locally using native tools.
-
Install the EAS CLI:
npm install -g eas-cli -
Login to your Expo account:
eas login -
Configure the project:
eas build:configure -
Run the build:
eas build --platform android # or eas build --platform ios
To build the native apps locally on your machine:
Android:
npx expo run:android --variant releaseiOS:
npx expo run:ios --configuration ReleaseThe application includes a credit screen for open-source dependencies. The list of licenses is generated automatically.
-
Automatic Generation: The
scripts/generate-licenses.jsscript runs automatically afternpm install(via thepostinstallhook). -
Manual Generation: You can manually regenerate the licenses file by running:
node scripts/generate-licenses.js