diff --git a/.github/workflows/build-android.yml b/.github/workflows/build-android.yml index d4213b64..010bd121 100644 --- a/.github/workflows/build-android.yml +++ b/.github/workflows/build-android.yml @@ -1,12 +1,12 @@ name: Build Android APK -on: +on: pull_request: paths: - '.github/workflows/build-android.yml' - 'android/**' - 'package.json' - + concurrency: group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} cancel-in-progress: true @@ -18,12 +18,11 @@ jobs: - name: ๐Ÿ›’ Checkout uses: actions/checkout@v4 - - name: ๐Ÿ–ฅ Setup Node 20 - uses: actions/setup-node@v4 + - name: ๐Ÿ–ฅ Setup Bun 1.3.2 + uses: oven-sh/setup-bun@v2 with: - node-version: 20 - cache: 'yarn' - + bun-version: 1.3.2 + - name: ๐Ÿ’Ž Set up Ruby uses: ruby/setup-ruby@v1 with: @@ -31,8 +30,8 @@ jobs: bundler-cache: true - name: ๐Ÿ’ฌ Echo package.json version to Github ENV - run: echo VERSION_NUMBER=$(node -p -e "require('./package.json').version") >> $GITHUB_ENV - + run: echo VERSION_NUMBER=$(bun -p "require('./package.json').version") >> $GITHUB_ENV + - name: ๐Ÿ”‘ Decode and setup release keystore continue-on-error: true run: | @@ -42,31 +41,31 @@ jobs: else echo "No keystore secret found, will use debug keystore" fi - + - uses: actions/cache@v3 with: - path: | + path: | node_modules ~/.gradle/caches ~/.gradle/wrapper ~/.cache/turbo android/.gradle android/app/build - key: ${{ runner.os }}-gradle-turbo-${{ hashFiles('**/yarn.lock', '**/build.gradle') }} + key: ${{ runner.os }}-gradle-turbo-${{ hashFiles('**/build.gradle') }} restore-keys: | ${{ runner.os }}-gradle-turbo- - - name: ๐Ÿค– Run yarn init-android - run: yarn install --network-concurrency 1 - + - name: ๐Ÿค– Run bun init-android + run: bun i + - name: ๐Ÿš€ Run turbo build - run: yarn android-build + run: bun android-build env: KEYSTORE_PASSWORD: ${{ secrets.ANDROID_KEYSTORE_PASSWORD }} KEY_ALIAS: ${{ secrets.ANDROID_KEY_ALIAS }} KEY_PASSWORD: ${{ secrets.ANDROID_KEY_PASSWORD }} - + - name: ๐Ÿ“ฆ Upload APK for testing uses: actions/upload-artifact@v4 diff --git a/.github/workflows/build-bundle.yml b/.github/workflows/build-bundle.yml index 9027468b..cd6a4cba 100644 --- a/.github/workflows/build-bundle.yml +++ b/.github/workflows/build-bundle.yml @@ -16,20 +16,19 @@ jobs: - name: ๐Ÿงพ Checkout repository uses: actions/checkout@v4 - - name: โš™๏ธ Setup Node.js - uses: actions/setup-node@v4 + - name: ๐Ÿ–ฅ Setup Bun 1.3.2 + uses: oven-sh/setup-bun@v2 with: - node-version: '20' - cache: 'yarn' + bun-version: 1.3.2 - name: ๐Ÿ“ฆ Install dependencies - run: yarn install --network-concurrency 1 + run: bun i - name: ๐Ÿงฉ Build JS bundle for iOS run: | mkdir -p ios/build - npx react-native bundle \ + bun x react-native bundle \ --platform ios \ --dev false \ --entry-file index.js \ @@ -40,12 +39,9 @@ jobs: run: | mkdir -p android/app/src/main/assets mkdir -p android/app/src/main/res - npx react-native bundle \ + bun x react-native bundle \ --platform android \ --dev false \ --entry-file index.js \ --bundle-output android/app/src/main/assets/index.android.bundle \ --assets-dest android/app/src/main/res - - - \ No newline at end of file diff --git a/.github/workflows/build-ios.yml b/.github/workflows/build-ios.yml index baab475c..8d15e0ad 100644 --- a/.github/workflows/build-ios.yml +++ b/.github/workflows/build-ios.yml @@ -1,5 +1,5 @@ name: Build iOS IPA -on: +on: workflow_dispatch: pull_request: paths: @@ -19,21 +19,21 @@ jobs: - name: ๐Ÿ›’ Checkout uses: actions/checkout@v4 - - name: ๐Ÿ–ฅ Setup Node 20 - uses: actions/setup-node@v4 + - name: ๐Ÿ–ฅ Setup Bun 1.3.2 + uses: oven-sh/setup-bun@v2 with: - node-version: 20 + bun-version: 1.3.2 - name: ๐Ÿ’ฌ Echo package.json version to Github ENV - run: echo VERSION_NUMBER=$(node -p -e "require('./package.json').version") >> $GITHUB_ENV + run: echo VERSION_NUMBER=$(bun -p "require('./package.json').version") >> $GITHUB_ENV - name: ๐ŸŽ Setup Xcode uses: ./.github/actions/setup-xcode - - - name: ๐ŸŽ Run yarn init-ios:new-arch - run: yarn init-android && cd ios && bundle install && bundle exec pod install - + - name: ๐ŸŽ Run bun init-ios:new-arch + run: bun run init-android && cd ios && bundle install && bundle exec pod install + + - name: ๐Ÿš€ Run fastlane build run: | cd ios @@ -65,4 +65,4 @@ jobs: *.zip ios/build/Build/Products/Release-iphonesimulator/Jellify-Release-Simulator.zip retention-days: 7 - if-no-files-found: warn \ No newline at end of file + if-no-files-found: warn diff --git a/.github/workflows/maestro-test.yml b/.github/workflows/maestro-test.yml index ffc3b600..04a3703a 100644 --- a/.github/workflows/maestro-test.yml +++ b/.github/workflows/maestro-test.yml @@ -8,7 +8,7 @@ on: concurrency: group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} cancel-in-progress: true - + jobs: build-android: runs-on: macos-15 @@ -17,19 +17,18 @@ jobs: steps: - name: ๐Ÿ›’ Checkout uses: actions/checkout@v4 - - - name: ๐Ÿ–ฅ Setup Node 20 - uses: actions/setup-node@v4 + + - name: ๐Ÿ–ฅ Setup Bun 1.3.2 + uses: oven-sh/setup-bun@v2 with: - node-version: 20 - cache: 'yarn' - + bun-version: 1.3.2 + - name: ๐Ÿ’Ž Set up Ruby uses: ruby/setup-ruby@v1 with: - ruby-version: '3.0' + ruby-version: '3.0' bundler-cache: true - + - uses: actions/cache@v3 with: path: | @@ -39,25 +38,25 @@ jobs: ~/.cache/turbo android/.gradle android/app/build - key: ${{ runner.os }}-gradle-turbo-${{ hashFiles('**/yarn.lock', '**/build.gradle') }} + key: ${{ runner.os }}-gradle-turbo-${{ hashFiles('**/bun.lock', '**/build.gradle') }} restore-keys: | ${{ runner.os }}-gradle-turbo- - - name: ๐ŸŽ Run yarn init-android - run: yarn install --network-concurrency 1 + - name: ๐ŸŽ Run bun init-android + run: bun i - name: ๐Ÿ’ฌ Disable OTA Updates and Enable Maestro Build - run: node scripts/updateEnv.js OTA_UPDATE_ENABLED=false IS_MAESTRO_BUILD=true - - + run: bun scripts/updateEnv.js OTA_UPDATE_ENABLED=false IS_MAESTRO_BUILD=true + + - name: โœ… Validate Config Files run: | - node -e "JSON.parse(require('fs').readFileSync('telemetrydeck.json'))" - node -e "JSON.parse(require('fs').readFileSync('glitchtip.json'))" - + bun -p "JSON.parse(require('fs').readFileSync('telemetrydeck.json'))" + bun -p "JSON.parse(require('fs').readFileSync('glitchtip.json'))" + - name: ๐Ÿš€ Run Android fastlane build - run: yarn android-build - + run: bun run android-build + - name: ๐Ÿ“ค Upload Android Artifacts uses: actions/upload-artifact@v4 with: @@ -74,10 +73,10 @@ jobs: - name: ๐Ÿ›’ Checkout uses: actions/checkout@v4 - - name: ๐Ÿ–ฅ Setup Node 20 - uses: actions/setup-node@v4 + - name: ๐Ÿ–ฅ Setup Bun 1.3.2 + uses: oven-sh/setup-bun@v2 with: - node-version: 20 + bun-version: 1.3.2 - name: Installing Maestro shell: bash @@ -88,7 +87,7 @@ jobs: with: java-version: '17' distribution: 'zulu' - + - name: โฌ‡๏ธ Download Android Artifacts uses: actions/download-artifact@v4 with: @@ -121,19 +120,19 @@ jobs: disable-animations: false avd-name: e2e_emulator script: bash scripts/maestro-android-retry.sh "https://jellyfin.jellify.app" "jerry" - + - name: ๐Ÿ—ฃ๏ธ Notify Success on Discord if: success() run: | - node scripts/sendDiscordMessage.js "__**## โœ… Maestro Test Passed**__All checks completed successfully!" + bun scripts/sendDiscordMessage.js "__**## โœ… Maestro Test Passed**__All checks completed successfully!" env: DISCORD_WEBHOOK_URL: ${{ secrets.MAESTRO_WEBHOOK_RESULTS }} - + - name: ๐Ÿ—ฃ๏ธ Notify Failure on Discord if: failure() run: | - node scripts/sendDiscordMessage.js "__**## โŒ Maestro Test Failed**__Some tests did not pass." + bun scripts/sendDiscordMessage.js "__**## โŒ Maestro Test Failed**__Some tests did not pass." env: DISCORD_WEBHOOK_URL: ${{ secrets.MAESTRO_WEBHOOK_RESULTS }} - name: Store tests result diff --git a/.github/workflows/publish-beta.yml b/.github/workflows/publish-beta.yml index fc3877a1..6b1f022a 100644 --- a/.github/workflows/publish-beta.yml +++ b/.github/workflows/publish-beta.yml @@ -22,7 +22,7 @@ on: - minor - patch - major - + jobs: generate-release-notes: runs-on: ubuntu-latest @@ -64,10 +64,10 @@ jobs: } >> "$GITHUB_OUTPUT" - - name: ๐Ÿ“œ Generate release notes using Node.js + - name: ๐Ÿ“œ Generate release notes using Bun run: | - yarn install --network-concurrency 1 - node scripts/generate-release-notes.js "${{ steps.commits.outputs.messages }}" + bun i + bun scripts/generate-release-notes.js "${{ steps.commits.outputs.messages }}" env: OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }} @@ -89,32 +89,32 @@ jobs: uses: actions/checkout@v4 with: token: ${{ secrets.SIGNING_REPO_PAT }} - - - name: ๐Ÿ–ฅ Setup Node 20 - uses: actions/setup-node@v4 + + - name: ๐Ÿ–ฅ Setup Bun 1.3.2 + uses: oven-sh/setup-bun@v2 with: - node-version: 20 - + bun-version: 1.3.2 + - name: ๐Ÿ’Ž Set up Ruby uses: ruby/setup-ruby@v1 with: - ruby-version: '3.0' + ruby-version: '3.0' bundler-cache: true - - name: ๐ŸŽ Run yarn init-android - run: yarn install --network-concurrency 1 + - name: ๐ŸŽ Run bun init-android # you never actually run yarn init-android, so I kept the same + run: bun i - name: โž• Version Up if: ${{ github.event.inputs['version-bump'] != 'No Bump' }} - run: yarn react-native bump-version --type ${{ github.event.inputs['version-bump'] }} - - - id: setver - run: echo "version=$(node -p -e "require('./package.json').version")" >> $GITHUB_OUTPUT + run: bun x react-native bump-version --type ${{ github.event.inputs['version-bump'] }} # Is this supposed to be like npx, or some special yarn thing? + + - id: setver + run: echo "version=$(bun -p "require('./package.json').version")" >> $GITHUB_OUTPUT + - - name: ๐Ÿ’ฌ Echo package.json version to Github ENV - run: echo VERSION_NUMBER=$(node -p -e "require('./package.json').version") >> $GITHUB_ENV - + run: echo VERSION_NUMBER=$(bun -p "require('./package.json').version") >> $GITHUB_ENV + - name: ๐Ÿ”‘ Setup release keystore run: | if [ -n "${{ secrets.ANDROID_SIGNING_BASE64 }}" ]; then @@ -124,7 +124,7 @@ jobs: echo "ERROR: No keystore secret found!" exit 1 fi - + - name: ๐Ÿ”‘ Setup Play Store credentials run: | if [ -n "$PLAY_STORE_CREDENTIALS" ]; then @@ -136,8 +136,8 @@ jobs: fi env: PLAY_STORE_CREDENTIALS: ${{ secrets.PLAY_STORE_SERVICE_ACCOUNT }} - - - name: ๐Ÿคซ Output TelemetryDeck Secrets to TelemetryDeck.json + + - name: ๐Ÿคซ Output TelemetryDeck Secrets to TelemetryDeck.json run: | echo "{" > telemetrydeck.json echo "\"appID\": \"${{ secrets.TELEMETRYDECK_APPID }}\"," >> telemetrydeck.json @@ -145,29 +145,29 @@ jobs: echo "\"app\": \"Jellify\"" >> telemetrydeck.json echo "}" >> telemetrydeck.json - + - name: ๐Ÿคซ Output Glitchtip Secrets to Glitchtip.json run: | echo "{" > glitchtip.json echo "\"dsn\": \"${{ secrets.GLITCHTIP_DSN }}\"" >> glitchtip.json echo "}" >> glitchtip.json - + - name: ๐Ÿ“ Output Glitchip secrets to .env run: | echo "GLITCHTIP_DSN=${{ secrets.GLITCHTIP_DSN }}" >> .env - name: โœ… Validate Config Files run: | - node -e "JSON.parse(require('fs').readFileSync('telemetrydeck.json'))" - node -e "JSON.parse(require('fs').readFileSync('glitchtip.json'))" - + bun -p "JSON.parse(require('fs').readFileSync('telemetrydeck.json'))" + bun -p "JSON.parse(require('fs').readFileSync('glitchtip.json'))" + - name: ๐Ÿš€ Run Android fastlane deploy - run: yarn fastlane:android:deploy + run: bun run fastlane:android:deploy env: KEYSTORE_PASSWORD: ${{ secrets.ANDROID_KEYSTORE_PASSWORD }} KEY_ALIAS: ${{ secrets.ANDROID_KEY_ALIAS }} KEY_PASSWORD: ${{ secrets.ANDROID_KEY_PASSWORD }} - + - name: ๐Ÿ“ค Upload Android Artifacts uses: actions/upload-artifact@v4 with: @@ -182,38 +182,38 @@ jobs: version: ${{ steps.setver.outputs.version }} needs: [generate-release-notes] steps: - + - name: ๐Ÿ›’ Checkout uses: actions/checkout@v4 with: token: ${{ secrets.SIGNING_REPO_PAT }} - - name: ๐Ÿ–ฅ Setup Node 20 - uses: actions/setup-node@v4 + - name: ๐Ÿ–ฅ Setup Bun 1.3.2 + uses: oven-sh/setup-bun@v2 with: - node-version: 20 + bun-version: 1.3.2 - name: ๐ŸŽ Setup Xcode uses: ./.github/actions/setup-xcode - - name: ๐ŸŽ Run yarn init-ios:new-arch - run: yarn init-ios:new-arch - + - name: ๐ŸŽ Run run init-ios:new-arch + run: bun run init-ios:new-arch + - name: โž• Version Up if: ${{ github.event.inputs['version-bump'] != 'No Bump' }} - run: yarn react-native bump-version --type ${{ github.event.inputs['version-bump'] }} + run: bun x react-native bump-version --type ${{ github.event.inputs['version-bump'] }} # Is this supposed to be like npx, or some special yarn thing? - id: setver - run: echo "version=$(node -p -e "require('./package.json').version")" >> $GITHUB_OUTPUT - + run: echo "version=$(bun -p "require('./package.json').version")" >> $GITHUB_OUTPUT + - name: ๐Ÿ’ฌ Echo package.json version to Github ENV - run: echo VERSION_NUMBER=$(node -p -e "require('./package.json').version") >> $GITHUB_ENV - + run: echo VERSION_NUMBER=$(bun -p "require('./package.json').version") >> $GITHUB_ENV + - name: ๐Ÿคซ Output App Store Connect API Key JSON to Fastlane run: echo -e '${{ secrets.APPSTORE_CONNECT_API_KEY_JSON }}' > appstore_connect_api_key.json working-directory: ./ios/fastlane - - name: ๐Ÿคซ Output TelemetryDeck Secrets to TelemetryDeck.json + - name: ๐Ÿคซ Output TelemetryDeck Secrets to TelemetryDeck.json run: | echo "{" > telemetrydeck.json echo "\"appID\": \"${{ secrets.TELEMETRYDECK_APPID }}\"," >> telemetrydeck.json @@ -221,24 +221,24 @@ jobs: echo "\"app\": \"Jellify\"" >> telemetrydeck.json echo "}" >> telemetrydeck.json - + - name: ๐Ÿคซ Output Glitchtip Secrets to Glitchtip.json run: | echo "{" > glitchtip.json echo "\"dsn\": \"${{ secrets.GLITCHTIP_DSN }}\"" >> glitchtip.json echo "}" >> glitchtip.json - + - name: ๐Ÿ“ Output Glitchip secrets to .env run: | echo "GLITCHTIP_DSN=${{ secrets.GLITCHTIP_DSN }}" >> .env - name: โœ… Validate Config Files run: | - node -e "JSON.parse(require('fs').readFileSync('telemetrydeck.json'))" - node -e "JSON.parse(require('fs').readFileSync('glitchtip.json'))" - + bun -p "JSON.parse(require('fs').readFileSync('telemetrydeck.json'))" + bun -p "JSON.parse(require('fs').readFileSync('glitchtip.json'))" + - name: ๐Ÿš€ Run iOS fastlane build and publish to TestFlight - run: yarn fastlane:ios:beta + run: bun run fastlane:ios:beta env: APPSTORE_CONNECT_API_KEY_JSON: ${{ secrets.APPSTORE_CONNECT_API_KEY_JSON }} FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD: ${{ secrets.FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD }} @@ -259,7 +259,7 @@ jobs: - name: ๐Ÿ›’ Checkout Repo uses: actions/checkout@v4 with: - token: ${{ secrets.SIGNING_REPO_PAT }} + token: ${{ secrets.SIGNING_REPO_PAT }} - name: โŒ Fail if selected job failed run: | @@ -287,7 +287,7 @@ jobs: fi - name: ๐Ÿ“ฆ Install dependencies - run: yarn install --network-concurrency 1 + run: bun i - name: โฌ‡๏ธ Download Android Artifacts if: ${{ github.event.inputs['build-platform'] == 'Android' || github.event.inputs['build-platform'] == 'Both' }} @@ -305,8 +305,8 @@ jobs: - name: โž• Version Up if: ${{ github.event.inputs['version-bump'] != 'No Bump' }} - run: yarn react-native bump-version --type ${{ github.event.inputs['version-bump'] }} - + run: bun x react-native bump-version --type ${{ github.event.inputs['version-bump'] }} # Is this supposed to be like npx, or some special yarn thing? + - name: ๐Ÿ”ข Set artifact version numbers run: | VERSION=${{ needs.publish-ios.outputs.version || needs.publish-android.outputs.version }} @@ -355,4 +355,4 @@ jobs: DISCORD_WEBHOOK_URL: ${{ secrets.DISCORD_WEBHOOK_URL }} APP_VERSION: ${{ needs.publish-ios.outputs.version || needs.publish-android.outputs.version }} release_url: ${{ steps.githubRelease.outputs.html_url }} - RELEASE_NOTES: ${{ needs.generate-release-notes.outputs.release_notes }} \ No newline at end of file + RELEASE_NOTES: ${{ needs.generate-release-notes.outputs.release_notes }} diff --git a/.github/workflows/publish-ota-update-pr.yml b/.github/workflows/publish-ota-update-pr.yml index 3a40fa73..1f17efdd 100644 --- a/.github/workflows/publish-ota-update-pr.yml +++ b/.github/workflows/publish-ota-update-pr.yml @@ -16,20 +16,20 @@ jobs: with: token: ${{ secrets.SIGNING_REPO_PAT }} - - name: ๐Ÿ–ฅ Setup Node 20 - uses: actions/setup-node@v4 + - name: ๐Ÿ–ฅ Setup Bun 1.3.2 + uses: oven-sh/setup-bun@v2 with: - node-version: 20 + bun-version: 1.3.2 + + - name: ๐ŸฅŸ Run bun + run: bun i - - name: ๐Ÿงต Run yarn - run: yarn install --network-concurrency 1 - - name: ๐Ÿ‘ฉโ€๐Ÿ’ป Configure Git run: | git config --global user.email "violet@cosmonautical.cloud" git config --global user.name "anultravioletaurora" - name: ๐Ÿค– Publish Android Update - run: yarn sendOTA:PR ${{ github.event.pull_request.number }} + run: bun run sendOTA:PR ${{ github.event.pull_request.number }} env: SIGNING_REPO_PAT: ${{ secrets.SIGNING_REPO_PAT }} diff --git a/.github/workflows/publish-ota-update.yml b/.github/workflows/publish-ota-update.yml index 68dfe2a2..55b4c997 100644 --- a/.github/workflows/publish-ota-update.yml +++ b/.github/workflows/publish-ota-update.yml @@ -1,7 +1,7 @@ name: Publish Over-the-Air Update on: workflow_dispatch: - + jobs: publish-ota-update: runs-on: macos-15 @@ -11,25 +11,25 @@ jobs: with: token: ${{ secrets.SIGNING_REPO_PAT }} - - name: ๐Ÿ–ฅ Setup Node 20 - uses: actions/setup-node@v4 + - name: ๐Ÿ–ฅ Setup Bun 1.3.2 + uses: oven-sh/setup-bun@v2 with: - node-version: 20 + bun-version: 1.3.2 + + - name: ๐ŸฅŸ Run bun install + run: bun i - - name: ๐Ÿงต Run yarn - run: yarn install --network-concurrency 1 - - name: ๐Ÿ‘ฉโ€๐Ÿ’ป Configure Git run: | git config --global user.email "violet@cosmonautical.cloud" git config --global user.name "anultravioletaurora" - name: ๐Ÿค– Publish Android Update - run: yarn sendOTA:android + run: bun run sendOTA:android env: SIGNING_REPO_PAT: ${{ secrets.SIGNING_REPO_PAT }} - name: ๐ŸŽ Publish iOS Update - run: yarn sendOTA:iOS + run: bun run sendOTA:iOS env: SIGNING_REPO_PAT: ${{ secrets.SIGNING_REPO_PAT }} diff --git a/.github/workflows/run-jest-test-suite.yml b/.github/workflows/run-jest-test-suite.yml index b7243c35..b3c01bc6 100644 --- a/.github/workflows/run-jest-test-suite.yml +++ b/.github/workflows/run-jest-test-suite.yml @@ -16,22 +16,22 @@ jobs: - name: ๐Ÿ›’ Checkout uses: actions/checkout@v4 - - name: ๐Ÿ–ฅ Setup Node 20 - uses: actions/setup-node@v4 + - name: ๐Ÿ–ฅ Setup Bun 1.3.2 + uses: oven-sh/setup-bun@v2 with: - node-version: 20 + bun-version: 1.3.2 - name: ๐Ÿ’ฌ Echo package.json version to Github ENV - run: echo VERSION_NUMBER=$(node -p -e "require('./package.json').version") >> $GITHUB_ENV + run: echo VERSION_NUMBER=$(bun -p "require('./package.json').version") >> $GITHUB_ENV - name: ๐Ÿค– Run yarn init-android - run: yarn install --network-concurrency 1 - + run: bun i + - name: ๐Ÿ” Run yarn tsc - run: yarn tsc + run: bun tsc - name: ๐Ÿงช Run yarn test - run: yarn test + run: bun test - - name: ๐Ÿฆ‹ Check Styling - run: yarn format:check \ No newline at end of file + - name: ๐Ÿฆ‹ Check Styling + run: bun run format:check diff --git a/.gitignore b/.gitignore index 400d6c15..d1e257bb 100644 --- a/.gitignore +++ b/.gitignore @@ -37,8 +37,10 @@ local.properties # node.js # node_modules/ -npm-debug.log -yarn-error.log + +# Don't think these will exist anymore! +# npm-debug.log +# yarn-error.log # fastlane # @@ -66,12 +68,12 @@ yarn-error.log /coverage # Yarn -.yarn/* -!.yarn/patches -!.yarn/plugins -!.yarn/releases -!.yarn/sdks -!.yarn/versions +#.yarn/* +#!.yarn/patches +#!.yarn/plugins +#!.yarn/releases +#!.yarn/sdks +#!.yarn/versions # Expo .expo @@ -80,4 +82,4 @@ web-build/ # Maestro Output video.mp4 -.github/copilot-instructions.md \ No newline at end of file +.github/copilot-instructions.md diff --git a/.husky/pre-commit b/.husky/pre-commit index 37236231..00a9d3cc 100644 --- a/.husky/pre-commit +++ b/.husky/pre-commit @@ -1 +1 @@ -yarn lint-staged +bun lint-staged diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 10613672..80e90871 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -18,7 +18,7 @@ Here's the best way to get started: - [Ruby](https://www.ruby-lang.org/en/documentation/installation/) for Fastlane - [NodeJS v22](https://nodejs.org/en/download) for React Native -- [Yarn](https://yarnpkg.com/) for managing dependencies +- [Bun](https://bun.sh/) for managing dependencies ### ๐ŸŽ iOS @@ -31,21 +31,21 @@ Here's the best way to get started: ##### Setup - Clone this repository -- Run `yarn init-ios:new-arch` to initialize the project +- Run `bun init-ios:new-arch` to initialize the project - This will install `npm` packages, install `bundler` and required gems, and install required CocoaPods with [React Native's New Architecture](https://reactnative.dev/blog/2024/10/23/the-new-architecture-is-here#what-is-the-new-architecture) - In the `ios` directory, run `fastlane match development --readonly` to fetch the development signing certificates - _You will need access to the "Jellify Signing" private repository_ ##### Running -- Run `yarn start` to start the dev server +- Run `bun start` to start the dev server - Open the `Jellify.xcodeworkspace` with Xcode, _not_ the `Jellify.xcodeproject` - Run either on a device or in the simulator - _You will need to wait for Xcode to finish it's "Indexing" step_ ##### Building -- To create a build, run `yarn fastlane:ios:build` to use fastlane to compile an `.ipa` +- To create a build, run `bun fastlane:ios:build` to use fastlane to compile an `.ipa` ### ๐Ÿค– Android @@ -59,18 +59,18 @@ Here's the best way to get started: ##### Setup - Clone this repository -- Run `yarn install` to install `npm` packages +- Run `bun install` to install `npm` packages ##### Running -- Run `yarn start` to start the dev server +- Run `bun start` to start the dev server - Open the `android` folder with Android Studio - _Android Studio should automatically grab the "Run Configurations" and initialize Gradle_ - Run either on a device or in the simulator ##### Building -- To create a build, run `yarn fastlane:android:build` to use fastlane to compile an `.apk` for all architectures +- To create a build, run `bun fastlane:android:build` to use fastlane to compile an `.apk` for all architectures - Alternatively, run `cd android; ./gradlew assembleRelease` to use Gradle to compile an `.apk` #### References diff --git a/android/.run/app.run.xml b/android/.run/app.run.xml index 59b94c8b..f884fe45 100644 --- a/android/.run/app.run.xml +++ b/android/.run/app.run.xml @@ -1,5 +1,6 @@ +