From c066ea4f1dcfa164dd650cced3104501ee16b09e Mon Sep 17 00:00:00 2001 From: Cedric Guillemet <1312968+CedricGuillemet@users.noreply.github.com> Date: Mon, 17 Jun 2024 16:55:00 +0200 Subject: [PATCH 01/78] Use patch to select RN version for RNTA --- .github/workflows/pr.yml | 289 +- Apps/rnta-0.71.patch | 6998 ++++++++++++++++++++++++++++++++++++++ Apps/rnta-0.73.patch | 0 3 files changed, 7006 insertions(+), 281 deletions(-) create mode 100644 Apps/rnta-0.71.patch create mode 100644 Apps/rnta-0.73.patch diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index 7e4de8c29..e834962b0 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -7,46 +7,11 @@ env: BRN_Version: '0.64' jobs: - build-android: - runs-on: macos-latest - steps: - - name: Checkout Repo - uses: actions/checkout@v2.3.3 - with: - submodules: 'recursive' - - name: Setup Node 16 - uses: actions/setup-node@v3 - with: - node-version: 16 - - name: Setup CMake - uses: jwlawson/actions-setup-cmake@v1.8 - with: - cmake-version: '3.26.3' - - name: Setup Ninja - run: brew install ninja - - name: NPM Install (Playground) - run: npm install - working-directory: ./Apps/Playground - - name: NPM Install (React Native ${{ env.BRN_Version }}) - run: npm run select ${{ env.BRN_Version }} - working-directory: ./Apps/Playground - - name: NPM Install (Binary Package) - run: npm install - working-directory: ./Package - - name: Setup Java - uses: actions/setup-java@v3 - with: - distribution: 'temurin' - java-version: '17' - check-latest: true - - name: Gulp (Android) - run: npx gulp buildAndroid - working-directory: ./Package - env: - JAVA_HOME: ${{ env.JAVA_HOME_11_X64 }} - build-android-rnta: runs-on: macos-latest + strategy: + matrix: + react-native-version: ['0.71', '0.73'] steps: - name: Checkout Repo uses: actions/checkout@v2.3.3 @@ -60,7 +25,10 @@ jobs: run: brew install ninja - name: Setup Watchman run: brew install watchman - - name: NPM Install (Playground) + - name: Patch BRNPlayground for RN ${{ matrix.react-native-version }} + run: git apply rnta-${{ matrix.react-native-version }}.patch --allow-empty + working-directory: ./Apps + - name: NPM Install (BRNPlayground) run: npm install working-directory: ./Apps/BRNPlayground @@ -82,245 +50,4 @@ jobs: working-directory: ./Package env: JAVA_HOME: ${{ env.JAVA_HOME_11_X64 }} - - build-iOS: - runs-on: macos-latest - steps: - - name: Checkout Repo - uses: actions/checkout@v2.3.3 - with: - submodules: 'recursive' - - name: Setup Node 16 - uses: actions/setup-node@v3 - with: - node-version: 16 - - name: NPM Install (Playground) - run: npm install - working-directory: ./Apps/Playground - - name: NPM Install (React Native ${{ env.BRN_Version }}) - run: npm run select --reactNative ${{ env.BRN_Version }} - working-directory: ./Apps/Playground - - name: NPM Install (Binary Package) - run: npm install - working-directory: ./Package - - name: Gulp (iOS) - run: npx gulp buildIOS - working-directory: ./Package - - build-iOS-rnta: - runs-on: macos-latest - steps: - - name: Checkout Repo - uses: actions/checkout@v2.3.3 - with: - submodules: 'recursive' - - name: Setup Watchman - run: brew install watchman - - - name: NPM Install (Playground) - run: npm install - working-directory: ./Apps/BRNPlayground - - - name: Build Windows Bundle - run: npm run build:ios - working-directory: ./Apps/BRNPlayground - - - name: NPM Install (Binary Package) - run: npm install - working-directory: ./Package - - name: Gulp (iOS) - run: npx gulp buildIOSRNTA - working-directory: ./Package - - test-publish-android-ios: - runs-on: macos-latest - steps: - - name: Checkout Repo - uses: actions/checkout@v2.3.3 - with: - submodules: 'recursive' - - name: Setup Node 16 - uses: actions/setup-node@v3 - with: - node-version: 16 - - name: Setup CMake - uses: jwlawson/actions-setup-cmake@v1.8 - with: - cmake-version: '3.26.3' - - name: Setup Ninja - run: brew install ninja - - name: Setup Java - uses: actions/setup-java@v3 - with: - distribution: 'temurin' - java-version: '17' - check-latest: true - - name: NPM Install (Playground) - run: npm install - working-directory: ./Apps/Playground - - name: NPM Install (React Native ${{ env.BRN_Version }}) - run: npm run select --reactNative ${{ env.BRN_Version }} - working-directory: ./Apps/Playground - - name: NPM Install (Binary Package) - run: npm install - working-directory: ./Package - - name: Gulp - run: npx gulp - working-directory: ./Package - env: - JAVA_HOME: ${{ env.JAVA_HOME_11_X64 }} - - build-windows: - runs-on: windows-2019 - strategy: - matrix: - platform: [x86, x64, ARM64] - config: [Debug, Release] - steps: - - name: Support longpaths - run: git config --system core.longpaths true - - name: Checkout Repo - uses: actions/checkout@v2.3.3 - with: - submodules: 'true' - - name: Setup MSBuild - uses: microsoft/setup-msbuild@v1.0.2 - - name: Setup Node 16 - uses: actions/setup-node@v3 - with: - node-version: 16 - - name: Setup NuGet - uses: nuget/setup-nuget@v1 - with: - nuget-version: '5.x' - - name: NPM Install (Playground) - run: npm install - working-directory: ./Apps/Playground - - name: NPM Install (React Native ${{ env.BRN_Version }}) - run: npm run select ${{ env.BRN_Version }} - working-directory: ./Apps/Playground - - name: NPM Install (Binary Package) - run: npm install - working-directory: ./Package - - name: Gulp Setup Project ${{ matrix.platform }} (Windows) - run: npx gulp makeUWPProject${{ matrix.platform }} - working-directory: ./Package - - name: Gulp Build ${{ matrix.platform }} ${{ matrix.config }} (Windows) - run: npx gulp buildUWP${{ matrix.platform }}${{ matrix.config }} - working-directory: ./Package - - name: Gulp NuGet Restore Playground - run: npx gulp nugetRestoreUWPPlayground - working-directory: ./Package - - name: Gulp Build ${{ matrix.platform }} ${{ matrix.config }} Playground (Windows) - run: npx gulp buildUWPPlayground${{ matrix.platform }}${{ matrix.config }} - working-directory: ./Package - - build-windows-rnta: - runs-on: windows-2019 - steps: - - name: Support longpaths - run: git config --system core.longpaths true - - name: Checkout Repo - uses: actions/checkout@v2.3.3 - with: - submodules: 'true' - - name: Setup MSBuild - uses: microsoft/setup-msbuild@v1.0.2 - - name: Setup Node 20 - uses: actions/setup-node@v3 - with: - node-version: 20 - - - name: Install watchman - run: choco install watchman - working-directory: ./Apps/BRNPlayground - - - name: NPM Install RNTA - run: npm install - working-directory: ./Apps/BRNPlayground - - - name: Build Windows Bundle - run: npm run build:windows - working-directory: ./Apps/BRNPlayground - - - name: NPM Install Package - run: npm install - working-directory: ./Package - - - name: NPM Generate Windows Project - run: npx install-windows-test-app - working-directory: ./Apps/BRNPlayground - - - name: BabylonNative build directory - run: mkdir @babylonjs/react-native/Build/uwp_x64 - working-directory: ./Modules - - - name: CMake BabylonNative - run: cmake -G "Visual Studio 16 2019" -D CMAKE_SYSTEM_NAME=WindowsStore -D CMAKE_SYSTEM_VERSION=10.0.19041.0 -DCMAKE_UNITY_BUILD=true -D CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION_MAXIMUM=10.0.19041.0 -A x64 ./../../../react-native-windows/windows - working-directory: ./Modules/@babylonjs/react-native/Build/uwp_x64 - - - name: Nuget restore - run: nuget restore BRNPlayground.sln - working-directory: ./Apps/BRNPlayground/windows - - - name: Windows build BN - run: MSBuild /p:Platform="x64" /p:Configuration="Release" /m ReactNativeBabylon.sln - working-directory: ./Modules/@babylonjs/react-native/Build/uwp_x64 - - - name: Windows build BRN - run: MSBuild /p:Platform="x64" /p:Configuration="Release" /m BRNPlayground.sln - working-directory: ./Apps/BRNPlayground/windows - -# Test packages - build-android-ios-065: - uses: ./.github/workflows/ios_android.yml - with: - react-native-version: '0.65' - release-version: 0.0.${GITHUB_SHA::8} - - build-android-ios-069: - uses: ./.github/workflows/ios_android.yml - with: - react-native-version: '0.69' - release-version: 0.0.${GITHUB_SHA::8} - - build-android-ios-070: - uses: ./.github/workflows/ios_android.yml - with: - react-native-version: '0.70' - release-version: 0.0.${GITHUB_SHA::8} - - build-android-ios-071: - uses: ./.github/workflows/ios_android.yml - with: - react-native-version: '0.71' - release-version: 0.0.${GITHUB_SHA::8} - - build-windows-065: - uses: ./.github/workflows/windows.yml - with: - react-native-version: '0.65' - release-version: 0.0.${GITHUB_SHA::8} - - build-windows-069: - uses: ./.github/workflows/windows.yml - with: - react-native-version: '0.69' - release-version: 0.0.${GITHUB_SHA::8} - - build-windows-070: - uses: ./.github/workflows/windows.yml - with: - react-native-version: '0.70' - release-version: 0.0.${GITHUB_SHA::8} - - build-windows-071: - uses: ./.github/workflows/windows.yml - with: - react-native-version: '0.71' - release-version: 0.0.${GITHUB_SHA::8} - - build-typescript: - uses: ./.github/workflows/typescript.yml - with: - release-version: 0.0.${GITHUB_SHA::8} \ No newline at end of file + \ No newline at end of file diff --git a/Apps/rnta-0.71.patch b/Apps/rnta-0.71.patch new file mode 100644 index 000000000..09b0a2da8 --- /dev/null +++ b/Apps/rnta-0.71.patch @@ -0,0 +1,6998 @@ +diff --git BRNPlayground/package.json BRNPlayground/package.json +index 8441ee39c63880a50582d67f04855ae03f09957c..fb36c8d955e26ed533794c5764577f3a7b441bcc 100644 +--- BRNPlayground/package.json ++++ BRNPlayground/package.json +@@ -24,19 +24,16 @@ + "@babylonjs/react-native-windows": "file:../../Modules/@babylonjs/react-native-windows", + "@react-native-community/slider": "^4.2.2", + "react": "18.2.0", +- "react-native": "0.73.4", +- "react-native-macos": "^0.73.0", ++ "react-native": "^0.71.0", ++ "react-native-macos": "^0.71.0", + "react-native-permissions": "^3.0.0", +- "react-native-windows": "^0.73.0" ++ "react-native-windows": "^0.71.0" + }, + "devDependencies": { + "@babel/core": "^7.20.0", + "@babel/preset-env": "^7.20.0", + "@babel/runtime": "^7.20.0", +- "@react-native/babel-preset": "0.73.20", +- "@react-native/eslint-config": "0.73.2", +- "@react-native/metro-config": "0.73.4", +- "@react-native/typescript-config": "0.73.1", ++ "@react-native-community/eslint-config": "^3.0.0", + "@rnx-kit/metro-config": "^1.3.14", + "@types/react": "^18.2.6", + "@types/react-test-renderer": "^18.0.0", +@@ -44,6 +41,7 @@ + "eslint": "^8.19.0", + "jest": "^29.6.3", + "mkdirp": "^1.0.0", ++ "metro-react-native-babel-preset": "0.73.10", + "prettier": "2.8.8", + "react-native-test-app": "^3.2.10", + "react-test-renderer": "18.2.0", +diff --git BRNPlayground/babel.config.js BRNPlayground/babel.config.js +index f7b3da3b33d1565e14c6aaf8884dc3d24c457992..f842b77fcfb8b74016365099d8c5fe54cf3269e2 100644 +--- BRNPlayground/babel.config.js ++++ BRNPlayground/babel.config.js +@@ -1,3 +1,3 @@ + module.exports = { +- presets: ['module:@react-native/babel-preset'], ++ presets: ['module:metro-react-native-babel-preset'], + }; +diff --git BRNPlayground/ios/Podfile.lock BRNPlayground/ios/Podfile.lock +index 181b86ad8627842aabd2377ba279e60b3a459377..bd89eae1d1f38229599b3ed3f032ac82b41dda9e 100644 +--- BRNPlayground/ios/Podfile.lock ++++ BRNPlayground/ios/Podfile.lock +@@ -1,55 +1,48 @@ + PODS: +- - boost (1.83.0) ++ - boost (1.76.0) + - DoubleConversion (1.1.6) +- - FBLazyVector (0.73.4) +- - FBReactNativeSpec (0.73.4): +- - RCT-Folly (= 2022.05.16.00) +- - RCTRequired (= 0.73.4) +- - RCTTypeSafety (= 0.73.4) +- - React-Core (= 0.73.4) +- - React-jsi (= 0.73.4) +- - ReactCommon/turbomodule/core (= 0.73.4) ++ - FBLazyVector (0.71.16) ++ - FBReactNativeSpec (0.71.16): ++ - RCT-Folly (= 2021.07.22.00) ++ - RCTRequired (= 0.71.16) ++ - RCTTypeSafety (= 0.71.16) ++ - React-Core (= 0.71.16) ++ - React-jsi (= 0.71.16) ++ - ReactCommon/turbomodule/core (= 0.71.16) + - fmt (6.2.1) + - glog (0.3.5) +- - RCT-Folly (2022.05.16.00): ++ - RCT-Folly (2021.07.22.00): + - boost + - DoubleConversion + - fmt (~> 6.2.1) + - glog +- - RCT-Folly/Default (= 2022.05.16.00) +- - RCT-Folly/Default (2022.05.16.00): ++ - RCT-Folly/Default (= 2021.07.22.00) ++ - RCT-Folly/Default (2021.07.22.00): + - boost + - DoubleConversion + - fmt (~> 6.2.1) + - glog +- - RCT-Folly/Fabric (2022.05.16.00): +- - boost +- - DoubleConversion +- - fmt (~> 6.2.1) +- - glog +- - RCTRequired (0.73.4) +- - RCTTypeSafety (0.73.4): +- - FBLazyVector (= 0.73.4) +- - RCTRequired (= 0.73.4) +- - React-Core (= 0.73.4) +- - React (0.73.4): +- - React-Core (= 0.73.4) +- - React-Core/DevSupport (= 0.73.4) +- - React-Core/RCTWebSocket (= 0.73.4) +- - React-RCTActionSheet (= 0.73.4) +- - React-RCTAnimation (= 0.73.4) +- - React-RCTBlob (= 0.73.4) +- - React-RCTImage (= 0.73.4) +- - React-RCTLinking (= 0.73.4) +- - React-RCTNetwork (= 0.73.4) +- - React-RCTSettings (= 0.73.4) +- - React-RCTText (= 0.73.4) +- - React-RCTVibration (= 0.73.4) +- - React-callinvoker (0.73.4) +- - React-Codegen (0.73.4): +- - DoubleConversion ++ - RCTRequired (0.71.16) ++ - RCTTypeSafety (0.71.16): ++ - FBLazyVector (= 0.71.16) ++ - RCTRequired (= 0.71.16) ++ - React-Core (= 0.71.16) ++ - React (0.71.16): ++ - React-Core (= 0.71.16) ++ - React-Core/DevSupport (= 0.71.16) ++ - React-Core/RCTWebSocket (= 0.71.16) ++ - React-RCTActionSheet (= 0.71.16) ++ - React-RCTAnimation (= 0.71.16) ++ - React-RCTBlob (= 0.71.16) ++ - React-RCTImage (= 0.71.16) ++ - React-RCTLinking (= 0.71.16) ++ - React-RCTNetwork (= 0.71.16) ++ - React-RCTSettings (= 0.71.16) ++ - React-RCTText (= 0.71.16) ++ - React-RCTVibration (= 0.71.16) ++ - React-callinvoker (0.71.16) ++ - React-Codegen (0.71.16): + - FBReactNativeSpec +- - glog + - RCT-Folly + - RCTRequired + - RCTTypeSafety +@@ -57,970 +50,275 @@ PODS: + - React-jsc + - React-jsi + - React-jsiexecutor +- - React-NativeModulesApple +- - React-rncore + - ReactCommon/turbomodule/bridging + - ReactCommon/turbomodule/core +- - React-Core (0.73.4): ++ - React-Core (0.71.16): + - glog +- - RCT-Folly (= 2022.05.16.00) +- - React-Core/Default (= 0.73.4) +- - React-cxxreact ++ - RCT-Folly (= 2021.07.22.00) ++ - React-Core/Default (= 0.71.16) ++ - React-cxxreact (= 0.71.16) + - React-jsc +- - React-jsi +- - React-jsiexecutor +- - React-perflogger +- - React-runtimescheduler +- - React-utils +- - SocketRocket (= 0.6.1) ++ - React-jsi (= 0.71.16) ++ - React-jsiexecutor (= 0.71.16) ++ - React-perflogger (= 0.71.16) + - Yoga +- - React-Core/CoreModulesHeaders (0.73.4): ++ - React-Core/CoreModulesHeaders (0.71.16): + - glog +- - RCT-Folly (= 2022.05.16.00) ++ - RCT-Folly (= 2021.07.22.00) + - React-Core/Default +- - React-cxxreact ++ - React-cxxreact (= 0.71.16) + - React-jsc +- - React-jsi +- - React-jsiexecutor +- - React-perflogger +- - React-runtimescheduler +- - React-utils +- - SocketRocket (= 0.6.1) ++ - React-jsi (= 0.71.16) ++ - React-jsiexecutor (= 0.71.16) ++ - React-perflogger (= 0.71.16) + - Yoga +- - React-Core/Default (0.73.4): ++ - React-Core/Default (0.71.16): + - glog +- - RCT-Folly (= 2022.05.16.00) +- - React-cxxreact ++ - RCT-Folly (= 2021.07.22.00) ++ - React-cxxreact (= 0.71.16) + - React-jsc +- - React-jsi +- - React-jsiexecutor +- - React-perflogger +- - React-runtimescheduler +- - React-utils +- - SocketRocket (= 0.6.1) ++ - React-jsi (= 0.71.16) ++ - React-jsiexecutor (= 0.71.16) ++ - React-perflogger (= 0.71.16) + - Yoga +- - React-Core/DevSupport (0.73.4): ++ - React-Core/DevSupport (0.71.16): + - glog +- - RCT-Folly (= 2022.05.16.00) +- - React-Core/Default (= 0.73.4) +- - React-Core/RCTWebSocket (= 0.73.4) +- - React-cxxreact ++ - RCT-Folly (= 2021.07.22.00) ++ - React-Core/Default (= 0.71.16) ++ - React-Core/RCTWebSocket (= 0.71.16) ++ - React-cxxreact (= 0.71.16) + - React-jsc +- - React-jsi +- - React-jsiexecutor +- - React-jsinspector (= 0.73.4) +- - React-perflogger +- - React-runtimescheduler +- - React-utils +- - SocketRocket (= 0.6.1) ++ - React-jsi (= 0.71.16) ++ - React-jsiexecutor (= 0.71.16) ++ - React-jsinspector (= 0.71.16) ++ - React-perflogger (= 0.71.16) + - Yoga +- - React-Core/RCTActionSheetHeaders (0.73.4): ++ - React-Core/RCTActionSheetHeaders (0.71.16): + - glog +- - RCT-Folly (= 2022.05.16.00) ++ - RCT-Folly (= 2021.07.22.00) + - React-Core/Default +- - React-cxxreact ++ - React-cxxreact (= 0.71.16) + - React-jsc +- - React-jsi +- - React-jsiexecutor +- - React-perflogger +- - React-runtimescheduler +- - React-utils +- - SocketRocket (= 0.6.1) ++ - React-jsi (= 0.71.16) ++ - React-jsiexecutor (= 0.71.16) ++ - React-perflogger (= 0.71.16) + - Yoga +- - React-Core/RCTAnimationHeaders (0.73.4): ++ - React-Core/RCTAnimationHeaders (0.71.16): + - glog +- - RCT-Folly (= 2022.05.16.00) ++ - RCT-Folly (= 2021.07.22.00) + - React-Core/Default +- - React-cxxreact ++ - React-cxxreact (= 0.71.16) + - React-jsc +- - React-jsi +- - React-jsiexecutor +- - React-perflogger +- - React-runtimescheduler +- - React-utils +- - SocketRocket (= 0.6.1) ++ - React-jsi (= 0.71.16) ++ - React-jsiexecutor (= 0.71.16) ++ - React-perflogger (= 0.71.16) + - Yoga +- - React-Core/RCTBlobHeaders (0.73.4): ++ - React-Core/RCTBlobHeaders (0.71.16): + - glog +- - RCT-Folly (= 2022.05.16.00) ++ - RCT-Folly (= 2021.07.22.00) + - React-Core/Default +- - React-cxxreact ++ - React-cxxreact (= 0.71.16) + - React-jsc +- - React-jsi +- - React-jsiexecutor +- - React-perflogger +- - React-runtimescheduler +- - React-utils +- - SocketRocket (= 0.6.1) ++ - React-jsi (= 0.71.16) ++ - React-jsiexecutor (= 0.71.16) ++ - React-perflogger (= 0.71.16) + - Yoga +- - React-Core/RCTImageHeaders (0.73.4): ++ - React-Core/RCTImageHeaders (0.71.16): + - glog +- - RCT-Folly (= 2022.05.16.00) ++ - RCT-Folly (= 2021.07.22.00) + - React-Core/Default +- - React-cxxreact ++ - React-cxxreact (= 0.71.16) + - React-jsc +- - React-jsi +- - React-jsiexecutor +- - React-perflogger +- - React-runtimescheduler +- - React-utils +- - SocketRocket (= 0.6.1) ++ - React-jsi (= 0.71.16) ++ - React-jsiexecutor (= 0.71.16) ++ - React-perflogger (= 0.71.16) + - Yoga +- - React-Core/RCTLinkingHeaders (0.73.4): ++ - React-Core/RCTLinkingHeaders (0.71.16): + - glog +- - RCT-Folly (= 2022.05.16.00) ++ - RCT-Folly (= 2021.07.22.00) + - React-Core/Default +- - React-cxxreact ++ - React-cxxreact (= 0.71.16) + - React-jsc +- - React-jsi +- - React-jsiexecutor +- - React-perflogger +- - React-runtimescheduler +- - React-utils +- - SocketRocket (= 0.6.1) ++ - React-jsi (= 0.71.16) ++ - React-jsiexecutor (= 0.71.16) ++ - React-perflogger (= 0.71.16) + - Yoga +- - React-Core/RCTNetworkHeaders (0.73.4): ++ - React-Core/RCTNetworkHeaders (0.71.16): + - glog +- - RCT-Folly (= 2022.05.16.00) ++ - RCT-Folly (= 2021.07.22.00) + - React-Core/Default +- - React-cxxreact ++ - React-cxxreact (= 0.71.16) + - React-jsc +- - React-jsi +- - React-jsiexecutor +- - React-perflogger +- - React-runtimescheduler +- - React-utils +- - SocketRocket (= 0.6.1) ++ - React-jsi (= 0.71.16) ++ - React-jsiexecutor (= 0.71.16) ++ - React-perflogger (= 0.71.16) + - Yoga +- - React-Core/RCTSettingsHeaders (0.73.4): ++ - React-Core/RCTSettingsHeaders (0.71.16): + - glog +- - RCT-Folly (= 2022.05.16.00) ++ - RCT-Folly (= 2021.07.22.00) + - React-Core/Default +- - React-cxxreact ++ - React-cxxreact (= 0.71.16) + - React-jsc +- - React-jsi +- - React-jsiexecutor +- - React-perflogger +- - React-runtimescheduler +- - React-utils +- - SocketRocket (= 0.6.1) ++ - React-jsi (= 0.71.16) ++ - React-jsiexecutor (= 0.71.16) ++ - React-perflogger (= 0.71.16) + - Yoga +- - React-Core/RCTTextHeaders (0.73.4): ++ - React-Core/RCTTextHeaders (0.71.16): + - glog +- - RCT-Folly (= 2022.05.16.00) ++ - RCT-Folly (= 2021.07.22.00) + - React-Core/Default +- - React-cxxreact ++ - React-cxxreact (= 0.71.16) + - React-jsc +- - React-jsi +- - React-jsiexecutor +- - React-perflogger +- - React-runtimescheduler +- - React-utils +- - SocketRocket (= 0.6.1) ++ - React-jsi (= 0.71.16) ++ - React-jsiexecutor (= 0.71.16) ++ - React-perflogger (= 0.71.16) + - Yoga +- - React-Core/RCTVibrationHeaders (0.73.4): ++ - React-Core/RCTVibrationHeaders (0.71.16): + - glog +- - RCT-Folly (= 2022.05.16.00) ++ - RCT-Folly (= 2021.07.22.00) + - React-Core/Default +- - React-cxxreact ++ - React-cxxreact (= 0.71.16) + - React-jsc +- - React-jsi +- - React-jsiexecutor +- - React-perflogger +- - React-runtimescheduler +- - React-utils +- - SocketRocket (= 0.6.1) ++ - React-jsi (= 0.71.16) ++ - React-jsiexecutor (= 0.71.16) ++ - React-perflogger (= 0.71.16) + - Yoga +- - React-Core/RCTWebSocket (0.73.4): ++ - React-Core/RCTWebSocket (0.71.16): + - glog +- - RCT-Folly (= 2022.05.16.00) +- - React-Core/Default (= 0.73.4) +- - React-cxxreact ++ - RCT-Folly (= 2021.07.22.00) ++ - React-Core/Default (= 0.71.16) ++ - React-cxxreact (= 0.71.16) + - React-jsc +- - React-jsi +- - React-jsiexecutor +- - React-perflogger +- - React-runtimescheduler +- - React-utils +- - SocketRocket (= 0.6.1) ++ - React-jsi (= 0.71.16) ++ - React-jsiexecutor (= 0.71.16) ++ - React-perflogger (= 0.71.16) + - Yoga +- - React-CoreModules (0.73.4): +- - RCT-Folly (= 2022.05.16.00) +- - RCTTypeSafety (= 0.73.4) +- - React-Codegen +- - React-Core/CoreModulesHeaders (= 0.73.4) +- - React-jsi (= 0.73.4) +- - React-NativeModulesApple ++ - React-CoreModules (0.71.16): ++ - RCT-Folly (= 2021.07.22.00) ++ - RCTTypeSafety (= 0.71.16) ++ - React-Codegen (= 0.71.16) ++ - React-Core/CoreModulesHeaders (= 0.71.16) ++ - React-jsi (= 0.71.16) + - React-RCTBlob +- - React-RCTImage (= 0.73.4) +- - ReactCommon +- - SocketRocket (= 0.6.1) +- - React-cxxreact (0.73.4): +- - boost (= 1.83.0) +- - DoubleConversion +- - fmt (~> 6.2.1) +- - glog +- - RCT-Folly (= 2022.05.16.00) +- - React-callinvoker (= 0.73.4) +- - React-debug (= 0.73.4) +- - React-jsi (= 0.73.4) +- - React-jsinspector (= 0.73.4) +- - React-logger (= 0.73.4) +- - React-perflogger (= 0.73.4) +- - React-runtimeexecutor (= 0.73.4) +- - React-debug (0.73.4) +- - React-Fabric (0.73.4): +- - DoubleConversion +- - fmt (~> 6.2.1) +- - glog +- - RCT-Folly/Fabric (= 2022.05.16.00) +- - RCTRequired +- - RCTTypeSafety +- - React-Core +- - React-cxxreact +- - React-debug +- - React-Fabric/animations (= 0.73.4) +- - React-Fabric/attributedstring (= 0.73.4) +- - React-Fabric/componentregistry (= 0.73.4) +- - React-Fabric/componentregistrynative (= 0.73.4) +- - React-Fabric/components (= 0.73.4) +- - React-Fabric/core (= 0.73.4) +- - React-Fabric/imagemanager (= 0.73.4) +- - React-Fabric/leakchecker (= 0.73.4) +- - React-Fabric/mounting (= 0.73.4) +- - React-Fabric/scheduler (= 0.73.4) +- - React-Fabric/telemetry (= 0.73.4) +- - React-Fabric/templateprocessor (= 0.73.4) +- - React-Fabric/textlayoutmanager (= 0.73.4) +- - React-Fabric/uimanager (= 0.73.4) +- - React-graphics +- - React-jsc +- - React-jsi +- - React-jsiexecutor +- - React-logger +- - React-rendererdebug +- - React-runtimescheduler +- - React-utils +- - ReactCommon/turbomodule/core +- - React-Fabric/animations (0.73.4): +- - DoubleConversion +- - fmt (~> 6.2.1) +- - glog +- - RCT-Folly/Fabric (= 2022.05.16.00) +- - RCTRequired +- - RCTTypeSafety +- - React-Core +- - React-cxxreact +- - React-debug +- - React-graphics +- - React-jsc +- - React-jsi +- - React-jsiexecutor +- - React-logger +- - React-rendererdebug +- - React-runtimescheduler +- - React-utils +- - ReactCommon/turbomodule/core +- - React-Fabric/attributedstring (0.73.4): +- - DoubleConversion +- - fmt (~> 6.2.1) +- - glog +- - RCT-Folly/Fabric (= 2022.05.16.00) +- - RCTRequired +- - RCTTypeSafety +- - React-Core +- - React-cxxreact +- - React-debug +- - React-graphics +- - React-jsc +- - React-jsi +- - React-jsiexecutor +- - React-logger +- - React-rendererdebug +- - React-runtimescheduler +- - React-utils +- - ReactCommon/turbomodule/core +- - React-Fabric/componentregistry (0.73.4): +- - DoubleConversion +- - fmt (~> 6.2.1) +- - glog +- - RCT-Folly/Fabric (= 2022.05.16.00) +- - RCTRequired +- - RCTTypeSafety +- - React-Core +- - React-cxxreact +- - React-debug +- - React-graphics +- - React-jsc +- - React-jsi +- - React-jsiexecutor +- - React-logger +- - React-rendererdebug +- - React-runtimescheduler +- - React-utils +- - ReactCommon/turbomodule/core +- - React-Fabric/componentregistrynative (0.73.4): +- - DoubleConversion +- - fmt (~> 6.2.1) +- - glog +- - RCT-Folly/Fabric (= 2022.05.16.00) +- - RCTRequired +- - RCTTypeSafety +- - React-Core +- - React-cxxreact +- - React-debug +- - React-graphics +- - React-jsc +- - React-jsi +- - React-jsiexecutor +- - React-logger +- - React-rendererdebug +- - React-runtimescheduler +- - React-utils +- - ReactCommon/turbomodule/core +- - React-Fabric/components (0.73.4): +- - DoubleConversion +- - fmt (~> 6.2.1) +- - glog +- - RCT-Folly/Fabric (= 2022.05.16.00) +- - RCTRequired +- - RCTTypeSafety +- - React-Core +- - React-cxxreact +- - React-debug +- - React-Fabric/components/inputaccessory (= 0.73.4) +- - React-Fabric/components/legacyviewmanagerinterop (= 0.73.4) +- - React-Fabric/components/modal (= 0.73.4) +- - React-Fabric/components/rncore (= 0.73.4) +- - React-Fabric/components/root (= 0.73.4) +- - React-Fabric/components/safeareaview (= 0.73.4) +- - React-Fabric/components/scrollview (= 0.73.4) +- - React-Fabric/components/text (= 0.73.4) +- - React-Fabric/components/textinput (= 0.73.4) +- - React-Fabric/components/unimplementedview (= 0.73.4) +- - React-Fabric/components/view (= 0.73.4) +- - React-graphics +- - React-jsc +- - React-jsi +- - React-jsiexecutor +- - React-logger +- - React-rendererdebug +- - React-runtimescheduler +- - React-utils +- - ReactCommon/turbomodule/core +- - React-Fabric/components/inputaccessory (0.73.4): +- - DoubleConversion +- - fmt (~> 6.2.1) +- - glog +- - RCT-Folly/Fabric (= 2022.05.16.00) +- - RCTRequired +- - RCTTypeSafety +- - React-Core +- - React-cxxreact +- - React-debug +- - React-graphics +- - React-jsc +- - React-jsi +- - React-jsiexecutor +- - React-logger +- - React-rendererdebug +- - React-runtimescheduler +- - React-utils +- - ReactCommon/turbomodule/core +- - React-Fabric/components/legacyviewmanagerinterop (0.73.4): +- - DoubleConversion +- - fmt (~> 6.2.1) +- - glog +- - RCT-Folly/Fabric (= 2022.05.16.00) +- - RCTRequired +- - RCTTypeSafety +- - React-Core +- - React-cxxreact +- - React-debug +- - React-graphics +- - React-jsc +- - React-jsi +- - React-jsiexecutor +- - React-logger +- - React-rendererdebug +- - React-runtimescheduler +- - React-utils +- - ReactCommon/turbomodule/core +- - React-Fabric/components/modal (0.73.4): +- - DoubleConversion +- - fmt (~> 6.2.1) +- - glog +- - RCT-Folly/Fabric (= 2022.05.16.00) +- - RCTRequired +- - RCTTypeSafety +- - React-Core +- - React-cxxreact +- - React-debug +- - React-graphics +- - React-jsc +- - React-jsi +- - React-jsiexecutor +- - React-logger +- - React-rendererdebug +- - React-runtimescheduler +- - React-utils +- - ReactCommon/turbomodule/core +- - React-Fabric/components/rncore (0.73.4): +- - DoubleConversion +- - fmt (~> 6.2.1) ++ - React-RCTImage (= 0.71.16) ++ - ReactCommon/turbomodule/core (= 0.71.16) ++ - React-cxxreact (0.71.16): ++ - boost (= 1.76.0) ++ - DoubleConversion ++ - glog ++ - RCT-Folly (= 2021.07.22.00) ++ - React-callinvoker (= 0.71.16) ++ - React-jsi (= 0.71.16) ++ - React-jsinspector (= 0.71.16) ++ - React-logger (= 0.71.16) ++ - React-perflogger (= 0.71.16) ++ - React-runtimeexecutor (= 0.71.16) ++ - React-jsc (0.71.16): ++ - React-jsc/Fabric (= 0.71.16) ++ - React-jsi (= 0.71.16) ++ - React-jsc/Fabric (0.71.16): ++ - React-jsi (= 0.71.16) ++ - React-jsi (0.71.16): ++ - boost (= 1.76.0) ++ - DoubleConversion ++ - glog ++ - RCT-Folly (= 2021.07.22.00) ++ - React-jsiexecutor (0.71.16): ++ - DoubleConversion ++ - glog ++ - RCT-Folly (= 2021.07.22.00) ++ - React-cxxreact (= 0.71.16) ++ - React-jsi (= 0.71.16) ++ - React-perflogger (= 0.71.16) ++ - React-jsinspector (0.71.16) ++ - React-logger (0.71.16): + - glog +- - RCT-Folly/Fabric (= 2022.05.16.00) +- - RCTRequired +- - RCTTypeSafety +- - React-Core +- - React-cxxreact +- - React-debug +- - React-graphics +- - React-jsc +- - React-jsi +- - React-jsiexecutor +- - React-logger +- - React-rendererdebug +- - React-runtimescheduler +- - React-utils +- - ReactCommon/turbomodule/core +- - React-Fabric/components/root (0.73.4): +- - DoubleConversion +- - fmt (~> 6.2.1) +- - glog +- - RCT-Folly/Fabric (= 2022.05.16.00) +- - RCTRequired +- - RCTTypeSafety +- - React-Core +- - React-cxxreact +- - React-debug +- - React-graphics +- - React-jsc +- - React-jsi +- - React-jsiexecutor +- - React-logger +- - React-rendererdebug +- - React-runtimescheduler +- - React-utils +- - ReactCommon/turbomodule/core +- - React-Fabric/components/safeareaview (0.73.4): +- - DoubleConversion +- - fmt (~> 6.2.1) +- - glog +- - RCT-Folly/Fabric (= 2022.05.16.00) +- - RCTRequired +- - RCTTypeSafety +- - React-Core +- - React-cxxreact +- - React-debug +- - React-graphics +- - React-jsc +- - React-jsi +- - React-jsiexecutor +- - React-logger +- - React-rendererdebug +- - React-runtimescheduler +- - React-utils +- - ReactCommon/turbomodule/core +- - React-Fabric/components/scrollview (0.73.4): +- - DoubleConversion +- - fmt (~> 6.2.1) +- - glog +- - RCT-Folly/Fabric (= 2022.05.16.00) +- - RCTRequired +- - RCTTypeSafety +- - React-Core +- - React-cxxreact +- - React-debug +- - React-graphics +- - React-jsc +- - React-jsi +- - React-jsiexecutor +- - React-logger +- - React-rendererdebug +- - React-runtimescheduler +- - React-utils +- - ReactCommon/turbomodule/core +- - React-Fabric/components/text (0.73.4): +- - DoubleConversion +- - fmt (~> 6.2.1) +- - glog +- - RCT-Folly/Fabric (= 2022.05.16.00) +- - RCTRequired +- - RCTTypeSafety +- - React-Core +- - React-cxxreact +- - React-debug +- - React-graphics +- - React-jsc +- - React-jsi +- - React-jsiexecutor +- - React-logger +- - React-rendererdebug +- - React-runtimescheduler +- - React-utils +- - ReactCommon/turbomodule/core +- - React-Fabric/components/textinput (0.73.4): +- - DoubleConversion +- - fmt (~> 6.2.1) +- - glog +- - RCT-Folly/Fabric (= 2022.05.16.00) +- - RCTRequired +- - RCTTypeSafety +- - React-Core +- - React-cxxreact +- - React-debug +- - React-graphics +- - React-jsc +- - React-jsi +- - React-jsiexecutor +- - React-logger +- - React-rendererdebug +- - React-runtimescheduler +- - React-utils +- - ReactCommon/turbomodule/core +- - React-Fabric/components/unimplementedview (0.73.4): +- - DoubleConversion +- - fmt (~> 6.2.1) +- - glog +- - RCT-Folly/Fabric (= 2022.05.16.00) +- - RCTRequired +- - RCTTypeSafety +- - React-Core +- - React-cxxreact +- - React-debug +- - React-graphics +- - React-jsc +- - React-jsi +- - React-jsiexecutor +- - React-logger +- - React-rendererdebug +- - React-runtimescheduler +- - React-utils +- - ReactCommon/turbomodule/core +- - React-Fabric/components/view (0.73.4): +- - DoubleConversion +- - fmt (~> 6.2.1) +- - glog +- - RCT-Folly/Fabric (= 2022.05.16.00) +- - RCTRequired +- - RCTTypeSafety +- - React-Core +- - React-cxxreact +- - React-debug +- - React-graphics +- - React-jsc +- - React-jsi +- - React-jsiexecutor +- - React-logger +- - React-rendererdebug +- - React-runtimescheduler +- - React-utils +- - ReactCommon/turbomodule/core +- - Yoga +- - React-Fabric/core (0.73.4): +- - DoubleConversion +- - fmt (~> 6.2.1) +- - glog +- - RCT-Folly/Fabric (= 2022.05.16.00) +- - RCTRequired +- - RCTTypeSafety +- - React-Core +- - React-cxxreact +- - React-debug +- - React-graphics +- - React-jsc +- - React-jsi +- - React-jsiexecutor +- - React-logger +- - React-rendererdebug +- - React-runtimescheduler +- - React-utils +- - ReactCommon/turbomodule/core +- - React-Fabric/imagemanager (0.73.4): +- - DoubleConversion +- - fmt (~> 6.2.1) +- - glog +- - RCT-Folly/Fabric (= 2022.05.16.00) +- - RCTRequired +- - RCTTypeSafety +- - React-Core +- - React-cxxreact +- - React-debug +- - React-graphics +- - React-jsc +- - React-jsi +- - React-jsiexecutor +- - React-logger +- - React-rendererdebug +- - React-runtimescheduler +- - React-utils +- - ReactCommon/turbomodule/core +- - React-Fabric/leakchecker (0.73.4): +- - DoubleConversion +- - fmt (~> 6.2.1) +- - glog +- - RCT-Folly/Fabric (= 2022.05.16.00) +- - RCTRequired +- - RCTTypeSafety +- - React-Core +- - React-cxxreact +- - React-debug +- - React-graphics +- - React-jsc +- - React-jsi +- - React-jsiexecutor +- - React-logger +- - React-rendererdebug +- - React-runtimescheduler +- - React-utils +- - ReactCommon/turbomodule/core +- - React-Fabric/mounting (0.73.4): +- - DoubleConversion +- - fmt (~> 6.2.1) +- - glog +- - RCT-Folly/Fabric (= 2022.05.16.00) +- - RCTRequired +- - RCTTypeSafety +- - React-Core +- - React-cxxreact +- - React-debug +- - React-graphics +- - React-jsc +- - React-jsi +- - React-jsiexecutor +- - React-logger +- - React-rendererdebug +- - React-runtimescheduler +- - React-utils +- - ReactCommon/turbomodule/core +- - React-Fabric/scheduler (0.73.4): +- - DoubleConversion +- - fmt (~> 6.2.1) +- - glog +- - RCT-Folly/Fabric (= 2022.05.16.00) +- - RCTRequired +- - RCTTypeSafety +- - React-Core +- - React-cxxreact +- - React-debug +- - React-graphics +- - React-jsc +- - React-jsi +- - React-jsiexecutor +- - React-logger +- - React-rendererdebug +- - React-runtimescheduler +- - React-utils +- - ReactCommon/turbomodule/core +- - React-Fabric/telemetry (0.73.4): +- - DoubleConversion +- - fmt (~> 6.2.1) +- - glog +- - RCT-Folly/Fabric (= 2022.05.16.00) +- - RCTRequired +- - RCTTypeSafety +- - React-Core +- - React-cxxreact +- - React-debug +- - React-graphics +- - React-jsc +- - React-jsi +- - React-jsiexecutor +- - React-logger +- - React-rendererdebug +- - React-runtimescheduler +- - React-utils +- - ReactCommon/turbomodule/core +- - React-Fabric/templateprocessor (0.73.4): +- - DoubleConversion +- - fmt (~> 6.2.1) +- - glog +- - RCT-Folly/Fabric (= 2022.05.16.00) +- - RCTRequired +- - RCTTypeSafety +- - React-Core +- - React-cxxreact +- - React-debug +- - React-graphics +- - React-jsc +- - React-jsi +- - React-jsiexecutor +- - React-logger +- - React-rendererdebug +- - React-runtimescheduler +- - React-utils +- - ReactCommon/turbomodule/core +- - React-Fabric/textlayoutmanager (0.73.4): +- - DoubleConversion +- - fmt (~> 6.2.1) +- - glog +- - RCT-Folly/Fabric (= 2022.05.16.00) +- - RCTRequired +- - RCTTypeSafety +- - React-Core +- - React-cxxreact +- - React-debug +- - React-Fabric/uimanager +- - React-graphics +- - React-jsc +- - React-jsi +- - React-jsiexecutor +- - React-logger +- - React-rendererdebug +- - React-runtimescheduler +- - React-utils +- - ReactCommon/turbomodule/core +- - React-Fabric/uimanager (0.73.4): +- - DoubleConversion +- - fmt (~> 6.2.1) +- - glog +- - RCT-Folly/Fabric (= 2022.05.16.00) +- - RCTRequired +- - RCTTypeSafety +- - React-Core +- - React-cxxreact +- - React-debug +- - React-graphics +- - React-jsc +- - React-jsi +- - React-jsiexecutor +- - React-logger +- - React-rendererdebug +- - React-runtimescheduler +- - React-utils +- - ReactCommon/turbomodule/core +- - React-FabricImage (0.73.4): +- - DoubleConversion +- - fmt (~> 6.2.1) +- - glog +- - RCT-Folly/Fabric (= 2022.05.16.00) +- - RCTRequired (= 0.73.4) +- - RCTTypeSafety (= 0.73.4) +- - React-Fabric +- - React-graphics +- - React-ImageManager +- - React-jsc +- - React-jsi +- - React-jsiexecutor (= 0.73.4) +- - React-logger +- - React-rendererdebug +- - React-utils +- - ReactCommon +- - Yoga +- - React-graphics (0.73.4): +- - glog +- - RCT-Folly/Fabric (= 2022.05.16.00) +- - React-Core/Default (= 0.73.4) +- - React-utils +- - React-ImageManager (0.73.4): +- - glog +- - RCT-Folly/Fabric +- - React-Core/Default +- - React-debug +- - React-Fabric +- - React-graphics +- - React-rendererdebug +- - React-utils +- - React-jsc (0.73.4): +- - React-jsc/Fabric (= 0.73.4) +- - React-jsi (= 0.73.4) +- - React-jsc/Fabric (0.73.4): +- - React-jsi (= 0.73.4) +- - React-jserrorhandler (0.73.4): +- - RCT-Folly/Fabric (= 2022.05.16.00) +- - React-debug +- - React-jsi +- - React-Mapbuffer +- - React-jsi (0.73.4): +- - boost (= 1.83.0) +- - DoubleConversion +- - fmt (~> 6.2.1) +- - glog +- - RCT-Folly (= 2022.05.16.00) +- - React-jsiexecutor (0.73.4): +- - DoubleConversion +- - fmt (~> 6.2.1) +- - glog +- - RCT-Folly (= 2022.05.16.00) +- - React-cxxreact (= 0.73.4) +- - React-jsi (= 0.73.4) +- - React-perflogger (= 0.73.4) +- - React-jsinspector (0.73.4) +- - React-logger (0.73.4): +- - glog +- - React-Mapbuffer (0.73.4): +- - glog +- - React-debug + - react-native-babylon (0.0.1): + - React + - react-native-slider (4.5.0): +- - glog +- - RCT-Folly (= 2022.05.16.00) +- - React-Core +- - React-nativeconfig (0.73.4) +- - React-NativeModulesApple (0.73.4): +- - glog +- - React-callinvoker +- - React-Core +- - React-cxxreact +- - React-jsc +- - React-jsi +- - React-runtimeexecutor +- - ReactCommon/turbomodule/bridging +- - ReactCommon/turbomodule/core +- - React-perflogger (0.73.4) +- - React-RCTActionSheet (0.73.4): +- - React-Core/RCTActionSheetHeaders (= 0.73.4) +- - React-RCTAnimation (0.73.4): +- - RCT-Folly (= 2022.05.16.00) +- - RCTTypeSafety +- - React-Codegen +- - React-Core/RCTAnimationHeaders +- - React-jsi +- - React-NativeModulesApple +- - ReactCommon +- - React-RCTAppDelegate (0.73.4): ++ - RCT-Folly (= 2021.07.22.00) ++ - React-Core ++ - React-perflogger (0.71.16) ++ - React-RCTActionSheet (0.71.16): ++ - React-Core/RCTActionSheetHeaders (= 0.71.16) ++ - React-RCTAnimation (0.71.16): ++ - RCT-Folly (= 2021.07.22.00) ++ - RCTTypeSafety (= 0.71.16) ++ - React-Codegen (= 0.71.16) ++ - React-Core/RCTAnimationHeaders (= 0.71.16) ++ - React-jsi (= 0.71.16) ++ - ReactCommon/turbomodule/core (= 0.71.16) ++ - React-RCTAppDelegate (0.71.16): + - RCT-Folly + - RCTRequired + - RCTTypeSafety + - React-Core +- - React-CoreModules +- - React-jsc +- - React-nativeconfig +- - React-NativeModulesApple +- - React-RCTFabric +- - React-RCTImage +- - React-RCTNetwork +- - React-runtimescheduler +- - ReactCommon +- - React-RCTBlob (0.73.4): +- - RCT-Folly (= 2022.05.16.00) +- - React-Codegen +- - React-Core/RCTBlobHeaders +- - React-Core/RCTWebSocket +- - React-jsi +- - React-NativeModulesApple +- - React-RCTNetwork +- - ReactCommon +- - React-RCTFabric (0.73.4): +- - glog +- - RCT-Folly/Fabric (= 2022.05.16.00) +- - React-Core +- - React-debug +- - React-Fabric +- - React-FabricImage +- - React-graphics +- - React-ImageManager +- - React-jsc +- - React-jsi +- - React-nativeconfig +- - React-RCTImage +- - React-RCTText +- - React-rendererdebug +- - React-runtimescheduler +- - React-utils +- - Yoga +- - React-RCTImage (0.73.4): +- - RCT-Folly (= 2022.05.16.00) +- - RCTTypeSafety +- - React-Codegen +- - React-Core/RCTImageHeaders +- - React-jsi +- - React-NativeModulesApple +- - React-RCTNetwork +- - ReactCommon +- - React-RCTLinking (0.73.4): +- - React-Codegen +- - React-Core/RCTLinkingHeaders (= 0.73.4) +- - React-jsi (= 0.73.4) +- - React-NativeModulesApple +- - ReactCommon +- - ReactCommon/turbomodule/core (= 0.73.4) +- - React-RCTNetwork (0.73.4): +- - RCT-Folly (= 2022.05.16.00) +- - RCTTypeSafety +- - React-Codegen +- - React-Core/RCTNetworkHeaders +- - React-jsi +- - React-NativeModulesApple +- - ReactCommon +- - React-RCTSettings (0.73.4): +- - RCT-Folly (= 2022.05.16.00) +- - RCTTypeSafety +- - React-Codegen +- - React-Core/RCTSettingsHeaders +- - React-jsi +- - React-NativeModulesApple +- - ReactCommon +- - React-RCTText (0.73.4): +- - React-Core/RCTTextHeaders (= 0.73.4) +- - Yoga +- - React-RCTVibration (0.73.4): +- - RCT-Folly (= 2022.05.16.00) +- - React-Codegen +- - React-Core/RCTVibrationHeaders +- - React-jsi +- - React-NativeModulesApple +- - ReactCommon +- - React-rendererdebug (0.73.4): +- - DoubleConversion +- - fmt (~> 6.2.1) +- - RCT-Folly (= 2022.05.16.00) +- - React-debug +- - React-rncore (0.73.4) +- - React-runtimeexecutor (0.73.4): +- - React-jsi (= 0.73.4) +- - React-runtimescheduler (0.73.4): +- - glog +- - RCT-Folly (= 2022.05.16.00) +- - React-callinvoker +- - React-cxxreact +- - React-debug +- - React-jsc +- - React-jsi +- - React-rendererdebug +- - React-runtimeexecutor +- - React-utils +- - React-utils (0.73.4): +- - glog +- - RCT-Folly (= 2022.05.16.00) +- - React-debug +- - ReactCommon (0.73.4): +- - React-logger (= 0.73.4) +- - ReactCommon/turbomodule (= 0.73.4) +- - ReactCommon/turbomodule (0.73.4): +- - DoubleConversion +- - fmt (~> 6.2.1) +- - glog +- - RCT-Folly (= 2022.05.16.00) +- - React-callinvoker (= 0.73.4) +- - React-cxxreact (= 0.73.4) +- - React-jsi (= 0.73.4) +- - React-logger (= 0.73.4) +- - React-perflogger (= 0.73.4) +- - ReactCommon/turbomodule/bridging (= 0.73.4) +- - ReactCommon/turbomodule/core (= 0.73.4) +- - ReactCommon/turbomodule/bridging (0.73.4): +- - DoubleConversion +- - fmt (~> 6.2.1) +- - glog +- - RCT-Folly (= 2022.05.16.00) +- - React-callinvoker (= 0.73.4) +- - React-cxxreact (= 0.73.4) +- - React-jsi (= 0.73.4) +- - React-logger (= 0.73.4) +- - React-perflogger (= 0.73.4) +- - ReactCommon/turbomodule/core (0.73.4): +- - DoubleConversion +- - fmt (~> 6.2.1) +- - glog +- - RCT-Folly (= 2022.05.16.00) +- - React-callinvoker (= 0.73.4) +- - React-cxxreact (= 0.73.4) +- - React-jsi (= 0.73.4) +- - React-logger (= 0.73.4) +- - React-perflogger (= 0.73.4) ++ - ReactCommon/turbomodule/core ++ - React-RCTBlob (0.71.16): ++ - RCT-Folly (= 2021.07.22.00) ++ - React-Codegen (= 0.71.16) ++ - React-Core/RCTBlobHeaders (= 0.71.16) ++ - React-Core/RCTWebSocket (= 0.71.16) ++ - React-jsi (= 0.71.16) ++ - React-RCTNetwork (= 0.71.16) ++ - ReactCommon/turbomodule/core (= 0.71.16) ++ - React-RCTImage (0.71.16): ++ - RCT-Folly (= 2021.07.22.00) ++ - RCTTypeSafety (= 0.71.16) ++ - React-Codegen (= 0.71.16) ++ - React-Core/RCTImageHeaders (= 0.71.16) ++ - React-jsi (= 0.71.16) ++ - React-RCTNetwork (= 0.71.16) ++ - ReactCommon/turbomodule/core (= 0.71.16) ++ - React-RCTLinking (0.71.16): ++ - React-Codegen (= 0.71.16) ++ - React-Core/RCTLinkingHeaders (= 0.71.16) ++ - React-jsi (= 0.71.16) ++ - ReactCommon/turbomodule/core (= 0.71.16) ++ - React-RCTNetwork (0.71.16): ++ - RCT-Folly (= 2021.07.22.00) ++ - RCTTypeSafety (= 0.71.16) ++ - React-Codegen (= 0.71.16) ++ - React-Core/RCTNetworkHeaders (= 0.71.16) ++ - React-jsi (= 0.71.16) ++ - ReactCommon/turbomodule/core (= 0.71.16) ++ - React-RCTSettings (0.71.16): ++ - RCT-Folly (= 2021.07.22.00) ++ - RCTTypeSafety (= 0.71.16) ++ - React-Codegen (= 0.71.16) ++ - React-Core/RCTSettingsHeaders (= 0.71.16) ++ - React-jsi (= 0.71.16) ++ - ReactCommon/turbomodule/core (= 0.71.16) ++ - React-RCTText (0.71.16): ++ - React-Core/RCTTextHeaders (= 0.71.16) ++ - React-RCTVibration (0.71.16): ++ - RCT-Folly (= 2021.07.22.00) ++ - React-Codegen (= 0.71.16) ++ - React-Core/RCTVibrationHeaders (= 0.71.16) ++ - React-jsi (= 0.71.16) ++ - ReactCommon/turbomodule/core (= 0.71.16) ++ - React-runtimeexecutor (0.71.16): ++ - React-jsi (= 0.71.16) ++ - ReactCommon/turbomodule/bridging (0.71.16): ++ - DoubleConversion ++ - glog ++ - RCT-Folly (= 2021.07.22.00) ++ - React-callinvoker (= 0.71.16) ++ - React-Core (= 0.71.16) ++ - React-cxxreact (= 0.71.16) ++ - React-jsi (= 0.71.16) ++ - React-logger (= 0.71.16) ++ - React-perflogger (= 0.71.16) ++ - ReactCommon/turbomodule/core (0.71.16): ++ - DoubleConversion ++ - glog ++ - RCT-Folly (= 2021.07.22.00) ++ - React-callinvoker (= 0.71.16) ++ - React-Core (= 0.71.16) ++ - React-cxxreact (= 0.71.16) ++ - React-jsi (= 0.71.16) ++ - React-logger (= 0.71.16) ++ - React-perflogger (= 0.71.16) + - ReactNativeHost (0.4.4): + - React-Core + - React-cxxreact +@@ -1031,7 +329,6 @@ PODS: + - ReactTestApp-Resources (1.0.0-dev) + - RNPermissions (3.10.1): + - React-Core +- - SocketRocket (0.6.1) + - Yoga (1.14.0) + + DEPENDENCIES: +@@ -1041,7 +338,6 @@ DEPENDENCIES: + - FBReactNativeSpec (from `../node_modules/react-native/React/FBReactNativeSpec`) + - glog (from `../node_modules/react-native/third-party-podspecs/glog.podspec`) + - RCT-Folly (from `../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec`) +- - RCT-Folly/Fabric (from `../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec`) + - RCTRequired (from `../node_modules/react-native/Libraries/RCTRequired`) + - RCTTypeSafety (from `../node_modules/react-native/Libraries/TypeSafety`) + - React (from `../node_modules/react-native/`) +@@ -1051,39 +347,25 @@ DEPENDENCIES: + - React-Core/RCTWebSocket (from `../node_modules/react-native/`) + - React-CoreModules (from `../node_modules/react-native/React/CoreModules`) + - React-cxxreact (from `../node_modules/react-native/ReactCommon/cxxreact`) +- - React-debug (from `../node_modules/react-native/ReactCommon/react/debug`) +- - React-Fabric (from `../node_modules/react-native/ReactCommon`) +- - React-FabricImage (from `../node_modules/react-native/ReactCommon`) +- - React-graphics (from `../node_modules/react-native/ReactCommon/react/renderer/graphics`) +- - React-ImageManager (from `../node_modules/react-native/ReactCommon/react/renderer/imagemanager/platform/ios`) + - React-jsc (from `../node_modules/react-native/ReactCommon/jsc`) +- - React-jserrorhandler (from `../node_modules/react-native/ReactCommon/jserrorhandler`) + - React-jsi (from `../node_modules/react-native/ReactCommon/jsi`) + - React-jsiexecutor (from `../node_modules/react-native/ReactCommon/jsiexecutor`) +- - React-jsinspector (from `../node_modules/react-native/ReactCommon/jsinspector-modern`) ++ - React-jsinspector (from `../node_modules/react-native/ReactCommon/jsinspector`) + - React-logger (from `../node_modules/react-native/ReactCommon/logger`) +- - React-Mapbuffer (from `../node_modules/react-native/ReactCommon`) + - "react-native-babylon (from `../node_modules/@babylonjs/react-native-iosandroid`)" + - "react-native-slider (from `../node_modules/@react-native-community/slider`)" +- - React-nativeconfig (from `../node_modules/react-native/ReactCommon`) +- - React-NativeModulesApple (from `../node_modules/react-native/ReactCommon/react/nativemodule/core/platform/ios`) + - React-perflogger (from `../node_modules/react-native/ReactCommon/reactperflogger`) + - React-RCTActionSheet (from `../node_modules/react-native/Libraries/ActionSheetIOS`) + - React-RCTAnimation (from `../node_modules/react-native/Libraries/NativeAnimation`) + - React-RCTAppDelegate (from `../node_modules/react-native/Libraries/AppDelegate`) + - React-RCTBlob (from `../node_modules/react-native/Libraries/Blob`) +- - React-RCTFabric (from `../node_modules/react-native/React`) + - React-RCTImage (from `../node_modules/react-native/Libraries/Image`) + - React-RCTLinking (from `../node_modules/react-native/Libraries/LinkingIOS`) + - React-RCTNetwork (from `../node_modules/react-native/Libraries/Network`) + - React-RCTSettings (from `../node_modules/react-native/Libraries/Settings`) + - React-RCTText (from `../node_modules/react-native/Libraries/Text`) + - React-RCTVibration (from `../node_modules/react-native/Libraries/Vibration`) +- - React-rendererdebug (from `../node_modules/react-native/ReactCommon/react/renderer/debug`) +- - React-rncore (from `../node_modules/react-native/ReactCommon`) + - React-runtimeexecutor (from `../node_modules/react-native/ReactCommon/runtimeexecutor`) +- - React-runtimescheduler (from `../node_modules/react-native/ReactCommon/react/renderer/runtimescheduler`) +- - React-utils (from `../node_modules/react-native/ReactCommon/react/utils`) + - ReactCommon/turbomodule/core (from `../node_modules/react-native/ReactCommon`) + - "ReactNativeHost (from `../node_modules/@rnx-kit/react-native-host`)" + - ReactTestApp-DevSupport (from `../node_modules/react-native-test-app`) +@@ -1094,7 +376,6 @@ DEPENDENCIES: + SPEC REPOS: + trunk: + - fmt +- - SocketRocket + + EXTERNAL SOURCES: + boost: +@@ -1125,38 +406,20 @@ EXTERNAL SOURCES: + :path: "../node_modules/react-native/React/CoreModules" + React-cxxreact: + :path: "../node_modules/react-native/ReactCommon/cxxreact" +- React-debug: +- :path: "../node_modules/react-native/ReactCommon/react/debug" +- React-Fabric: +- :path: "../node_modules/react-native/ReactCommon" +- React-FabricImage: +- :path: "../node_modules/react-native/ReactCommon" +- React-graphics: +- :path: "../node_modules/react-native/ReactCommon/react/renderer/graphics" +- React-ImageManager: +- :path: "../node_modules/react-native/ReactCommon/react/renderer/imagemanager/platform/ios" + React-jsc: + :path: "../node_modules/react-native/ReactCommon/jsc" +- React-jserrorhandler: +- :path: "../node_modules/react-native/ReactCommon/jserrorhandler" + React-jsi: + :path: "../node_modules/react-native/ReactCommon/jsi" + React-jsiexecutor: + :path: "../node_modules/react-native/ReactCommon/jsiexecutor" + React-jsinspector: +- :path: "../node_modules/react-native/ReactCommon/jsinspector-modern" ++ :path: "../node_modules/react-native/ReactCommon/jsinspector" + React-logger: + :path: "../node_modules/react-native/ReactCommon/logger" +- React-Mapbuffer: +- :path: "../node_modules/react-native/ReactCommon" + react-native-babylon: + :path: "../node_modules/@babylonjs/react-native-iosandroid" + react-native-slider: + :path: "../node_modules/@react-native-community/slider" +- React-nativeconfig: +- :path: "../node_modules/react-native/ReactCommon" +- React-NativeModulesApple: +- :path: "../node_modules/react-native/ReactCommon/react/nativemodule/core/platform/ios" + React-perflogger: + :path: "../node_modules/react-native/ReactCommon/reactperflogger" + React-RCTActionSheet: +@@ -1167,8 +430,6 @@ EXTERNAL SOURCES: + :path: "../node_modules/react-native/Libraries/AppDelegate" + React-RCTBlob: + :path: "../node_modules/react-native/Libraries/Blob" +- React-RCTFabric: +- :path: "../node_modules/react-native/React" + React-RCTImage: + :path: "../node_modules/react-native/Libraries/Image" + React-RCTLinking: +@@ -1181,16 +442,8 @@ EXTERNAL SOURCES: + :path: "../node_modules/react-native/Libraries/Text" + React-RCTVibration: + :path: "../node_modules/react-native/Libraries/Vibration" +- React-rendererdebug: +- :path: "../node_modules/react-native/ReactCommon/react/renderer/debug" +- React-rncore: +- :path: "../node_modules/react-native/ReactCommon" + React-runtimeexecutor: + :path: "../node_modules/react-native/ReactCommon/runtimeexecutor" +- React-runtimescheduler: +- :path: "../node_modules/react-native/ReactCommon/react/renderer/runtimescheduler" +- React-utils: +- :path: "../node_modules/react-native/ReactCommon/react/utils" + ReactCommon: + :path: "../node_modules/react-native/ReactCommon" + ReactNativeHost: +@@ -1205,61 +458,46 @@ EXTERNAL SOURCES: + :path: "../node_modules/react-native/ReactCommon/yoga" + + SPEC CHECKSUMS: +- boost: d3f49c53809116a5d38da093a8aa78bf551aed09 +- DoubleConversion: fea03f2699887d960129cc54bba7e52542b6f953 +- FBLazyVector: 84f6edbe225f38aebd9deaf1540a4160b1f087d7 +- FBReactNativeSpec: d0086a479be91c44ce4687a962956a352d2dc697 ++ boost: 7dcd2de282d72e344012f7d6564d024930a6a440 ++ DoubleConversion: 5189b271737e1565bdce30deb4a08d647e3f5f54 ++ FBLazyVector: 9840513ec2766e31fb9e34c2dabb2c4671400fcd ++ FBReactNativeSpec: 76141e46f67b395d7d4e94925dfeba0dbd680ba1 + fmt: ff9d55029c625d3757ed641535fd4a75fedc7ce9 +- glog: c5d68082e772fa1c511173d6b30a9de2c05a69a2 +- RCT-Folly: 7169b2b1c44399c76a47b5deaaba715eeeb476c0 +- RCTRequired: ab7f915c15569f04a49669e573e6e319a53f9faa +- RCTTypeSafety: 63b97ced7b766865057e7154db0e81ce4ee6cf1e +- React: 1c87497e50fa40ba9c54e5ea5e53483a0f8eecc0 +- React-callinvoker: e3a52a9a93e3eb004d7282c26a4fb27003273fe6 +- React-Codegen: f97ac7804e2468e514eea6cc44e68d2677d0de69 +- React-Core: 91326ebf4dafb4bd76f04171719c907aebb9fc01 +- React-CoreModules: 2ff1684dd517f0c441495d90a704d499f05e9d0a +- React-cxxreact: 2d53721f4eb9a9741a55ad09cb006474b85752b2 +- React-debug: 4678e73a37cb501d784e99ff0f219b4940362a3b +- React-Fabric: ca937a8fa091aab4ae5b91bc352a00cab4e66895 +- React-FabricImage: 87a62069d5735e442091a61a5a89bf1ecc3a0abf +- React-graphics: f0d5040263a9649e2a70ebe27b3120c49411afef +- React-ImageManager: 6c4bf9d5ed363ead7b5aaf820a3feab221b7063e +- React-jsc: 6bec8ccbfbd1c824051ddbbf6f1ae013d47328e7 +- React-jserrorhandler: 6e7a7e187583e14dc7a0053a2bdd66c252ea3b21 +- React-jsi: cc036770a4d5e3e409fe618d8c888f2ccc0fdd14 +- React-jsiexecutor: e1fe14c65f21e25e82713cbf8227d29edcb36f3e +- React-jsinspector: 9ac353eccf6ab54d1e0a33862ba91221d1e88460 +- React-logger: 0a57b68dd2aec7ff738195f081f0520724b35dab +- React-Mapbuffer: 63913773ed7f96b814a2521e13e6d010282096ad ++ glog: 04b94705f318337d7ead9e6d17c019bd9b1f6b1b ++ RCT-Folly: 424b8c9a7a0b9ab2886ffe9c3b041ef628fd4fb1 ++ RCTRequired: 44a3cda52ccac0be738fbf43fef90f3546a48c52 ++ RCTTypeSafety: da7fbf9826fc898ca8b10dc840f2685562039a64 ++ React: defd955b6d6ffb9791bb66dee08d90b87a8e2c0c ++ React-callinvoker: 39ea57213d56ec9c527d51bd0dfb45cbb12ef447 ++ React-Codegen: 8a8e504a754015748bc389939e41bc30835e8bc9 ++ React-Core: a8edcd9f0b47c568bc2ce8adbd8fe2d7b73de58a ++ React-CoreModules: 7f71e7054395d61585048061a66d67b58d3d27b7 ++ React-cxxreact: 6b6ee35ce7d6d83e9e44c82b6b27f03a31c52b1e ++ React-jsc: d88f4ab7f6ce507823b6c1bcb3a87205d6ce8892 ++ React-jsi: a168d83ea2309815def33fb37af802a34282bc66 ++ React-jsiexecutor: 078c0edbd49b0195a88014bc0b4e06d23e7a7222 ++ React-jsinspector: b3b341764ccda14f3659c00a9bc5b098b334db2b ++ React-logger: dc96fadd2f7f6bc38efc3cfb5fef876d4e6290a2 + react-native-babylon: bf91c1c58c6074bc30c85d9959b62c340388ad60 +- react-native-slider: 7d387c7e8dd0b4c12bf49c975c8666435f082a33 +- React-nativeconfig: d7af5bae6da70fa15ce44f045621cf99ed24087c +- React-NativeModulesApple: d5a1abf3d7ef808cdf1d27e795c741f0c5e14ea0 +- React-perflogger: 8a1e1af5733004bdd91258dcefbde21e0d1faccd +- React-RCTActionSheet: 64bbff3a3963664c2d0146f870fe8e0264aee4c4 +- React-RCTAnimation: b698168a7269265a4694727196484342d695f0c1 +- React-RCTAppDelegate: e84f7341c398a23b652ac7d86205cc66c97111c2 +- React-RCTBlob: 012d6ce039e89e485cf323788dcf6f8b350464f5 +- React-RCTFabric: 7f9692671806bcf1be2867533f2b73f7c0ca3c5f +- React-RCTImage: ac0e77a44c290b20db783649b2b9cddc93e3eb99 +- React-RCTLinking: e626fd2900913fe5d25922ea1be394b7aafa09c9 +- React-RCTNetwork: d3114bce3977dafe8bd06421b29812f5a8527ba0 +- React-RCTSettings: a53511f90d8df637a1a11ac729179a4d2f734481 +- React-RCTText: f0176f5f5952f9a4a2c7354f5ae71f7c420aaf34 +- React-RCTVibration: 8160223c6eda5b187079fec204f80eca8b8f3177 +- React-rendererdebug: ed286b4da8648c27d6ed3ae1410d4b21ba890d5a +- React-rncore: 43f133b89ac10c4b6ab43702a541dee1c292a3bf +- React-runtimeexecutor: e6ab6bb083dbdbdd489cff426ed0bce0652e6edf +- React-runtimescheduler: 96c8bfa2ea02443b79cd9359afb91dfd1bf3b958 +- React-utils: 6e5ad394416482ae21831050928ae27348f83487 +- ReactCommon: 5fd44dbef85dfbafc87facae700c66d2da71b2cb ++ react-native-slider: cc89964e1432fa31aa9db7a0fa9b21e26b5d5152 ++ React-perflogger: c944b06edad34f5ecded0f29a6e66290a005d365 ++ React-RCTActionSheet: fa467f37777dacba2c72da4be7ae065da4482d7d ++ React-RCTAnimation: 0591ee5f9e3d8c864a0937edea2165fe968e7099 ++ React-RCTAppDelegate: f95054c6d677e9f16ddcc717481369190a773982 ++ React-RCTBlob: db13bd0c805ca2e99e4544b51991e08c368e57a5 ++ React-RCTImage: 6300660ef04d0e8a710ad9ea5d2fb4d9521c200d ++ React-RCTLinking: 7703ee1b10d3568c143a489ae74adc419c3f3ef3 ++ React-RCTNetwork: 5748c647e09c66b918f81ae15ed7474327f653be ++ React-RCTSettings: 8c8a84ee363db9cbc287c8b8f2fb782acf7ba414 ++ React-RCTText: d5e53c0741e3e2df91317781e993b5e42bd70448 ++ React-RCTVibration: 052dd488ba95f461a37c992b9e01bd4bcc59a7b6 ++ React-runtimeexecutor: b5abe02558421897cd9f73d4f4b6adb4bc297083 ++ ReactCommon: c64c353b2f299d9f1ad83558dc6e4027eca44685 + ReactNativeHost: 59d4565eee4fb44efb46d3bff7adbaf2cf29fa5f + ReactTestApp-DevSupport: f15b57e2c1f7be148955ba5868ab139810c2700f + ReactTestApp-Resources: da77347b3f02b5d79ba3fecb3ad328b2f6a7ef4d + RNPermissions: 4e3714e18afe7141d000beae3755e5b5fb2f5e05 +- SocketRocket: f32cd54efbe0f095c4d7594881e52619cfe80b17 +- Yoga: 1b901a6d6eeba4e8a2e8f308f708691cdb5db312 ++ Yoga: e29645ec5a66fb00934fad85338742d1c247d4cb + + PODFILE CHECKSUM: e687290f438ec43665217ddfa04af01259887347 + +diff --git BRNPlayground/package-lock.json BRNPlayground/package-lock.json +index 47c40fc452e41f71784c03b657c181669add853a..ecddf19fae26b3238868591d7fdce238fcc21c90 100644 +--- BRNPlayground/package-lock.json ++++ BRNPlayground/package-lock.json +@@ -16,25 +16,23 @@ + "@babylonjs/react-native-windows": "file:../../Modules/@babylonjs/react-native-windows", + "@react-native-community/slider": "^4.2.2", + "react": "18.2.0", +- "react-native": "0.73.4", +- "react-native-macos": "^0.73.0", ++ "react-native": "^0.71.0", ++ "react-native-macos": "^0.71.0", + "react-native-permissions": "^3.0.0", +- "react-native-windows": "^0.73.0" ++ "react-native-windows": "^0.71.0" + }, + "devDependencies": { + "@babel/core": "^7.20.0", + "@babel/preset-env": "^7.20.0", + "@babel/runtime": "^7.20.0", +- "@react-native/babel-preset": "0.73.20", +- "@react-native/eslint-config": "0.73.2", +- "@react-native/metro-config": "0.73.4", +- "@react-native/typescript-config": "0.73.1", ++ "@react-native-community/eslint-config": "^3.0.0", + "@rnx-kit/metro-config": "^1.3.14", + "@types/react": "^18.2.6", + "@types/react-test-renderer": "^18.0.0", + "babel-jest": "^29.6.3", + "eslint": "^8.19.0", + "jest": "^29.6.3", ++ "metro-react-native-babel-preset": "0.73.10", + "mkdirp": "^1.0.0", + "prettier": "2.8.8", + "react-native-test-app": "^3.2.10", +@@ -155,27 +153,27 @@ + } + }, + "node_modules/@azure/abort-controller": { +- "version": "1.1.0", +- "resolved": "https://registry.npmjs.org/@azure/abort-controller/-/abort-controller-1.1.0.tgz", +- "integrity": "sha512-TrRLIoSQVzfAJX9H1JeFjzAoDGcoK1IYX1UImfceTZpsyYfWr09Ss1aHW1y5TrrR3iq6RZLBwJ3E24uwPhwahw==", ++ "version": "2.0.0", ++ "resolved": "https://registry.npmjs.org/@azure/abort-controller/-/abort-controller-2.0.0.tgz", ++ "integrity": "sha512-RP/mR/WJchR+g+nQFJGOec+nzeN/VvjlwbinccoqfhTsTHbb8X5+mLDp48kHT0ueyum0BNSwGm0kX0UZuIqTGg==", + "dependencies": { + "tslib": "^2.2.0" + }, + "engines": { +- "node": ">=12.0.0" ++ "node": ">=18.0.0" + } + }, + "node_modules/@azure/core-auth": { +- "version": "1.5.0", +- "resolved": "https://registry.npmjs.org/@azure/core-auth/-/core-auth-1.5.0.tgz", +- "integrity": "sha512-udzoBuYG1VBoHVohDTrvKjyzel34zt77Bhp7dQntVGGD0ehVq48owENbBG8fIgkHRNUBQH5k1r0hpoMu5L8+kw==", ++ "version": "1.6.0", ++ "resolved": "https://registry.npmjs.org/@azure/core-auth/-/core-auth-1.6.0.tgz", ++ "integrity": "sha512-3X9wzaaGgRaBCwhLQZDtFp5uLIXCPrGbwJNWPPugvL4xbIGgScv77YzzxToKGLAKvG9amDoofMoP+9hsH1vs1w==", + "dependencies": { +- "@azure/abort-controller": "^1.0.0", ++ "@azure/abort-controller": "^2.0.0", + "@azure/core-util": "^1.1.0", + "tslib": "^2.2.0" + }, + "engines": { +- "node": ">=14.0.0" ++ "node": ">=18.0.0" + } + }, + "node_modules/@azure/core-rest-pipeline": { +@@ -198,6 +196,17 @@ + "node": ">=14.0.0" + } + }, ++ "node_modules/@azure/core-rest-pipeline/node_modules/@azure/abort-controller": { ++ "version": "1.1.0", ++ "resolved": "https://registry.npmjs.org/@azure/abort-controller/-/abort-controller-1.1.0.tgz", ++ "integrity": "sha512-TrRLIoSQVzfAJX9H1JeFjzAoDGcoK1IYX1UImfceTZpsyYfWr09Ss1aHW1y5TrrR3iq6RZLBwJ3E24uwPhwahw==", ++ "dependencies": { ++ "tslib": "^2.2.0" ++ }, ++ "engines": { ++ "node": ">=12.0.0" ++ } ++ }, + "node_modules/@azure/core-tracing": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@azure/core-tracing/-/core-tracing-1.0.1.tgz", +@@ -221,6 +230,17 @@ + "node": ">=14.0.0" + } + }, ++ "node_modules/@azure/core-util/node_modules/@azure/abort-controller": { ++ "version": "1.1.0", ++ "resolved": "https://registry.npmjs.org/@azure/abort-controller/-/abort-controller-1.1.0.tgz", ++ "integrity": "sha512-TrRLIoSQVzfAJX9H1JeFjzAoDGcoK1IYX1UImfceTZpsyYfWr09Ss1aHW1y5TrrR3iq6RZLBwJ3E24uwPhwahw==", ++ "dependencies": { ++ "tslib": "^2.2.0" ++ }, ++ "engines": { ++ "node": ">=12.0.0" ++ } ++ }, + "node_modules/@azure/logger": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@azure/logger/-/logger-1.0.4.tgz", +@@ -763,6 +783,9 @@ + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz", + "integrity": "sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-numeric-separator instead.", ++ "dev": true, ++ "optional": true, ++ "peer": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" +@@ -2405,14 +2428,6 @@ + "integrity": "sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==", + "dev": true + }, +- "node_modules/@isaacs/ttlcache": { +- "version": "1.4.1", +- "resolved": "https://registry.npmjs.org/@isaacs/ttlcache/-/ttlcache-1.4.1.tgz", +- "integrity": "sha512-RQgQ4uQ+pLbqXfOmieB91ejmLwvSgv9nLx6sT6sD83s7umBypgg+OIBOBbEUiJXrfpnp9j0mRhYYdzp9uqq3lA==", +- "engines": { +- "node": ">=12" +- } +- }, + "node_modules/@istanbuljs/load-nyc-config": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", +@@ -3318,9 +3333,9 @@ + } + }, + "node_modules/@opentelemetry/instrumentation/node_modules/semver": { +- "version": "7.5.4", +- "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", +- "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", ++ "version": "7.6.0", ++ "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", ++ "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "dependencies": { + "lru-cache": "^6.0.0" + }, +@@ -3376,44 +3391,44 @@ + } + }, + "node_modules/@react-native-community/cli": { +- "version": "12.3.2", +- "resolved": "https://registry.npmjs.org/@react-native-community/cli/-/cli-12.3.2.tgz", +- "integrity": "sha512-WgoUWwLDcf/G1Su2COUUVs3RzAwnV/vUTdISSpAUGgSc57mPabaAoUctKTnfYEhCnE3j02k3VtaVPwCAFRO3TQ==", +- "dependencies": { +- "@react-native-community/cli-clean": "12.3.2", +- "@react-native-community/cli-config": "12.3.2", +- "@react-native-community/cli-debugger-ui": "12.3.2", +- "@react-native-community/cli-doctor": "12.3.2", +- "@react-native-community/cli-hermes": "12.3.2", +- "@react-native-community/cli-plugin-metro": "12.3.2", +- "@react-native-community/cli-server-api": "12.3.2", +- "@react-native-community/cli-tools": "12.3.2", +- "@react-native-community/cli-types": "12.3.2", ++ "version": "10.2.6", ++ "resolved": "https://registry.npmjs.org/@react-native-community/cli/-/cli-10.2.6.tgz", ++ "integrity": "sha512-RiOogGmrMnL2a1ICOBM/XvG4s46AzJoZt4B/aydrpp3xCiuPFBUVWpYtWWcdPmQqilk37c6qfNu9/38g9dW9Bw==", ++ "dependencies": { ++ "@react-native-community/cli-clean": "^10.1.1", ++ "@react-native-community/cli-config": "^10.1.1", ++ "@react-native-community/cli-debugger-ui": "^10.0.0", ++ "@react-native-community/cli-doctor": "^10.2.5", ++ "@react-native-community/cli-hermes": "^10.2.0", ++ "@react-native-community/cli-plugin-metro": "^10.2.3", ++ "@react-native-community/cli-server-api": "^10.1.1", ++ "@react-native-community/cli-tools": "^10.1.1", ++ "@react-native-community/cli-types": "^10.0.0", + "chalk": "^4.1.2", + "commander": "^9.4.1", +- "deepmerge": "^4.3.0", +- "execa": "^5.0.0", ++ "execa": "^1.0.0", + "find-up": "^4.1.0", + "fs-extra": "^8.1.0", + "graceful-fs": "^4.1.3", +- "prompts": "^2.4.2", +- "semver": "^7.5.2" ++ "prompts": "^2.4.0", ++ "semver": "^6.3.0" + }, + "bin": { + "react-native": "build/bin.js" + }, + "engines": { +- "node": ">=18" ++ "node": ">=14" + } + }, + "node_modules/@react-native-community/cli-clean": { +- "version": "12.3.2", +- "resolved": "https://registry.npmjs.org/@react-native-community/cli-clean/-/cli-clean-12.3.2.tgz", +- "integrity": "sha512-90k2hCX0ddSFPT7EN7h5SZj0XZPXP0+y/++v262hssoey3nhurwF57NGWN0XAR0o9BSW7+mBfeInfabzDraO6A==", ++ "version": "10.1.1", ++ "resolved": "https://registry.npmjs.org/@react-native-community/cli-clean/-/cli-clean-10.1.1.tgz", ++ "integrity": "sha512-iNsrjzjIRv9yb5y309SWJ8NDHdwYtnCpmxZouQDyOljUdC9MwdZ4ChbtA4rwQyAwgOVfS9F/j56ML3Cslmvrxg==", + "dependencies": { +- "@react-native-community/cli-tools": "12.3.2", ++ "@react-native-community/cli-tools": "^10.1.1", + "chalk": "^4.1.2", +- "execa": "^5.0.0" ++ "execa": "^1.0.0", ++ "prompts": "^2.4.0" + } + }, + "node_modules/@react-native-community/cli-clean/node_modules/ansi-styles": { +@@ -3461,6 +3476,49 @@ + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, ++ "node_modules/@react-native-community/cli-clean/node_modules/cross-spawn": { ++ "version": "6.0.5", ++ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", ++ "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", ++ "dependencies": { ++ "nice-try": "^1.0.4", ++ "path-key": "^2.0.1", ++ "semver": "^5.5.0", ++ "shebang-command": "^1.2.0", ++ "which": "^1.2.9" ++ }, ++ "engines": { ++ "node": ">=4.8" ++ } ++ }, ++ "node_modules/@react-native-community/cli-clean/node_modules/execa": { ++ "version": "1.0.0", ++ "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", ++ "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", ++ "dependencies": { ++ "cross-spawn": "^6.0.0", ++ "get-stream": "^4.0.0", ++ "is-stream": "^1.1.0", ++ "npm-run-path": "^2.0.0", ++ "p-finally": "^1.0.0", ++ "signal-exit": "^3.0.0", ++ "strip-eof": "^1.0.0" ++ }, ++ "engines": { ++ "node": ">=6" ++ } ++ }, ++ "node_modules/@react-native-community/cli-clean/node_modules/get-stream": { ++ "version": "4.1.0", ++ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", ++ "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", ++ "dependencies": { ++ "pump": "^3.0.0" ++ }, ++ "engines": { ++ "node": ">=6" ++ } ++ }, + "node_modules/@react-native-community/cli-clean/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", +@@ -3469,6 +3527,60 @@ + "node": ">=8" + } + }, ++ "node_modules/@react-native-community/cli-clean/node_modules/is-stream": { ++ "version": "1.1.0", ++ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", ++ "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", ++ "engines": { ++ "node": ">=0.10.0" ++ } ++ }, ++ "node_modules/@react-native-community/cli-clean/node_modules/npm-run-path": { ++ "version": "2.0.2", ++ "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", ++ "integrity": "sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==", ++ "dependencies": { ++ "path-key": "^2.0.0" ++ }, ++ "engines": { ++ "node": ">=4" ++ } ++ }, ++ "node_modules/@react-native-community/cli-clean/node_modules/path-key": { ++ "version": "2.0.1", ++ "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", ++ "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", ++ "engines": { ++ "node": ">=4" ++ } ++ }, ++ "node_modules/@react-native-community/cli-clean/node_modules/semver": { ++ "version": "5.7.2", ++ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", ++ "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", ++ "bin": { ++ "semver": "bin/semver" ++ } ++ }, ++ "node_modules/@react-native-community/cli-clean/node_modules/shebang-command": { ++ "version": "1.2.0", ++ "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", ++ "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", ++ "dependencies": { ++ "shebang-regex": "^1.0.0" ++ }, ++ "engines": { ++ "node": ">=0.10.0" ++ } ++ }, ++ "node_modules/@react-native-community/cli-clean/node_modules/shebang-regex": { ++ "version": "1.0.0", ++ "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", ++ "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", ++ "engines": { ++ "node": ">=0.10.0" ++ } ++ }, + "node_modules/@react-native-community/cli-clean/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", +@@ -3480,15 +3592,26 @@ + "node": ">=8" + } + }, ++ "node_modules/@react-native-community/cli-clean/node_modules/which": { ++ "version": "1.3.1", ++ "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", ++ "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", ++ "dependencies": { ++ "isexe": "^2.0.0" ++ }, ++ "bin": { ++ "which": "bin/which" ++ } ++ }, + "node_modules/@react-native-community/cli-config": { +- "version": "12.3.2", +- "resolved": "https://registry.npmjs.org/@react-native-community/cli-config/-/cli-config-12.3.2.tgz", +- "integrity": "sha512-UUCzDjQgvAVL/57rL7eOuFUhd+d+6qfM7V8uOegQFeFEmSmvUUDLYoXpBa5vAK9JgQtSqMBJ1Shmwao+/oElxQ==", ++ "version": "10.1.1", ++ "resolved": "https://registry.npmjs.org/@react-native-community/cli-config/-/cli-config-10.1.1.tgz", ++ "integrity": "sha512-p4mHrjC+s/ayiNVG6T35GdEGdP6TuyBUg5plVGRJfTl8WT6LBfLYLk+fz/iETrEZ/YkhQIsQcEUQC47MqLNHog==", + "dependencies": { +- "@react-native-community/cli-tools": "12.3.2", ++ "@react-native-community/cli-tools": "^10.1.1", + "chalk": "^4.1.2", + "cosmiconfig": "^5.1.0", +- "deepmerge": "^4.3.0", ++ "deepmerge": "^3.2.0", + "glob": "^7.1.3", + "joi": "^17.2.1" + } +@@ -3538,6 +3661,14 @@ + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, ++ "node_modules/@react-native-community/cli-config/node_modules/deepmerge": { ++ "version": "3.3.0", ++ "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-3.3.0.tgz", ++ "integrity": "sha512-GRQOafGHwMHpjPx9iCvTgpu9NojZ49q794EEL94JVEw6VaeA8XTUyBKvAkOOjBX9oJNiV6G3P+T+tihFjo2TqA==", ++ "engines": { ++ "node": ">=0.10.0" ++ } ++ }, + "node_modules/@react-native-community/cli-config/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", +@@ -3558,35 +3689,33 @@ + } + }, + "node_modules/@react-native-community/cli-debugger-ui": { +- "version": "12.3.2", +- "resolved": "https://registry.npmjs.org/@react-native-community/cli-debugger-ui/-/cli-debugger-ui-12.3.2.tgz", +- "integrity": "sha512-nSWQUL+51J682DlfcC1bjkUbQbGvHCC25jpqTwHIjmmVjYCX1uHuhPSqQKgPNdvtfOkrkACxczd7kVMmetxY2Q==", ++ "version": "10.0.0", ++ "resolved": "https://registry.npmjs.org/@react-native-community/cli-debugger-ui/-/cli-debugger-ui-10.0.0.tgz", ++ "integrity": "sha512-8UKLcvpSNxnUTRy8CkCl27GGLqZunQ9ncGYhSrWyKrU9SWBJJGeZwi2k2KaoJi5FvF2+cD0t8z8cU6lsq2ZZmA==", + "dependencies": { + "serve-static": "^1.13.1" + } + }, + "node_modules/@react-native-community/cli-doctor": { +- "version": "12.3.2", +- "resolved": "https://registry.npmjs.org/@react-native-community/cli-doctor/-/cli-doctor-12.3.2.tgz", +- "integrity": "sha512-GrAabdY4qtBX49knHFvEAdLtCjkmndjTeqhYO6BhsbAeKOtspcLT/0WRgdLIaKODRa61ADNB3K5Zm4dU0QrZOg==", +- "dependencies": { +- "@react-native-community/cli-config": "12.3.2", +- "@react-native-community/cli-platform-android": "12.3.2", +- "@react-native-community/cli-platform-ios": "12.3.2", +- "@react-native-community/cli-tools": "12.3.2", ++ "version": "10.2.7", ++ "resolved": "https://registry.npmjs.org/@react-native-community/cli-doctor/-/cli-doctor-10.2.7.tgz", ++ "integrity": "sha512-MejE7m+63DxfKwFSvyZGfq+72jX0RSP9SdSmDbW0Bjz2NIEE3BsE8rNay+ByFbdSLsapRPvaZv2Jof+dK2Y/yg==", ++ "dependencies": { ++ "@react-native-community/cli-config": "^10.1.1", ++ "@react-native-community/cli-platform-ios": "^10.2.5", ++ "@react-native-community/cli-tools": "^10.1.1", + "chalk": "^4.1.2", + "command-exists": "^1.2.8", +- "deepmerge": "^4.3.0", +- "envinfo": "^7.10.0", +- "execa": "^5.0.0", ++ "envinfo": "^7.7.2", ++ "execa": "^1.0.0", + "hermes-profile-transformer": "^0.0.6", +- "ip": "^1.1.5", + "node-stream-zip": "^1.9.1", + "ora": "^5.4.1", +- "semver": "^7.5.2", ++ "prompts": "^2.4.0", ++ "semver": "^6.3.0", + "strip-ansi": "^5.2.0", +- "wcwidth": "^1.0.1", +- "yaml": "^2.2.1" ++ "sudo-prompt": "^9.0.0", ++ "wcwidth": "^1.0.1" + } + }, + "node_modules/@react-native-community/cli-doctor/node_modules/ansi-regex": { +@@ -3642,6 +3771,57 @@ + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, ++ "node_modules/@react-native-community/cli-doctor/node_modules/cross-spawn": { ++ "version": "6.0.5", ++ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", ++ "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", ++ "dependencies": { ++ "nice-try": "^1.0.4", ++ "path-key": "^2.0.1", ++ "semver": "^5.5.0", ++ "shebang-command": "^1.2.0", ++ "which": "^1.2.9" ++ }, ++ "engines": { ++ "node": ">=4.8" ++ } ++ }, ++ "node_modules/@react-native-community/cli-doctor/node_modules/cross-spawn/node_modules/semver": { ++ "version": "5.7.2", ++ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", ++ "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", ++ "bin": { ++ "semver": "bin/semver" ++ } ++ }, ++ "node_modules/@react-native-community/cli-doctor/node_modules/execa": { ++ "version": "1.0.0", ++ "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", ++ "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", ++ "dependencies": { ++ "cross-spawn": "^6.0.0", ++ "get-stream": "^4.0.0", ++ "is-stream": "^1.1.0", ++ "npm-run-path": "^2.0.0", ++ "p-finally": "^1.0.0", ++ "signal-exit": "^3.0.0", ++ "strip-eof": "^1.0.0" ++ }, ++ "engines": { ++ "node": ">=6" ++ } ++ }, ++ "node_modules/@react-native-community/cli-doctor/node_modules/get-stream": { ++ "version": "4.1.0", ++ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", ++ "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", ++ "dependencies": { ++ "pump": "^3.0.0" ++ }, ++ "engines": { ++ "node": ">=6" ++ } ++ }, + "node_modules/@react-native-community/cli-doctor/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", +@@ -3650,29 +3830,50 @@ + "node": ">=8" + } + }, +- "node_modules/@react-native-community/cli-doctor/node_modules/lru-cache": { +- "version": "6.0.0", +- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", +- "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", ++ "node_modules/@react-native-community/cli-doctor/node_modules/is-stream": { ++ "version": "1.1.0", ++ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", ++ "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", ++ "engines": { ++ "node": ">=0.10.0" ++ } ++ }, ++ "node_modules/@react-native-community/cli-doctor/node_modules/npm-run-path": { ++ "version": "2.0.2", ++ "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", ++ "integrity": "sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==", + "dependencies": { +- "yallist": "^4.0.0" ++ "path-key": "^2.0.0" + }, + "engines": { +- "node": ">=10" ++ "node": ">=4" + } + }, +- "node_modules/@react-native-community/cli-doctor/node_modules/semver": { +- "version": "7.5.4", +- "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", +- "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", ++ "node_modules/@react-native-community/cli-doctor/node_modules/path-key": { ++ "version": "2.0.1", ++ "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", ++ "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", ++ "engines": { ++ "node": ">=4" ++ } ++ }, ++ "node_modules/@react-native-community/cli-doctor/node_modules/shebang-command": { ++ "version": "1.2.0", ++ "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", ++ "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", + "dependencies": { +- "lru-cache": "^6.0.0" +- }, +- "bin": { +- "semver": "bin/semver.js" ++ "shebang-regex": "^1.0.0" + }, + "engines": { +- "node": ">=10" ++ "node": ">=0.10.0" ++ } ++ }, ++ "node_modules/@react-native-community/cli-doctor/node_modules/shebang-regex": { ++ "version": "1.0.0", ++ "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", ++ "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", ++ "engines": { ++ "node": ">=0.10.0" + } + }, + "node_modules/@react-native-community/cli-doctor/node_modules/strip-ansi": { +@@ -3697,21 +3898,26 @@ + "node": ">=8" + } + }, +- "node_modules/@react-native-community/cli-doctor/node_modules/yallist": { +- "version": "4.0.0", +- "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", +- "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" +- }, +- "node_modules/@react-native-community/cli-hermes": { +- "version": "12.3.2", +- "resolved": "https://registry.npmjs.org/@react-native-community/cli-hermes/-/cli-hermes-12.3.2.tgz", +- "integrity": "sha512-SL6F9O8ghp4ESBFH2YAPLtIN39jdnvGBKnK4FGKpDCjtB3DnUmDsGFlH46S+GGt5M6VzfG2eeKEOKf3pZ6jUzA==", ++ "node_modules/@react-native-community/cli-doctor/node_modules/which": { ++ "version": "1.3.1", ++ "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", ++ "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dependencies": { +- "@react-native-community/cli-platform-android": "12.3.2", +- "@react-native-community/cli-tools": "12.3.2", ++ "isexe": "^2.0.0" ++ }, ++ "bin": { ++ "which": "bin/which" ++ } ++ }, ++ "node_modules/@react-native-community/cli-hermes": { ++ "version": "10.2.7", ++ "resolved": "https://registry.npmjs.org/@react-native-community/cli-hermes/-/cli-hermes-10.2.7.tgz", ++ "integrity": "sha512-MULfkgeLx1fietx10pLFLmlfRh0dcfX/HABXB5Tm0BzQDXy7ofFIJ/UxH+IF55NwPKXl6aEpTbPwbgsyJxqPiA==", ++ "dependencies": { ++ "@react-native-community/cli-platform-android": "^10.2.0", ++ "@react-native-community/cli-tools": "^10.1.1", + "chalk": "^4.1.2", +- "hermes-profile-transformer": "^0.0.6", +- "ip": "^1.1.5" ++ "hermes-profile-transformer": "^0.0.6" + } + }, + "node_modules/@react-native-community/cli-hermes/node_modules/ansi-styles": { +@@ -3767,161 +3973,1005 @@ + "node": ">=8" + } + }, +- "node_modules/@react-native-community/cli-hermes/node_modules/supports-color": { +- "version": "7.2.0", +- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", +- "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", ++ "node_modules/@react-native-community/cli-hermes/node_modules/supports-color": { ++ "version": "7.2.0", ++ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", ++ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", ++ "dependencies": { ++ "has-flag": "^4.0.0" ++ }, ++ "engines": { ++ "node": ">=8" ++ } ++ }, ++ "node_modules/@react-native-community/cli-platform-android": { ++ "version": "10.2.0", ++ "resolved": "https://registry.npmjs.org/@react-native-community/cli-platform-android/-/cli-platform-android-10.2.0.tgz", ++ "integrity": "sha512-CBenYwGxwFdObZTn1lgxWtMGA5ms2G/ALQhkS+XTAD7KHDrCxFF9yT/fnAjFZKM6vX/1TqGI1RflruXih3kAhw==", ++ "dependencies": { ++ "@react-native-community/cli-tools": "^10.1.1", ++ "chalk": "^4.1.2", ++ "execa": "^1.0.0", ++ "glob": "^7.1.3", ++ "logkitty": "^0.7.1" ++ } ++ }, ++ "node_modules/@react-native-community/cli-platform-android/node_modules/ansi-styles": { ++ "version": "4.3.0", ++ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", ++ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", ++ "dependencies": { ++ "color-convert": "^2.0.1" ++ }, ++ "engines": { ++ "node": ">=8" ++ }, ++ "funding": { ++ "url": "https://github.com/chalk/ansi-styles?sponsor=1" ++ } ++ }, ++ "node_modules/@react-native-community/cli-platform-android/node_modules/chalk": { ++ "version": "4.1.2", ++ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", ++ "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", ++ "dependencies": { ++ "ansi-styles": "^4.1.0", ++ "supports-color": "^7.1.0" ++ }, ++ "engines": { ++ "node": ">=10" ++ }, ++ "funding": { ++ "url": "https://github.com/chalk/chalk?sponsor=1" ++ } ++ }, ++ "node_modules/@react-native-community/cli-platform-android/node_modules/color-convert": { ++ "version": "2.0.1", ++ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", ++ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", ++ "dependencies": { ++ "color-name": "~1.1.4" ++ }, ++ "engines": { ++ "node": ">=7.0.0" ++ } ++ }, ++ "node_modules/@react-native-community/cli-platform-android/node_modules/color-name": { ++ "version": "1.1.4", ++ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", ++ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" ++ }, ++ "node_modules/@react-native-community/cli-platform-android/node_modules/cross-spawn": { ++ "version": "6.0.5", ++ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", ++ "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", ++ "dependencies": { ++ "nice-try": "^1.0.4", ++ "path-key": "^2.0.1", ++ "semver": "^5.5.0", ++ "shebang-command": "^1.2.0", ++ "which": "^1.2.9" ++ }, ++ "engines": { ++ "node": ">=4.8" ++ } ++ }, ++ "node_modules/@react-native-community/cli-platform-android/node_modules/execa": { ++ "version": "1.0.0", ++ "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", ++ "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", ++ "dependencies": { ++ "cross-spawn": "^6.0.0", ++ "get-stream": "^4.0.0", ++ "is-stream": "^1.1.0", ++ "npm-run-path": "^2.0.0", ++ "p-finally": "^1.0.0", ++ "signal-exit": "^3.0.0", ++ "strip-eof": "^1.0.0" ++ }, ++ "engines": { ++ "node": ">=6" ++ } ++ }, ++ "node_modules/@react-native-community/cli-platform-android/node_modules/get-stream": { ++ "version": "4.1.0", ++ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", ++ "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", ++ "dependencies": { ++ "pump": "^3.0.0" ++ }, ++ "engines": { ++ "node": ">=6" ++ } ++ }, ++ "node_modules/@react-native-community/cli-platform-android/node_modules/has-flag": { ++ "version": "4.0.0", ++ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", ++ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", ++ "engines": { ++ "node": ">=8" ++ } ++ }, ++ "node_modules/@react-native-community/cli-platform-android/node_modules/is-stream": { ++ "version": "1.1.0", ++ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", ++ "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", ++ "engines": { ++ "node": ">=0.10.0" ++ } ++ }, ++ "node_modules/@react-native-community/cli-platform-android/node_modules/npm-run-path": { ++ "version": "2.0.2", ++ "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", ++ "integrity": "sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==", ++ "dependencies": { ++ "path-key": "^2.0.0" ++ }, ++ "engines": { ++ "node": ">=4" ++ } ++ }, ++ "node_modules/@react-native-community/cli-platform-android/node_modules/path-key": { ++ "version": "2.0.1", ++ "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", ++ "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", ++ "engines": { ++ "node": ">=4" ++ } ++ }, ++ "node_modules/@react-native-community/cli-platform-android/node_modules/semver": { ++ "version": "5.7.2", ++ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", ++ "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", ++ "bin": { ++ "semver": "bin/semver" ++ } ++ }, ++ "node_modules/@react-native-community/cli-platform-android/node_modules/shebang-command": { ++ "version": "1.2.0", ++ "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", ++ "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", ++ "dependencies": { ++ "shebang-regex": "^1.0.0" ++ }, ++ "engines": { ++ "node": ">=0.10.0" ++ } ++ }, ++ "node_modules/@react-native-community/cli-platform-android/node_modules/shebang-regex": { ++ "version": "1.0.0", ++ "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", ++ "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", ++ "engines": { ++ "node": ">=0.10.0" ++ } ++ }, ++ "node_modules/@react-native-community/cli-platform-android/node_modules/supports-color": { ++ "version": "7.2.0", ++ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", ++ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", ++ "dependencies": { ++ "has-flag": "^4.0.0" ++ }, ++ "engines": { ++ "node": ">=8" ++ } ++ }, ++ "node_modules/@react-native-community/cli-platform-android/node_modules/which": { ++ "version": "1.3.1", ++ "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", ++ "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", ++ "dependencies": { ++ "isexe": "^2.0.0" ++ }, ++ "bin": { ++ "which": "bin/which" ++ } ++ }, ++ "node_modules/@react-native-community/cli-platform-ios": { ++ "version": "10.2.5", ++ "resolved": "https://registry.npmjs.org/@react-native-community/cli-platform-ios/-/cli-platform-ios-10.2.5.tgz", ++ "integrity": "sha512-hq+FZZuSBK9z82GLQfzdNDl8vbFx5UlwCLFCuTtNCROgBoapFtVZQKRP2QBftYNrQZ0dLAb01gkwxagHsQCFyg==", ++ "dependencies": { ++ "@react-native-community/cli-tools": "^10.1.1", ++ "chalk": "^4.1.2", ++ "execa": "^1.0.0", ++ "fast-xml-parser": "^4.0.12", ++ "glob": "^7.1.3", ++ "ora": "^5.4.1" ++ } ++ }, ++ "node_modules/@react-native-community/cli-platform-ios/node_modules/ansi-styles": { ++ "version": "4.3.0", ++ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", ++ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", ++ "dependencies": { ++ "color-convert": "^2.0.1" ++ }, ++ "engines": { ++ "node": ">=8" ++ }, ++ "funding": { ++ "url": "https://github.com/chalk/ansi-styles?sponsor=1" ++ } ++ }, ++ "node_modules/@react-native-community/cli-platform-ios/node_modules/chalk": { ++ "version": "4.1.2", ++ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", ++ "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", ++ "dependencies": { ++ "ansi-styles": "^4.1.0", ++ "supports-color": "^7.1.0" ++ }, ++ "engines": { ++ "node": ">=10" ++ }, ++ "funding": { ++ "url": "https://github.com/chalk/chalk?sponsor=1" ++ } ++ }, ++ "node_modules/@react-native-community/cli-platform-ios/node_modules/color-convert": { ++ "version": "2.0.1", ++ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", ++ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", ++ "dependencies": { ++ "color-name": "~1.1.4" ++ }, ++ "engines": { ++ "node": ">=7.0.0" ++ } ++ }, ++ "node_modules/@react-native-community/cli-platform-ios/node_modules/color-name": { ++ "version": "1.1.4", ++ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", ++ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" ++ }, ++ "node_modules/@react-native-community/cli-platform-ios/node_modules/cross-spawn": { ++ "version": "6.0.5", ++ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", ++ "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", ++ "dependencies": { ++ "nice-try": "^1.0.4", ++ "path-key": "^2.0.1", ++ "semver": "^5.5.0", ++ "shebang-command": "^1.2.0", ++ "which": "^1.2.9" ++ }, ++ "engines": { ++ "node": ">=4.8" ++ } ++ }, ++ "node_modules/@react-native-community/cli-platform-ios/node_modules/execa": { ++ "version": "1.0.0", ++ "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", ++ "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", ++ "dependencies": { ++ "cross-spawn": "^6.0.0", ++ "get-stream": "^4.0.0", ++ "is-stream": "^1.1.0", ++ "npm-run-path": "^2.0.0", ++ "p-finally": "^1.0.0", ++ "signal-exit": "^3.0.0", ++ "strip-eof": "^1.0.0" ++ }, ++ "engines": { ++ "node": ">=6" ++ } ++ }, ++ "node_modules/@react-native-community/cli-platform-ios/node_modules/get-stream": { ++ "version": "4.1.0", ++ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", ++ "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", ++ "dependencies": { ++ "pump": "^3.0.0" ++ }, ++ "engines": { ++ "node": ">=6" ++ } ++ }, ++ "node_modules/@react-native-community/cli-platform-ios/node_modules/has-flag": { ++ "version": "4.0.0", ++ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", ++ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", ++ "engines": { ++ "node": ">=8" ++ } ++ }, ++ "node_modules/@react-native-community/cli-platform-ios/node_modules/is-stream": { ++ "version": "1.1.0", ++ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", ++ "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", ++ "engines": { ++ "node": ">=0.10.0" ++ } ++ }, ++ "node_modules/@react-native-community/cli-platform-ios/node_modules/npm-run-path": { ++ "version": "2.0.2", ++ "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", ++ "integrity": "sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==", ++ "dependencies": { ++ "path-key": "^2.0.0" ++ }, ++ "engines": { ++ "node": ">=4" ++ } ++ }, ++ "node_modules/@react-native-community/cli-platform-ios/node_modules/path-key": { ++ "version": "2.0.1", ++ "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", ++ "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", ++ "engines": { ++ "node": ">=4" ++ } ++ }, ++ "node_modules/@react-native-community/cli-platform-ios/node_modules/semver": { ++ "version": "5.7.2", ++ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", ++ "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", ++ "bin": { ++ "semver": "bin/semver" ++ } ++ }, ++ "node_modules/@react-native-community/cli-platform-ios/node_modules/shebang-command": { ++ "version": "1.2.0", ++ "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", ++ "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", ++ "dependencies": { ++ "shebang-regex": "^1.0.0" ++ }, ++ "engines": { ++ "node": ">=0.10.0" ++ } ++ }, ++ "node_modules/@react-native-community/cli-platform-ios/node_modules/shebang-regex": { ++ "version": "1.0.0", ++ "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", ++ "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", ++ "engines": { ++ "node": ">=0.10.0" ++ } ++ }, ++ "node_modules/@react-native-community/cli-platform-ios/node_modules/supports-color": { ++ "version": "7.2.0", ++ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", ++ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", ++ "dependencies": { ++ "has-flag": "^4.0.0" ++ }, ++ "engines": { ++ "node": ">=8" ++ } ++ }, ++ "node_modules/@react-native-community/cli-platform-ios/node_modules/which": { ++ "version": "1.3.1", ++ "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", ++ "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", ++ "dependencies": { ++ "isexe": "^2.0.0" ++ }, ++ "bin": { ++ "which": "bin/which" ++ } ++ }, ++ "node_modules/@react-native-community/cli-plugin-metro": { ++ "version": "10.2.3", ++ "resolved": "https://registry.npmjs.org/@react-native-community/cli-plugin-metro/-/cli-plugin-metro-10.2.3.tgz", ++ "integrity": "sha512-jHi2oDuTePmW4NEyVT8JEGNlIYcnFXCSV2ZMp4rnDrUk4TzzyvS3IMvDlESEmG8Kry8rvP0KSUx/hTpy37Sbkw==", ++ "dependencies": { ++ "@react-native-community/cli-server-api": "^10.1.1", ++ "@react-native-community/cli-tools": "^10.1.1", ++ "chalk": "^4.1.2", ++ "execa": "^1.0.0", ++ "metro": "0.73.10", ++ "metro-config": "0.73.10", ++ "metro-core": "0.73.10", ++ "metro-react-native-babel-transformer": "0.73.10", ++ "metro-resolver": "0.73.10", ++ "metro-runtime": "0.73.10", ++ "readline": "^1.3.0" ++ } ++ }, ++ "node_modules/@react-native-community/cli-plugin-metro/node_modules/@jest/types": { ++ "version": "26.6.2", ++ "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", ++ "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", ++ "dependencies": { ++ "@types/istanbul-lib-coverage": "^2.0.0", ++ "@types/istanbul-reports": "^3.0.0", ++ "@types/node": "*", ++ "@types/yargs": "^15.0.0", ++ "chalk": "^4.0.0" ++ }, ++ "engines": { ++ "node": ">= 10.14.2" ++ } ++ }, ++ "node_modules/@react-native-community/cli-plugin-metro/node_modules/@types/yargs": { ++ "version": "15.0.19", ++ "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.19.tgz", ++ "integrity": "sha512-2XUaGVmyQjgyAZldf0D0c14vvo/yv0MhQBSTJcejMMaitsn3nxCB6TmH4G0ZQf+uxROOa9mpanoSm8h6SG/1ZA==", ++ "dependencies": { ++ "@types/yargs-parser": "*" ++ } ++ }, ++ "node_modules/@react-native-community/cli-plugin-metro/node_modules/ansi-styles": { ++ "version": "4.3.0", ++ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", ++ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", ++ "dependencies": { ++ "color-convert": "^2.0.1" ++ }, ++ "engines": { ++ "node": ">=8" ++ }, ++ "funding": { ++ "url": "https://github.com/chalk/ansi-styles?sponsor=1" ++ } ++ }, ++ "node_modules/@react-native-community/cli-plugin-metro/node_modules/camelcase": { ++ "version": "6.3.0", ++ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", ++ "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", ++ "engines": { ++ "node": ">=10" ++ }, ++ "funding": { ++ "url": "https://github.com/sponsors/sindresorhus" ++ } ++ }, ++ "node_modules/@react-native-community/cli-plugin-metro/node_modules/chalk": { ++ "version": "4.1.2", ++ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", ++ "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", ++ "dependencies": { ++ "ansi-styles": "^4.1.0", ++ "supports-color": "^7.1.0" ++ }, ++ "engines": { ++ "node": ">=10" ++ }, ++ "funding": { ++ "url": "https://github.com/chalk/chalk?sponsor=1" ++ } ++ }, ++ "node_modules/@react-native-community/cli-plugin-metro/node_modules/ci-info": { ++ "version": "2.0.0", ++ "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", ++ "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==" ++ }, ++ "node_modules/@react-native-community/cli-plugin-metro/node_modules/color-convert": { ++ "version": "2.0.1", ++ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", ++ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", ++ "dependencies": { ++ "color-name": "~1.1.4" ++ }, ++ "engines": { ++ "node": ">=7.0.0" ++ } ++ }, ++ "node_modules/@react-native-community/cli-plugin-metro/node_modules/color-name": { ++ "version": "1.1.4", ++ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", ++ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" ++ }, ++ "node_modules/@react-native-community/cli-plugin-metro/node_modules/cross-spawn": { ++ "version": "6.0.5", ++ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", ++ "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", ++ "dependencies": { ++ "nice-try": "^1.0.4", ++ "path-key": "^2.0.1", ++ "semver": "^5.5.0", ++ "shebang-command": "^1.2.0", ++ "which": "^1.2.9" ++ }, ++ "engines": { ++ "node": ">=4.8" ++ } ++ }, ++ "node_modules/@react-native-community/cli-plugin-metro/node_modules/debug": { ++ "version": "2.6.9", ++ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", ++ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", ++ "dependencies": { ++ "ms": "2.0.0" ++ } ++ }, ++ "node_modules/@react-native-community/cli-plugin-metro/node_modules/execa": { ++ "version": "1.0.0", ++ "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", ++ "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", ++ "dependencies": { ++ "cross-spawn": "^6.0.0", ++ "get-stream": "^4.0.0", ++ "is-stream": "^1.1.0", ++ "npm-run-path": "^2.0.0", ++ "p-finally": "^1.0.0", ++ "signal-exit": "^3.0.0", ++ "strip-eof": "^1.0.0" ++ }, ++ "engines": { ++ "node": ">=6" ++ } ++ }, ++ "node_modules/@react-native-community/cli-plugin-metro/node_modules/get-stream": { ++ "version": "4.1.0", ++ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", ++ "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", ++ "dependencies": { ++ "pump": "^3.0.0" ++ }, ++ "engines": { ++ "node": ">=6" ++ } ++ }, ++ "node_modules/@react-native-community/cli-plugin-metro/node_modules/has-flag": { ++ "version": "4.0.0", ++ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", ++ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", ++ "engines": { ++ "node": ">=8" ++ } ++ }, ++ "node_modules/@react-native-community/cli-plugin-metro/node_modules/hermes-estree": { ++ "version": "0.8.0", ++ "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.8.0.tgz", ++ "integrity": "sha512-W6JDAOLZ5pMPMjEiQGLCXSSV7pIBEgRR5zGkxgmzGSXHOxqV5dC/M1Zevqpbm9TZDE5tu358qZf8Vkzmsc+u7Q==" ++ }, ++ "node_modules/@react-native-community/cli-plugin-metro/node_modules/hermes-parser": { ++ "version": "0.8.0", ++ "resolved": "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.8.0.tgz", ++ "integrity": "sha512-yZKalg1fTYG5eOiToLUaw69rQfZq/fi+/NtEXRU7N87K/XobNRhRWorh80oSge2lWUiZfTgUvRJH+XgZWrhoqA==", ++ "dependencies": { ++ "hermes-estree": "0.8.0" ++ } ++ }, ++ "node_modules/@react-native-community/cli-plugin-metro/node_modules/image-size": { ++ "version": "0.6.3", ++ "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.6.3.tgz", ++ "integrity": "sha512-47xSUiQioGaB96nqtp5/q55m0aBQSQdyIloMOc/x+QVTDZLNmXE892IIDrJ0hM1A5vcNUDD5tDffkSP5lCaIIA==", ++ "bin": { ++ "image-size": "bin/image-size.js" ++ }, ++ "engines": { ++ "node": ">=4.0" ++ } ++ }, ++ "node_modules/@react-native-community/cli-plugin-metro/node_modules/is-stream": { ++ "version": "1.1.0", ++ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", ++ "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", ++ "engines": { ++ "node": ">=0.10.0" ++ } ++ }, ++ "node_modules/@react-native-community/cli-plugin-metro/node_modules/jest-get-type": { ++ "version": "26.3.0", ++ "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-26.3.0.tgz", ++ "integrity": "sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig==", ++ "engines": { ++ "node": ">= 10.14.2" ++ } ++ }, ++ "node_modules/@react-native-community/cli-plugin-metro/node_modules/jest-regex-util": { ++ "version": "27.5.1", ++ "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", ++ "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==", ++ "engines": { ++ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" ++ } ++ }, ++ "node_modules/@react-native-community/cli-plugin-metro/node_modules/jest-util": { ++ "version": "27.5.1", ++ "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", ++ "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", ++ "dependencies": { ++ "@jest/types": "^27.5.1", ++ "@types/node": "*", ++ "chalk": "^4.0.0", ++ "ci-info": "^3.2.0", ++ "graceful-fs": "^4.2.9", ++ "picomatch": "^2.2.3" ++ }, ++ "engines": { ++ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" ++ } ++ }, ++ "node_modules/@react-native-community/cli-plugin-metro/node_modules/jest-util/node_modules/@jest/types": { ++ "version": "27.5.1", ++ "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", ++ "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", ++ "dependencies": { ++ "@types/istanbul-lib-coverage": "^2.0.0", ++ "@types/istanbul-reports": "^3.0.0", ++ "@types/node": "*", ++ "@types/yargs": "^16.0.0", ++ "chalk": "^4.0.0" ++ }, ++ "engines": { ++ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" ++ } ++ }, ++ "node_modules/@react-native-community/cli-plugin-metro/node_modules/jest-util/node_modules/@types/yargs": { ++ "version": "16.0.9", ++ "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", ++ "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", ++ "dependencies": { ++ "@types/yargs-parser": "*" ++ } ++ }, ++ "node_modules/@react-native-community/cli-plugin-metro/node_modules/jest-util/node_modules/ci-info": { ++ "version": "3.9.0", ++ "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", ++ "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", ++ "funding": [ ++ { ++ "type": "github", ++ "url": "https://github.com/sponsors/sibiraj-s" ++ } ++ ], ++ "engines": { ++ "node": ">=8" ++ } ++ }, ++ "node_modules/@react-native-community/cli-plugin-metro/node_modules/jest-validate": { ++ "version": "26.6.2", ++ "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-26.6.2.tgz", ++ "integrity": "sha512-NEYZ9Aeyj0i5rQqbq+tpIOom0YS1u2MVu6+euBsvpgIme+FOfRmoC4R5p0JiAUpaFvFy24xgrpMknarR/93XjQ==", ++ "dependencies": { ++ "@jest/types": "^26.6.2", ++ "camelcase": "^6.0.0", ++ "chalk": "^4.0.0", ++ "jest-get-type": "^26.3.0", ++ "leven": "^3.1.0", ++ "pretty-format": "^26.6.2" ++ }, ++ "engines": { ++ "node": ">= 10.14.2" ++ } ++ }, ++ "node_modules/@react-native-community/cli-plugin-metro/node_modules/jest-worker": { ++ "version": "27.5.1", ++ "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", ++ "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", ++ "dependencies": { ++ "@types/node": "*", ++ "merge-stream": "^2.0.0", ++ "supports-color": "^8.0.0" ++ }, ++ "engines": { ++ "node": ">= 10.13.0" ++ } ++ }, ++ "node_modules/@react-native-community/cli-plugin-metro/node_modules/jest-worker/node_modules/supports-color": { ++ "version": "8.1.1", ++ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", ++ "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", ++ "dependencies": { ++ "has-flag": "^4.0.0" ++ }, ++ "engines": { ++ "node": ">=10" ++ }, ++ "funding": { ++ "url": "https://github.com/chalk/supports-color?sponsor=1" ++ } ++ }, ++ "node_modules/@react-native-community/cli-plugin-metro/node_modules/metro": { ++ "version": "0.73.10", ++ "resolved": "https://registry.npmjs.org/metro/-/metro-0.73.10.tgz", ++ "integrity": "sha512-J2gBhNHFtc/Z48ysF0B/bfTwUwaRDLjNv7egfhQCc+934dpXcjJG2KZFeuybF+CvA9vo4QUi56G2U+RSAJ5tsA==", ++ "dependencies": { ++ "@babel/code-frame": "^7.0.0", ++ "@babel/core": "^7.20.0", ++ "@babel/generator": "^7.20.0", ++ "@babel/parser": "^7.20.0", ++ "@babel/template": "^7.0.0", ++ "@babel/traverse": "^7.20.0", ++ "@babel/types": "^7.20.0", ++ "absolute-path": "^0.0.0", ++ "accepts": "^1.3.7", ++ "async": "^3.2.2", ++ "chalk": "^4.0.0", ++ "ci-info": "^2.0.0", ++ "connect": "^3.6.5", ++ "debug": "^2.2.0", ++ "denodeify": "^1.2.1", ++ "error-stack-parser": "^2.0.6", ++ "graceful-fs": "^4.2.4", ++ "hermes-parser": "0.8.0", ++ "image-size": "^0.6.0", ++ "invariant": "^2.2.4", ++ "jest-worker": "^27.2.0", ++ "jsc-safe-url": "^0.2.2", ++ "lodash.throttle": "^4.1.1", ++ "metro-babel-transformer": "0.73.10", ++ "metro-cache": "0.73.10", ++ "metro-cache-key": "0.73.10", ++ "metro-config": "0.73.10", ++ "metro-core": "0.73.10", ++ "metro-file-map": "0.73.10", ++ "metro-hermes-compiler": "0.73.10", ++ "metro-inspector-proxy": "0.73.10", ++ "metro-minify-terser": "0.73.10", ++ "metro-minify-uglify": "0.73.10", ++ "metro-react-native-babel-preset": "0.73.10", ++ "metro-resolver": "0.73.10", ++ "metro-runtime": "0.73.10", ++ "metro-source-map": "0.73.10", ++ "metro-symbolicate": "0.73.10", ++ "metro-transform-plugins": "0.73.10", ++ "metro-transform-worker": "0.73.10", ++ "mime-types": "^2.1.27", ++ "node-fetch": "^2.2.0", ++ "nullthrows": "^1.1.1", ++ "rimraf": "^3.0.2", ++ "serialize-error": "^2.1.0", ++ "source-map": "^0.5.6", ++ "strip-ansi": "^6.0.0", ++ "temp": "0.8.3", ++ "throat": "^5.0.0", ++ "ws": "^7.5.1", ++ "yargs": "^17.5.1" ++ }, ++ "bin": { ++ "metro": "src/cli.js" ++ } ++ }, ++ "node_modules/@react-native-community/cli-plugin-metro/node_modules/metro-babel-transformer": { ++ "version": "0.73.10", ++ "resolved": "https://registry.npmjs.org/metro-babel-transformer/-/metro-babel-transformer-0.73.10.tgz", ++ "integrity": "sha512-Yv2myTSnpzt/lTyurLvqYbBkytvUJcLHN8XD3t7W6rGiLTQPzmf1zypHQLphvcAXtCWBOXFtH7KLOSi2/qMg+A==", ++ "dependencies": { ++ "@babel/core": "^7.20.0", ++ "hermes-parser": "0.8.0", ++ "metro-source-map": "0.73.10", ++ "nullthrows": "^1.1.1" ++ } ++ }, ++ "node_modules/@react-native-community/cli-plugin-metro/node_modules/metro-cache": { ++ "version": "0.73.10", ++ "resolved": "https://registry.npmjs.org/metro-cache/-/metro-cache-0.73.10.tgz", ++ "integrity": "sha512-wPGlQZpdVlM404m7MxJqJ+hTReDr5epvfPbt2LerUAHY9RN99w61FeeAe25BMZBwgUgDtAsfGlJ51MBHg8MAqw==", ++ "dependencies": { ++ "metro-core": "0.73.10", ++ "rimraf": "^3.0.2" ++ } ++ }, ++ "node_modules/@react-native-community/cli-plugin-metro/node_modules/metro-cache-key": { ++ "version": "0.73.10", ++ "resolved": "https://registry.npmjs.org/metro-cache-key/-/metro-cache-key-0.73.10.tgz", ++ "integrity": "sha512-JMVDl/EREDiUW//cIcUzRjKSwE2AFxVWk47cFBer+KA4ohXIG2CQPEquT56hOw1Y1s6gKNxxs1OlAOEsubrFjw==" ++ }, ++ "node_modules/@react-native-community/cli-plugin-metro/node_modules/metro-config": { ++ "version": "0.73.10", ++ "resolved": "https://registry.npmjs.org/metro-config/-/metro-config-0.73.10.tgz", ++ "integrity": "sha512-wIlybd1Z9I8K2KcStTiJxTB7OK529dxFgogNpKCTU/3DxkgAASqSkgXnZP6kVyqjh5EOWAKFe5U6IPic7kXDdQ==", ++ "dependencies": { ++ "cosmiconfig": "^5.0.5", ++ "jest-validate": "^26.5.2", ++ "metro": "0.73.10", ++ "metro-cache": "0.73.10", ++ "metro-core": "0.73.10", ++ "metro-runtime": "0.73.10" ++ } ++ }, ++ "node_modules/@react-native-community/cli-plugin-metro/node_modules/metro-core": { ++ "version": "0.73.10", ++ "resolved": "https://registry.npmjs.org/metro-core/-/metro-core-0.73.10.tgz", ++ "integrity": "sha512-5uYkajIxKyL6W45iz/ftNnYPe1l92CvF2QJeon1CHsMXkEiOJxEjo41l+iSnO/YodBGrmMCyupSO4wOQGUc0lw==", ++ "dependencies": { ++ "lodash.throttle": "^4.1.1", ++ "metro-resolver": "0.73.10" ++ } ++ }, ++ "node_modules/@react-native-community/cli-plugin-metro/node_modules/metro-file-map": { ++ "version": "0.73.10", ++ "resolved": "https://registry.npmjs.org/metro-file-map/-/metro-file-map-0.73.10.tgz", ++ "integrity": "sha512-XOMWAybeaXyD6zmVZPnoCCL2oO3rp4ta76oUlqWP0skBzhFxVtkE/UtDwApEMUY361JeBBago647gnKiARs+1g==", ++ "dependencies": { ++ "abort-controller": "^3.0.0", ++ "anymatch": "^3.0.3", ++ "debug": "^2.2.0", ++ "fb-watchman": "^2.0.0", ++ "graceful-fs": "^4.2.4", ++ "invariant": "^2.2.4", ++ "jest-regex-util": "^27.0.6", ++ "jest-serializer": "^27.0.6", ++ "jest-util": "^27.2.0", ++ "jest-worker": "^27.2.0", ++ "micromatch": "^4.0.4", ++ "nullthrows": "^1.1.1", ++ "walker": "^1.0.7" ++ }, ++ "optionalDependencies": { ++ "fsevents": "^2.3.2" ++ } ++ }, ++ "node_modules/@react-native-community/cli-plugin-metro/node_modules/metro-minify-terser": { ++ "version": "0.73.10", ++ "resolved": "https://registry.npmjs.org/metro-minify-terser/-/metro-minify-terser-0.73.10.tgz", ++ "integrity": "sha512-uG7TSKQ/i0p9kM1qXrwbmY3v+6BrMItsOcEXcSP8Z+68bb+t9HeVK0T/hIfUu1v1PEnonhkhfzVsaP8QyTd5lQ==", + "dependencies": { +- "has-flag": "^4.0.0" +- }, +- "engines": { +- "node": ">=8" ++ "terser": "^5.15.0" + } + }, +- "node_modules/@react-native-community/cli-platform-android": { +- "version": "12.3.2", +- "resolved": "https://registry.npmjs.org/@react-native-community/cli-platform-android/-/cli-platform-android-12.3.2.tgz", +- "integrity": "sha512-MZ5nO8yi/N+Fj2i9BJcJ9C/ez+9/Ir7lQt49DWRo9YDmzye66mYLr/P2l/qxsixllbbDi7BXrlLpxaEhMrDopg==", ++ "node_modules/@react-native-community/cli-plugin-metro/node_modules/metro-resolver": { ++ "version": "0.73.10", ++ "resolved": "https://registry.npmjs.org/metro-resolver/-/metro-resolver-0.73.10.tgz", ++ "integrity": "sha512-HeXbs+0wjakaaVQ5BI7eT7uqxlZTc9rnyw6cdBWWMgUWB++KpoI0Ge7Hi6eQAOoVAzXC3m26mPFYLejpzTWjng==", + "dependencies": { +- "@react-native-community/cli-tools": "12.3.2", +- "chalk": "^4.1.2", +- "execa": "^5.0.0", +- "fast-xml-parser": "^4.2.4", +- "glob": "^7.1.3", +- "logkitty": "^0.7.1" ++ "absolute-path": "^0.0.0" + } + }, +- "node_modules/@react-native-community/cli-platform-android/node_modules/ansi-styles": { +- "version": "4.3.0", +- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", +- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", ++ "node_modules/@react-native-community/cli-plugin-metro/node_modules/metro-runtime": { ++ "version": "0.73.10", ++ "resolved": "https://registry.npmjs.org/metro-runtime/-/metro-runtime-0.73.10.tgz", ++ "integrity": "sha512-EpVKm4eN0Fgx2PEWpJ5NiMArV8zVoOin866jIIvzFLpmkZz1UEqgjf2JAfUJnjgv3fjSV3JqeGG2vZCaGQBTow==", + "dependencies": { +- "color-convert": "^2.0.1" +- }, +- "engines": { +- "node": ">=8" +- }, +- "funding": { +- "url": "https://github.com/chalk/ansi-styles?sponsor=1" ++ "@babel/runtime": "^7.0.0", ++ "react-refresh": "^0.4.0" + } + }, +- "node_modules/@react-native-community/cli-platform-android/node_modules/chalk": { +- "version": "4.1.2", +- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", +- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", ++ "node_modules/@react-native-community/cli-plugin-metro/node_modules/metro-source-map": { ++ "version": "0.73.10", ++ "resolved": "https://registry.npmjs.org/metro-source-map/-/metro-source-map-0.73.10.tgz", ++ "integrity": "sha512-NAGv14701p/YaFZ76KzyPkacBw/QlEJF1f8elfs23N1tC33YyKLDKvPAzFJiYqjdcFvuuuDCA8JCXd2TgLxNPw==", + "dependencies": { +- "ansi-styles": "^4.1.0", +- "supports-color": "^7.1.0" +- }, +- "engines": { +- "node": ">=10" +- }, +- "funding": { +- "url": "https://github.com/chalk/chalk?sponsor=1" ++ "@babel/traverse": "^7.20.0", ++ "@babel/types": "^7.20.0", ++ "invariant": "^2.2.4", ++ "metro-symbolicate": "0.73.10", ++ "nullthrows": "^1.1.1", ++ "ob1": "0.73.10", ++ "source-map": "^0.5.6", ++ "vlq": "^1.0.0" + } + }, +- "node_modules/@react-native-community/cli-platform-android/node_modules/color-convert": { +- "version": "2.0.1", +- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", +- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", ++ "node_modules/@react-native-community/cli-plugin-metro/node_modules/metro-symbolicate": { ++ "version": "0.73.10", ++ "resolved": "https://registry.npmjs.org/metro-symbolicate/-/metro-symbolicate-0.73.10.tgz", ++ "integrity": "sha512-PmCe3TOe1c/NVwMlB+B17me951kfkB3Wve5RqJn+ErPAj93od1nxicp6OJe7JT4QBRnpUP8p9tw2sHKqceIzkA==", + "dependencies": { +- "color-name": "~1.1.4" ++ "invariant": "^2.2.4", ++ "metro-source-map": "0.73.10", ++ "nullthrows": "^1.1.1", ++ "source-map": "^0.5.6", ++ "through2": "^2.0.1", ++ "vlq": "^1.0.0" ++ }, ++ "bin": { ++ "metro-symbolicate": "src/index.js" + }, + "engines": { +- "node": ">=7.0.0" ++ "node": ">=8.3" + } + }, +- "node_modules/@react-native-community/cli-platform-android/node_modules/color-name": { +- "version": "1.1.4", +- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", +- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" ++ "node_modules/@react-native-community/cli-plugin-metro/node_modules/metro-transform-plugins": { ++ "version": "0.73.10", ++ "resolved": "https://registry.npmjs.org/metro-transform-plugins/-/metro-transform-plugins-0.73.10.tgz", ++ "integrity": "sha512-D4AgD3Vsrac+4YksaPmxs/0ocT67bvwTkFSIgWWeDvWwIG0U1iHzTS9f8Bvb4PITnXryDoFtjI6OWF7uOpGxpA==", ++ "dependencies": { ++ "@babel/core": "^7.20.0", ++ "@babel/generator": "^7.20.0", ++ "@babel/template": "^7.0.0", ++ "@babel/traverse": "^7.20.0", ++ "nullthrows": "^1.1.1" ++ } + }, +- "node_modules/@react-native-community/cli-platform-android/node_modules/has-flag": { +- "version": "4.0.0", +- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", +- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", +- "engines": { +- "node": ">=8" ++ "node_modules/@react-native-community/cli-plugin-metro/node_modules/metro-transform-worker": { ++ "version": "0.73.10", ++ "resolved": "https://registry.npmjs.org/metro-transform-worker/-/metro-transform-worker-0.73.10.tgz", ++ "integrity": "sha512-IySvVubudFxahxOljWtP0QIMMpgUrCP0bW16cz2Enof0PdumwmR7uU3dTbNq6S+XTzuMHR+076aIe4VhPAWsIQ==", ++ "dependencies": { ++ "@babel/core": "^7.20.0", ++ "@babel/generator": "^7.20.0", ++ "@babel/parser": "^7.20.0", ++ "@babel/types": "^7.20.0", ++ "babel-preset-fbjs": "^3.4.0", ++ "metro": "0.73.10", ++ "metro-babel-transformer": "0.73.10", ++ "metro-cache": "0.73.10", ++ "metro-cache-key": "0.73.10", ++ "metro-hermes-compiler": "0.73.10", ++ "metro-source-map": "0.73.10", ++ "metro-transform-plugins": "0.73.10", ++ "nullthrows": "^1.1.1" + } + }, +- "node_modules/@react-native-community/cli-platform-android/node_modules/supports-color": { +- "version": "7.2.0", +- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", +- "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", ++ "node_modules/@react-native-community/cli-plugin-metro/node_modules/ms": { ++ "version": "2.0.0", ++ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", ++ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" ++ }, ++ "node_modules/@react-native-community/cli-plugin-metro/node_modules/npm-run-path": { ++ "version": "2.0.2", ++ "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", ++ "integrity": "sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==", + "dependencies": { +- "has-flag": "^4.0.0" ++ "path-key": "^2.0.0" + }, + "engines": { +- "node": ">=8" ++ "node": ">=4" + } + }, +- "node_modules/@react-native-community/cli-platform-ios": { +- "version": "12.3.2", +- "resolved": "https://registry.npmjs.org/@react-native-community/cli-platform-ios/-/cli-platform-ios-12.3.2.tgz", +- "integrity": "sha512-OcWEAbkev1IL6SUiQnM6DQdsvfsKZhRZtoBNSj9MfdmwotVZSOEZJ+IjZ1FR9ChvMWayO9ns/o8LgoQxr1ZXeg==", +- "dependencies": { +- "@react-native-community/cli-tools": "12.3.2", +- "chalk": "^4.1.2", +- "execa": "^5.0.0", +- "fast-xml-parser": "^4.0.12", +- "glob": "^7.1.3", +- "ora": "^5.4.1" ++ "node_modules/@react-native-community/cli-plugin-metro/node_modules/ob1": { ++ "version": "0.73.10", ++ "resolved": "https://registry.npmjs.org/ob1/-/ob1-0.73.10.tgz", ++ "integrity": "sha512-aO6EYC+QRRCkZxVJhCWhLKgVjhNuD6Gu1riGjxrIm89CqLsmKgxzYDDEsktmKsoDeRdWGQM5EdMzXDl5xcVfsw==" ++ }, ++ "node_modules/@react-native-community/cli-plugin-metro/node_modules/path-key": { ++ "version": "2.0.1", ++ "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", ++ "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", ++ "engines": { ++ "node": ">=4" + } + }, +- "node_modules/@react-native-community/cli-platform-ios/node_modules/ansi-styles": { +- "version": "4.3.0", +- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", +- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", ++ "node_modules/@react-native-community/cli-plugin-metro/node_modules/pretty-format": { ++ "version": "26.6.2", ++ "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz", ++ "integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==", + "dependencies": { +- "color-convert": "^2.0.1" ++ "@jest/types": "^26.6.2", ++ "ansi-regex": "^5.0.0", ++ "ansi-styles": "^4.0.0", ++ "react-is": "^17.0.1" + }, + "engines": { +- "node": ">=8" +- }, +- "funding": { +- "url": "https://github.com/chalk/ansi-styles?sponsor=1" ++ "node": ">= 10" + } + }, +- "node_modules/@react-native-community/cli-platform-ios/node_modules/chalk": { +- "version": "4.1.2", +- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", +- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", +- "dependencies": { +- "ansi-styles": "^4.1.0", +- "supports-color": "^7.1.0" +- }, ++ "node_modules/@react-native-community/cli-plugin-metro/node_modules/react-is": { ++ "version": "17.0.2", ++ "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", ++ "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" ++ }, ++ "node_modules/@react-native-community/cli-plugin-metro/node_modules/react-refresh": { ++ "version": "0.4.3", ++ "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.4.3.tgz", ++ "integrity": "sha512-Hwln1VNuGl/6bVwnd0Xdn1e84gT/8T9aYNL+HAKDArLCS7LWjwr7StE30IEYbIkx0Vi3vs+coQxe+SQDbGbbpA==", + "engines": { +- "node": ">=10" +- }, +- "funding": { +- "url": "https://github.com/chalk/chalk?sponsor=1" ++ "node": ">=0.10.0" + } + }, +- "node_modules/@react-native-community/cli-platform-ios/node_modules/color-convert": { +- "version": "2.0.1", +- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", +- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", ++ "node_modules/@react-native-community/cli-plugin-metro/node_modules/semver": { ++ "version": "5.7.2", ++ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", ++ "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", ++ "bin": { ++ "semver": "bin/semver" ++ } ++ }, ++ "node_modules/@react-native-community/cli-plugin-metro/node_modules/shebang-command": { ++ "version": "1.2.0", ++ "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", ++ "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", + "dependencies": { +- "color-name": "~1.1.4" ++ "shebang-regex": "^1.0.0" + }, + "engines": { +- "node": ">=7.0.0" ++ "node": ">=0.10.0" + } + }, +- "node_modules/@react-native-community/cli-platform-ios/node_modules/color-name": { +- "version": "1.1.4", +- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", +- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" ++ "node_modules/@react-native-community/cli-plugin-metro/node_modules/shebang-regex": { ++ "version": "1.0.0", ++ "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", ++ "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", ++ "engines": { ++ "node": ">=0.10.0" ++ } + }, +- "node_modules/@react-native-community/cli-platform-ios/node_modules/has-flag": { +- "version": "4.0.0", +- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", +- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", ++ "node_modules/@react-native-community/cli-plugin-metro/node_modules/source-map": { ++ "version": "0.5.7", ++ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", ++ "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "engines": { +- "node": ">=8" ++ "node": ">=0.10.0" + } + }, +- "node_modules/@react-native-community/cli-platform-ios/node_modules/supports-color": { ++ "node_modules/@react-native-community/cli-plugin-metro/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", +@@ -3932,21 +4982,47 @@ + "node": ">=8" + } + }, +- "node_modules/@react-native-community/cli-plugin-metro": { +- "version": "12.3.2", +- "resolved": "https://registry.npmjs.org/@react-native-community/cli-plugin-metro/-/cli-plugin-metro-12.3.2.tgz", +- "integrity": "sha512-FpFBwu+d2E7KRhYPTkKvQsWb2/JKsJv+t1tcqgQkn+oByhp+qGyXBobFB8/R3yYvRRDCSDhS+atWTJzk9TjM8g==" ++ "node_modules/@react-native-community/cli-plugin-metro/node_modules/temp": { ++ "version": "0.8.3", ++ "resolved": "https://registry.npmjs.org/temp/-/temp-0.8.3.tgz", ++ "integrity": "sha512-jtnWJs6B1cZlHs9wPG7BrowKxZw/rf6+UpGAkr8AaYmiTyTO7zQlLoST8zx/8TcUPnZmeBoB+H8ARuHZaSijVw==", ++ "engines": [ ++ "node >=0.8.0" ++ ], ++ "dependencies": { ++ "os-tmpdir": "^1.0.0", ++ "rimraf": "~2.2.6" ++ } ++ }, ++ "node_modules/@react-native-community/cli-plugin-metro/node_modules/temp/node_modules/rimraf": { ++ "version": "2.2.8", ++ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.2.8.tgz", ++ "integrity": "sha512-R5KMKHnPAQaZMqLOsyuyUmcIjSeDm+73eoqQpaXA7AZ22BL+6C+1mcUscgOsNd8WVlJuvlgAPsegcx7pjlV0Dg==", ++ "bin": { ++ "rimraf": "bin.js" ++ } ++ }, ++ "node_modules/@react-native-community/cli-plugin-metro/node_modules/which": { ++ "version": "1.3.1", ++ "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", ++ "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", ++ "dependencies": { ++ "isexe": "^2.0.0" ++ }, ++ "bin": { ++ "which": "bin/which" ++ } + }, + "node_modules/@react-native-community/cli-server-api": { +- "version": "12.3.2", +- "resolved": "https://registry.npmjs.org/@react-native-community/cli-server-api/-/cli-server-api-12.3.2.tgz", +- "integrity": "sha512-iwa7EO9XFA/OjI5pPLLpI/6mFVqv8L73kNck3CNOJIUCCveGXBKK0VMyOkXaf/BYnihgQrXh+x5cxbDbggr7+Q==", ++ "version": "10.1.1", ++ "resolved": "https://registry.npmjs.org/@react-native-community/cli-server-api/-/cli-server-api-10.1.1.tgz", ++ "integrity": "sha512-NZDo/wh4zlm8as31UEBno2bui8+ufzsZV+KN7QjEJWEM0levzBtxaD+4je0OpfhRIIkhaRm2gl/vVf7OYAzg4g==", + "dependencies": { +- "@react-native-community/cli-debugger-ui": "12.3.2", +- "@react-native-community/cli-tools": "12.3.2", ++ "@react-native-community/cli-debugger-ui": "^10.0.0", ++ "@react-native-community/cli-tools": "^10.1.1", + "compression": "^1.7.1", + "connect": "^3.6.5", +- "errorhandler": "^1.5.1", ++ "errorhandler": "^1.5.0", + "nocache": "^3.0.1", + "pretty-format": "^26.6.2", + "serve-static": "^1.13.1", +@@ -4060,9 +5136,9 @@ + } + }, + "node_modules/@react-native-community/cli-tools": { +- "version": "12.3.2", +- "resolved": "https://registry.npmjs.org/@react-native-community/cli-tools/-/cli-tools-12.3.2.tgz", +- "integrity": "sha512-nDH7vuEicHI2TI0jac/DjT3fr977iWXRdgVAqPZFFczlbs7A8GQvEdGnZ1G8dqRUmg+kptw0e4hwczAOG89JzQ==", ++ "version": "10.1.1", ++ "resolved": "https://registry.npmjs.org/@react-native-community/cli-tools/-/cli-tools-10.1.1.tgz", ++ "integrity": "sha512-+FlwOnZBV+ailEzXjcD8afY2ogFEBeHOw/8+XXzMgPaquU2Zly9B+8W089tnnohO3yfiQiZqkQlElP423MY74g==", + "dependencies": { + "appdirsjs": "^1.2.4", + "chalk": "^4.1.2", +@@ -4071,9 +5147,8 @@ + "node-fetch": "^2.6.0", + "open": "^6.2.0", + "ora": "^5.4.1", +- "semver": "^7.5.2", +- "shell-quote": "^1.7.3", +- "sudo-prompt": "^9.0.0" ++ "semver": "^6.3.0", ++ "shell-quote": "^1.7.3" + } + }, + "node_modules/@react-native-community/cli-tools/node_modules/ansi-styles": { +@@ -4129,31 +5204,6 @@ + "node": ">=8" + } + }, +- "node_modules/@react-native-community/cli-tools/node_modules/lru-cache": { +- "version": "6.0.0", +- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", +- "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", +- "dependencies": { +- "yallist": "^4.0.0" +- }, +- "engines": { +- "node": ">=10" +- } +- }, +- "node_modules/@react-native-community/cli-tools/node_modules/semver": { +- "version": "7.5.4", +- "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", +- "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", +- "dependencies": { +- "lru-cache": "^6.0.0" +- }, +- "bin": { +- "semver": "bin/semver.js" +- }, +- "engines": { +- "node": ">=10" +- } +- }, + "node_modules/@react-native-community/cli-tools/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", +@@ -4165,15 +5215,10 @@ + "node": ">=8" + } + }, +- "node_modules/@react-native-community/cli-tools/node_modules/yallist": { +- "version": "4.0.0", +- "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", +- "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" +- }, + "node_modules/@react-native-community/cli-types": { +- "version": "12.3.2", +- "resolved": "https://registry.npmjs.org/@react-native-community/cli-types/-/cli-types-12.3.2.tgz", +- "integrity": "sha512-9D0UEFqLW8JmS16mjHJxUJWX8E+zJddrHILSH8AJHZ0NNHv4u2DXKdb0wFLMobFxGNxPT+VSOjc60fGvXzWHog==", ++ "version": "10.0.0", ++ "resolved": "https://registry.npmjs.org/@react-native-community/cli-types/-/cli-types-10.0.0.tgz", ++ "integrity": "sha512-31oUM6/rFBZQfSmDQsT1DX/5fjqfxg7sf2u8kTPJK7rXVya5SRpAMaCXsPAG0omsmJxXt+J9HxUi3Ic+5Ux5Iw==", + "dependencies": { + "joi": "^17.2.1" + } +@@ -4207,22 +5252,62 @@ + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, +- "node_modules/@react-native-community/cli/node_modules/color-convert": { +- "version": "2.0.1", +- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", +- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", ++ "node_modules/@react-native-community/cli/node_modules/color-convert": { ++ "version": "2.0.1", ++ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", ++ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", ++ "dependencies": { ++ "color-name": "~1.1.4" ++ }, ++ "engines": { ++ "node": ">=7.0.0" ++ } ++ }, ++ "node_modules/@react-native-community/cli/node_modules/color-name": { ++ "version": "1.1.4", ++ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", ++ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" ++ }, ++ "node_modules/@react-native-community/cli/node_modules/cross-spawn": { ++ "version": "6.0.5", ++ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", ++ "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", ++ "dependencies": { ++ "nice-try": "^1.0.4", ++ "path-key": "^2.0.1", ++ "semver": "^5.5.0", ++ "shebang-command": "^1.2.0", ++ "which": "^1.2.9" ++ }, ++ "engines": { ++ "node": ">=4.8" ++ } ++ }, ++ "node_modules/@react-native-community/cli/node_modules/cross-spawn/node_modules/semver": { ++ "version": "5.7.2", ++ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", ++ "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", ++ "bin": { ++ "semver": "bin/semver" ++ } ++ }, ++ "node_modules/@react-native-community/cli/node_modules/execa": { ++ "version": "1.0.0", ++ "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", ++ "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "dependencies": { +- "color-name": "~1.1.4" ++ "cross-spawn": "^6.0.0", ++ "get-stream": "^4.0.0", ++ "is-stream": "^1.1.0", ++ "npm-run-path": "^2.0.0", ++ "p-finally": "^1.0.0", ++ "signal-exit": "^3.0.0", ++ "strip-eof": "^1.0.0" + }, + "engines": { +- "node": ">=7.0.0" ++ "node": ">=6" + } + }, +- "node_modules/@react-native-community/cli/node_modules/color-name": { +- "version": "1.1.4", +- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", +- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" +- }, + "node_modules/@react-native-community/cli/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", +@@ -4235,6 +5320,17 @@ + "node": ">=8" + } + }, ++ "node_modules/@react-native-community/cli/node_modules/get-stream": { ++ "version": "4.1.0", ++ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", ++ "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", ++ "dependencies": { ++ "pump": "^3.0.0" ++ }, ++ "engines": { ++ "node": ">=6" ++ } ++ }, + "node_modules/@react-native-community/cli/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", +@@ -4243,6 +5339,14 @@ + "node": ">=8" + } + }, ++ "node_modules/@react-native-community/cli/node_modules/is-stream": { ++ "version": "1.1.0", ++ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", ++ "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", ++ "engines": { ++ "node": ">=0.10.0" ++ } ++ }, + "node_modules/@react-native-community/cli/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", +@@ -4254,15 +5358,15 @@ + "node": ">=8" + } + }, +- "node_modules/@react-native-community/cli/node_modules/lru-cache": { +- "version": "6.0.0", +- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", +- "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", ++ "node_modules/@react-native-community/cli/node_modules/npm-run-path": { ++ "version": "2.0.2", ++ "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", ++ "integrity": "sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==", + "dependencies": { +- "yallist": "^4.0.0" ++ "path-key": "^2.0.0" + }, + "engines": { +- "node": ">=10" ++ "node": ">=4" + } + }, + "node_modules/@react-native-community/cli/node_modules/p-limit": { +@@ -4290,18 +5394,31 @@ + "node": ">=8" + } + }, +- "node_modules/@react-native-community/cli/node_modules/semver": { +- "version": "7.5.4", +- "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", +- "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", ++ "node_modules/@react-native-community/cli/node_modules/path-key": { ++ "version": "2.0.1", ++ "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", ++ "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", ++ "engines": { ++ "node": ">=4" ++ } ++ }, ++ "node_modules/@react-native-community/cli/node_modules/shebang-command": { ++ "version": "1.2.0", ++ "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", ++ "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", + "dependencies": { +- "lru-cache": "^6.0.0" +- }, +- "bin": { +- "semver": "bin/semver.js" ++ "shebang-regex": "^1.0.0" + }, + "engines": { +- "node": ">=10" ++ "node": ">=0.10.0" ++ } ++ }, ++ "node_modules/@react-native-community/cli/node_modules/shebang-regex": { ++ "version": "1.0.0", ++ "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", ++ "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", ++ "engines": { ++ "node": ">=0.10.0" + } + }, + "node_modules/@react-native-community/cli/node_modules/supports-color": { +@@ -4315,40 +5432,62 @@ + "node": ">=8" + } + }, +- "node_modules/@react-native-community/cli/node_modules/yallist": { +- "version": "4.0.0", +- "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", +- "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" +- }, +- "node_modules/@react-native-community/slider": { +- "version": "4.5.0", +- "resolved": "https://registry.npmjs.org/@react-native-community/slider/-/slider-4.5.0.tgz", +- "integrity": "sha512-pyUvNTvu5IfCI5abzqRfO/dd3A009RC66RXZE6t0gyOwI/j0QDlq9VZRv3rjkpuIvNTnsYj+m5BHlh0DkSYUyA==" +- }, +- "node_modules/@react-native-mac/virtualized-lists": { +- "version": "0.73.3", +- "resolved": "https://registry.npmjs.org/@react-native-mac/virtualized-lists/-/virtualized-lists-0.73.3.tgz", +- "integrity": "sha512-7UcvjGYLIU0s2FzVLUPxHYo68tqtZV6x0AH8B0Hf9mkkpENGdRIKD7wDv0kjb/GkVn+qk94u3u0kQyMNRY9UkQ==", ++ "node_modules/@react-native-community/cli/node_modules/which": { ++ "version": "1.3.1", ++ "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", ++ "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dependencies": { +- "invariant": "^2.2.4", +- "nullthrows": "^1.1.1" ++ "isexe": "^2.0.0" + }, +- "engines": { +- "node": ">=18" ++ "bin": { ++ "which": "bin/which" ++ } ++ }, ++ "node_modules/@react-native-community/eslint-config": { ++ "version": "3.2.0", ++ "resolved": "https://registry.npmjs.org/@react-native-community/eslint-config/-/eslint-config-3.2.0.tgz", ++ "integrity": "sha512-ZjGvoeiBtCbd506hQqwjKmkWPgynGUoJspG8/MuV/EfKnkjCtBmeJvq2n+sWbWEvL9LWXDp2GJmPzmvU5RSvKQ==", ++ "dev": true, ++ "dependencies": { ++ "@babel/core": "^7.14.0", ++ "@babel/eslint-parser": "^7.18.2", ++ "@react-native-community/eslint-plugin": "^1.1.0", ++ "@typescript-eslint/eslint-plugin": "^5.30.5", ++ "@typescript-eslint/parser": "^5.30.5", ++ "eslint-config-prettier": "^8.5.0", ++ "eslint-plugin-eslint-comments": "^3.2.0", ++ "eslint-plugin-ft-flow": "^2.0.1", ++ "eslint-plugin-jest": "^26.5.3", ++ "eslint-plugin-prettier": "^4.2.1", ++ "eslint-plugin-react": "^7.30.1", ++ "eslint-plugin-react-hooks": "^4.6.0", ++ "eslint-plugin-react-native": "^4.0.0" + }, + "peerDependencies": { +- "react-native": "*" ++ "eslint": ">=8", ++ "prettier": ">=2" + } + }, ++ "node_modules/@react-native-community/eslint-plugin": { ++ "version": "1.3.0", ++ "resolved": "https://registry.npmjs.org/@react-native-community/eslint-plugin/-/eslint-plugin-1.3.0.tgz", ++ "integrity": "sha512-+zDZ20NUnSWghj7Ku5aFphMzuM9JulqCW+aPXT6IfIXFbb8tzYTTOSeRFOtuekJ99ibW2fUCSsjuKNlwDIbHFg==", ++ "dev": true ++ }, ++ "node_modules/@react-native-community/slider": { ++ "version": "4.5.0", ++ "resolved": "https://registry.npmjs.org/@react-native-community/slider/-/slider-4.5.0.tgz", ++ "integrity": "sha512-pyUvNTvu5IfCI5abzqRfO/dd3A009RC66RXZE6t0gyOwI/j0QDlq9VZRv3rjkpuIvNTnsYj+m5BHlh0DkSYUyA==" ++ }, + "node_modules/@react-native-windows/cli": { +- "version": "0.73.1", +- "resolved": "https://registry.npmjs.org/@react-native-windows/cli/-/cli-0.73.1.tgz", +- "integrity": "sha512-NMUjdcvQLvuxrNnMEgIZ54n3kItxnhO6S/PCX0izyKsuiVJUVgGSaiARUMmEOOjTh80MhS9KFiE+FNvRksJ2iQ==", +- "dependencies": { +- "@react-native-windows/codegen": "0.73.0", +- "@react-native-windows/fs": "0.73.0", +- "@react-native-windows/package-utils": "0.73.0", +- "@react-native-windows/telemetry": "0.73.1", ++ "version": "0.71.19", ++ "resolved": "https://registry.npmjs.org/@react-native-windows/cli/-/cli-0.71.19.tgz", ++ "integrity": "sha512-uae11eAG3gPJHyP63T2OyCVm1CSZOhmHJ7EyQM13IpR0xiZ2uY9CfU8wtp98iFXeXh1vNU/aWXx2MrFY+y+SyA==", ++ "dependencies": { ++ "@react-native-windows/codegen": "0.71.7", ++ "@react-native-windows/fs": "0.71.3", ++ "@react-native-windows/package-utils": "0.71.3", ++ "@react-native-windows/telemetry": "0.71.10", + "@xmldom/xmldom": "^0.7.7", + "chalk": "^4.1.0", + "cli-spinners": "^2.2.0", +@@ -4368,7 +5507,7 @@ + "xpath": "^0.0.27" + }, + "engines": { +- "node": ">= 18" ++ "node": ">= 14" + }, + "peerDependencies": { + "react-native": "*" +@@ -4676,9 +5815,9 @@ + } + }, + "node_modules/@react-native-windows/cli/node_modules/semver": { +- "version": "7.5.4", +- "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", +- "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", ++ "version": "7.6.0", ++ "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", ++ "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "dependencies": { + "lru-cache": "^6.0.0" + }, +@@ -4726,11 +5865,11 @@ + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + }, + "node_modules/@react-native-windows/codegen": { +- "version": "0.73.0", +- "resolved": "https://registry.npmjs.org/@react-native-windows/codegen/-/codegen-0.73.0.tgz", +- "integrity": "sha512-M+R8JzUEizAE23MkBOuSdyDGv9BeZx47L6gUWlXI4fyM9LjXpdYU0g6la8ZWleiLrDtHW0JIz95w8KkghpB6hg==", ++ "version": "0.71.7", ++ "resolved": "https://registry.npmjs.org/@react-native-windows/codegen/-/codegen-0.71.7.tgz", ++ "integrity": "sha512-zJvNz6hrMmtWUlseDivIJYpE7lFC56dfFvtueGRIHcZLo4kGssqzolxAUfx1klyHdD51L6gCX+SSjBvjwWLxug==", + "dependencies": { +- "@react-native-windows/fs": "0.73.0", ++ "@react-native-windows/fs": "0.71.3", + "chalk": "^4.1.0", + "globby": "^11.0.4", + "mustache": "^4.0.1", +@@ -4741,7 +5880,7 @@ + "react-native-windows-codegen": "bin.js" + }, + "engines": { +- "node": ">= 18" ++ "node": ">= 14" + }, + "peerDependencies": { + "react-native": "*" +@@ -4856,15 +5995,15 @@ + } + }, + "node_modules/@react-native-windows/find-repo-root": { +- "version": "0.73.0", +- "resolved": "https://registry.npmjs.org/@react-native-windows/find-repo-root/-/find-repo-root-0.73.0.tgz", +- "integrity": "sha512-ahEgLmFYNvXw5I1ETJDhNMyZ/iR+DK4iOZ9YaT4EQzEPGKgj8a/4kvStSyMa117m6yRPeM8hCrhsfsHoRCphBA==", ++ "version": "0.71.3", ++ "resolved": "https://registry.npmjs.org/@react-native-windows/find-repo-root/-/find-repo-root-0.71.3.tgz", ++ "integrity": "sha512-H5cf2uaXpInvEkIl8sjQ9O7F80GtR0cdHl3ueDIR3JQvWHwaSIzOs66y2/+x7E3jULml+jC13BmZbKFq9TV6Rw==", + "dependencies": { +- "@react-native-windows/fs": "0.73.0", ++ "@react-native-windows/fs": "0.71.3", + "find-up": "^4.1.0" + }, + "engines": { +- "node": ">= 18" ++ "node": ">= 14" + } + }, + "node_modules/@react-native-windows/find-repo-root/node_modules/find-up": { +@@ -4895,217 +6034,95 @@ + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dependencies": { +- "p-try": "^2.0.0" +- }, +- "engines": { +- "node": ">=6" +- }, +- "funding": { +- "url": "https://github.com/sponsors/sindresorhus" +- } +- }, +- "node_modules/@react-native-windows/find-repo-root/node_modules/p-locate": { +- "version": "4.1.0", +- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", +- "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", +- "dependencies": { +- "p-limit": "^2.2.0" +- }, +- "engines": { +- "node": ">=8" +- } +- }, +- "node_modules/@react-native-windows/fs": { +- "version": "0.73.0", +- "resolved": "https://registry.npmjs.org/@react-native-windows/fs/-/fs-0.73.0.tgz", +- "integrity": "sha512-Vg0gJavc6oO4TkTMK+s8V+1KhLlJgdtuwsUaBNRfhi+Dr/lWy7GKitV6rBn/UkG8DCt9LBmwdCZWpncxSs8CDA==", +- "dependencies": { +- "graceful-fs": "^4.2.8" +- }, +- "engines": { +- "node": ">= 18" +- } +- }, +- "node_modules/@react-native-windows/package-utils": { +- "version": "0.73.0", +- "resolved": "https://registry.npmjs.org/@react-native-windows/package-utils/-/package-utils-0.73.0.tgz", +- "integrity": "sha512-a3CuH8RPBfIwwPYi7gjyLmvRTzjFfXpePdLAC6afXHNbc5+VR6QJJ/VPhO9kQEvUxrQCXKXRXMGsUWrg0TNTEA==", +- "dependencies": { +- "@react-native-windows/find-repo-root": "0.73.0", +- "@react-native-windows/fs": "0.73.0", +- "get-monorepo-packages": "^1.2.0", +- "lodash": "^4.17.15" +- }, +- "engines": { +- "node": ">= 18" +- } +- }, +- "node_modules/@react-native-windows/telemetry": { +- "version": "0.73.1", +- "resolved": "https://registry.npmjs.org/@react-native-windows/telemetry/-/telemetry-0.73.1.tgz", +- "integrity": "sha512-xaZXwmxmIrmHrj39la8t0sTSDNs8h+oVyfACSGMvRvFLA5iniSOD4toP5Ag5skO7Z9+jROdULVv4wvi6yp4zvg==", +- "dependencies": { +- "@react-native-windows/fs": "0.73.0", +- "@xmldom/xmldom": "^0.7.7", +- "applicationinsights": "2.7.3", +- "ci-info": "^3.2.0", +- "envinfo": "^7.8.1", +- "lodash": "^4.17.21", +- "os-locale": "^5.0.0", +- "xpath": "^0.0.27" +- }, +- "engines": { +- "node": ">= 18" +- } +- }, +- "node_modules/@react-native/assets": { +- "version": "1.0.0", +- "resolved": "https://registry.npmjs.org/@react-native/assets/-/assets-1.0.0.tgz", +- "integrity": "sha512-KrwSpS1tKI70wuKl68DwJZYEvXktDHdZMG0k2AXD/rJVSlB23/X2CB2cutVR0HwNMJIal9HOUOBB2rVfa6UGtQ==" +- }, +- "node_modules/@react-native/assets-registry": { +- "version": "0.73.1", +- "resolved": "https://registry.npmjs.org/@react-native/assets-registry/-/assets-registry-0.73.1.tgz", +- "integrity": "sha512-2FgAbU7uKM5SbbW9QptPPZx8N9Ke2L7bsHb+EhAanZjFZunA9PaYtyjUQ1s7HD+zDVqOQIvjkpXSv7Kejd2tqg==", +- "engines": { +- "node": ">=18" +- } +- }, +- "node_modules/@react-native/babel-plugin-codegen": { +- "version": "0.73.3", +- "resolved": "https://registry.npmjs.org/@react-native/babel-plugin-codegen/-/babel-plugin-codegen-0.73.3.tgz", +- "integrity": "sha512-+zQrDDbz6lB48LyzFHxNCgXDCBHH+oTRdXAjikRcBUdeG9St9ABbYFLtb799zSxLOrCqFVyXqhJR2vlgLLEbcg==", +- "dev": true, +- "dependencies": { +- "@react-native/codegen": "0.73.2" +- }, +- "engines": { +- "node": ">=18" +- } +- }, +- "node_modules/@react-native/babel-preset": { +- "version": "0.73.20", +- "resolved": "https://registry.npmjs.org/@react-native/babel-preset/-/babel-preset-0.73.20.tgz", +- "integrity": "sha512-fU9NqkusbfFq71l4BWQfqqD/lLcLC0MZ++UYgieA3j8lIEppJTLVauv2RwtD2yltBkjebgYEC5Rwvt1l0MUBXw==", +- "dev": true, +- "dependencies": { +- "@babel/core": "^7.20.0", +- "@babel/plugin-proposal-async-generator-functions": "^7.0.0", +- "@babel/plugin-proposal-class-properties": "^7.18.0", +- "@babel/plugin-proposal-export-default-from": "^7.0.0", +- "@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.0", +- "@babel/plugin-proposal-numeric-separator": "^7.0.0", +- "@babel/plugin-proposal-object-rest-spread": "^7.20.0", +- "@babel/plugin-proposal-optional-catch-binding": "^7.0.0", +- "@babel/plugin-proposal-optional-chaining": "^7.20.0", +- "@babel/plugin-syntax-dynamic-import": "^7.8.0", +- "@babel/plugin-syntax-export-default-from": "^7.0.0", +- "@babel/plugin-syntax-flow": "^7.18.0", +- "@babel/plugin-syntax-nullish-coalescing-operator": "^7.0.0", +- "@babel/plugin-syntax-optional-chaining": "^7.0.0", +- "@babel/plugin-transform-arrow-functions": "^7.0.0", +- "@babel/plugin-transform-async-to-generator": "^7.20.0", +- "@babel/plugin-transform-block-scoping": "^7.0.0", +- "@babel/plugin-transform-classes": "^7.0.0", +- "@babel/plugin-transform-computed-properties": "^7.0.0", +- "@babel/plugin-transform-destructuring": "^7.20.0", +- "@babel/plugin-transform-flow-strip-types": "^7.20.0", +- "@babel/plugin-transform-function-name": "^7.0.0", +- "@babel/plugin-transform-literals": "^7.0.0", +- "@babel/plugin-transform-modules-commonjs": "^7.0.0", +- "@babel/plugin-transform-named-capturing-groups-regex": "^7.0.0", +- "@babel/plugin-transform-parameters": "^7.0.0", +- "@babel/plugin-transform-private-methods": "^7.22.5", +- "@babel/plugin-transform-private-property-in-object": "^7.22.11", +- "@babel/plugin-transform-react-display-name": "^7.0.0", +- "@babel/plugin-transform-react-jsx": "^7.0.0", +- "@babel/plugin-transform-react-jsx-self": "^7.0.0", +- "@babel/plugin-transform-react-jsx-source": "^7.0.0", +- "@babel/plugin-transform-runtime": "^7.0.0", +- "@babel/plugin-transform-shorthand-properties": "^7.0.0", +- "@babel/plugin-transform-spread": "^7.0.0", +- "@babel/plugin-transform-sticky-regex": "^7.0.0", +- "@babel/plugin-transform-typescript": "^7.5.0", +- "@babel/plugin-transform-unicode-regex": "^7.0.0", +- "@babel/template": "^7.0.0", +- "@react-native/babel-plugin-codegen": "0.73.3", +- "babel-plugin-transform-flow-enums": "^0.0.2", +- "react-refresh": "^0.14.0" ++ "p-try": "^2.0.0" + }, + "engines": { +- "node": ">=18" ++ "node": ">=6" + }, +- "peerDependencies": { +- "@babel/core": "*" ++ "funding": { ++ "url": "https://github.com/sponsors/sindresorhus" + } + }, +- "node_modules/@react-native/codegen": { +- "version": "0.73.2", +- "resolved": "https://registry.npmjs.org/@react-native/codegen/-/codegen-0.73.2.tgz", +- "integrity": "sha512-lfy8S7umhE3QLQG5ViC4wg5N1Z+E6RnaeIw8w1voroQsXXGPB72IBozh8dAHR3+ceTxIU0KX3A8OpJI8e1+HpQ==", ++ "node_modules/@react-native-windows/find-repo-root/node_modules/p-locate": { ++ "version": "4.1.0", ++ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", ++ "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dependencies": { +- "@babel/parser": "^7.20.0", +- "flow-parser": "^0.206.0", +- "glob": "^7.1.1", +- "invariant": "^2.2.4", +- "jscodeshift": "^0.14.0", +- "mkdirp": "^0.5.1", +- "nullthrows": "^1.1.1" ++ "p-limit": "^2.2.0" + }, + "engines": { +- "node": ">=18" ++ "node": ">=8" ++ } ++ }, ++ "node_modules/@react-native-windows/fs": { ++ "version": "0.71.3", ++ "resolved": "https://registry.npmjs.org/@react-native-windows/fs/-/fs-0.71.3.tgz", ++ "integrity": "sha512-4Hb5MZpV747sEzg7U5EXhLyjjMAROEPhanw3shHs8Uky/9/mSw0IXI7uXbK+lBIMySSKksdezo4dx0uzpzBWGg==", ++ "dependencies": { ++ "graceful-fs": "^4.2.8" + }, +- "peerDependencies": { +- "@babel/preset-env": "^7.1.6" ++ "engines": { ++ "node": ">= 14" + } + }, +- "node_modules/@react-native/codegen/node_modules/mkdirp": { +- "version": "0.5.6", +- "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", +- "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", ++ "node_modules/@react-native-windows/package-utils": { ++ "version": "0.71.3", ++ "resolved": "https://registry.npmjs.org/@react-native-windows/package-utils/-/package-utils-0.71.3.tgz", ++ "integrity": "sha512-X9orwCA+1hREj+0c0UH8IoYq64wql/D3hWpug8aV271KVYwZOT90c+aOrW9GWL2ccM8LlRY251QC+HjImqJVHg==", + "dependencies": { +- "minimist": "^1.2.6" ++ "@react-native-windows/find-repo-root": "0.71.3", ++ "@react-native-windows/fs": "0.71.3", ++ "get-monorepo-packages": "^1.2.0", ++ "lodash": "^4.17.15" + }, +- "bin": { +- "mkdirp": "bin/cmd.js" ++ "engines": { ++ "node": ">= 14" + } + }, +- "node_modules/@react-native/community-cli-plugin": { +- "version": "0.73.16", +- "resolved": "https://registry.npmjs.org/@react-native/community-cli-plugin/-/community-cli-plugin-0.73.16.tgz", +- "integrity": "sha512-eNH3v3qJJF6f0n/Dck90qfC9gVOR4coAXMTdYECO33GfgjTi+73vf/SBqlXw9HICH/RNZYGPM3wca4FRF7TYeQ==", ++ "node_modules/@react-native-windows/telemetry": { ++ "version": "0.71.10", ++ "resolved": "https://registry.npmjs.org/@react-native-windows/telemetry/-/telemetry-0.71.10.tgz", ++ "integrity": "sha512-dE9viu0wX3DkRP0HON9fichR+f0zCiGIC3+GM8SS5uaPdPdwV6R5YEMzLtzlQDOmchx449NXa0OvREPavKc2EA==", + "dependencies": { +- "@react-native-community/cli-server-api": "12.3.2", +- "@react-native-community/cli-tools": "12.3.2", +- "@react-native/dev-middleware": "0.73.7", +- "@react-native/metro-babel-transformer": "0.73.15", +- "chalk": "^4.0.0", +- "execa": "^5.1.1", +- "metro": "^0.80.3", +- "metro-config": "^0.80.3", +- "metro-core": "^0.80.3", +- "node-fetch": "^2.2.0", +- "readline": "^1.3.0" ++ "@react-native-windows/fs": "0.71.3", ++ "@xmldom/xmldom": "^0.7.7", ++ "applicationinsights": "^2.3.1", ++ "ci-info": "^3.2.0", ++ "envinfo": "^7.8.1", ++ "lodash": "^4.17.21", ++ "os-locale": "^5.0.0", ++ "xpath": "^0.0.27" + }, + "engines": { +- "node": ">=18" ++ "node": ">= 14" + } + }, +- "node_modules/@react-native/community-cli-plugin/node_modules/@react-native/babel-plugin-codegen": { +- "version": "0.73.4", +- "resolved": "https://registry.npmjs.org/@react-native/babel-plugin-codegen/-/babel-plugin-codegen-0.73.4.tgz", +- "integrity": "sha512-XzRd8MJGo4Zc5KsphDHBYJzS1ryOHg8I2gOZDAUCGcwLFhdyGu1zBNDJYH2GFyDrInn9TzAbRIf3d4O+eltXQQ==", ++ "node_modules/@react-native/assets": { ++ "version": "1.0.0", ++ "resolved": "https://registry.npmjs.org/@react-native/assets/-/assets-1.0.0.tgz", ++ "integrity": "sha512-KrwSpS1tKI70wuKl68DwJZYEvXktDHdZMG0k2AXD/rJVSlB23/X2CB2cutVR0HwNMJIal9HOUOBB2rVfa6UGtQ==" ++ }, ++ "node_modules/@react-native/babel-plugin-codegen": { ++ "version": "0.73.3", ++ "resolved": "https://registry.npmjs.org/@react-native/babel-plugin-codegen/-/babel-plugin-codegen-0.73.3.tgz", ++ "integrity": "sha512-+zQrDDbz6lB48LyzFHxNCgXDCBHH+oTRdXAjikRcBUdeG9St9ABbYFLtb799zSxLOrCqFVyXqhJR2vlgLLEbcg==", ++ "dev": true, ++ "optional": true, ++ "peer": true, + "dependencies": { +- "@react-native/codegen": "0.73.3" ++ "@react-native/codegen": "0.73.2" + }, + "engines": { + "node": ">=18" + } + }, +- "node_modules/@react-native/community-cli-plugin/node_modules/@react-native/babel-preset": { +- "version": "0.73.21", +- "resolved": "https://registry.npmjs.org/@react-native/babel-preset/-/babel-preset-0.73.21.tgz", +- "integrity": "sha512-WlFttNnySKQMeujN09fRmrdWqh46QyJluM5jdtDNrkl/2Hx6N4XeDUGhABvConeK95OidVO7sFFf7sNebVXogA==", ++ "node_modules/@react-native/babel-preset": { ++ "version": "0.73.20", ++ "resolved": "https://registry.npmjs.org/@react-native/babel-preset/-/babel-preset-0.73.20.tgz", ++ "integrity": "sha512-fU9NqkusbfFq71l4BWQfqqD/lLcLC0MZ++UYgieA3j8lIEppJTLVauv2RwtD2yltBkjebgYEC5Rwvt1l0MUBXw==", ++ "dev": true, ++ "optional": true, ++ "peer": true, + "dependencies": { + "@babel/core": "^7.20.0", + "@babel/plugin-proposal-async-generator-functions": "^7.0.0", +@@ -5146,7 +6163,7 @@ + "@babel/plugin-transform-typescript": "^7.5.0", + "@babel/plugin-transform-unicode-regex": "^7.0.0", + "@babel/template": "^7.0.0", +- "@react-native/babel-plugin-codegen": "0.73.4", ++ "@react-native/babel-plugin-codegen": "0.73.3", + "babel-plugin-transform-flow-enums": "^0.0.2", + "react-refresh": "^0.14.0" + }, +@@ -5157,10 +6174,13 @@ + "@babel/core": "*" + } + }, +- "node_modules/@react-native/community-cli-plugin/node_modules/@react-native/codegen": { +- "version": "0.73.3", +- "resolved": "https://registry.npmjs.org/@react-native/codegen/-/codegen-0.73.3.tgz", +- "integrity": "sha512-sxslCAAb8kM06vGy9Jyh4TtvjhcP36k/rvj2QE2Jdhdm61KvfafCATSIsOfc0QvnduWFcpXUPvAVyYwuv7PYDg==", ++ "node_modules/@react-native/codegen": { ++ "version": "0.73.2", ++ "resolved": "https://registry.npmjs.org/@react-native/codegen/-/codegen-0.73.2.tgz", ++ "integrity": "sha512-lfy8S7umhE3QLQG5ViC4wg5N1Z+E6RnaeIw8w1voroQsXXGPB72IBozh8dAHR3+ceTxIU0KX3A8OpJI8e1+HpQ==", ++ "dev": true, ++ "optional": true, ++ "peer": true, + "dependencies": { + "@babel/parser": "^7.20.0", + "flow-parser": "^0.206.0", +@@ -5177,80 +6197,13 @@ + "@babel/preset-env": "^7.1.6" + } + }, +- "node_modules/@react-native/community-cli-plugin/node_modules/@react-native/metro-babel-transformer": { +- "version": "0.73.15", +- "resolved": "https://registry.npmjs.org/@react-native/metro-babel-transformer/-/metro-babel-transformer-0.73.15.tgz", +- "integrity": "sha512-LlkSGaXCz+xdxc9819plmpsl4P4gZndoFtpjN3GMBIu6f7TBV0GVbyJAU4GE8fuAWPVSVL5ArOcdkWKSbI1klw==", +- "dependencies": { +- "@babel/core": "^7.20.0", +- "@react-native/babel-preset": "0.73.21", +- "hermes-parser": "0.15.0", +- "nullthrows": "^1.1.1" +- }, +- "engines": { +- "node": ">=18" +- }, +- "peerDependencies": { +- "@babel/core": "*" +- } +- }, +- "node_modules/@react-native/community-cli-plugin/node_modules/ansi-styles": { +- "version": "4.3.0", +- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", +- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", +- "dependencies": { +- "color-convert": "^2.0.1" +- }, +- "engines": { +- "node": ">=8" +- }, +- "funding": { +- "url": "https://github.com/chalk/ansi-styles?sponsor=1" +- } +- }, +- "node_modules/@react-native/community-cli-plugin/node_modules/chalk": { +- "version": "4.1.2", +- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", +- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", +- "dependencies": { +- "ansi-styles": "^4.1.0", +- "supports-color": "^7.1.0" +- }, +- "engines": { +- "node": ">=10" +- }, +- "funding": { +- "url": "https://github.com/chalk/chalk?sponsor=1" +- } +- }, +- "node_modules/@react-native/community-cli-plugin/node_modules/color-convert": { +- "version": "2.0.1", +- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", +- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", +- "dependencies": { +- "color-name": "~1.1.4" +- }, +- "engines": { +- "node": ">=7.0.0" +- } +- }, +- "node_modules/@react-native/community-cli-plugin/node_modules/color-name": { +- "version": "1.1.4", +- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", +- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" +- }, +- "node_modules/@react-native/community-cli-plugin/node_modules/has-flag": { +- "version": "4.0.0", +- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", +- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", +- "engines": { +- "node": ">=8" +- } +- }, +- "node_modules/@react-native/community-cli-plugin/node_modules/mkdirp": { ++ "node_modules/@react-native/codegen/node_modules/mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", ++ "dev": true, ++ "optional": true, ++ "peer": true, + "dependencies": { + "minimist": "^1.2.6" + }, +@@ -5258,122 +6211,13 @@ + "mkdirp": "bin/cmd.js" + } + }, +- "node_modules/@react-native/community-cli-plugin/node_modules/supports-color": { +- "version": "7.2.0", +- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", +- "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", +- "dependencies": { +- "has-flag": "^4.0.0" +- }, +- "engines": { +- "node": ">=8" +- } +- }, +- "node_modules/@react-native/debugger-frontend": { +- "version": "0.73.3", +- "resolved": "https://registry.npmjs.org/@react-native/debugger-frontend/-/debugger-frontend-0.73.3.tgz", +- "integrity": "sha512-RgEKnWuoo54dh7gQhV7kvzKhXZEhpF9LlMdZolyhGxHsBqZ2gXdibfDlfcARFFifPIiaZ3lXuOVVa4ei+uPgTw==", +- "engines": { +- "node": ">=18" +- } +- }, +- "node_modules/@react-native/dev-middleware": { +- "version": "0.73.7", +- "resolved": "https://registry.npmjs.org/@react-native/dev-middleware/-/dev-middleware-0.73.7.tgz", +- "integrity": "sha512-BZXpn+qKp/dNdr4+TkZxXDttfx8YobDh8MFHsMk9usouLm22pKgFIPkGBV0X8Do4LBkFNPGtrnsKkWk/yuUXKg==", +- "dependencies": { +- "@isaacs/ttlcache": "^1.4.1", +- "@react-native/debugger-frontend": "0.73.3", +- "chrome-launcher": "^0.15.2", +- "chromium-edge-launcher": "^1.0.0", +- "connect": "^3.6.5", +- "debug": "^2.2.0", +- "node-fetch": "^2.2.0", +- "open": "^7.0.3", +- "serve-static": "^1.13.1", +- "temp-dir": "^2.0.0" +- }, +- "engines": { +- "node": ">=18" +- } +- }, +- "node_modules/@react-native/dev-middleware/node_modules/debug": { +- "version": "2.6.9", +- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", +- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", +- "dependencies": { +- "ms": "2.0.0" +- } +- }, +- "node_modules/@react-native/dev-middleware/node_modules/ms": { +- "version": "2.0.0", +- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", +- "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" +- }, +- "node_modules/@react-native/dev-middleware/node_modules/open": { +- "version": "7.4.2", +- "resolved": "https://registry.npmjs.org/open/-/open-7.4.2.tgz", +- "integrity": "sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==", +- "dependencies": { +- "is-docker": "^2.0.0", +- "is-wsl": "^2.1.1" +- }, +- "engines": { +- "node": ">=8" +- }, +- "funding": { +- "url": "https://github.com/sponsors/sindresorhus" +- } +- }, +- "node_modules/@react-native/eslint-config": { +- "version": "0.73.2", +- "resolved": "https://registry.npmjs.org/@react-native/eslint-config/-/eslint-config-0.73.2.tgz", +- "integrity": "sha512-YzMfes19loTfbrkbYNAfHBDXX4oRBzc5wnvHs4h2GIHUj6YKs5ZK5lldqSrBJCdZAI3nuaO9Qj+t5JRwou571w==", +- "dev": true, +- "dependencies": { +- "@babel/core": "^7.20.0", +- "@babel/eslint-parser": "^7.20.0", +- "@react-native/eslint-plugin": "0.73.1", +- "@typescript-eslint/eslint-plugin": "^5.57.1", +- "@typescript-eslint/parser": "^5.57.1", +- "eslint-config-prettier": "^8.5.0", +- "eslint-plugin-eslint-comments": "^3.2.0", +- "eslint-plugin-ft-flow": "^2.0.1", +- "eslint-plugin-jest": "^26.5.3", +- "eslint-plugin-prettier": "^4.2.1", +- "eslint-plugin-react": "^7.30.1", +- "eslint-plugin-react-hooks": "^4.6.0", +- "eslint-plugin-react-native": "^4.0.0" +- }, +- "engines": { +- "node": ">=18" +- }, +- "peerDependencies": { +- "eslint": ">=8", +- "prettier": ">=2" +- } +- }, +- "node_modules/@react-native/eslint-plugin": { +- "version": "0.73.1", +- "resolved": "https://registry.npmjs.org/@react-native/eslint-plugin/-/eslint-plugin-0.73.1.tgz", +- "integrity": "sha512-8BNMFE8CAI7JLWLOs3u33wcwcJ821LYs5g53Xyx9GhSg0h8AygTwDrwmYb/pp04FkCNCPjKPBoaYRthQZmxgwA==", +- "dev": true, +- "engines": { +- "node": ">=18" +- } +- }, +- "node_modules/@react-native/gradle-plugin": { +- "version": "0.73.4", +- "resolved": "https://registry.npmjs.org/@react-native/gradle-plugin/-/gradle-plugin-0.73.4.tgz", +- "integrity": "sha512-PMDnbsZa+tD55Ug+W8CfqXiGoGneSSyrBZCMb5JfiB3AFST3Uj5e6lw8SgI/B6SKZF7lG0BhZ6YHZsRZ5MlXmg==", +- "engines": { +- "node": ">=18" +- } +- }, + "node_modules/@react-native/js-polyfills": { + "version": "0.73.1", + "resolved": "https://registry.npmjs.org/@react-native/js-polyfills/-/js-polyfills-0.73.1.tgz", + "integrity": "sha512-ewMwGcumrilnF87H4jjrnvGZEaPFCAC4ebraEK+CurDDmwST/bIicI4hrOAv+0Z0F7DEK4O4H7r8q9vH7IbN4g==", ++ "dev": true, ++ "optional": true, ++ "peer": true, + "engines": { + "node": ">=18" + } +@@ -5383,6 +6227,8 @@ + "resolved": "https://registry.npmjs.org/@react-native/metro-babel-transformer/-/metro-babel-transformer-0.73.14.tgz", + "integrity": "sha512-5wLeYw/lormpSqYfI9H/geZ/EtPmi+x5qLkEit15Q/70hkzYo/M+aWztUtbOITfgTEOP8d6ybROzoGsqgyZLcw==", + "dev": true, ++ "optional": true, ++ "peer": true, + "dependencies": { + "@babel/core": "^7.20.0", + "@react-native/babel-preset": "0.73.20", +@@ -5401,6 +6247,8 @@ + "resolved": "https://registry.npmjs.org/@react-native/metro-config/-/metro-config-0.73.4.tgz", + "integrity": "sha512-4IpWb9InOY23ssua6z/ho2B4uRqF4QaNHGg4aV3D/og5yiVF39GEm/REHU36i+KoHRO3GcB6DrI7N9KrcvgGBw==", + "dev": true, ++ "optional": true, ++ "peer": true, + "dependencies": { + "@react-native/js-polyfills": "0.73.1", + "@react-native/metro-babel-transformer": "0.73.14", +@@ -5411,31 +6259,15 @@ + "node": ">=18" + } + }, +- "node_modules/@react-native/normalize-colors": { +- "version": "0.73.2", +- "resolved": "https://registry.npmjs.org/@react-native/normalize-colors/-/normalize-colors-0.73.2.tgz", +- "integrity": "sha512-bRBcb2T+I88aG74LMVHaKms2p/T8aQd8+BZ7LuuzXlRfog1bMWWn/C5i0HVuvW4RPtXQYgIlGiXVDy9Ir1So/w==" +- }, +- "node_modules/@react-native/typescript-config": { +- "version": "0.73.1", +- "resolved": "https://registry.npmjs.org/@react-native/typescript-config/-/typescript-config-0.73.1.tgz", +- "integrity": "sha512-7Wrmdp972ZO7xvDid+xRGtvX6xz47cpGj7Y7VKlUhSVFFqbOGfB5WCpY1vMr6R/fjl+Og2fRw+TETN2+JnJi0w==", +- "dev": true ++ "node_modules/@react-native/normalize-color": { ++ "version": "2.1.0", ++ "resolved": "https://registry.npmjs.org/@react-native/normalize-color/-/normalize-color-2.1.0.tgz", ++ "integrity": "sha512-Z1jQI2NpdFJCVgpY+8Dq/Bt3d+YUi1928Q+/CZm/oh66fzM0RUl54vvuXlPJKybH4pdCZey1eDTPaLHkMPNgWA==" + }, +- "node_modules/@react-native/virtualized-lists": { +- "version": "0.73.4", +- "resolved": "https://registry.npmjs.org/@react-native/virtualized-lists/-/virtualized-lists-0.73.4.tgz", +- "integrity": "sha512-HpmLg1FrEiDtrtAbXiwCgXFYyloK/dOIPIuWW3fsqukwJEWAiTzm1nXGJ7xPU5XTHiWZ4sKup5Ebaj8z7iyWog==", +- "dependencies": { +- "invariant": "^2.2.4", +- "nullthrows": "^1.1.1" +- }, +- "engines": { +- "node": ">=18" +- }, +- "peerDependencies": { +- "react-native": "*" +- } ++ "node_modules/@react-native/polyfills": { ++ "version": "2.0.0", ++ "resolved": "https://registry.npmjs.org/@react-native/polyfills/-/polyfills-2.0.0.tgz", ++ "integrity": "sha512-K0aGNn1TjalKj+65D7ycc1//H9roAQ51GJVk5ZJQFb2teECGmzd86bYDC0aYdbRf7gtovescq4Zt6FR0tgXiHQ==" + }, + "node_modules/@rnx-kit/console": { + "version": "1.0.12", +@@ -6094,6 +6926,11 @@ + "node": ">=6.5" + } + }, ++ "node_modules/absolute-path": { ++ "version": "0.0.0", ++ "resolved": "https://registry.npmjs.org/absolute-path/-/absolute-path-0.0.0.tgz", ++ "integrity": "sha512-HQiug4c+/s3WOvEnDRxXVmNtSG5s2gJM9r19BTcqjp7BWcE48PB+Y2G6jE65kqI0LpsQeMZygt/b60Gi4KxGyA==" ++ }, + "node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", +@@ -6247,23 +7084,23 @@ + "integrity": "sha512-Quji6+8kLBC3NnBeo14nPDq0+2jUs5s3/xEye+udFHumHhRk4M7aAMXp/PBJqkKYGuuyR9M/6Dq7d2AViiGmhw==" + }, + "node_modules/applicationinsights": { +- "version": "2.7.3", +- "resolved": "https://registry.npmjs.org/applicationinsights/-/applicationinsights-2.7.3.tgz", +- "integrity": "sha512-JY8+kTEkjbA+kAVNWDtpfW2lqsrDALfDXuxOs74KLPu2y13fy/9WB52V4LfYVTVcW1/jYOXjTxNS2gPZIDh1iw==", ++ "version": "2.9.4", ++ "resolved": "https://registry.npmjs.org/applicationinsights/-/applicationinsights-2.9.4.tgz", ++ "integrity": "sha512-mMWW/E+1wy3oreeH1xJd2N5WIwIz4xj3JKneHOi7gHFqPjxgFV68mdKMEeM3YhLK1nC6k+M6Ekhf7e9WhQCSSw==", + "dependencies": { + "@azure/core-auth": "^1.5.0", + "@azure/core-rest-pipeline": "1.10.1", + "@azure/core-util": "1.2.0", + "@azure/opentelemetry-instrumentation-azure-sdk": "^1.0.0-beta.5", +- "@microsoft/applicationinsights-web-snippet": "^1.0.1", +- "@opentelemetry/api": "^1.4.1", +- "@opentelemetry/core": "^1.15.2", +- "@opentelemetry/sdk-trace-base": "^1.15.2", +- "@opentelemetry/semantic-conventions": "^1.15.2", ++ "@microsoft/applicationinsights-web-snippet": "1.0.1", ++ "@opentelemetry/api": "^1.7.0", ++ "@opentelemetry/core": "^1.19.0", ++ "@opentelemetry/sdk-trace-base": "^1.19.0", ++ "@opentelemetry/semantic-conventions": "^1.19.0", + "cls-hooked": "^4.2.2", + "continuation-local-storage": "^3.2.1", + "diagnostic-channel": "1.1.1", +- "diagnostic-channel-publishers": "1.0.7" ++ "diagnostic-channel-publishers": "1.0.8" + }, + "engines": { + "node": ">=8.0.0" +@@ -6427,6 +7264,11 @@ + "node": ">=4" + } + }, ++ "node_modules/async": { ++ "version": "3.2.5", ++ "resolved": "https://registry.npmjs.org/async/-/async-3.2.5.tgz", ++ "integrity": "sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==" ++ }, + "node_modules/async-hook-jl": { + "version": "1.7.6", + "resolved": "https://registry.npmjs.org/async-hook-jl/-/async-hook-jl-1.7.6.tgz", +@@ -6655,10 +7497,18 @@ + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, ++ "node_modules/babel-plugin-syntax-trailing-function-commas": { ++ "version": "7.0.0-beta.0", ++ "resolved": "https://registry.npmjs.org/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-7.0.0-beta.0.tgz", ++ "integrity": "sha512-Xj9XuRuz3nTSbaTXWv3itLOcxyF4oPD8douBBmj7U9BBC6nEBYfyOJYQMf/8PJAFotC62UY5dFfIGEPr7WswzQ==" ++ }, + "node_modules/babel-plugin-transform-flow-enums": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-flow-enums/-/babel-plugin-transform-flow-enums-0.0.2.tgz", + "integrity": "sha512-g4aaCrDDOsWjbm0PUUeVnkcVd6AKJsVc/MbnPhEotEpkeJQP6b8nzewohQi7+QS8UyPehOhGWn0nOwjvWpmMvQ==", ++ "dev": true, ++ "optional": true, ++ "peer": true, + "dependencies": { + "@babel/plugin-syntax-flow": "^7.12.1" + } +@@ -6686,6 +7536,43 @@ + "@babel/core": "^7.0.0" + } + }, ++ "node_modules/babel-preset-fbjs": { ++ "version": "3.4.0", ++ "resolved": "https://registry.npmjs.org/babel-preset-fbjs/-/babel-preset-fbjs-3.4.0.tgz", ++ "integrity": "sha512-9ywCsCvo1ojrw0b+XYk7aFvTH6D9064t0RIL1rtMf3nsa02Xw41MS7sZw216Im35xj/UY0PDBQsa1brUDDF1Ow==", ++ "dependencies": { ++ "@babel/plugin-proposal-class-properties": "^7.0.0", ++ "@babel/plugin-proposal-object-rest-spread": "^7.0.0", ++ "@babel/plugin-syntax-class-properties": "^7.0.0", ++ "@babel/plugin-syntax-flow": "^7.0.0", ++ "@babel/plugin-syntax-jsx": "^7.0.0", ++ "@babel/plugin-syntax-object-rest-spread": "^7.0.0", ++ "@babel/plugin-transform-arrow-functions": "^7.0.0", ++ "@babel/plugin-transform-block-scoped-functions": "^7.0.0", ++ "@babel/plugin-transform-block-scoping": "^7.0.0", ++ "@babel/plugin-transform-classes": "^7.0.0", ++ "@babel/plugin-transform-computed-properties": "^7.0.0", ++ "@babel/plugin-transform-destructuring": "^7.0.0", ++ "@babel/plugin-transform-flow-strip-types": "^7.0.0", ++ "@babel/plugin-transform-for-of": "^7.0.0", ++ "@babel/plugin-transform-function-name": "^7.0.0", ++ "@babel/plugin-transform-literals": "^7.0.0", ++ "@babel/plugin-transform-member-expression-literals": "^7.0.0", ++ "@babel/plugin-transform-modules-commonjs": "^7.0.0", ++ "@babel/plugin-transform-object-super": "^7.0.0", ++ "@babel/plugin-transform-parameters": "^7.0.0", ++ "@babel/plugin-transform-property-literals": "^7.0.0", ++ "@babel/plugin-transform-react-display-name": "^7.0.0", ++ "@babel/plugin-transform-react-jsx": "^7.0.0", ++ "@babel/plugin-transform-shorthand-properties": "^7.0.0", ++ "@babel/plugin-transform-spread": "^7.0.0", ++ "@babel/plugin-transform-template-literals": "^7.0.0", ++ "babel-plugin-syntax-trailing-function-commas": "^7.0.0-beta.0" ++ }, ++ "peerDependencies": { ++ "@babel/core": "^7.0.0" ++ } ++ }, + "node_modules/babel-preset-jest": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.6.3.tgz", +@@ -6939,58 +7826,6 @@ + "node": ">=10" + } + }, +- "node_modules/chrome-launcher": { +- "version": "0.15.2", +- "resolved": "https://registry.npmjs.org/chrome-launcher/-/chrome-launcher-0.15.2.tgz", +- "integrity": "sha512-zdLEwNo3aUVzIhKhTtXfxhdvZhUghrnmkvcAq2NoDd+LeOHKf03H5jwZ8T/STsAlzyALkBVK552iaG1fGf1xVQ==", +- "dependencies": { +- "@types/node": "*", +- "escape-string-regexp": "^4.0.0", +- "is-wsl": "^2.2.0", +- "lighthouse-logger": "^1.0.0" +- }, +- "bin": { +- "print-chrome-path": "bin/print-chrome-path.js" +- }, +- "engines": { +- "node": ">=12.13.0" +- } +- }, +- "node_modules/chrome-launcher/node_modules/escape-string-regexp": { +- "version": "4.0.0", +- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", +- "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", +- "engines": { +- "node": ">=10" +- }, +- "funding": { +- "url": "https://github.com/sponsors/sindresorhus" +- } +- }, +- "node_modules/chromium-edge-launcher": { +- "version": "1.0.0", +- "resolved": "https://registry.npmjs.org/chromium-edge-launcher/-/chromium-edge-launcher-1.0.0.tgz", +- "integrity": "sha512-pgtgjNKZ7i5U++1g1PWv75umkHvhVTDOQIZ+sjeUX9483S7Y6MUvO0lrd7ShGlQlFHMN4SwKTCq/X8hWrbv2KA==", +- "dependencies": { +- "@types/node": "*", +- "escape-string-regexp": "^4.0.0", +- "is-wsl": "^2.2.0", +- "lighthouse-logger": "^1.0.0", +- "mkdirp": "^1.0.4", +- "rimraf": "^3.0.2" +- } +- }, +- "node_modules/chromium-edge-launcher/node_modules/escape-string-regexp": { +- "version": "4.0.0", +- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", +- "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", +- "engines": { +- "node": ">=10" +- }, +- "funding": { +- "url": "https://github.com/sponsors/sindresorhus" +- } +- }, + "node_modules/ci-info": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", +@@ -7463,6 +8298,7 @@ + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", ++ "dev": true, + "engines": { + "node": ">=0.10.0" + } +@@ -7531,16 +8367,13 @@ + } + }, + "node_modules/deprecated-react-native-prop-types": { +- "version": "5.0.0", +- "resolved": "https://registry.npmjs.org/deprecated-react-native-prop-types/-/deprecated-react-native-prop-types-5.0.0.tgz", +- "integrity": "sha512-cIK8KYiiGVOFsKdPMmm1L3tA/Gl+JopXL6F5+C7x39MyPsQYnP57Im/D6bNUzcborD7fcMwiwZqcBdBXXZucYQ==", ++ "version": "3.0.2", ++ "resolved": "https://registry.npmjs.org/deprecated-react-native-prop-types/-/deprecated-react-native-prop-types-3.0.2.tgz", ++ "integrity": "sha512-JoZY5iNM+oJlN2Ldpq0KSi0h3Nig4hlNJj5nWzWp8eL3uikMCvHwjSGPitwkEw0arL5JFra5nuGJQpXRbEjApg==", + "dependencies": { +- "@react-native/normalize-colors": "^0.73.0", ++ "@react-native/normalize-color": "^2.1.0", + "invariant": "^2.2.4", + "prop-types": "^15.8.1" +- }, +- "engines": { +- "node": ">=18" + } + }, + "node_modules/destroy": { +@@ -7570,9 +8403,9 @@ + } + }, + "node_modules/diagnostic-channel-publishers": { +- "version": "1.0.7", +- "resolved": "https://registry.npmjs.org/diagnostic-channel-publishers/-/diagnostic-channel-publishers-1.0.7.tgz", +- "integrity": "sha512-SEECbY5AiVt6DfLkhkaHNeshg1CogdLLANA8xlG/TKvS+XUgvIKl7VspJGYiEdL5OUyzMVnr7o0AwB7f+/Mjtg==", ++ "version": "1.0.8", ++ "resolved": "https://registry.npmjs.org/diagnostic-channel-publishers/-/diagnostic-channel-publishers-1.0.8.tgz", ++ "integrity": "sha512-HmSm9hXxSPxA9BaLGY98QU1zsdjeCk113KjAYGPCen1ZP6mhVaTPzHd6UYv5r21DnWANi+f+NyPOHruGT9jpqQ==", + "peerDependencies": { + "diagnostic-channel": "*" + } +@@ -7589,9 +8422,9 @@ + } + }, + "node_modules/diagnostic-channel/node_modules/semver": { +- "version": "7.5.4", +- "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", +- "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", ++ "version": "7.6.0", ++ "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", ++ "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "dependencies": { + "lru-cache": "^6.0.0" + }, +@@ -7691,9 +8524,9 @@ + } + }, + "node_modules/envinfo": { +- "version": "7.11.0", +- "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.11.0.tgz", +- "integrity": "sha512-G9/6xF1FPbIw0TtalAMaVPpiq2aDEuKLXM314jPVAO9r2fo2a4BLqMNkmRS7O/xPPZ+COAhGIz3ETvHEV3eUcg==", ++ "version": "7.11.1", ++ "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.11.1.tgz", ++ "integrity": "sha512-8PiZgZNIB4q/Lw4AhOvAfB/ityHAd2bli3lESSWmWSzSsl5dKpy5N1d1Rfkd2teq/g9xN90lc6o98DOjMeYHpg==", + "bin": { + "envinfo": "dist/cli.js" + }, +@@ -8390,6 +9223,7 @@ + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", ++ "dev": true, + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", +@@ -8716,11 +9550,6 @@ + "integrity": "sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==", + "dev": true + }, +- "node_modules/flow-enums-runtime": { +- "version": "0.0.6", +- "resolved": "https://registry.npmjs.org/flow-enums-runtime/-/flow-enums-runtime-0.0.6.tgz", +- "integrity": "sha512-3PYnM29RFXwvAN6Pc/scUfkI7RwhQ/xqyLUyPNlXUp9S40zI8nup9tUSrTLSVnWGBN38FNiGWbwZOB6uR4OGdw==" +- }, + "node_modules/flow-parser": { + "version": "0.206.0", + "resolved": "https://registry.npmjs.org/flow-parser/-/flow-parser-0.206.0.tgz", +@@ -8940,6 +9769,7 @@ + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", ++ "dev": true, + "engines": { + "node": ">=10" + }, +@@ -9141,12 +9971,18 @@ + "node_modules/hermes-estree": { + "version": "0.15.0", + "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.15.0.tgz", +- "integrity": "sha512-lLYvAd+6BnOqWdnNbP/Q8xfl8LOGw4wVjfrNd9Gt8eoFzhNBRVD95n4l2ksfMVOoxuVyegs85g83KS9QOsxbVQ==" ++ "integrity": "sha512-lLYvAd+6BnOqWdnNbP/Q8xfl8LOGw4wVjfrNd9Gt8eoFzhNBRVD95n4l2ksfMVOoxuVyegs85g83KS9QOsxbVQ==", ++ "dev": true, ++ "optional": true, ++ "peer": true + }, + "node_modules/hermes-parser": { + "version": "0.15.0", + "resolved": "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.15.0.tgz", + "integrity": "sha512-Q1uks5rjZlE9RjMMjSUCkGrEIPI5pKJILeCtK1VmTj7U4pf3wVPoo+cxfu+s4cBAPy2JzikIIdCZgBoR6x7U1Q==", ++ "dev": true, ++ "optional": true, ++ "peer": true, + "dependencies": { + "hermes-estree": "0.15.0" + } +@@ -9228,6 +10064,7 @@ + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", ++ "dev": true, + "engines": { + "node": ">=10.17.0" + } +@@ -9263,6 +10100,9 @@ + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/image-size/-/image-size-1.1.1.tgz", + "integrity": "sha512-541xKlUw6jr/6gGuk92F+mYM5zaFAc5ahphvkqvNe2bQ6gVBkd6bfrmVJ2t4KDAfikAYZyIqTnktX3i6/aQDrQ==", ++ "dev": true, ++ "optional": true, ++ "peer": true, + "dependencies": { + "queue": "6.0.2" + }, +@@ -9391,11 +10231,6 @@ + "url": "https://github.com/sindresorhus/invert-kv?sponsor=1" + } + }, +- "node_modules/ip": { +- "version": "1.1.8", +- "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.8.tgz", +- "integrity": "sha512-PuExPYUiu6qMBQb4l06ecm6T6ujzhmh+MeJcW9wa89PoAz5pvd4zPgN5WJV104mb6S2T1AwNIAaB70JNrLQWhg==" +- }, + "node_modules/is-array-buffer": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz", +@@ -9504,20 +10339,6 @@ + "node": ">=0.10.0" + } + }, +- "node_modules/is-docker": { +- "version": "2.2.1", +- "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", +- "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", +- "bin": { +- "is-docker": "cli.js" +- }, +- "engines": { +- "node": ">=8" +- }, +- "funding": { +- "url": "https://github.com/sponsors/sindresorhus" +- } +- }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", +@@ -9792,14 +10613,11 @@ + } + }, + "node_modules/is-wsl": { +- "version": "2.2.0", +- "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", +- "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", +- "dependencies": { +- "is-docker": "^2.0.0" +- }, ++ "version": "1.1.0", ++ "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", ++ "integrity": "sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw==", + "engines": { +- "node": ">=8" ++ "node": ">=4" + } + }, + "node_modules/isarray": { +@@ -10483,6 +11301,7 @@ + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz", + "integrity": "sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==", ++ "dev": true, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } +@@ -11040,6 +11859,18 @@ + "node": ">=8" + } + }, ++ "node_modules/jest-serializer": { ++ "version": "27.5.1", ++ "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-27.5.1.tgz", ++ "integrity": "sha512-jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w==", ++ "dependencies": { ++ "@types/node": "*", ++ "graceful-fs": "^4.2.9" ++ }, ++ "engines": { ++ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" ++ } ++ }, + "node_modules/jest-snapshot": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.7.0.tgz", +@@ -11258,6 +12089,7 @@ + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.7.0.tgz", + "integrity": "sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==", ++ "dev": true, + "dependencies": { + "@jest/types": "^29.6.3", + "camelcase": "^6.2.0", +@@ -11274,6 +12106,7 @@ + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", ++ "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, +@@ -11288,6 +12121,7 @@ + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", ++ "dev": true, + "engines": { + "node": ">=10" + }, +@@ -11299,6 +12133,7 @@ + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", ++ "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" +@@ -11314,6 +12149,7 @@ + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", ++ "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, +@@ -11324,12 +12160,14 @@ + "node_modules/jest-validate/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", +- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" ++ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", ++ "dev": true + }, + "node_modules/jest-validate/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", ++ "dev": true, + "engines": { + "node": ">=8" + } +@@ -11338,6 +12176,7 @@ + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", ++ "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, +@@ -11438,6 +12277,7 @@ + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz", + "integrity": "sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==", ++ "dev": true, + "dependencies": { + "@types/node": "*", + "jest-util": "^29.7.0", +@@ -11452,6 +12292,7 @@ + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", ++ "dev": true, + "engines": { + "node": ">=8" + } +@@ -11460,6 +12301,7 @@ + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", ++ "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, +@@ -11471,9 +12313,9 @@ + } + }, + "node_modules/joi": { +- "version": "17.12.1", +- "resolved": "https://registry.npmjs.org/joi/-/joi-17.12.1.tgz", +- "integrity": "sha512-vtxmq+Lsc5SlfqotnfVjlViWfOL9nt/avKNbKYizwf6gsCfq9NYY/ceYRMFD8XDdrjJ9abJyScWmhmIiy+XRtQ==", ++ "version": "17.12.2", ++ "resolved": "https://registry.npmjs.org/joi/-/joi-17.12.2.tgz", ++ "integrity": "sha512-RonXAIzCiHLc8ss3Ibuz45u28GOsWE1UpfDXLbN/9NKbL4tCJf8TWYVKsoYuuh+sAUt7fsSNpA+r2+TBA6Wjmw==", + "dependencies": { + "@hapi/hoek": "^9.3.0", + "@hapi/topo": "^5.1.0", +@@ -11746,28 +12588,6 @@ + "node": ">= 0.8.0" + } + }, +- "node_modules/lighthouse-logger": { +- "version": "1.4.2", +- "resolved": "https://registry.npmjs.org/lighthouse-logger/-/lighthouse-logger-1.4.2.tgz", +- "integrity": "sha512-gPWxznF6TKmUHrOQjlVo2UbaL2EJ71mb2CCeRs/2qBpi4L/g4LUVc9+3lKQ6DTUZwJswfM7ainGrLO1+fOqa2g==", +- "dependencies": { +- "debug": "^2.6.9", +- "marky": "^1.2.2" +- } +- }, +- "node_modules/lighthouse-logger/node_modules/debug": { +- "version": "2.6.9", +- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", +- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", +- "dependencies": { +- "ms": "2.0.0" +- } +- }, +- "node_modules/lighthouse-logger/node_modules/ms": { +- "version": "2.0.0", +- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", +- "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" +- }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", +@@ -12160,11 +12980,6 @@ + "node": ">=6" + } + }, +- "node_modules/marky": { +- "version": "1.2.5", +- "resolved": "https://registry.npmjs.org/marky/-/marky-1.2.5.tgz", +- "integrity": "sha512-q9JtQJKjpsVxCRVgQ+WapguSbKC3SQ5HEzFGPAJMStgh3QjCawp00UKv3MTTAArTmGmmPUvllHZoNbZ3gs0I+Q==" +- }, + "node_modules/mem": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/mem/-/mem-5.1.1.tgz", +@@ -12200,6 +13015,9 @@ + "version": "0.80.5", + "resolved": "https://registry.npmjs.org/metro/-/metro-0.80.5.tgz", + "integrity": "sha512-OE/CGbOgbi8BlTN1QqJgKOBaC27dS0JBQw473JcivrpgVnqIsluROA7AavEaTVUrB9wPUZvoNVDROn5uiM2jfw==", ++ "dev": true, ++ "optional": true, ++ "peer": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "@babel/core": "^7.20.0", +@@ -12256,6 +13074,9 @@ + "version": "0.80.5", + "resolved": "https://registry.npmjs.org/metro-babel-transformer/-/metro-babel-transformer-0.80.5.tgz", + "integrity": "sha512-sxH6hcWCorhTbk4kaShCWsadzu99WBL4Nvq4m/sDTbp32//iGuxtAnUK+ZV+6IEygr2u9Z0/4XoZ8Sbcl71MpA==", ++ "dev": true, ++ "optional": true, ++ "peer": true, + "dependencies": { + "@babel/core": "^7.20.0", + "hermes-parser": "0.18.2", +@@ -12268,12 +13089,18 @@ + "node_modules/metro-babel-transformer/node_modules/hermes-estree": { + "version": "0.18.2", + "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.18.2.tgz", +- "integrity": "sha512-KoLsoWXJ5o81nit1wSyEZnWUGy9cBna9iYMZBR7skKh7okYAYKqQ9/OczwpMHn/cH0hKDyblulGsJ7FknlfVxQ==" ++ "integrity": "sha512-KoLsoWXJ5o81nit1wSyEZnWUGy9cBna9iYMZBR7skKh7okYAYKqQ9/OczwpMHn/cH0hKDyblulGsJ7FknlfVxQ==", ++ "dev": true, ++ "optional": true, ++ "peer": true + }, + "node_modules/metro-babel-transformer/node_modules/hermes-parser": { + "version": "0.18.2", + "resolved": "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.18.2.tgz", + "integrity": "sha512-1eQfvib+VPpgBZ2zYKQhpuOjw1tH+Emuib6QmjkJWJMhyjM8xnXMvA+76o9LhF0zOAJDZgPfQhg43cyXEyl5Ew==", ++ "dev": true, ++ "optional": true, ++ "peer": true, + "dependencies": { + "hermes-estree": "0.18.2" + } +@@ -12282,6 +13109,9 @@ + "version": "0.80.5", + "resolved": "https://registry.npmjs.org/metro-cache/-/metro-cache-0.80.5.tgz", + "integrity": "sha512-2u+dQ4PZwmC7eZo9uMBNhQQMig9f+w4QWBZwXCdVy/RYOHM0eObgGdMEOwODo73uxie82T9lWzxr3aZOZ+Nqtw==", ++ "dev": true, ++ "optional": true, ++ "peer": true, + "dependencies": { + "metro-core": "0.80.5", + "rimraf": "^3.0.2" +@@ -12294,6 +13124,9 @@ + "version": "0.80.5", + "resolved": "https://registry.npmjs.org/metro-cache-key/-/metro-cache-key-0.80.5.tgz", + "integrity": "sha512-fr3QLZUarsB3tRbVcmr34kCBsTHk0Sh9JXGvBY/w3b2lbre+Lq5gtgLyFElHPecGF7o4z1eK9r3ubxtScHWcbA==", ++ "dev": true, ++ "optional": true, ++ "peer": true, + "engines": { + "node": ">=18" + } +@@ -12302,6 +13135,9 @@ + "version": "0.80.5", + "resolved": "https://registry.npmjs.org/metro-config/-/metro-config-0.80.5.tgz", + "integrity": "sha512-elqo/lwvF+VjZ1OPyvmW/9hSiGlmcqu+rQvDKw5F5WMX48ZC+ySTD1WcaD7e97pkgAlJHVYqZ98FCjRAYOAFRQ==", ++ "dev": true, ++ "optional": true, ++ "peer": true, + "dependencies": { + "connect": "^3.6.5", + "cosmiconfig": "^5.0.5", +@@ -12319,6 +13155,9 @@ + "version": "0.80.5", + "resolved": "https://registry.npmjs.org/metro-core/-/metro-core-0.80.5.tgz", + "integrity": "sha512-vkLuaBhnZxTVpaZO8ZJVEHzjaqSXpOdpAiztSZ+NDaYM6jEFgle3/XIbLW91jTSf2+T8Pj5yB1G7KuOX+BcVwg==", ++ "dev": true, ++ "optional": true, ++ "peer": true, + "dependencies": { + "lodash.throttle": "^4.1.1", + "metro-resolver": "0.80.5" +@@ -12331,6 +13170,9 @@ + "version": "0.80.5", + "resolved": "https://registry.npmjs.org/metro-file-map/-/metro-file-map-0.80.5.tgz", + "integrity": "sha512-bKCvJ05drjq6QhQxnDUt3I8x7bTcHo3IIKVobEr14BK++nmxFGn/BmFLRzVBlghM6an3gqwpNEYxS5qNc+VKcg==", ++ "dev": true, ++ "optional": true, ++ "peer": true, + "dependencies": { + "anymatch": "^3.0.3", + "debug": "^2.2.0", +@@ -12354,11 +13196,49 @@ + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", ++ "dev": true, ++ "optional": true, ++ "peer": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/metro-file-map/node_modules/ms": { ++ "version": "2.0.0", ++ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", ++ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", ++ "dev": true, ++ "optional": true, ++ "peer": true ++ }, ++ "node_modules/metro-hermes-compiler": { ++ "version": "0.73.10", ++ "resolved": "https://registry.npmjs.org/metro-hermes-compiler/-/metro-hermes-compiler-0.73.10.tgz", ++ "integrity": "sha512-rTRWEzkVrwtQLiYkOXhSdsKkIObnL+Jqo+IXHI7VEK2aSLWRAbtGNqECBs44kbOUypDYTFFE+WLtoqvUWqYkWg==" ++ }, ++ "node_modules/metro-inspector-proxy": { ++ "version": "0.73.10", ++ "resolved": "https://registry.npmjs.org/metro-inspector-proxy/-/metro-inspector-proxy-0.73.10.tgz", ++ "integrity": "sha512-CEEvocYc5xCCZBtGSIggMCiRiXTrnBbh8pmjKQqm9TtJZALeOGyt5pXUaEkKGnhrXETrexsg6yIbsQHhEvVfvQ==", ++ "dependencies": { ++ "connect": "^3.6.5", ++ "debug": "^2.2.0", ++ "ws": "^7.5.1", ++ "yargs": "^17.5.1" ++ }, ++ "bin": { ++ "metro-inspector-proxy": "src/cli.js" ++ } ++ }, ++ "node_modules/metro-inspector-proxy/node_modules/debug": { ++ "version": "2.6.9", ++ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", ++ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", ++ "dependencies": { ++ "ms": "2.0.0" ++ } ++ }, ++ "node_modules/metro-inspector-proxy/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" +@@ -12367,17 +13247,175 @@ + "version": "0.80.5", + "resolved": "https://registry.npmjs.org/metro-minify-terser/-/metro-minify-terser-0.80.5.tgz", + "integrity": "sha512-S7oZLLcab6YXUT6jYFX/ZDMN7Fq6xBGGAG8liMFU1UljX6cTcEC2u+UIafYgCLrdVexp/+ClxrIetVPZ5LtL/g==", ++ "dev": true, ++ "optional": true, ++ "peer": true, + "dependencies": { + "terser": "^5.15.0" + }, + "engines": { +- "node": ">=18" ++ "node": ">=18" ++ } ++ }, ++ "node_modules/metro-minify-uglify": { ++ "version": "0.73.10", ++ "resolved": "https://registry.npmjs.org/metro-minify-uglify/-/metro-minify-uglify-0.73.10.tgz", ++ "integrity": "sha512-eocnSeJKnLz/UoYntVFhCJffED7SLSgbCHgNvI6ju6hFb6EFHGJT9OLbkJWeXaWBWD3Zw5mYLS8GGqGn/CHZPA==", ++ "dependencies": { ++ "uglify-es": "^3.1.9" ++ } ++ }, ++ "node_modules/metro-react-native-babel-preset": { ++ "version": "0.73.10", ++ "resolved": "https://registry.npmjs.org/metro-react-native-babel-preset/-/metro-react-native-babel-preset-0.73.10.tgz", ++ "integrity": "sha512-1/dnH4EHwFb2RKEKx34vVDpUS3urt2WEeR8FYim+ogqALg4sTpG7yeQPxWpbgKATezt4rNfqAANpIyH19MS4BQ==", ++ "dependencies": { ++ "@babel/core": "^7.20.0", ++ "@babel/plugin-proposal-async-generator-functions": "^7.0.0", ++ "@babel/plugin-proposal-class-properties": "^7.0.0", ++ "@babel/plugin-proposal-export-default-from": "^7.0.0", ++ "@babel/plugin-proposal-nullish-coalescing-operator": "^7.0.0", ++ "@babel/plugin-proposal-object-rest-spread": "^7.0.0", ++ "@babel/plugin-proposal-optional-catch-binding": "^7.0.0", ++ "@babel/plugin-proposal-optional-chaining": "^7.0.0", ++ "@babel/plugin-syntax-dynamic-import": "^7.0.0", ++ "@babel/plugin-syntax-export-default-from": "^7.0.0", ++ "@babel/plugin-syntax-flow": "^7.18.0", ++ "@babel/plugin-syntax-nullish-coalescing-operator": "^7.0.0", ++ "@babel/plugin-syntax-optional-chaining": "^7.0.0", ++ "@babel/plugin-transform-arrow-functions": "^7.0.0", ++ "@babel/plugin-transform-async-to-generator": "^7.0.0", ++ "@babel/plugin-transform-block-scoping": "^7.0.0", ++ "@babel/plugin-transform-classes": "^7.0.0", ++ "@babel/plugin-transform-computed-properties": "^7.0.0", ++ "@babel/plugin-transform-destructuring": "^7.0.0", ++ "@babel/plugin-transform-flow-strip-types": "^7.0.0", ++ "@babel/plugin-transform-function-name": "^7.0.0", ++ "@babel/plugin-transform-literals": "^7.0.0", ++ "@babel/plugin-transform-modules-commonjs": "^7.0.0", ++ "@babel/plugin-transform-named-capturing-groups-regex": "^7.0.0", ++ "@babel/plugin-transform-parameters": "^7.0.0", ++ "@babel/plugin-transform-react-display-name": "^7.0.0", ++ "@babel/plugin-transform-react-jsx": "^7.0.0", ++ "@babel/plugin-transform-react-jsx-self": "^7.0.0", ++ "@babel/plugin-transform-react-jsx-source": "^7.0.0", ++ "@babel/plugin-transform-runtime": "^7.0.0", ++ "@babel/plugin-transform-shorthand-properties": "^7.0.0", ++ "@babel/plugin-transform-spread": "^7.0.0", ++ "@babel/plugin-transform-sticky-regex": "^7.0.0", ++ "@babel/plugin-transform-template-literals": "^7.0.0", ++ "@babel/plugin-transform-typescript": "^7.5.0", ++ "@babel/plugin-transform-unicode-regex": "^7.0.0", ++ "@babel/template": "^7.0.0", ++ "react-refresh": "^0.4.0" ++ }, ++ "peerDependencies": { ++ "@babel/core": "*" ++ } ++ }, ++ "node_modules/metro-react-native-babel-preset/node_modules/react-refresh": { ++ "version": "0.4.3", ++ "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.4.3.tgz", ++ "integrity": "sha512-Hwln1VNuGl/6bVwnd0Xdn1e84gT/8T9aYNL+HAKDArLCS7LWjwr7StE30IEYbIkx0Vi3vs+coQxe+SQDbGbbpA==", ++ "engines": { ++ "node": ">=0.10.0" ++ } ++ }, ++ "node_modules/metro-react-native-babel-transformer": { ++ "version": "0.73.10", ++ "resolved": "https://registry.npmjs.org/metro-react-native-babel-transformer/-/metro-react-native-babel-transformer-0.73.10.tgz", ++ "integrity": "sha512-4G/upwqKdmKEjmsNa92/NEgsOxUWOygBVs+FXWfXWKgybrmcjh3NoqdRYrROo9ZRA/sB9Y/ZXKVkWOGKHtGzgg==", ++ "dependencies": { ++ "@babel/core": "^7.20.0", ++ "babel-preset-fbjs": "^3.4.0", ++ "hermes-parser": "0.8.0", ++ "metro-babel-transformer": "0.73.10", ++ "metro-react-native-babel-preset": "0.73.10", ++ "metro-source-map": "0.73.10", ++ "nullthrows": "^1.1.1" ++ }, ++ "peerDependencies": { ++ "@babel/core": "*" ++ } ++ }, ++ "node_modules/metro-react-native-babel-transformer/node_modules/hermes-estree": { ++ "version": "0.8.0", ++ "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.8.0.tgz", ++ "integrity": "sha512-W6JDAOLZ5pMPMjEiQGLCXSSV7pIBEgRR5zGkxgmzGSXHOxqV5dC/M1Zevqpbm9TZDE5tu358qZf8Vkzmsc+u7Q==" ++ }, ++ "node_modules/metro-react-native-babel-transformer/node_modules/hermes-parser": { ++ "version": "0.8.0", ++ "resolved": "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.8.0.tgz", ++ "integrity": "sha512-yZKalg1fTYG5eOiToLUaw69rQfZq/fi+/NtEXRU7N87K/XobNRhRWorh80oSge2lWUiZfTgUvRJH+XgZWrhoqA==", ++ "dependencies": { ++ "hermes-estree": "0.8.0" ++ } ++ }, ++ "node_modules/metro-react-native-babel-transformer/node_modules/metro-babel-transformer": { ++ "version": "0.73.10", ++ "resolved": "https://registry.npmjs.org/metro-babel-transformer/-/metro-babel-transformer-0.73.10.tgz", ++ "integrity": "sha512-Yv2myTSnpzt/lTyurLvqYbBkytvUJcLHN8XD3t7W6rGiLTQPzmf1zypHQLphvcAXtCWBOXFtH7KLOSi2/qMg+A==", ++ "dependencies": { ++ "@babel/core": "^7.20.0", ++ "hermes-parser": "0.8.0", ++ "metro-source-map": "0.73.10", ++ "nullthrows": "^1.1.1" ++ } ++ }, ++ "node_modules/metro-react-native-babel-transformer/node_modules/metro-source-map": { ++ "version": "0.73.10", ++ "resolved": "https://registry.npmjs.org/metro-source-map/-/metro-source-map-0.73.10.tgz", ++ "integrity": "sha512-NAGv14701p/YaFZ76KzyPkacBw/QlEJF1f8elfs23N1tC33YyKLDKvPAzFJiYqjdcFvuuuDCA8JCXd2TgLxNPw==", ++ "dependencies": { ++ "@babel/traverse": "^7.20.0", ++ "@babel/types": "^7.20.0", ++ "invariant": "^2.2.4", ++ "metro-symbolicate": "0.73.10", ++ "nullthrows": "^1.1.1", ++ "ob1": "0.73.10", ++ "source-map": "^0.5.6", ++ "vlq": "^1.0.0" ++ } ++ }, ++ "node_modules/metro-react-native-babel-transformer/node_modules/metro-symbolicate": { ++ "version": "0.73.10", ++ "resolved": "https://registry.npmjs.org/metro-symbolicate/-/metro-symbolicate-0.73.10.tgz", ++ "integrity": "sha512-PmCe3TOe1c/NVwMlB+B17me951kfkB3Wve5RqJn+ErPAj93od1nxicp6OJe7JT4QBRnpUP8p9tw2sHKqceIzkA==", ++ "dependencies": { ++ "invariant": "^2.2.4", ++ "metro-source-map": "0.73.10", ++ "nullthrows": "^1.1.1", ++ "source-map": "^0.5.6", ++ "through2": "^2.0.1", ++ "vlq": "^1.0.0" ++ }, ++ "bin": { ++ "metro-symbolicate": "src/index.js" ++ }, ++ "engines": { ++ "node": ">=8.3" ++ } ++ }, ++ "node_modules/metro-react-native-babel-transformer/node_modules/ob1": { ++ "version": "0.73.10", ++ "resolved": "https://registry.npmjs.org/ob1/-/ob1-0.73.10.tgz", ++ "integrity": "sha512-aO6EYC+QRRCkZxVJhCWhLKgVjhNuD6Gu1riGjxrIm89CqLsmKgxzYDDEsktmKsoDeRdWGQM5EdMzXDl5xcVfsw==" ++ }, ++ "node_modules/metro-react-native-babel-transformer/node_modules/source-map": { ++ "version": "0.5.7", ++ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", ++ "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", ++ "engines": { ++ "node": ">=0.10.0" + } + }, + "node_modules/metro-resolver": { + "version": "0.80.5", + "resolved": "https://registry.npmjs.org/metro-resolver/-/metro-resolver-0.80.5.tgz", + "integrity": "sha512-haJ/Hveio3zv/Fr4eXVdKzjUeHHDogYok7OpRqPSXGhTXisNXB+sLN7CpcUrCddFRUDLnVaqQOYwhYsFndgUwA==", ++ "dev": true, ++ "optional": true, ++ "peer": true, + "engines": { + "node": ">=18" + } +@@ -12386,6 +13424,9 @@ + "version": "0.80.5", + "resolved": "https://registry.npmjs.org/metro-runtime/-/metro-runtime-0.80.5.tgz", + "integrity": "sha512-L0syTWJUdWzfUmKgkScr6fSBVTh6QDr8eKEkRtn40OBd8LPagrJGySBboWSgbyn9eIb4ayW3Y347HxgXBSAjmg==", ++ "dev": true, ++ "optional": true, ++ "peer": true, + "dependencies": { + "@babel/runtime": "^7.0.0" + }, +@@ -12397,6 +13438,9 @@ + "version": "0.80.5", + "resolved": "https://registry.npmjs.org/metro-source-map/-/metro-source-map-0.80.5.tgz", + "integrity": "sha512-DwSF4l03mKPNqCtyQ6K23I43qzU1BViAXnuH81eYWdHglP+sDlPpY+/7rUahXEo6qXEHXfAJgVoo1sirbXbmsQ==", ++ "dev": true, ++ "optional": true, ++ "peer": true, + "dependencies": { + "@babel/traverse": "^7.20.0", + "@babel/types": "^7.20.0", +@@ -12415,6 +13459,9 @@ + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", ++ "dev": true, ++ "optional": true, ++ "peer": true, + "engines": { + "node": ">=0.10.0" + } +@@ -12423,6 +13470,9 @@ + "version": "0.80.5", + "resolved": "https://registry.npmjs.org/metro-symbolicate/-/metro-symbolicate-0.80.5.tgz", + "integrity": "sha512-IsM4mTYvmo9JvIqwEkCZ5+YeDVPST78Q17ZgljfLdHLSpIivOHp9oVoiwQ/YGbLx0xRHRIS/tKiXueWBnj3UWA==", ++ "dev": true, ++ "optional": true, ++ "peer": true, + "dependencies": { + "invariant": "^2.2.4", + "metro-source-map": "0.80.5", +@@ -12442,6 +13492,9 @@ + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", ++ "dev": true, ++ "optional": true, ++ "peer": true, + "engines": { + "node": ">=0.10.0" + } +@@ -12450,6 +13503,9 @@ + "version": "0.80.5", + "resolved": "https://registry.npmjs.org/metro-transform-plugins/-/metro-transform-plugins-0.80.5.tgz", + "integrity": "sha512-7IdlTqK/k5+qE3RvIU5QdCJUPk4tHWEqgVuYZu8exeW+s6qOJ66hGIJjXY/P7ccucqF+D4nsbAAW5unkoUdS6g==", ++ "dev": true, ++ "optional": true, ++ "peer": true, + "dependencies": { + "@babel/core": "^7.20.0", + "@babel/generator": "^7.20.0", +@@ -12465,6 +13521,9 @@ + "version": "0.80.5", + "resolved": "https://registry.npmjs.org/metro-transform-worker/-/metro-transform-worker-0.80.5.tgz", + "integrity": "sha512-Q1oM7hfP+RBgAtzRFBDjPhArELUJF8iRCZ8OidqCpYzQJVGuJZ7InSnIf3hn1JyqiUQwv2f1LXBO78i2rAjzyA==", ++ "dev": true, ++ "optional": true, ++ "peer": true, + "dependencies": { + "@babel/core": "^7.20.0", + "@babel/generator": "^7.20.0", +@@ -12487,6 +13546,9 @@ + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", ++ "dev": true, ++ "optional": true, ++ "peer": true, + "dependencies": { + "color-convert": "^2.0.1" + }, +@@ -12501,6 +13563,9 @@ + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", ++ "dev": true, ++ "optional": true, ++ "peer": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" +@@ -12515,12 +13580,18 @@ + "node_modules/metro/node_modules/ci-info": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", +- "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==" ++ "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==", ++ "dev": true, ++ "optional": true, ++ "peer": true + }, + "node_modules/metro/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", ++ "dev": true, ++ "optional": true, ++ "peer": true, + "dependencies": { + "color-name": "~1.1.4" + }, +@@ -12531,12 +13602,18 @@ + "node_modules/metro/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", +- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" ++ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", ++ "dev": true, ++ "optional": true, ++ "peer": true + }, + "node_modules/metro/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", ++ "dev": true, ++ "optional": true, ++ "peer": true, + "dependencies": { + "ms": "2.0.0" + } +@@ -12545,6 +13622,9 @@ + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", ++ "dev": true, ++ "optional": true, ++ "peer": true, + "engines": { + "node": ">=8" + } +@@ -12552,12 +13632,18 @@ + "node_modules/metro/node_modules/hermes-estree": { + "version": "0.18.2", + "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.18.2.tgz", +- "integrity": "sha512-KoLsoWXJ5o81nit1wSyEZnWUGy9cBna9iYMZBR7skKh7okYAYKqQ9/OczwpMHn/cH0hKDyblulGsJ7FknlfVxQ==" ++ "integrity": "sha512-KoLsoWXJ5o81nit1wSyEZnWUGy9cBna9iYMZBR7skKh7okYAYKqQ9/OczwpMHn/cH0hKDyblulGsJ7FknlfVxQ==", ++ "dev": true, ++ "optional": true, ++ "peer": true + }, + "node_modules/metro/node_modules/hermes-parser": { + "version": "0.18.2", + "resolved": "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.18.2.tgz", + "integrity": "sha512-1eQfvib+VPpgBZ2zYKQhpuOjw1tH+Emuib6QmjkJWJMhyjM8xnXMvA+76o9LhF0zOAJDZgPfQhg43cyXEyl5Ew==", ++ "dev": true, ++ "optional": true, ++ "peer": true, + "dependencies": { + "hermes-estree": "0.18.2" + } +@@ -12565,12 +13651,18 @@ + "node_modules/metro/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", +- "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" ++ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", ++ "dev": true, ++ "optional": true, ++ "peer": true + }, + "node_modules/metro/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", ++ "dev": true, ++ "optional": true, ++ "peer": true, + "engines": { + "node": ">=0.10.0" + } +@@ -12579,6 +13671,9 @@ + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", ++ "dev": true, ++ "optional": true, ++ "peer": true, + "dependencies": { + "has-flag": "^4.0.0" + }, +@@ -12659,6 +13754,7 @@ + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", ++ "dev": true, + "bin": { + "mkdirp": "bin/cmd.js" + }, +@@ -12725,7 +13821,10 @@ + "node_modules/node-abort-controller": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/node-abort-controller/-/node-abort-controller-3.1.1.tgz", +- "integrity": "sha512-AGK2yQKIjRuqnc6VkX2Xj5d+QW8xZ87pa1UK6yA6ouUyuxfHuMP6umE5QK7UmTeOAymo+Zx1Fxiuw9rVx8taHQ==" ++ "integrity": "sha512-AGK2yQKIjRuqnc6VkX2Xj5d+QW8xZ87pa1UK6yA6ouUyuxfHuMP6umE5QK7UmTeOAymo+Zx1Fxiuw9rVx8taHQ==", ++ "dev": true, ++ "optional": true, ++ "peer": true + }, + "node_modules/node-dir": { + "version": "0.1.17", +@@ -12807,6 +13906,9 @@ + "version": "0.80.5", + "resolved": "https://registry.npmjs.org/ob1/-/ob1-0.80.5.tgz", + "integrity": "sha512-zYDMnnNrFi/1Tqh0vo3PE4p97Tpl9/4MP2k2ECvkbLOZzQuAYZJLTUYVLZb7hJhbhjT+JJxAwBGS8iu5hCSd1w==", ++ "dev": true, ++ "optional": true, ++ "peer": true, + "engines": { + "node": ">=18" + } +@@ -12968,14 +14070,6 @@ + "node": ">=8" + } + }, +- "node_modules/open/node_modules/is-wsl": { +- "version": "1.1.0", +- "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", +- "integrity": "sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw==", +- "engines": { +- "node": ">=4" +- } +- }, + "node_modules/optionator": { + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", +@@ -13139,6 +14233,14 @@ + "node": ">=8.12.0" + } + }, ++ "node_modules/os-tmpdir": { ++ "version": "1.0.2", ++ "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", ++ "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", ++ "engines": { ++ "node": ">=0.10.0" ++ } ++ }, + "node_modules/p-defer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz", +@@ -13508,6 +14610,9 @@ + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/queue/-/queue-6.0.2.tgz", + "integrity": "sha512-iHZWu+q3IdFZFX36ro/lKBkSvfkztY5Y7HMiPlOUjhupPcG2JMfst2KKEpu5XndviX/3UhFbRngUPNKtgvtZiA==", ++ "dev": true, ++ "optional": true, ++ "peer": true, + "dependencies": { + "inherits": "~2.0.3" + } +@@ -13565,107 +14670,126 @@ + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" + }, + "node_modules/react-native": { +- "version": "0.73.4", +- "resolved": "https://registry.npmjs.org/react-native/-/react-native-0.73.4.tgz", +- "integrity": "sha512-VtS+Yr6OOTIuJGDECIYWzNU8QpJjASQYvMtfa/Hvm/2/h5GdB6W9H9TOmh13x07Lj4AOhNMx3XSsz6TdrO4jIg==", +- "dependencies": { +- "@jest/create-cache-key-function": "^29.6.3", +- "@react-native-community/cli": "12.3.2", +- "@react-native-community/cli-platform-android": "12.3.2", +- "@react-native-community/cli-platform-ios": "12.3.2", +- "@react-native/assets-registry": "0.73.1", +- "@react-native/codegen": "0.73.3", +- "@react-native/community-cli-plugin": "0.73.16", +- "@react-native/gradle-plugin": "0.73.4", +- "@react-native/js-polyfills": "0.73.1", +- "@react-native/normalize-colors": "0.73.2", +- "@react-native/virtualized-lists": "0.73.4", ++ "version": "0.71.16", ++ "resolved": "https://registry.npmjs.org/react-native/-/react-native-0.71.16.tgz", ++ "integrity": "sha512-fyeudppU0xATgGweyPVcOgYrhLAgBvvIEqUfG5wD+U0ZpVe3f7YQpDsqVOrD0ScomWmraFw634D4zFyenHMSAw==", ++ "dependencies": { ++ "@jest/create-cache-key-function": "^29.2.1", ++ "@react-native-community/cli": "10.2.6", ++ "@react-native-community/cli-platform-android": "10.2.0", ++ "@react-native-community/cli-platform-ios": "10.2.5", ++ "@react-native/assets": "1.0.0", ++ "@react-native/normalize-color": "2.1.0", ++ "@react-native/polyfills": "2.0.0", + "abort-controller": "^3.0.0", + "anser": "^1.4.9", + "ansi-regex": "^5.0.0", +- "base64-js": "^1.5.1", +- "chalk": "^4.0.0", +- "deprecated-react-native-prop-types": "^5.0.0", ++ "base64-js": "^1.1.2", ++ "deprecated-react-native-prop-types": "^3.0.1", + "event-target-shim": "^5.0.1", +- "flow-enums-runtime": "^0.0.6", + "invariant": "^2.2.4", +- "jest-environment-node": "^29.6.3", ++ "jest-environment-node": "^29.2.1", + "jsc-android": "^250231.0.0", + "memoize-one": "^5.0.0", +- "metro-runtime": "^0.80.3", +- "metro-source-map": "^0.80.3", ++ "metro-react-native-babel-transformer": "0.73.10", ++ "metro-runtime": "0.73.10", ++ "metro-source-map": "0.73.10", + "mkdirp": "^0.5.1", + "nullthrows": "^1.1.1", + "pretty-format": "^26.5.2", + "promise": "^8.3.0", +- "react-devtools-core": "^4.27.7", +- "react-refresh": "^0.14.0", ++ "react-devtools-core": "^4.26.1", ++ "react-native-codegen": "^0.71.6", ++ "react-native-gradle-plugin": "^0.71.19", ++ "react-refresh": "^0.4.0", + "react-shallow-renderer": "^16.15.0", + "regenerator-runtime": "^0.13.2", +- "scheduler": "0.24.0-canary-efb381bbf-20230505", +- "stacktrace-parser": "^0.1.10", ++ "scheduler": "^0.23.0", ++ "stacktrace-parser": "^0.1.3", ++ "use-sync-external-store": "^1.0.0", + "whatwg-fetch": "^3.0.0", +- "ws": "^6.2.2", +- "yargs": "^17.6.2" ++ "ws": "^6.2.2" + }, + "bin": { + "react-native": "cli.js" + }, + "engines": { +- "node": ">=18" ++ "node": ">=14" + }, + "peerDependencies": { + "react": "18.2.0" + } + }, ++ "node_modules/react-native-codegen": { ++ "version": "0.71.6", ++ "resolved": "https://registry.npmjs.org/react-native-codegen/-/react-native-codegen-0.71.6.tgz", ++ "integrity": "sha512-e5pR4VldIhEaFctfSAEgxbng0uG4gjBQxAHes3EKLdosH/Av90pQfSe9IDVdFIngvNPzt8Y14pNjrtqov/yNIg==", ++ "dependencies": { ++ "@babel/parser": "^7.14.0", ++ "flow-parser": "^0.185.0", ++ "jscodeshift": "^0.14.0", ++ "nullthrows": "^1.1.1" ++ } ++ }, ++ "node_modules/react-native-codegen/node_modules/flow-parser": { ++ "version": "0.185.2", ++ "resolved": "https://registry.npmjs.org/flow-parser/-/flow-parser-0.185.2.tgz", ++ "integrity": "sha512-2hJ5ACYeJCzNtiVULov6pljKOLygy0zddoqSI1fFetM+XRPpRshFdGEijtqlamA1XwyZ+7rhryI6FQFzvtLWUQ==", ++ "engines": { ++ "node": ">=0.4.0" ++ } ++ }, ++ "node_modules/react-native-gradle-plugin": { ++ "version": "0.71.19", ++ "resolved": "https://registry.npmjs.org/react-native-gradle-plugin/-/react-native-gradle-plugin-0.71.19.tgz", ++ "integrity": "sha512-1dVk9NwhoyKHCSxcrM6vY6cxmojeATsBobDicX0ZKr7DgUF2cBQRTKsimQFvzH8XhOVXyH8p4HyDSZNIFI8OlQ==" ++ }, + "node_modules/react-native-macos": { +- "version": "0.73.11", +- "resolved": "https://registry.npmjs.org/react-native-macos/-/react-native-macos-0.73.11.tgz", +- "integrity": "sha512-TxLo7lH8Q1RjkqJEZRKTGZV0PLXagQD5BR2MH3qD8hvZs6C58b3/OiwdRPGlj2l0zx7xKzhkKE2q0fo/ikISOQ==", +- "dependencies": { +- "@jest/create-cache-key-function": "^29.6.3", +- "@react-native-community/cli": "12.1.1", +- "@react-native-community/cli-platform-android": "12.1.1", +- "@react-native-community/cli-platform-ios": "12.1.1", +- "@react-native-mac/virtualized-lists": "^0.73.3", +- "@react-native/assets-registry": "^0.73.1", +- "@react-native/codegen": "^0.73.2", +- "@react-native/community-cli-plugin": "^0.73.10", +- "@react-native/gradle-plugin": "^0.73.4", +- "@react-native/js-polyfills": "^0.73.1", +- "@react-native/normalize-colors": "^0.73.2", ++ "version": "0.71.36", ++ "resolved": "https://registry.npmjs.org/react-native-macos/-/react-native-macos-0.71.36.tgz", ++ "integrity": "sha512-7Mj8E10gGfVFdsPWMZoJraGweqg7cz0kHEkui0U9I5bwsuehgtNQNWAwfeCZP1zPLgyR4x9sx6eoBefOaq2aVQ==", ++ "dependencies": { ++ "@jest/create-cache-key-function": "^29.2.1", ++ "@react-native-community/cli": "10.2.4", ++ "@react-native-community/cli-platform-android": "10.2.0", ++ "@react-native-community/cli-platform-ios": "10.2.4", ++ "@react-native/assets": "1.0.0", ++ "@react-native/normalize-color": "2.1.0", ++ "@react-native/polyfills": "2.0.0", + "abort-controller": "^3.0.0", + "anser": "^1.4.9", + "ansi-regex": "^5.0.0", +- "base64-js": "^1.5.1", +- "deprecated-react-native-prop-types": "^5.0.0", ++ "base64-js": "^1.1.2", ++ "deprecated-react-native-prop-types": "^3.0.1", + "event-target-shim": "^5.0.1", +- "flow-enums-runtime": "^0.0.6", + "invariant": "^2.2.4", +- "jest-environment-node": "^29.6.3", ++ "jest-environment-node": "^29.2.1", + "jsc-android": "^250231.0.0", + "memoize-one": "^5.0.0", +- "metro-runtime": "^0.80.0", +- "metro-source-map": "^0.80.0", ++ "metro-react-native-babel-transformer": "0.73.10", ++ "metro-runtime": "0.73.10", ++ "metro-source-map": "0.73.10", + "mkdirp": "^0.5.1", + "nullthrows": "^1.1.1", + "pretty-format": "^26.5.2", + "promise": "^8.3.0", +- "react-devtools-core": "^4.27.7", +- "react-refresh": "^0.14.0", ++ "react-devtools-core": "^4.26.1", ++ "react-native-codegen": "^0.71.5", ++ "react-native-gradle-plugin": "^0.71.19", ++ "react-refresh": "^0.4.0", + "react-shallow-renderer": "^16.15.0", + "regenerator-runtime": "^0.13.2", +- "scheduler": "0.24.0-canary-efb381bbf-20230505", +- "stacktrace-parser": "^0.1.10", ++ "scheduler": "^0.23.0", ++ "stacktrace-parser": "^0.1.3", ++ "use-sync-external-store": "^1.0.0", + "whatwg-fetch": "^3.0.0", +- "ws": "^6.2.2", +- "yargs": "^17.6.2" ++ "ws": "^6.2.2" + }, + "bin": { + "react-native-macos": "cli.js" + }, + "engines": { +- "node": ">=18" ++ "node": ">=14" + }, + "peerDependencies": { + "react": "18.2.0" +@@ -13687,207 +14811,48 @@ + } + }, + "node_modules/react-native-macos/node_modules/@react-native-community/cli": { +- "version": "12.1.1", +- "resolved": "https://registry.npmjs.org/@react-native-community/cli/-/cli-12.1.1.tgz", +- "integrity": "sha512-St/lyxQ//crrigfE2QCqmjDb0IH3S9nmolm0eqmCA1bB8WWUk5dpjTgQk6xxDxz+3YtMghDJkGZPK4AxDXT42g==", +- "dependencies": { +- "@react-native-community/cli-clean": "12.1.1", +- "@react-native-community/cli-config": "12.1.1", +- "@react-native-community/cli-debugger-ui": "12.1.1", +- "@react-native-community/cli-doctor": "12.1.1", +- "@react-native-community/cli-hermes": "12.1.1", +- "@react-native-community/cli-plugin-metro": "12.1.1", +- "@react-native-community/cli-server-api": "12.1.1", +- "@react-native-community/cli-tools": "12.1.1", +- "@react-native-community/cli-types": "12.1.1", ++ "version": "10.2.4", ++ "resolved": "https://registry.npmjs.org/@react-native-community/cli/-/cli-10.2.4.tgz", ++ "integrity": "sha512-E9BUDHfLEsnjkjeJqECuCjl4E/1Ox9Nl6hkQBhEqjZm4AaQxgU7M6AyFfOgaXn5v3am16/R4ZOUTrJnGJWS3GA==", ++ "dependencies": { ++ "@react-native-community/cli-clean": "^10.1.1", ++ "@react-native-community/cli-config": "^10.1.1", ++ "@react-native-community/cli-debugger-ui": "^10.0.0", ++ "@react-native-community/cli-doctor": "^10.2.4", ++ "@react-native-community/cli-hermes": "^10.2.0", ++ "@react-native-community/cli-plugin-metro": "^10.2.3", ++ "@react-native-community/cli-server-api": "^10.1.1", ++ "@react-native-community/cli-tools": "^10.1.1", ++ "@react-native-community/cli-types": "^10.0.0", + "chalk": "^4.1.2", + "commander": "^9.4.1", +- "deepmerge": "^4.3.0", +- "execa": "^5.0.0", ++ "execa": "^1.0.0", + "find-up": "^4.1.0", + "fs-extra": "^8.1.0", + "graceful-fs": "^4.1.3", +- "prompts": "^2.4.2", +- "semver": "^7.5.2" ++ "prompts": "^2.4.0", ++ "semver": "^6.3.0" + }, + "bin": { + "react-native": "build/bin.js" + }, + "engines": { +- "node": ">=18" +- } +- }, +- "node_modules/react-native-macos/node_modules/@react-native-community/cli-clean": { +- "version": "12.1.1", +- "resolved": "https://registry.npmjs.org/@react-native-community/cli-clean/-/cli-clean-12.1.1.tgz", +- "integrity": "sha512-lbEQJ9xO8DmNbES7nFcGIQC0Q15e9q1zwKfkN2ty2eM93ZTFqYzOwsddlNoRN9FO7diakMWoWgielhcfcIeIrQ==", +- "dependencies": { +- "@react-native-community/cli-tools": "12.1.1", +- "chalk": "^4.1.2", +- "execa": "^5.0.0" +- } +- }, +- "node_modules/react-native-macos/node_modules/@react-native-community/cli-config": { +- "version": "12.1.1", +- "resolved": "https://registry.npmjs.org/@react-native-community/cli-config/-/cli-config-12.1.1.tgz", +- "integrity": "sha512-og8/yH7ZNMBcRJOGaHcn9BLt1WJF3XvgBw8iYsByVSEN7yvzAbYZ+CvfN6EdObGOqendbnE4lN9CVyQYM9Ufsw==", +- "dependencies": { +- "@react-native-community/cli-tools": "12.1.1", +- "chalk": "^4.1.2", +- "cosmiconfig": "^5.1.0", +- "deepmerge": "^4.3.0", +- "glob": "^7.1.3", +- "joi": "^17.2.1" +- } +- }, +- "node_modules/react-native-macos/node_modules/@react-native-community/cli-debugger-ui": { +- "version": "12.1.1", +- "resolved": "https://registry.npmjs.org/@react-native-community/cli-debugger-ui/-/cli-debugger-ui-12.1.1.tgz", +- "integrity": "sha512-q427jvbJ0WdDuS6HNdc3EbmUu/dX/+FWCcZI60xB7m1i/8p+LzmrsoR2yIJCricsAIV3hhiFOGfquZDgrbF27Q==", +- "dependencies": { +- "serve-static": "^1.13.1" +- } +- }, +- "node_modules/react-native-macos/node_modules/@react-native-community/cli-doctor": { +- "version": "12.1.1", +- "resolved": "https://registry.npmjs.org/@react-native-community/cli-doctor/-/cli-doctor-12.1.1.tgz", +- "integrity": "sha512-IUZJ/KUCuz+IzL9GdHUlIf6zF93XadxCBDPseUYb0ucIS+rEb3RmYC+IukYhUWwN3y4F/yxipYy3ytKrQ33AxA==", +- "dependencies": { +- "@react-native-community/cli-config": "12.1.1", +- "@react-native-community/cli-platform-android": "12.1.1", +- "@react-native-community/cli-platform-ios": "12.1.1", +- "@react-native-community/cli-tools": "12.1.1", +- "chalk": "^4.1.2", +- "command-exists": "^1.2.8", +- "deepmerge": "^4.3.0", +- "envinfo": "^7.10.0", +- "execa": "^5.0.0", +- "hermes-profile-transformer": "^0.0.6", +- "ip": "^1.1.5", +- "node-stream-zip": "^1.9.1", +- "ora": "^5.4.1", +- "semver": "^7.5.2", +- "strip-ansi": "^5.2.0", +- "wcwidth": "^1.0.1", +- "yaml": "^2.2.1" +- } +- }, +- "node_modules/react-native-macos/node_modules/@react-native-community/cli-hermes": { +- "version": "12.1.1", +- "resolved": "https://registry.npmjs.org/@react-native-community/cli-hermes/-/cli-hermes-12.1.1.tgz", +- "integrity": "sha512-J6yxQoZooFRT8+Dtz8Px/bwasQxnbxZZFAFQzOs3f6CAfXrcr/+JLVFZRWRv9XGfcuLdCHr22JUVPAnyEd48DA==", +- "dependencies": { +- "@react-native-community/cli-platform-android": "12.1.1", +- "@react-native-community/cli-tools": "12.1.1", +- "chalk": "^4.1.2", +- "hermes-profile-transformer": "^0.0.6", +- "ip": "^1.1.5" +- } +- }, +- "node_modules/react-native-macos/node_modules/@react-native-community/cli-platform-android": { +- "version": "12.1.1", +- "resolved": "https://registry.npmjs.org/@react-native-community/cli-platform-android/-/cli-platform-android-12.1.1.tgz", +- "integrity": "sha512-jnyc9y5cPltBo518pfVZ53dtKGDy02kkCkSIwv4ltaHYse7JyEFxFbzBn9lloWvbZ0iFHvEo1NN78YGPAlXSDw==", +- "dependencies": { +- "@react-native-community/cli-tools": "12.1.1", +- "chalk": "^4.1.2", +- "execa": "^5.0.0", +- "fast-xml-parser": "^4.2.4", +- "glob": "^7.1.3", +- "logkitty": "^0.7.1" ++ "node": ">=14" + } + }, + "node_modules/react-native-macos/node_modules/@react-native-community/cli-platform-ios": { +- "version": "12.1.1", +- "resolved": "https://registry.npmjs.org/@react-native-community/cli-platform-ios/-/cli-platform-ios-12.1.1.tgz", +- "integrity": "sha512-RA2lvFrswwQRIhCV3hoIYZmLe9TkRegpAWimdubtMxRHiv7Eh2dC0VWWR5VdWy3ltbJzeiEpxCoH/EcrMfp9tg==", ++ "version": "10.2.4", ++ "resolved": "https://registry.npmjs.org/@react-native-community/cli-platform-ios/-/cli-platform-ios-10.2.4.tgz", ++ "integrity": "sha512-/6K+jeRhcGojFIJMWMXV2eY5n/In+YUzBr/DKWQOeHBOHkESRNheG310xSAIjgB46YniSSUKhSyeuhalTbm9OQ==", + "dependencies": { +- "@react-native-community/cli-tools": "12.1.1", ++ "@react-native-community/cli-tools": "^10.1.1", + "chalk": "^4.1.2", +- "execa": "^5.0.0", ++ "execa": "^1.0.0", + "fast-xml-parser": "^4.0.12", + "glob": "^7.1.3", + "ora": "^5.4.1" + } + }, +- "node_modules/react-native-macos/node_modules/@react-native-community/cli-plugin-metro": { +- "version": "12.1.1", +- "resolved": "https://registry.npmjs.org/@react-native-community/cli-plugin-metro/-/cli-plugin-metro-12.1.1.tgz", +- "integrity": "sha512-HV+lW1mFSu6GL7du+0/tfq8/5jytKp+w3n4+MWzRkx5wXvUq3oJjzwe8y+ZvvCqkRPdsOiwFDgJrtPhvaZp+xA==" +- }, +- "node_modules/react-native-macos/node_modules/@react-native-community/cli-server-api": { +- "version": "12.1.1", +- "resolved": "https://registry.npmjs.org/@react-native-community/cli-server-api/-/cli-server-api-12.1.1.tgz", +- "integrity": "sha512-dUqqEmtEiCMyqFd6LF1UqH0WwXirK2tpU7YhyFsBbigBj3hPz2NmzghCe7DRIcC9iouU0guBxhgmiLtmUEPduQ==", +- "dependencies": { +- "@react-native-community/cli-debugger-ui": "12.1.1", +- "@react-native-community/cli-tools": "12.1.1", +- "compression": "^1.7.1", +- "connect": "^3.6.5", +- "errorhandler": "^1.5.1", +- "nocache": "^3.0.1", +- "pretty-format": "^26.6.2", +- "serve-static": "^1.13.1", +- "ws": "^7.5.1" +- } +- }, +- "node_modules/react-native-macos/node_modules/@react-native-community/cli-server-api/node_modules/ws": { +- "version": "7.5.9", +- "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", +- "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", +- "engines": { +- "node": ">=8.3.0" +- }, +- "peerDependencies": { +- "bufferutil": "^4.0.1", +- "utf-8-validate": "^5.0.2" +- }, +- "peerDependenciesMeta": { +- "bufferutil": { +- "optional": true +- }, +- "utf-8-validate": { +- "optional": true +- } +- } +- }, +- "node_modules/react-native-macos/node_modules/@react-native-community/cli-tools": { +- "version": "12.1.1", +- "resolved": "https://registry.npmjs.org/@react-native-community/cli-tools/-/cli-tools-12.1.1.tgz", +- "integrity": "sha512-c9vjDVojZnivGsLoVoTZsJjHnwBEI785yV8mgyKTVFx1sciK8lCsIj1Lke7jNpz7UAE1jW94nI7de2B1aQ9rbA==", +- "dependencies": { +- "appdirsjs": "^1.2.4", +- "chalk": "^4.1.2", +- "find-up": "^5.0.0", +- "mime": "^2.4.1", +- "node-fetch": "^2.6.0", +- "open": "^6.2.0", +- "ora": "^5.4.1", +- "semver": "^7.5.2", +- "shell-quote": "^1.7.3", +- "sudo-prompt": "^9.0.0" +- } +- }, +- "node_modules/react-native-macos/node_modules/@react-native-community/cli-types": { +- "version": "12.1.1", +- "resolved": "https://registry.npmjs.org/@react-native-community/cli-types/-/cli-types-12.1.1.tgz", +- "integrity": "sha512-B9lFEIc1/H2GjiyRCk6ISJNn06h5j0cWuokNm3FmeyGOoGIfm4XYUbnM6IpGlIDdQpTtUzZfNq8CL4CIJZXF0g==", +- "dependencies": { +- "joi": "^17.2.1" +- } +- }, +- "node_modules/react-native-macos/node_modules/@react-native-community/cli/node_modules/find-up": { +- "version": "4.1.0", +- "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", +- "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", +- "dependencies": { +- "locate-path": "^5.0.0", +- "path-exists": "^4.0.0" +- }, +- "engines": { +- "node": ">=8" +- } +- }, + "node_modules/react-native-macos/node_modules/@types/yargs": { + "version": "15.0.19", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.19.tgz", +@@ -13941,6 +14906,69 @@ + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, ++ "node_modules/react-native-macos/node_modules/cross-spawn": { ++ "version": "6.0.5", ++ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", ++ "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", ++ "dependencies": { ++ "nice-try": "^1.0.4", ++ "path-key": "^2.0.1", ++ "semver": "^5.5.0", ++ "shebang-command": "^1.2.0", ++ "which": "^1.2.9" ++ }, ++ "engines": { ++ "node": ">=4.8" ++ } ++ }, ++ "node_modules/react-native-macos/node_modules/cross-spawn/node_modules/semver": { ++ "version": "5.7.2", ++ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", ++ "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", ++ "bin": { ++ "semver": "bin/semver" ++ } ++ }, ++ "node_modules/react-native-macos/node_modules/execa": { ++ "version": "1.0.0", ++ "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", ++ "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", ++ "dependencies": { ++ "cross-spawn": "^6.0.0", ++ "get-stream": "^4.0.0", ++ "is-stream": "^1.1.0", ++ "npm-run-path": "^2.0.0", ++ "p-finally": "^1.0.0", ++ "signal-exit": "^3.0.0", ++ "strip-eof": "^1.0.0" ++ }, ++ "engines": { ++ "node": ">=6" ++ } ++ }, ++ "node_modules/react-native-macos/node_modules/find-up": { ++ "version": "4.1.0", ++ "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", ++ "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", ++ "dependencies": { ++ "locate-path": "^5.0.0", ++ "path-exists": "^4.0.0" ++ }, ++ "engines": { ++ "node": ">=8" ++ } ++ }, ++ "node_modules/react-native-macos/node_modules/get-stream": { ++ "version": "4.1.0", ++ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", ++ "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", ++ "dependencies": { ++ "pump": "^3.0.0" ++ }, ++ "engines": { ++ "node": ">=6" ++ } ++ }, + "node_modules/react-native-macos/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", +@@ -13949,6 +14977,14 @@ + "node": ">=8" + } + }, ++ "node_modules/react-native-macos/node_modules/is-stream": { ++ "version": "1.1.0", ++ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", ++ "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", ++ "engines": { ++ "node": ">=0.10.0" ++ } ++ }, + "node_modules/react-native-macos/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", +@@ -13960,15 +14996,47 @@ + "node": ">=8" + } + }, +- "node_modules/react-native-macos/node_modules/lru-cache": { +- "version": "6.0.0", +- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", +- "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", ++ "node_modules/react-native-macos/node_modules/metro-runtime": { ++ "version": "0.73.10", ++ "resolved": "https://registry.npmjs.org/metro-runtime/-/metro-runtime-0.73.10.tgz", ++ "integrity": "sha512-EpVKm4eN0Fgx2PEWpJ5NiMArV8zVoOin866jIIvzFLpmkZz1UEqgjf2JAfUJnjgv3fjSV3JqeGG2vZCaGQBTow==", + "dependencies": { +- "yallist": "^4.0.0" ++ "@babel/runtime": "^7.0.0", ++ "react-refresh": "^0.4.0" ++ } ++ }, ++ "node_modules/react-native-macos/node_modules/metro-source-map": { ++ "version": "0.73.10", ++ "resolved": "https://registry.npmjs.org/metro-source-map/-/metro-source-map-0.73.10.tgz", ++ "integrity": "sha512-NAGv14701p/YaFZ76KzyPkacBw/QlEJF1f8elfs23N1tC33YyKLDKvPAzFJiYqjdcFvuuuDCA8JCXd2TgLxNPw==", ++ "dependencies": { ++ "@babel/traverse": "^7.20.0", ++ "@babel/types": "^7.20.0", ++ "invariant": "^2.2.4", ++ "metro-symbolicate": "0.73.10", ++ "nullthrows": "^1.1.1", ++ "ob1": "0.73.10", ++ "source-map": "^0.5.6", ++ "vlq": "^1.0.0" ++ } ++ }, ++ "node_modules/react-native-macos/node_modules/metro-symbolicate": { ++ "version": "0.73.10", ++ "resolved": "https://registry.npmjs.org/metro-symbolicate/-/metro-symbolicate-0.73.10.tgz", ++ "integrity": "sha512-PmCe3TOe1c/NVwMlB+B17me951kfkB3Wve5RqJn+ErPAj93od1nxicp6OJe7JT4QBRnpUP8p9tw2sHKqceIzkA==", ++ "dependencies": { ++ "invariant": "^2.2.4", ++ "metro-source-map": "0.73.10", ++ "nullthrows": "^1.1.1", ++ "source-map": "^0.5.6", ++ "through2": "^2.0.1", ++ "vlq": "^1.0.0" ++ }, ++ "bin": { ++ "metro-symbolicate": "src/index.js" + }, + "engines": { +- "node": ">=10" ++ "node": ">=8.3" + } + }, + "node_modules/react-native-macos/node_modules/mkdirp": { +@@ -13982,6 +15050,22 @@ + "mkdirp": "bin/cmd.js" + } + }, ++ "node_modules/react-native-macos/node_modules/npm-run-path": { ++ "version": "2.0.2", ++ "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", ++ "integrity": "sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==", ++ "dependencies": { ++ "path-key": "^2.0.0" ++ }, ++ "engines": { ++ "node": ">=4" ++ } ++ }, ++ "node_modules/react-native-macos/node_modules/ob1": { ++ "version": "0.73.10", ++ "resolved": "https://registry.npmjs.org/ob1/-/ob1-0.73.10.tgz", ++ "integrity": "sha512-aO6EYC+QRRCkZxVJhCWhLKgVjhNuD6Gu1riGjxrIm89CqLsmKgxzYDDEsktmKsoDeRdWGQM5EdMzXDl5xcVfsw==" ++ }, + "node_modules/react-native-macos/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", +@@ -14007,6 +15091,14 @@ + "node": ">=8" + } + }, ++ "node_modules/react-native-macos/node_modules/path-key": { ++ "version": "2.0.1", ++ "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", ++ "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", ++ "engines": { ++ "node": ">=4" ++ } ++ }, + "node_modules/react-native-macos/node_modules/pretty-format": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz", +@@ -14026,42 +15118,44 @@ + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" + }, ++ "node_modules/react-native-macos/node_modules/react-refresh": { ++ "version": "0.4.3", ++ "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.4.3.tgz", ++ "integrity": "sha512-Hwln1VNuGl/6bVwnd0Xdn1e84gT/8T9aYNL+HAKDArLCS7LWjwr7StE30IEYbIkx0Vi3vs+coQxe+SQDbGbbpA==", ++ "engines": { ++ "node": ">=0.10.0" ++ } ++ }, + "node_modules/react-native-macos/node_modules/regenerator-runtime": { + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", + "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==" + }, +- "node_modules/react-native-macos/node_modules/semver": { +- "version": "7.5.4", +- "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", +- "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", ++ "node_modules/react-native-macos/node_modules/shebang-command": { ++ "version": "1.2.0", ++ "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", ++ "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", + "dependencies": { +- "lru-cache": "^6.0.0" +- }, +- "bin": { +- "semver": "bin/semver.js" ++ "shebang-regex": "^1.0.0" + }, + "engines": { +- "node": ">=10" ++ "node": ">=0.10.0" + } + }, +- "node_modules/react-native-macos/node_modules/strip-ansi": { +- "version": "5.2.0", +- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", +- "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", +- "dependencies": { +- "ansi-regex": "^4.1.0" +- }, ++ "node_modules/react-native-macos/node_modules/shebang-regex": { ++ "version": "1.0.0", ++ "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", ++ "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", + "engines": { +- "node": ">=6" ++ "node": ">=0.10.0" + } + }, +- "node_modules/react-native-macos/node_modules/strip-ansi/node_modules/ansi-regex": { +- "version": "4.1.1", +- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", +- "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", ++ "node_modules/react-native-macos/node_modules/source-map": { ++ "version": "0.5.7", ++ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", ++ "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "engines": { +- "node": ">=6" ++ "node": ">=0.10.0" + } + }, + "node_modules/react-native-macos/node_modules/supports-color": { +@@ -14075,6 +15169,17 @@ + "node": ">=8" + } + }, ++ "node_modules/react-native-macos/node_modules/which": { ++ "version": "1.3.1", ++ "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", ++ "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", ++ "dependencies": { ++ "isexe": "^2.0.0" ++ }, ++ "bin": { ++ "which": "bin/which" ++ } ++ }, + "node_modules/react-native-macos/node_modules/ws": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.2.tgz", +@@ -14083,11 +15188,6 @@ + "async-limiter": "~1.0.0" + } + }, +- "node_modules/react-native-macos/node_modules/yallist": { +- "version": "4.0.0", +- "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", +- "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" +- }, + "node_modules/react-native-permissions": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/react-native-permissions/-/react-native-permissions-3.10.1.tgz", +@@ -14272,58 +15372,52 @@ + "dev": true + }, + "node_modules/react-native-windows": { +- "version": "0.73.4", +- "resolved": "https://registry.npmjs.org/react-native-windows/-/react-native-windows-0.73.4.tgz", +- "integrity": "sha512-qk5Br2/EtAxUMYFhrn2erJm/LAM/RZz0DNoK6IV1Dmfkd3Cb0rPCiovJDdklFAWHL9ZKjfJ5ptEaT4HoNnjQow==", ++ "version": "0.71.44", ++ "resolved": "https://registry.npmjs.org/react-native-windows/-/react-native-windows-0.71.44.tgz", ++ "integrity": "sha512-+0VbijG434oHvk8E24L2rkI3tUtni48Nr+Pzw7MJL8OzdBJdF92ep1h9GeBW+3yzZbuFMQGVgX/aw174MPI8KQ==", + "dependencies": { + "@babel/runtime": "^7.0.0", +- "@jest/create-cache-key-function": "^29.6.3", +- "@react-native-community/cli": "12.1.1", +- "@react-native-community/cli-platform-android": "12.1.1", +- "@react-native-community/cli-platform-ios": "12.1.1", +- "@react-native-windows/cli": "0.73.1", ++ "@jest/create-cache-key-function": "^29.2.1", ++ "@react-native-community/cli": "10.2.4", ++ "@react-native-community/cli-platform-android": "10.2.0", ++ "@react-native-community/cli-platform-ios": "10.2.4", ++ "@react-native-windows/cli": "0.71.19", + "@react-native/assets": "1.0.0", +- "@react-native/assets-registry": "^0.73.1", +- "@react-native/codegen": "^0.73.2", +- "@react-native/community-cli-plugin": "^0.73.10", +- "@react-native/gradle-plugin": "^0.73.4", +- "@react-native/js-polyfills": "^0.73.1", +- "@react-native/normalize-colors": "^0.73.2", +- "@react-native/virtualized-lists": "^0.73.3", ++ "@react-native/normalize-color": "2.1.0", ++ "@react-native/polyfills": "2.0.0", + "abort-controller": "^3.0.0", + "anser": "^1.4.9", +- "ansi-regex": "^5.0.0", +- "base64-js": "^1.5.1", +- "deprecated-react-native-prop-types": "^5.0.0", ++ "base64-js": "^1.1.2", ++ "deprecated-react-native-prop-types": "^3.0.1", + "event-target-shim": "^5.0.1", +- "flow-enums-runtime": "^0.0.6", + "invariant": "^2.2.4", +- "jest-environment-node": "^29.6.3", +- "jsc-android": "^250231.0.0", ++ "jest-environment-node": "^29.2.1", + "memoize-one": "^5.0.0", +- "metro-runtime": "^0.80.0", +- "metro-source-map": "^0.80.0", ++ "metro-react-native-babel-transformer": "0.73.10", ++ "metro-runtime": "0.73.10", ++ "metro-source-map": "0.73.10", + "mkdirp": "^0.5.1", + "nullthrows": "^1.1.1", + "pretty-format": "^26.5.2", + "promise": "^8.3.0", +- "react-devtools-core": "^4.27.7", +- "react-refresh": "^0.14.0", ++ "react-devtools-core": "^4.26.1", ++ "react-native-codegen": "^0.71.5", ++ "react-refresh": "^0.4.0", + "react-shallow-renderer": "^16.15.0", + "regenerator-runtime": "^0.13.2", +- "scheduler": "0.24.0-canary-efb381bbf-20230505", ++ "scheduler": "^0.23.0", + "source-map-support": "^0.5.19", +- "stacktrace-parser": "^0.1.10", ++ "stacktrace-parser": "^0.1.3", ++ "use-sync-external-store": "^1.0.0", + "whatwg-fetch": "^3.0.0", +- "ws": "^6.2.2", +- "yargs": "^17.6.2" ++ "ws": "^6.2.2" + }, + "engines": { +- "node": ">= 18" ++ "node": ">= 14" + }, + "peerDependencies": { + "react": "18.2.0", +- "react-native": "^0.73.0" ++ "react-native": "^0.71.0" + } + }, + "node_modules/react-native-windows/node_modules/@jest/types": { +@@ -14342,260 +15436,164 @@ + } + }, + "node_modules/react-native-windows/node_modules/@react-native-community/cli": { +- "version": "12.1.1", +- "resolved": "https://registry.npmjs.org/@react-native-community/cli/-/cli-12.1.1.tgz", +- "integrity": "sha512-St/lyxQ//crrigfE2QCqmjDb0IH3S9nmolm0eqmCA1bB8WWUk5dpjTgQk6xxDxz+3YtMghDJkGZPK4AxDXT42g==", +- "dependencies": { +- "@react-native-community/cli-clean": "12.1.1", +- "@react-native-community/cli-config": "12.1.1", +- "@react-native-community/cli-debugger-ui": "12.1.1", +- "@react-native-community/cli-doctor": "12.1.1", +- "@react-native-community/cli-hermes": "12.1.1", +- "@react-native-community/cli-plugin-metro": "12.1.1", +- "@react-native-community/cli-server-api": "12.1.1", +- "@react-native-community/cli-tools": "12.1.1", +- "@react-native-community/cli-types": "12.1.1", ++ "version": "10.2.4", ++ "resolved": "https://registry.npmjs.org/@react-native-community/cli/-/cli-10.2.4.tgz", ++ "integrity": "sha512-E9BUDHfLEsnjkjeJqECuCjl4E/1Ox9Nl6hkQBhEqjZm4AaQxgU7M6AyFfOgaXn5v3am16/R4ZOUTrJnGJWS3GA==", ++ "dependencies": { ++ "@react-native-community/cli-clean": "^10.1.1", ++ "@react-native-community/cli-config": "^10.1.1", ++ "@react-native-community/cli-debugger-ui": "^10.0.0", ++ "@react-native-community/cli-doctor": "^10.2.4", ++ "@react-native-community/cli-hermes": "^10.2.0", ++ "@react-native-community/cli-plugin-metro": "^10.2.3", ++ "@react-native-community/cli-server-api": "^10.1.1", ++ "@react-native-community/cli-tools": "^10.1.1", ++ "@react-native-community/cli-types": "^10.0.0", + "chalk": "^4.1.2", + "commander": "^9.4.1", +- "deepmerge": "^4.3.0", +- "execa": "^5.0.0", ++ "execa": "^1.0.0", + "find-up": "^4.1.0", + "fs-extra": "^8.1.0", + "graceful-fs": "^4.1.3", +- "prompts": "^2.4.2", +- "semver": "^7.5.2" ++ "prompts": "^2.4.0", ++ "semver": "^6.3.0" + }, + "bin": { + "react-native": "build/bin.js" + }, + "engines": { +- "node": ">=18" +- } +- }, +- "node_modules/react-native-windows/node_modules/@react-native-community/cli-clean": { +- "version": "12.1.1", +- "resolved": "https://registry.npmjs.org/@react-native-community/cli-clean/-/cli-clean-12.1.1.tgz", +- "integrity": "sha512-lbEQJ9xO8DmNbES7nFcGIQC0Q15e9q1zwKfkN2ty2eM93ZTFqYzOwsddlNoRN9FO7diakMWoWgielhcfcIeIrQ==", +- "dependencies": { +- "@react-native-community/cli-tools": "12.1.1", +- "chalk": "^4.1.2", +- "execa": "^5.0.0" +- } +- }, +- "node_modules/react-native-windows/node_modules/@react-native-community/cli-config": { +- "version": "12.1.1", +- "resolved": "https://registry.npmjs.org/@react-native-community/cli-config/-/cli-config-12.1.1.tgz", +- "integrity": "sha512-og8/yH7ZNMBcRJOGaHcn9BLt1WJF3XvgBw8iYsByVSEN7yvzAbYZ+CvfN6EdObGOqendbnE4lN9CVyQYM9Ufsw==", +- "dependencies": { +- "@react-native-community/cli-tools": "12.1.1", +- "chalk": "^4.1.2", +- "cosmiconfig": "^5.1.0", +- "deepmerge": "^4.3.0", +- "glob": "^7.1.3", +- "joi": "^17.2.1" +- } +- }, +- "node_modules/react-native-windows/node_modules/@react-native-community/cli-debugger-ui": { +- "version": "12.1.1", +- "resolved": "https://registry.npmjs.org/@react-native-community/cli-debugger-ui/-/cli-debugger-ui-12.1.1.tgz", +- "integrity": "sha512-q427jvbJ0WdDuS6HNdc3EbmUu/dX/+FWCcZI60xB7m1i/8p+LzmrsoR2yIJCricsAIV3hhiFOGfquZDgrbF27Q==", +- "dependencies": { +- "serve-static": "^1.13.1" +- } +- }, +- "node_modules/react-native-windows/node_modules/@react-native-community/cli-doctor": { +- "version": "12.1.1", +- "resolved": "https://registry.npmjs.org/@react-native-community/cli-doctor/-/cli-doctor-12.1.1.tgz", +- "integrity": "sha512-IUZJ/KUCuz+IzL9GdHUlIf6zF93XadxCBDPseUYb0ucIS+rEb3RmYC+IukYhUWwN3y4F/yxipYy3ytKrQ33AxA==", +- "dependencies": { +- "@react-native-community/cli-config": "12.1.1", +- "@react-native-community/cli-platform-android": "12.1.1", +- "@react-native-community/cli-platform-ios": "12.1.1", +- "@react-native-community/cli-tools": "12.1.1", +- "chalk": "^4.1.2", +- "command-exists": "^1.2.8", +- "deepmerge": "^4.3.0", +- "envinfo": "^7.10.0", +- "execa": "^5.0.0", +- "hermes-profile-transformer": "^0.0.6", +- "ip": "^1.1.5", +- "node-stream-zip": "^1.9.1", +- "ora": "^5.4.1", +- "semver": "^7.5.2", +- "strip-ansi": "^5.2.0", +- "wcwidth": "^1.0.1", +- "yaml": "^2.2.1" +- } +- }, +- "node_modules/react-native-windows/node_modules/@react-native-community/cli-hermes": { +- "version": "12.1.1", +- "resolved": "https://registry.npmjs.org/@react-native-community/cli-hermes/-/cli-hermes-12.1.1.tgz", +- "integrity": "sha512-J6yxQoZooFRT8+Dtz8Px/bwasQxnbxZZFAFQzOs3f6CAfXrcr/+JLVFZRWRv9XGfcuLdCHr22JUVPAnyEd48DA==", +- "dependencies": { +- "@react-native-community/cli-platform-android": "12.1.1", +- "@react-native-community/cli-tools": "12.1.1", +- "chalk": "^4.1.2", +- "hermes-profile-transformer": "^0.0.6", +- "ip": "^1.1.5" +- } +- }, +- "node_modules/react-native-windows/node_modules/@react-native-community/cli-platform-android": { +- "version": "12.1.1", +- "resolved": "https://registry.npmjs.org/@react-native-community/cli-platform-android/-/cli-platform-android-12.1.1.tgz", +- "integrity": "sha512-jnyc9y5cPltBo518pfVZ53dtKGDy02kkCkSIwv4ltaHYse7JyEFxFbzBn9lloWvbZ0iFHvEo1NN78YGPAlXSDw==", +- "dependencies": { +- "@react-native-community/cli-tools": "12.1.1", +- "chalk": "^4.1.2", +- "execa": "^5.0.0", +- "fast-xml-parser": "^4.2.4", +- "glob": "^7.1.3", +- "logkitty": "^0.7.1" ++ "node": ">=14" + } + }, + "node_modules/react-native-windows/node_modules/@react-native-community/cli-platform-ios": { +- "version": "12.1.1", +- "resolved": "https://registry.npmjs.org/@react-native-community/cli-platform-ios/-/cli-platform-ios-12.1.1.tgz", +- "integrity": "sha512-RA2lvFrswwQRIhCV3hoIYZmLe9TkRegpAWimdubtMxRHiv7Eh2dC0VWWR5VdWy3ltbJzeiEpxCoH/EcrMfp9tg==", ++ "version": "10.2.4", ++ "resolved": "https://registry.npmjs.org/@react-native-community/cli-platform-ios/-/cli-platform-ios-10.2.4.tgz", ++ "integrity": "sha512-/6K+jeRhcGojFIJMWMXV2eY5n/In+YUzBr/DKWQOeHBOHkESRNheG310xSAIjgB46YniSSUKhSyeuhalTbm9OQ==", + "dependencies": { +- "@react-native-community/cli-tools": "12.1.1", ++ "@react-native-community/cli-tools": "^10.1.1", + "chalk": "^4.1.2", +- "execa": "^5.0.0", ++ "execa": "^1.0.0", + "fast-xml-parser": "^4.0.12", + "glob": "^7.1.3", + "ora": "^5.4.1" + } + }, +- "node_modules/react-native-windows/node_modules/@react-native-community/cli-plugin-metro": { +- "version": "12.1.1", +- "resolved": "https://registry.npmjs.org/@react-native-community/cli-plugin-metro/-/cli-plugin-metro-12.1.1.tgz", +- "integrity": "sha512-HV+lW1mFSu6GL7du+0/tfq8/5jytKp+w3n4+MWzRkx5wXvUq3oJjzwe8y+ZvvCqkRPdsOiwFDgJrtPhvaZp+xA==" +- }, +- "node_modules/react-native-windows/node_modules/@react-native-community/cli-server-api": { +- "version": "12.1.1", +- "resolved": "https://registry.npmjs.org/@react-native-community/cli-server-api/-/cli-server-api-12.1.1.tgz", +- "integrity": "sha512-dUqqEmtEiCMyqFd6LF1UqH0WwXirK2tpU7YhyFsBbigBj3hPz2NmzghCe7DRIcC9iouU0guBxhgmiLtmUEPduQ==", ++ "node_modules/react-native-windows/node_modules/@types/yargs": { ++ "version": "15.0.19", ++ "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.19.tgz", ++ "integrity": "sha512-2XUaGVmyQjgyAZldf0D0c14vvo/yv0MhQBSTJcejMMaitsn3nxCB6TmH4G0ZQf+uxROOa9mpanoSm8h6SG/1ZA==", + "dependencies": { +- "@react-native-community/cli-debugger-ui": "12.1.1", +- "@react-native-community/cli-tools": "12.1.1", +- "compression": "^1.7.1", +- "connect": "^3.6.5", +- "errorhandler": "^1.5.1", +- "nocache": "^3.0.1", +- "pretty-format": "^26.6.2", +- "serve-static": "^1.13.1", +- "ws": "^7.5.1" ++ "@types/yargs-parser": "*" + } + }, +- "node_modules/react-native-windows/node_modules/@react-native-community/cli-server-api/node_modules/ws": { +- "version": "7.5.9", +- "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", +- "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", +- "engines": { +- "node": ">=8.3.0" ++ "node_modules/react-native-windows/node_modules/ansi-styles": { ++ "version": "4.3.0", ++ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", ++ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", ++ "dependencies": { ++ "color-convert": "^2.0.1" + }, +- "peerDependencies": { +- "bufferutil": "^4.0.1", +- "utf-8-validate": "^5.0.2" ++ "engines": { ++ "node": ">=8" + }, +- "peerDependenciesMeta": { +- "bufferutil": { +- "optional": true +- }, +- "utf-8-validate": { +- "optional": true +- } ++ "funding": { ++ "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, +- "node_modules/react-native-windows/node_modules/@react-native-community/cli-tools": { +- "version": "12.1.1", +- "resolved": "https://registry.npmjs.org/@react-native-community/cli-tools/-/cli-tools-12.1.1.tgz", +- "integrity": "sha512-c9vjDVojZnivGsLoVoTZsJjHnwBEI785yV8mgyKTVFx1sciK8lCsIj1Lke7jNpz7UAE1jW94nI7de2B1aQ9rbA==", ++ "node_modules/react-native-windows/node_modules/chalk": { ++ "version": "4.1.2", ++ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", ++ "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { +- "appdirsjs": "^1.2.4", +- "chalk": "^4.1.2", +- "find-up": "^5.0.0", +- "mime": "^2.4.1", +- "node-fetch": "^2.6.0", +- "open": "^6.2.0", +- "ora": "^5.4.1", +- "semver": "^7.5.2", +- "shell-quote": "^1.7.3", +- "sudo-prompt": "^9.0.0" ++ "ansi-styles": "^4.1.0", ++ "supports-color": "^7.1.0" ++ }, ++ "engines": { ++ "node": ">=10" ++ }, ++ "funding": { ++ "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, +- "node_modules/react-native-windows/node_modules/@react-native-community/cli-types": { +- "version": "12.1.1", +- "resolved": "https://registry.npmjs.org/@react-native-community/cli-types/-/cli-types-12.1.1.tgz", +- "integrity": "sha512-B9lFEIc1/H2GjiyRCk6ISJNn06h5j0cWuokNm3FmeyGOoGIfm4XYUbnM6IpGlIDdQpTtUzZfNq8CL4CIJZXF0g==", ++ "node_modules/react-native-windows/node_modules/color-convert": { ++ "version": "2.0.1", ++ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", ++ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { +- "joi": "^17.2.1" ++ "color-name": "~1.1.4" ++ }, ++ "engines": { ++ "node": ">=7.0.0" + } + }, +- "node_modules/react-native-windows/node_modules/@react-native-community/cli/node_modules/find-up": { +- "version": "4.1.0", +- "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", +- "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", ++ "node_modules/react-native-windows/node_modules/color-name": { ++ "version": "1.1.4", ++ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", ++ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" ++ }, ++ "node_modules/react-native-windows/node_modules/cross-spawn": { ++ "version": "6.0.5", ++ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", ++ "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dependencies": { +- "locate-path": "^5.0.0", +- "path-exists": "^4.0.0" ++ "nice-try": "^1.0.4", ++ "path-key": "^2.0.1", ++ "semver": "^5.5.0", ++ "shebang-command": "^1.2.0", ++ "which": "^1.2.9" + }, + "engines": { +- "node": ">=8" ++ "node": ">=4.8" + } + }, +- "node_modules/react-native-windows/node_modules/@types/yargs": { +- "version": "15.0.19", +- "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.19.tgz", +- "integrity": "sha512-2XUaGVmyQjgyAZldf0D0c14vvo/yv0MhQBSTJcejMMaitsn3nxCB6TmH4G0ZQf+uxROOa9mpanoSm8h6SG/1ZA==", +- "dependencies": { +- "@types/yargs-parser": "*" ++ "node_modules/react-native-windows/node_modules/cross-spawn/node_modules/semver": { ++ "version": "5.7.2", ++ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", ++ "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", ++ "bin": { ++ "semver": "bin/semver" + } + }, +- "node_modules/react-native-windows/node_modules/ansi-styles": { +- "version": "4.3.0", +- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", +- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", ++ "node_modules/react-native-windows/node_modules/execa": { ++ "version": "1.0.0", ++ "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", ++ "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "dependencies": { +- "color-convert": "^2.0.1" ++ "cross-spawn": "^6.0.0", ++ "get-stream": "^4.0.0", ++ "is-stream": "^1.1.0", ++ "npm-run-path": "^2.0.0", ++ "p-finally": "^1.0.0", ++ "signal-exit": "^3.0.0", ++ "strip-eof": "^1.0.0" + }, + "engines": { +- "node": ">=8" +- }, +- "funding": { +- "url": "https://github.com/chalk/ansi-styles?sponsor=1" ++ "node": ">=6" + } + }, +- "node_modules/react-native-windows/node_modules/chalk": { +- "version": "4.1.2", +- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", +- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", ++ "node_modules/react-native-windows/node_modules/find-up": { ++ "version": "4.1.0", ++ "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", ++ "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dependencies": { +- "ansi-styles": "^4.1.0", +- "supports-color": "^7.1.0" ++ "locate-path": "^5.0.0", ++ "path-exists": "^4.0.0" + }, + "engines": { +- "node": ">=10" +- }, +- "funding": { +- "url": "https://github.com/chalk/chalk?sponsor=1" ++ "node": ">=8" + } + }, +- "node_modules/react-native-windows/node_modules/color-convert": { +- "version": "2.0.1", +- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", +- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", ++ "node_modules/react-native-windows/node_modules/get-stream": { ++ "version": "4.1.0", ++ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", ++ "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "dependencies": { +- "color-name": "~1.1.4" ++ "pump": "^3.0.0" + }, + "engines": { +- "node": ">=7.0.0" ++ "node": ">=6" + } + }, +- "node_modules/react-native-windows/node_modules/color-name": { +- "version": "1.1.4", +- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", +- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" +- }, + "node_modules/react-native-windows/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", +@@ -14604,6 +15602,14 @@ + "node": ">=8" + } + }, ++ "node_modules/react-native-windows/node_modules/is-stream": { ++ "version": "1.1.0", ++ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", ++ "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", ++ "engines": { ++ "node": ">=0.10.0" ++ } ++ }, + "node_modules/react-native-windows/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", +@@ -14615,15 +15621,63 @@ + "node": ">=8" + } + }, +- "node_modules/react-native-windows/node_modules/lru-cache": { +- "version": "6.0.0", +- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", +- "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", ++ "node_modules/react-native-windows/node_modules/metro-runtime": { ++ "version": "0.73.10", ++ "resolved": "https://registry.npmjs.org/metro-runtime/-/metro-runtime-0.73.10.tgz", ++ "integrity": "sha512-EpVKm4eN0Fgx2PEWpJ5NiMArV8zVoOin866jIIvzFLpmkZz1UEqgjf2JAfUJnjgv3fjSV3JqeGG2vZCaGQBTow==", + "dependencies": { +- "yallist": "^4.0.0" ++ "@babel/runtime": "^7.0.0", ++ "react-refresh": "^0.4.0" ++ } ++ }, ++ "node_modules/react-native-windows/node_modules/metro-source-map": { ++ "version": "0.73.10", ++ "resolved": "https://registry.npmjs.org/metro-source-map/-/metro-source-map-0.73.10.tgz", ++ "integrity": "sha512-NAGv14701p/YaFZ76KzyPkacBw/QlEJF1f8elfs23N1tC33YyKLDKvPAzFJiYqjdcFvuuuDCA8JCXd2TgLxNPw==", ++ "dependencies": { ++ "@babel/traverse": "^7.20.0", ++ "@babel/types": "^7.20.0", ++ "invariant": "^2.2.4", ++ "metro-symbolicate": "0.73.10", ++ "nullthrows": "^1.1.1", ++ "ob1": "0.73.10", ++ "source-map": "^0.5.6", ++ "vlq": "^1.0.0" ++ } ++ }, ++ "node_modules/react-native-windows/node_modules/metro-source-map/node_modules/source-map": { ++ "version": "0.5.7", ++ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", ++ "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", ++ "engines": { ++ "node": ">=0.10.0" ++ } ++ }, ++ "node_modules/react-native-windows/node_modules/metro-symbolicate": { ++ "version": "0.73.10", ++ "resolved": "https://registry.npmjs.org/metro-symbolicate/-/metro-symbolicate-0.73.10.tgz", ++ "integrity": "sha512-PmCe3TOe1c/NVwMlB+B17me951kfkB3Wve5RqJn+ErPAj93od1nxicp6OJe7JT4QBRnpUP8p9tw2sHKqceIzkA==", ++ "dependencies": { ++ "invariant": "^2.2.4", ++ "metro-source-map": "0.73.10", ++ "nullthrows": "^1.1.1", ++ "source-map": "^0.5.6", ++ "through2": "^2.0.1", ++ "vlq": "^1.0.0" ++ }, ++ "bin": { ++ "metro-symbolicate": "src/index.js" + }, + "engines": { +- "node": ">=10" ++ "node": ">=8.3" ++ } ++ }, ++ "node_modules/react-native-windows/node_modules/metro-symbolicate/node_modules/source-map": { ++ "version": "0.5.7", ++ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", ++ "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", ++ "engines": { ++ "node": ">=0.10.0" + } + }, + "node_modules/react-native-windows/node_modules/mkdirp": { +@@ -14637,6 +15691,22 @@ + "mkdirp": "bin/cmd.js" + } + }, ++ "node_modules/react-native-windows/node_modules/npm-run-path": { ++ "version": "2.0.2", ++ "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", ++ "integrity": "sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==", ++ "dependencies": { ++ "path-key": "^2.0.0" ++ }, ++ "engines": { ++ "node": ">=4" ++ } ++ }, ++ "node_modules/react-native-windows/node_modules/ob1": { ++ "version": "0.73.10", ++ "resolved": "https://registry.npmjs.org/ob1/-/ob1-0.73.10.tgz", ++ "integrity": "sha512-aO6EYC+QRRCkZxVJhCWhLKgVjhNuD6Gu1riGjxrIm89CqLsmKgxzYDDEsktmKsoDeRdWGQM5EdMzXDl5xcVfsw==" ++ }, + "node_modules/react-native-windows/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", +@@ -14662,6 +15732,14 @@ + "node": ">=8" + } + }, ++ "node_modules/react-native-windows/node_modules/path-key": { ++ "version": "2.0.1", ++ "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", ++ "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", ++ "engines": { ++ "node": ">=4" ++ } ++ }, + "node_modules/react-native-windows/node_modules/pretty-format": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz", +@@ -14681,23 +15759,36 @@ + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" + }, ++ "node_modules/react-native-windows/node_modules/react-refresh": { ++ "version": "0.4.3", ++ "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.4.3.tgz", ++ "integrity": "sha512-Hwln1VNuGl/6bVwnd0Xdn1e84gT/8T9aYNL+HAKDArLCS7LWjwr7StE30IEYbIkx0Vi3vs+coQxe+SQDbGbbpA==", ++ "engines": { ++ "node": ">=0.10.0" ++ } ++ }, + "node_modules/react-native-windows/node_modules/regenerator-runtime": { + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", + "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==" + }, +- "node_modules/react-native-windows/node_modules/semver": { +- "version": "7.5.4", +- "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", +- "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", ++ "node_modules/react-native-windows/node_modules/shebang-command": { ++ "version": "1.2.0", ++ "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", ++ "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", + "dependencies": { +- "lru-cache": "^6.0.0" +- }, +- "bin": { +- "semver": "bin/semver.js" ++ "shebang-regex": "^1.0.0" + }, + "engines": { +- "node": ">=10" ++ "node": ">=0.10.0" ++ } ++ }, ++ "node_modules/react-native-windows/node_modules/shebang-regex": { ++ "version": "1.0.0", ++ "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", ++ "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", ++ "engines": { ++ "node": ">=0.10.0" + } + }, + "node_modules/react-native-windows/node_modules/source-map-support": { +@@ -14709,25 +15800,6 @@ + "source-map": "^0.6.0" + } + }, +- "node_modules/react-native-windows/node_modules/strip-ansi": { +- "version": "5.2.0", +- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", +- "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", +- "dependencies": { +- "ansi-regex": "^4.1.0" +- }, +- "engines": { +- "node": ">=6" +- } +- }, +- "node_modules/react-native-windows/node_modules/strip-ansi/node_modules/ansi-regex": { +- "version": "4.1.1", +- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", +- "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", +- "engines": { +- "node": ">=6" +- } +- }, + "node_modules/react-native-windows/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", +@@ -14739,6 +15811,17 @@ + "node": ">=8" + } + }, ++ "node_modules/react-native-windows/node_modules/which": { ++ "version": "1.3.1", ++ "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", ++ "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", ++ "dependencies": { ++ "isexe": "^2.0.0" ++ }, ++ "bin": { ++ "which": "bin/which" ++ } ++ }, + "node_modules/react-native-windows/node_modules/ws": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.2.tgz", +@@ -14747,11 +15830,6 @@ + "async-limiter": "~1.0.0" + } + }, +- "node_modules/react-native-windows/node_modules/yallist": { +- "version": "4.0.0", +- "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", +- "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" +- }, + "node_modules/react-native/node_modules/@jest/types": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", +@@ -14767,26 +15845,6 @@ + "node": ">= 10.14.2" + } + }, +- "node_modules/react-native/node_modules/@react-native/codegen": { +- "version": "0.73.3", +- "resolved": "https://registry.npmjs.org/@react-native/codegen/-/codegen-0.73.3.tgz", +- "integrity": "sha512-sxslCAAb8kM06vGy9Jyh4TtvjhcP36k/rvj2QE2Jdhdm61KvfafCATSIsOfc0QvnduWFcpXUPvAVyYwuv7PYDg==", +- "dependencies": { +- "@babel/parser": "^7.20.0", +- "flow-parser": "^0.206.0", +- "glob": "^7.1.1", +- "invariant": "^2.2.4", +- "jscodeshift": "^0.14.0", +- "mkdirp": "^0.5.1", +- "nullthrows": "^1.1.1" +- }, +- "engines": { +- "node": ">=18" +- }, +- "peerDependencies": { +- "@babel/preset-env": "^7.1.6" +- } +- }, + "node_modules/react-native/node_modules/@types/yargs": { + "version": "15.0.19", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.19.tgz", +@@ -14848,6 +15906,49 @@ + "node": ">=8" + } + }, ++ "node_modules/react-native/node_modules/metro-runtime": { ++ "version": "0.73.10", ++ "resolved": "https://registry.npmjs.org/metro-runtime/-/metro-runtime-0.73.10.tgz", ++ "integrity": "sha512-EpVKm4eN0Fgx2PEWpJ5NiMArV8zVoOin866jIIvzFLpmkZz1UEqgjf2JAfUJnjgv3fjSV3JqeGG2vZCaGQBTow==", ++ "dependencies": { ++ "@babel/runtime": "^7.0.0", ++ "react-refresh": "^0.4.0" ++ } ++ }, ++ "node_modules/react-native/node_modules/metro-source-map": { ++ "version": "0.73.10", ++ "resolved": "https://registry.npmjs.org/metro-source-map/-/metro-source-map-0.73.10.tgz", ++ "integrity": "sha512-NAGv14701p/YaFZ76KzyPkacBw/QlEJF1f8elfs23N1tC33YyKLDKvPAzFJiYqjdcFvuuuDCA8JCXd2TgLxNPw==", ++ "dependencies": { ++ "@babel/traverse": "^7.20.0", ++ "@babel/types": "^7.20.0", ++ "invariant": "^2.2.4", ++ "metro-symbolicate": "0.73.10", ++ "nullthrows": "^1.1.1", ++ "ob1": "0.73.10", ++ "source-map": "^0.5.6", ++ "vlq": "^1.0.0" ++ } ++ }, ++ "node_modules/react-native/node_modules/metro-symbolicate": { ++ "version": "0.73.10", ++ "resolved": "https://registry.npmjs.org/metro-symbolicate/-/metro-symbolicate-0.73.10.tgz", ++ "integrity": "sha512-PmCe3TOe1c/NVwMlB+B17me951kfkB3Wve5RqJn+ErPAj93od1nxicp6OJe7JT4QBRnpUP8p9tw2sHKqceIzkA==", ++ "dependencies": { ++ "invariant": "^2.2.4", ++ "metro-source-map": "0.73.10", ++ "nullthrows": "^1.1.1", ++ "source-map": "^0.5.6", ++ "through2": "^2.0.1", ++ "vlq": "^1.0.0" ++ }, ++ "bin": { ++ "metro-symbolicate": "src/index.js" ++ }, ++ "engines": { ++ "node": ">=8.3" ++ } ++ }, + "node_modules/react-native/node_modules/mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", +@@ -14859,6 +15960,11 @@ + "mkdirp": "bin/cmd.js" + } + }, ++ "node_modules/react-native/node_modules/ob1": { ++ "version": "0.73.10", ++ "resolved": "https://registry.npmjs.org/ob1/-/ob1-0.73.10.tgz", ++ "integrity": "sha512-aO6EYC+QRRCkZxVJhCWhLKgVjhNuD6Gu1riGjxrIm89CqLsmKgxzYDDEsktmKsoDeRdWGQM5EdMzXDl5xcVfsw==" ++ }, + "node_modules/react-native/node_modules/pretty-format": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz", +@@ -14878,11 +15984,27 @@ + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" + }, ++ "node_modules/react-native/node_modules/react-refresh": { ++ "version": "0.4.3", ++ "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.4.3.tgz", ++ "integrity": "sha512-Hwln1VNuGl/6bVwnd0Xdn1e84gT/8T9aYNL+HAKDArLCS7LWjwr7StE30IEYbIkx0Vi3vs+coQxe+SQDbGbbpA==", ++ "engines": { ++ "node": ">=0.10.0" ++ } ++ }, + "node_modules/react-native/node_modules/regenerator-runtime": { + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", + "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==" + }, ++ "node_modules/react-native/node_modules/source-map": { ++ "version": "0.5.7", ++ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", ++ "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", ++ "engines": { ++ "node": ">=0.10.0" ++ } ++ }, + "node_modules/react-native/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", +@@ -14906,6 +16028,9 @@ + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.0.tgz", + "integrity": "sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ==", ++ "dev": true, ++ "optional": true, ++ "peer": true, + "engines": { + "node": ">=0.10.0" + } +@@ -14936,15 +16061,6 @@ + "react": "^18.2.0" + } + }, +- "node_modules/react-test-renderer/node_modules/scheduler": { +- "version": "0.23.0", +- "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", +- "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", +- "dev": true, +- "dependencies": { +- "loose-envify": "^1.1.0" +- } +- }, + "node_modules/read-yaml-file": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/read-yaml-file/-/read-yaml-file-2.1.0.tgz", +@@ -15299,9 +16415,9 @@ + } + }, + "node_modules/scheduler": { +- "version": "0.24.0-canary-efb381bbf-20230505", +- "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.24.0-canary-efb381bbf-20230505.tgz", +- "integrity": "sha512-ABvovCDe/k9IluqSh4/ISoq8tIJnW8euVAWYt5j/bg6dRnqwQwiGO1F/V4AyK96NGF/FB04FhOUDuWj8IKfABA==", ++ "version": "0.23.0", ++ "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", ++ "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", + "dependencies": { + "loose-envify": "^1.1.0" + } +@@ -15853,14 +16969,6 @@ + "node": ">=6.0.0" + } + }, +- "node_modules/temp-dir": { +- "version": "2.0.0", +- "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-2.0.0.tgz", +- "integrity": "sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==", +- "engines": { +- "node": ">=8" +- } +- }, + "node_modules/temp/node_modules/rimraf": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", +@@ -16137,6 +17245,27 @@ + "node": ">=12.20" + } + }, ++ "node_modules/uglify-es": { ++ "version": "3.3.9", ++ "resolved": "https://registry.npmjs.org/uglify-es/-/uglify-es-3.3.9.tgz", ++ "integrity": "sha512-r+MU0rfv4L/0eeW3xZrd16t4NZfK8Ld4SWVglYBb7ez5uXFWHuVRs6xCTrf1yirs9a4j4Y27nn7SRfO6v67XsQ==", ++ "deprecated": "support for ECMAScript is superseded by `uglify-js` as of v3.13.0", ++ "dependencies": { ++ "commander": "~2.13.0", ++ "source-map": "~0.6.1" ++ }, ++ "bin": { ++ "uglifyjs": "bin/uglifyjs" ++ }, ++ "engines": { ++ "node": ">=0.8.0" ++ } ++ }, ++ "node_modules/uglify-es/node_modules/commander": { ++ "version": "2.13.0", ++ "resolved": "https://registry.npmjs.org/commander/-/commander-2.13.0.tgz", ++ "integrity": "sha512-MVuS359B+YzaWqjCL/c+22gfryv+mCBPHAv3zyVI2GN8EY6IRP8VwtasXn8jyyhvvq84R4ImN1OKRtcbIasjYA==" ++ }, + "node_modules/unbox-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", +@@ -16247,6 +17376,14 @@ + "punycode": "^2.1.0" + } + }, ++ "node_modules/use-sync-external-store": { ++ "version": "1.2.0", ++ "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz", ++ "integrity": "sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==", ++ "peerDependencies": { ++ "react": "^16.8.0 || ^17.0.0 || ^18.0.0" ++ } ++ }, + "node_modules/username": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/username/-/username-5.1.0.tgz", +@@ -16711,14 +17848,6 @@ + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" + }, +- "node_modules/yaml": { +- "version": "2.3.4", +- "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.4.tgz", +- "integrity": "sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA==", +- "engines": { +- "node": ">= 14" +- } +- }, + "node_modules/yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", +diff --git BRNPlayground/android/gradle/wrapper/gradle-wrapper.properties BRNPlayground/android/gradle/wrapper/gradle-wrapper.properties +index 1af9e0930b89b3294ea6a195f0808aafd36fafe8..878fe049c27088dc8df21980af1aabcde0552f66 100644 +--- BRNPlayground/android/gradle/wrapper/gradle-wrapper.properties ++++ BRNPlayground/android/gradle/wrapper/gradle-wrapper.properties +@@ -1,6 +1,6 @@ + distributionBase=GRADLE_USER_HOME + distributionPath=wrapper/dists +-distributionUrl=https\://services.gradle.org/distributions/gradle-8.5-bin.zip ++distributionUrl=https\://services.gradle.org/distributions/gradle-7.6.3-bin.zip + networkTimeout=10000 + validateDistributionUrl=true + zipStoreBase=GRADLE_USER_HOME diff --git a/Apps/rnta-0.73.patch b/Apps/rnta-0.73.patch new file mode 100644 index 000000000..e69de29bb From bb7507481e21931d2fd4e156daa59accac76ceef Mon Sep 17 00:00:00 2001 From: Cedric Guillemet <1312968+CedricGuillemet@users.noreply.github.com> Date: Mon, 17 Jun 2024 17:19:50 +0200 Subject: [PATCH 02/78] add ios --- .github/workflows/pr.yml | 9 ++++----- Package/gulpfile.js | 2 ++ 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index e834962b0..26751af60 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -11,12 +11,11 @@ jobs: runs-on: macos-latest strategy: matrix: + platform: [ios, android] react-native-version: ['0.71', '0.73'] steps: - name: Checkout Repo uses: actions/checkout@v2.3.3 - with: - submodules: 'recursive' - name: Setup CMake uses: jwlawson/actions-setup-cmake@v1.8 with: @@ -33,7 +32,7 @@ jobs: working-directory: ./Apps/BRNPlayground - name: Build Windows Bundle - run: npm run build:android + run: npm run build:${{ matrix.platform }} working-directory: ./Apps/BRNPlayground - name: NPM Install (Binary Package) @@ -45,8 +44,8 @@ jobs: distribution: 'temurin' java-version: '17' check-latest: true - - name: Gulp (Android) - run: npx gulp buildAndroidRNTA + - name: Gulp ${{ matrix.platform }} + run: npx gulp build${{ matrix.platform }}RNTA working-directory: ./Package env: JAVA_HOME: ${{ env.JAVA_HOME_11_X64 }} diff --git a/Package/gulpfile.js b/Package/gulpfile.js index 928a743f5..7353eafac 100644 --- a/Package/gulpfile.js +++ b/Package/gulpfile.js @@ -632,8 +632,10 @@ exports.validateAssemblediOSAndroid = validateAssemblediOSAndroid; exports.buildIOS = buildIOS; exports.buildIOSRNTA = buildIOSRNTA; +exports.buildiosRNTA = buildIOSRNTA; // lower case for CI matrix exports.buildAndroid = buildAndroid; exports.buildAndroidRNTA = buildAndroidRNTA; +exports.buildandroidRNTA = buildAndroidRNTA; // lower case for CI matrix exports.createIOSUniversalLibs = createIOSUniversalLibs; exports.copyFiles = copyFiles; From 5efe8f2c5a3fce74752d0f87d549e43b5e211923 Mon Sep 17 00:00:00 2001 From: Cedric Guillemet <1312968+CedricGuillemet@users.noreply.github.com> Date: Tue, 18 Jun 2024 09:52:18 +0200 Subject: [PATCH 03/78] set-react-version script --- .github/workflows/pr.yml | 8 +- Apps/BRNPlayground/package.json | 1 + Apps/BRNPlayground/scripts/helpers.js | 186 + .../scripts/set-react-version.mjs | 412 + Apps/rnta-0.71.patch | 6998 ----------------- Apps/rnta-0.73.patch | 0 6 files changed, 603 insertions(+), 7002 deletions(-) create mode 100644 Apps/BRNPlayground/scripts/helpers.js create mode 100644 Apps/BRNPlayground/scripts/set-react-version.mjs delete mode 100644 Apps/rnta-0.71.patch delete mode 100644 Apps/rnta-0.73.patch diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index 26751af60..7ceed75c8 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -24,14 +24,14 @@ jobs: run: brew install ninja - name: Setup Watchman run: brew install watchman - - name: Patch BRNPlayground for RN ${{ matrix.react-native-version }} - run: git apply rnta-${{ matrix.react-native-version }}.patch --allow-empty - working-directory: ./Apps + - name: Set React-Native version ${{ matrix.react-native-version }} + run: npm run set-react-version -- ${{ matrix.react-native-version }} + working-directory: ./Apps/BRNPlayground - name: NPM Install (BRNPlayground) run: npm install working-directory: ./Apps/BRNPlayground - - name: Build Windows Bundle + - name: Build Bundle run: npm run build:${{ matrix.platform }} working-directory: ./Apps/BRNPlayground diff --git a/Apps/BRNPlayground/package.json b/Apps/BRNPlayground/package.json index 85bc7527b..0cab4aa2e 100644 --- a/Apps/BRNPlayground/package.json +++ b/Apps/BRNPlayground/package.json @@ -14,6 +14,7 @@ "start": "react-native start", "test": "jest", "windows": "react-native run-windows --sln windows/BRNPlayground.sln", + "set-react-version": "node scripts/set-react-version.mjs", "postinstall": "node ./postinstall.js" }, "dependencies": { diff --git a/Apps/BRNPlayground/scripts/helpers.js b/Apps/BRNPlayground/scripts/helpers.js new file mode 100644 index 000000000..d0566f20c --- /dev/null +++ b/Apps/BRNPlayground/scripts/helpers.js @@ -0,0 +1,186 @@ +// @ts-check +"use strict"; + +const nodefs = require("node:fs"); +const path = require("node:path"); +const { fileURLToPath } = require("node:url"); + +const npmRegistryBaseURL = "https://registry.npmjs.org/"; + +/** + * Fetches package metadata from the npm registry. + * @param {string} pkg + * @param {string=} distTag + */ +function fetchPackageMetadata(pkg, distTag) { + const init = { + headers: { + Accept: + "application/vnd.npm.install-v1+json; q=1.0, application/json; q=0.8, */*", + }, + }; + const url = distTag + ? npmRegistryBaseURL + pkg + "/" + distTag + : npmRegistryBaseURL + pkg; + return fetch(url, init).then((res) => res.json()); +} + +/** + * Finds the specified file using Node module resolution. + * @param {string} file + * @param {string=} startDir + * @returns {string | undefined} + */ +function findFile(file, startDir = process.cwd(), fs = nodefs) { + let currentDir = startDir; + let candidate = path.join(currentDir, file); + while (!fs.existsSync(candidate)) { + const nextDir = path.dirname(currentDir); + if (nextDir === currentDir) { + return undefined; + } + + currentDir = nextDir; + candidate = path.join(currentDir, file); + } + + return candidate; +} + +/** + * Finds nearest relative path to a file or directory from current path. + * @param {string} fileOrDirName Path to the file or directory to find. + * @param {string=} currentDir The current working directory. Mostly used for unit tests. + * @returns {string | null} Nearest path to given file or directory; null if not found + */ +function findNearest( + fileOrDirName, + currentDir = path.resolve(""), + fs = nodefs +) { + const result = findFile(fileOrDirName, currentDir, fs); + return result ? path.relative("", result) : null; +} + +/** + * Returns whether the current module is main. + * @param {string} url + * @param {string} script + * @returns {boolean} + */ +function isMain(url, script = process.argv[1]) { + return Boolean( + url && script && fileURLToPath(url) === require.resolve(script) + ); +} + +/** + * @template T + * @param {(...args: any[]) => T} fn + * @returns {(...args: any[]) => T} + */ +function memo(fn) { + /** @type {T} */ + let result; + return (...args) => { + if (result === undefined) { + result = fn(...args); + } + return result; + }; +} + +/** + * Reads text file at specified path. + * @param {import("node:fs").PathLike} path + * @returns {string} + */ +function readTextFile(path, fs = nodefs) { + return fs.readFileSync(path, { encoding: "utf-8" }); +} + +/** + * Reads and parses JSON file at specified path. + * @template [T = Record] + * @param {import("node:fs").PathLike} path + * @returns {T} + */ +function readJSONFile(path, fs = nodefs) { + return JSON.parse(readTextFile(path, fs)); +} + +/** + * @template T + * @param {string[]} dependencyChain + * @param {string=} startDir + * @returns {T} + */ +function requireTransitive(dependencyChain, startDir = process.cwd()) { + const p = dependencyChain.reduce((curr, next) => { + const p = require.resolve(next + "/package.json", { paths: [curr] }); + return path.dirname(p); + }, startDir); + return require(p); +} + +/** + * Returns the numerical value equivalent of the specified version string. + * @param {string} version + * @returns {number} + */ +function toVersionNumber(version) { + const [major, minor = 0, patch = 0] = version.split("-")[0].split("."); + return v(Number(major), Number(minor), Number(patch)); +} + +/** + * Returns the numerical value of the individual version identifiers combined. + * @param {number} major + * @param {number} minor + * @param {number} patch + * @returns {number} + */ +function v(major, minor, patch) { + return major * 1000000 + minor * 1000 + patch; +} + +/** + * Writes data to specified file path. + * @param {string} file + * @param {string} data + * @returns {Promise} + */ +function writeTextFile(file, data, fs = nodefs.promises) { + return fs.writeFile(file, data, { encoding: "utf-8", mode: 0o644 }); +} + +/** + * Returns version string of specified module. + * @param {string} module + * @returns {string} + */ +function getPackageVersion(module, startDir = process.cwd(), fs = nodefs) { + const options = { paths: [startDir] }; + const manifestPath = require.resolve(`${module}/package.json`, options); + const mod = readJSONFile(manifestPath, fs); + const version = mod["version"]; + if (typeof version !== "string") { + throw new Error(`Invalid version number: ${module}@${version}`); + } + + return version; +} + +exports.fetchPackageMetadata = fetchPackageMetadata; +exports.findFile = findFile; +exports.findNearest = findNearest; +exports.getPackageVersion = getPackageVersion; +exports.isMain = isMain; +exports.memo = memo; +exports.npmRegistryBaseURL = npmRegistryBaseURL; +exports.readJSONFile = readJSONFile; +exports.readTextFile = readTextFile; +exports.requireTransitive = requireTransitive; +exports.toVersionNumber = toVersionNumber; +exports.v = v; +exports.writeTextFile = writeTextFile; diff --git a/Apps/BRNPlayground/scripts/set-react-version.mjs b/Apps/BRNPlayground/scripts/set-react-version.mjs new file mode 100644 index 000000000..708970fb6 --- /dev/null +++ b/Apps/BRNPlayground/scripts/set-react-version.mjs @@ -0,0 +1,412 @@ +// @ts-check + +/** + * Reminder that this script is meant to be runnable without installing + * dependencies. It can therefore not rely on any external libraries. + */ +import { promises as fs } from "node:fs"; +import * as os from "node:os"; +import * as path from "node:path"; +import { + fetchPackageMetadata, + isMain, + npmRegistryBaseURL, + readJSONFile, + readTextFile, + toVersionNumber, + v, +} from "./helpers.js"; + +/** + * @typedef {import("./types.js").Manifest} Manifest + */ + +const VALID_TAGS = ["canary-macos", "canary-windows", "nightly"]; + +/** + * Returns whether specified string is a valid version number. + * @param {string} v + * @return {boolean} + */ +function isValidVersion(v) { + return /^\d+\.\d+$/.test(v) || VALID_TAGS.includes(v); +} + +/** + * Type-safe `Object.keys()` + * @template {Record} T + * @param {T} obj + * @returns {(keyof T)[]} + */ +function keys(obj) { + return /** @type {(keyof T)[]} */ (Object.keys(obj)); +} + +/** + * @param {string} filename + * @param {string | RegExp} searchValue + * @param {string} replaceValue + * @returns {Promise} + */ +function searchReplaceInFile(filename, searchValue, replaceValue) { + const current = readTextFile(filename); + const updated = current.replace(searchValue, replaceValue); + return updated === current + ? Promise.resolve() + : fs.writeFile(filename, updated); +} + +/** + * Disables [Jetifier](https://developer.android.com/tools/jetifier). + * + * Jetifier is only necessary when you depend on code that has not yet migrated + * to AndroidX. If we only deal with modern code, disabling it makes builds + * slightly faster. + */ +function disableJetifier() { + return searchReplaceInFile( + "android/gradle.properties", + "android.enableJetifier=true", + "android.enableJetifier=false" + ); +} + +function disableWebStorage() { + return searchReplaceInFile( + "package.json", + /\s+"@react-native-webapis\/web-storage":.*/, + "" + ); +} + +/** + * Infer the React Native version an out-of-tree platform package is based on. + * @param {Manifest} manifest + * @returns {string} + */ +function inferReactNativeVersion({ name, version, dependencies = {} }) { + const codegenVersion = dependencies["@react-native/codegen"]; + if (!codegenVersion) { + throw new Error( + `Unable to determine the react-native version that ${name}@${version} is based on` + ); + } + + const rnVersion = codegenVersion.split(".").slice(0, 2).join(".") + ".0-0"; + return rnVersion[0] === "^" || rnVersion[0] === "~" + ? rnVersion + : "^" + rnVersion; +} + +/** + * Fetches package information. + * @param {string} pkg + * @param {string} version + * @return {Promise} + */ +function fetchPackageInfo(pkg, version) { + return fetchPackageMetadata(pkg) + .then(({ ["dist-tags"]: distTags, versions }) => { + const tags = [version, version + "-stable", "v" + version + "-stable"]; + for (const t of tags) { + if (distTags[t]) { + return distTags[t]; + } + } + + const allVersions = Object.keys(versions); + for (let i = allVersions.length - 1; i >= 0; --i) { + const v = allVersions[i]; + if (v.startsWith(version)) { + return v; + } + } + }) + .then((foundVersion) => { + if (!foundVersion) { + console.warn(`No match found for '${pkg}@${version}'`); + return undefined; + } + return fetch(npmRegistryBaseURL + pkg + "/" + foundVersion); + }) + .then((res) => res?.json() ?? /** @type {Manifest} */ ({})) + .then(({ version, dependencies = {}, peerDependencies = {} }) => { + return { version, dependencies, peerDependencies }; + }); +} + +/** + * Fetches the latest react-native-windows@canary information via NuGet. + * @return {Promise} + */ +function fetchReactNativeWindowsCanaryInfoViaNuGet() { + const rnwNuGetFeed = + "https://pkgs.dev.azure.com/ms/react-native/_packaging/react-native-public/nuget/v3/index.json"; + return fetch(rnwNuGetFeed) + .then((res) => res.json()) + .then(({ resources }) => { + if (!Array.isArray(resources)) { + throw new Error("Unexpected format returned by the services endpoint"); + } + + const service = resources.find((svc) => + svc["@type"].startsWith("RegistrationsBaseUrl") + ); + if (!service) { + throw new Error("Failed to find 'RegistrationsBaseUrl' resource"); + } + + return service["@id"]; + }) + .then((url) => fetch(url + "/Microsoft.ReactNative.Cxx/index.json")) + .then((res) => res.json()) + .then(({ items }) => { + if (!Array.isArray(items)) { + throw new Error( + "Unexpected format returned by the 'RegistrationsBaseUrl' service" + ); + } + + for (const item of items) { + for (const pkg of item.items) { + const version = pkg.catalogEntry?.version; + if (typeof version === "string" && version.startsWith("0.0.0")) { + const m = version.match(/(0\.0\.0-[.0-9a-z]+)/); + if (m) { + return m[1]; + } + } + } + } + + throw new Error("Failed to find canary builds"); + }) + .then((version) => fetchPackageInfo("react-native-windows", version)); +} + +/** + * Returns an object with common dependencies. + * @param {string} v + * @param {Manifest} manifest + * @return {Promise>} + */ +async function resolveCommonDependencies( + v, + { dependencies = {}, peerDependencies = {} } +) { + const [rnBabelPresetVersion, rnMetroConfigVersion, metroBabelPresetVersion] = + await (async () => { + if (["^", "canary", "nightly"].some((tag) => v.includes(tag))) { + return [v, v, undefined]; + } + + const [ + { version: rnBabelPresetVersion }, + { version: rnMetroConfigVersion }, + { version: metroBabelPresetVersion }, + ] = await Promise.all([ + fetchPackageInfo("@react-native/babel-preset", v), + fetchPackageInfo("@react-native/metro-config", v), + (async () => { + // Metro bumps and publishes all packages together, meaning we can use + // `metro-react-native-babel-transformer` to determine the version of + // `metro-react-native-babel-preset` that should be used. + const version = dependencies["metro-react-native-babel-transformer"]; + if (version) { + return { version }; + } + + // `metro-react-native-babel-transformer` is no longer a direct dependency + // of `react-native`. As of 0.72, we should go through + // `@react-native-community/cli-plugin-metro` instead. + const cliVersion = dependencies["@react-native-community/cli"] + .replace("^", "") + .split(".") + .slice(0, 2) + .join("."); + const metroPluginInfo = await fetchPackageInfo( + "@react-native-community/cli-plugin-metro", + cliVersion + ); + return { version: metroPluginInfo.dependencies?.["metro"] }; + })(), + ]); + return [ + rnBabelPresetVersion, + rnMetroConfigVersion, + metroBabelPresetVersion, + ]; + })(); + + return { + "@react-native-community/cli": dependencies["@react-native-community/cli"], + "@react-native-community/cli-platform-android": + dependencies["@react-native-community/cli-platform-android"], + "@react-native-community/cli-platform-ios": + dependencies["@react-native-community/cli-platform-ios"], + "@react-native/babel-preset": rnBabelPresetVersion, + "@react-native/metro-config": rnMetroConfigVersion, + "metro-react-native-babel-preset": metroBabelPresetVersion, + react: peerDependencies["react"], + }; +} + +/** + * Returns a profile for specified version. + * @param {string} v + * @param {boolean} coreOnly + * @return {Promise>} + */ +async function getProfile(v, coreOnly) { + const manifest = /** @type {Manifest} */ (readJSONFile("package.json")); + /*const visionos = manifest.defaultPlatformPackages?.["visionos"]; + if (!visionos) { + throw new Error("Missing platform package for visionOS"); + }*/ + + switch (v) { + case "canary-macos": { + const info = await fetchPackageInfo("react-native-macos", "canary"); + const coreVersion = inferReactNativeVersion(info); + const commonDeps = await resolveCommonDependencies(coreVersion, info); + return { + ...commonDeps, + "react-native": coreVersion, + "react-native-macos": "canary", + "react-native-windows": undefined, + //[visionos]: undefined, + }; + } + + case "canary-windows": { + const info = await fetchReactNativeWindowsCanaryInfoViaNuGet(); + const coreVersion = info.peerDependencies?.["react-native"] || "nightly"; + const commonDeps = await resolveCommonDependencies(coreVersion, info); + return { + ...commonDeps, + "react-native": coreVersion, + "react-native-macos": undefined, + "react-native-windows": info.version, + //[visionos]: undefined, + }; + } + + case "nightly": { + const info = await fetchPackageInfo("react-native", "nightly"); + const commonDeps = await resolveCommonDependencies(v, info); + return { + ...commonDeps, + "react-native": "nightly", + "react-native-macos": undefined, + "react-native-windows": undefined, + //[visionos]: undefined, + }; + } + + default: { + const versions = { + core: fetchPackageInfo("react-native", v), + macos: coreOnly + ? Promise.resolve({ version: undefined }) + : fetchPackageInfo("react-native-macos", v), + /*visionos: coreOnly + ? Promise.resolve({ version: undefined }) + : fetchPackageInfo(visionos, v),*/ + windows: coreOnly + ? Promise.resolve({ version: undefined }) + : fetchPackageInfo("react-native-windows", v), + }; + const reactNative = await versions.core; + const commonDeps = await resolveCommonDependencies(v, reactNative); + + /** @type {(manifest: Manifest) => string | undefined} */ + const getVersion = ({ version }) => version; + return { + ...commonDeps, + "react-native": reactNative.version, + "react-native-macos": await versions.macos.then(getVersion), + "react-native-windows": await versions.windows.then(getVersion), + //[visionos]: await versions.visionos.then(getVersion), + }; + } + } +} + +/** + * Sets specified React Native version. + * @param {string} version + * @param {boolean} coreOnly + * @return {Promise} + */ +export async function setReactVersion(version, coreOnly) { + /** @type {fs.FileHandle | undefined} */ + let fd; + try { + const profile = await getProfile(version, coreOnly); + console.dir(profile, { depth: null }); + + const manifests = ["package.json"]; + for (const manifestPath of manifests) { + const manifest = /** @type {Manifest} */ (readJSONFile(manifestPath)); + const { dependencies, devDependencies, resolutions = {} } = manifest; + if (!devDependencies) { + throw new Error("Expected 'devDependencies' to be declared"); + } + + for (const packageName of keys(profile)) { + const deps = dependencies?.[packageName] + ? dependencies + : devDependencies; + deps[packageName] = profile[packageName]; + + // Reset resolutions so we don't get old packages + resolutions[packageName] = undefined; + } + + // Reset resolutions of the nested type e.g., + // `@react-native/community-cli-plugin/@react-native-community/cli-server-api` + for (const pkg of Object.keys(resolutions)) { + if (pkg.startsWith("@react-native")) { + resolutions[pkg] = undefined; + } + } + + const tmpFile = manifestPath + ".tmp"; + fd = await fs.open(tmpFile, "w", 0o644); + await fd.write(JSON.stringify(manifest, undefined, 2)); + await fd.write(os.EOL); + await fd.close(); + fd = undefined; + await fs.rename(tmpFile, manifestPath); + } + } catch (e) { + console.error(e); + process.exitCode = 1; + } finally { + fd?.close(); + } +} + +const { [1]: script, [2]: version } = process.argv; +if (isMain(import.meta.url)) { + if (!isValidVersion(version)) { + console.log( + `Usage: ${path.basename(script)} [ | ${VALID_TAGS.join(" | ")}]` + ); + process.exitCode = 1; + } else { + setReactVersion(version, process.argv.includes("--core-only")).then(() => { + const numVersion = VALID_TAGS.includes(version) + ? Number.MAX_SAFE_INTEGER + : toVersionNumber(version); + if (numVersion >= v(0, 74, 0)) { + disableJetifier(); + } + + // `@react-native-webapis/web-storage` is not compatible with codegen 0.71 + if (numVersion < v(0, 72, 0)) { + disableWebStorage(); + } + }); + } +} diff --git a/Apps/rnta-0.71.patch b/Apps/rnta-0.71.patch deleted file mode 100644 index 09b0a2da8..000000000 --- a/Apps/rnta-0.71.patch +++ /dev/null @@ -1,6998 +0,0 @@ -diff --git BRNPlayground/package.json BRNPlayground/package.json -index 8441ee39c63880a50582d67f04855ae03f09957c..fb36c8d955e26ed533794c5764577f3a7b441bcc 100644 ---- BRNPlayground/package.json -+++ BRNPlayground/package.json -@@ -24,19 +24,16 @@ - "@babylonjs/react-native-windows": "file:../../Modules/@babylonjs/react-native-windows", - "@react-native-community/slider": "^4.2.2", - "react": "18.2.0", -- "react-native": "0.73.4", -- "react-native-macos": "^0.73.0", -+ "react-native": "^0.71.0", -+ "react-native-macos": "^0.71.0", - "react-native-permissions": "^3.0.0", -- "react-native-windows": "^0.73.0" -+ "react-native-windows": "^0.71.0" - }, - "devDependencies": { - "@babel/core": "^7.20.0", - "@babel/preset-env": "^7.20.0", - "@babel/runtime": "^7.20.0", -- "@react-native/babel-preset": "0.73.20", -- "@react-native/eslint-config": "0.73.2", -- "@react-native/metro-config": "0.73.4", -- "@react-native/typescript-config": "0.73.1", -+ "@react-native-community/eslint-config": "^3.0.0", - "@rnx-kit/metro-config": "^1.3.14", - "@types/react": "^18.2.6", - "@types/react-test-renderer": "^18.0.0", -@@ -44,6 +41,7 @@ - "eslint": "^8.19.0", - "jest": "^29.6.3", - "mkdirp": "^1.0.0", -+ "metro-react-native-babel-preset": "0.73.10", - "prettier": "2.8.8", - "react-native-test-app": "^3.2.10", - "react-test-renderer": "18.2.0", -diff --git BRNPlayground/babel.config.js BRNPlayground/babel.config.js -index f7b3da3b33d1565e14c6aaf8884dc3d24c457992..f842b77fcfb8b74016365099d8c5fe54cf3269e2 100644 ---- BRNPlayground/babel.config.js -+++ BRNPlayground/babel.config.js -@@ -1,3 +1,3 @@ - module.exports = { -- presets: ['module:@react-native/babel-preset'], -+ presets: ['module:metro-react-native-babel-preset'], - }; -diff --git BRNPlayground/ios/Podfile.lock BRNPlayground/ios/Podfile.lock -index 181b86ad8627842aabd2377ba279e60b3a459377..bd89eae1d1f38229599b3ed3f032ac82b41dda9e 100644 ---- BRNPlayground/ios/Podfile.lock -+++ BRNPlayground/ios/Podfile.lock -@@ -1,55 +1,48 @@ - PODS: -- - boost (1.83.0) -+ - boost (1.76.0) - - DoubleConversion (1.1.6) -- - FBLazyVector (0.73.4) -- - FBReactNativeSpec (0.73.4): -- - RCT-Folly (= 2022.05.16.00) -- - RCTRequired (= 0.73.4) -- - RCTTypeSafety (= 0.73.4) -- - React-Core (= 0.73.4) -- - React-jsi (= 0.73.4) -- - ReactCommon/turbomodule/core (= 0.73.4) -+ - FBLazyVector (0.71.16) -+ - FBReactNativeSpec (0.71.16): -+ - RCT-Folly (= 2021.07.22.00) -+ - RCTRequired (= 0.71.16) -+ - RCTTypeSafety (= 0.71.16) -+ - React-Core (= 0.71.16) -+ - React-jsi (= 0.71.16) -+ - ReactCommon/turbomodule/core (= 0.71.16) - - fmt (6.2.1) - - glog (0.3.5) -- - RCT-Folly (2022.05.16.00): -+ - RCT-Folly (2021.07.22.00): - - boost - - DoubleConversion - - fmt (~> 6.2.1) - - glog -- - RCT-Folly/Default (= 2022.05.16.00) -- - RCT-Folly/Default (2022.05.16.00): -+ - RCT-Folly/Default (= 2021.07.22.00) -+ - RCT-Folly/Default (2021.07.22.00): - - boost - - DoubleConversion - - fmt (~> 6.2.1) - - glog -- - RCT-Folly/Fabric (2022.05.16.00): -- - boost -- - DoubleConversion -- - fmt (~> 6.2.1) -- - glog -- - RCTRequired (0.73.4) -- - RCTTypeSafety (0.73.4): -- - FBLazyVector (= 0.73.4) -- - RCTRequired (= 0.73.4) -- - React-Core (= 0.73.4) -- - React (0.73.4): -- - React-Core (= 0.73.4) -- - React-Core/DevSupport (= 0.73.4) -- - React-Core/RCTWebSocket (= 0.73.4) -- - React-RCTActionSheet (= 0.73.4) -- - React-RCTAnimation (= 0.73.4) -- - React-RCTBlob (= 0.73.4) -- - React-RCTImage (= 0.73.4) -- - React-RCTLinking (= 0.73.4) -- - React-RCTNetwork (= 0.73.4) -- - React-RCTSettings (= 0.73.4) -- - React-RCTText (= 0.73.4) -- - React-RCTVibration (= 0.73.4) -- - React-callinvoker (0.73.4) -- - React-Codegen (0.73.4): -- - DoubleConversion -+ - RCTRequired (0.71.16) -+ - RCTTypeSafety (0.71.16): -+ - FBLazyVector (= 0.71.16) -+ - RCTRequired (= 0.71.16) -+ - React-Core (= 0.71.16) -+ - React (0.71.16): -+ - React-Core (= 0.71.16) -+ - React-Core/DevSupport (= 0.71.16) -+ - React-Core/RCTWebSocket (= 0.71.16) -+ - React-RCTActionSheet (= 0.71.16) -+ - React-RCTAnimation (= 0.71.16) -+ - React-RCTBlob (= 0.71.16) -+ - React-RCTImage (= 0.71.16) -+ - React-RCTLinking (= 0.71.16) -+ - React-RCTNetwork (= 0.71.16) -+ - React-RCTSettings (= 0.71.16) -+ - React-RCTText (= 0.71.16) -+ - React-RCTVibration (= 0.71.16) -+ - React-callinvoker (0.71.16) -+ - React-Codegen (0.71.16): - - FBReactNativeSpec -- - glog - - RCT-Folly - - RCTRequired - - RCTTypeSafety -@@ -57,970 +50,275 @@ PODS: - - React-jsc - - React-jsi - - React-jsiexecutor -- - React-NativeModulesApple -- - React-rncore - - ReactCommon/turbomodule/bridging - - ReactCommon/turbomodule/core -- - React-Core (0.73.4): -+ - React-Core (0.71.16): - - glog -- - RCT-Folly (= 2022.05.16.00) -- - React-Core/Default (= 0.73.4) -- - React-cxxreact -+ - RCT-Folly (= 2021.07.22.00) -+ - React-Core/Default (= 0.71.16) -+ - React-cxxreact (= 0.71.16) - - React-jsc -- - React-jsi -- - React-jsiexecutor -- - React-perflogger -- - React-runtimescheduler -- - React-utils -- - SocketRocket (= 0.6.1) -+ - React-jsi (= 0.71.16) -+ - React-jsiexecutor (= 0.71.16) -+ - React-perflogger (= 0.71.16) - - Yoga -- - React-Core/CoreModulesHeaders (0.73.4): -+ - React-Core/CoreModulesHeaders (0.71.16): - - glog -- - RCT-Folly (= 2022.05.16.00) -+ - RCT-Folly (= 2021.07.22.00) - - React-Core/Default -- - React-cxxreact -+ - React-cxxreact (= 0.71.16) - - React-jsc -- - React-jsi -- - React-jsiexecutor -- - React-perflogger -- - React-runtimescheduler -- - React-utils -- - SocketRocket (= 0.6.1) -+ - React-jsi (= 0.71.16) -+ - React-jsiexecutor (= 0.71.16) -+ - React-perflogger (= 0.71.16) - - Yoga -- - React-Core/Default (0.73.4): -+ - React-Core/Default (0.71.16): - - glog -- - RCT-Folly (= 2022.05.16.00) -- - React-cxxreact -+ - RCT-Folly (= 2021.07.22.00) -+ - React-cxxreact (= 0.71.16) - - React-jsc -- - React-jsi -- - React-jsiexecutor -- - React-perflogger -- - React-runtimescheduler -- - React-utils -- - SocketRocket (= 0.6.1) -+ - React-jsi (= 0.71.16) -+ - React-jsiexecutor (= 0.71.16) -+ - React-perflogger (= 0.71.16) - - Yoga -- - React-Core/DevSupport (0.73.4): -+ - React-Core/DevSupport (0.71.16): - - glog -- - RCT-Folly (= 2022.05.16.00) -- - React-Core/Default (= 0.73.4) -- - React-Core/RCTWebSocket (= 0.73.4) -- - React-cxxreact -+ - RCT-Folly (= 2021.07.22.00) -+ - React-Core/Default (= 0.71.16) -+ - React-Core/RCTWebSocket (= 0.71.16) -+ - React-cxxreact (= 0.71.16) - - React-jsc -- - React-jsi -- - React-jsiexecutor -- - React-jsinspector (= 0.73.4) -- - React-perflogger -- - React-runtimescheduler -- - React-utils -- - SocketRocket (= 0.6.1) -+ - React-jsi (= 0.71.16) -+ - React-jsiexecutor (= 0.71.16) -+ - React-jsinspector (= 0.71.16) -+ - React-perflogger (= 0.71.16) - - Yoga -- - React-Core/RCTActionSheetHeaders (0.73.4): -+ - React-Core/RCTActionSheetHeaders (0.71.16): - - glog -- - RCT-Folly (= 2022.05.16.00) -+ - RCT-Folly (= 2021.07.22.00) - - React-Core/Default -- - React-cxxreact -+ - React-cxxreact (= 0.71.16) - - React-jsc -- - React-jsi -- - React-jsiexecutor -- - React-perflogger -- - React-runtimescheduler -- - React-utils -- - SocketRocket (= 0.6.1) -+ - React-jsi (= 0.71.16) -+ - React-jsiexecutor (= 0.71.16) -+ - React-perflogger (= 0.71.16) - - Yoga -- - React-Core/RCTAnimationHeaders (0.73.4): -+ - React-Core/RCTAnimationHeaders (0.71.16): - - glog -- - RCT-Folly (= 2022.05.16.00) -+ - RCT-Folly (= 2021.07.22.00) - - React-Core/Default -- - React-cxxreact -+ - React-cxxreact (= 0.71.16) - - React-jsc -- - React-jsi -- - React-jsiexecutor -- - React-perflogger -- - React-runtimescheduler -- - React-utils -- - SocketRocket (= 0.6.1) -+ - React-jsi (= 0.71.16) -+ - React-jsiexecutor (= 0.71.16) -+ - React-perflogger (= 0.71.16) - - Yoga -- - React-Core/RCTBlobHeaders (0.73.4): -+ - React-Core/RCTBlobHeaders (0.71.16): - - glog -- - RCT-Folly (= 2022.05.16.00) -+ - RCT-Folly (= 2021.07.22.00) - - React-Core/Default -- - React-cxxreact -+ - React-cxxreact (= 0.71.16) - - React-jsc -- - React-jsi -- - React-jsiexecutor -- - React-perflogger -- - React-runtimescheduler -- - React-utils -- - SocketRocket (= 0.6.1) -+ - React-jsi (= 0.71.16) -+ - React-jsiexecutor (= 0.71.16) -+ - React-perflogger (= 0.71.16) - - Yoga -- - React-Core/RCTImageHeaders (0.73.4): -+ - React-Core/RCTImageHeaders (0.71.16): - - glog -- - RCT-Folly (= 2022.05.16.00) -+ - RCT-Folly (= 2021.07.22.00) - - React-Core/Default -- - React-cxxreact -+ - React-cxxreact (= 0.71.16) - - React-jsc -- - React-jsi -- - React-jsiexecutor -- - React-perflogger -- - React-runtimescheduler -- - React-utils -- - SocketRocket (= 0.6.1) -+ - React-jsi (= 0.71.16) -+ - React-jsiexecutor (= 0.71.16) -+ - React-perflogger (= 0.71.16) - - Yoga -- - React-Core/RCTLinkingHeaders (0.73.4): -+ - React-Core/RCTLinkingHeaders (0.71.16): - - glog -- - RCT-Folly (= 2022.05.16.00) -+ - RCT-Folly (= 2021.07.22.00) - - React-Core/Default -- - React-cxxreact -+ - React-cxxreact (= 0.71.16) - - React-jsc -- - React-jsi -- - React-jsiexecutor -- - React-perflogger -- - React-runtimescheduler -- - React-utils -- - SocketRocket (= 0.6.1) -+ - React-jsi (= 0.71.16) -+ - React-jsiexecutor (= 0.71.16) -+ - React-perflogger (= 0.71.16) - - Yoga -- - React-Core/RCTNetworkHeaders (0.73.4): -+ - React-Core/RCTNetworkHeaders (0.71.16): - - glog -- - RCT-Folly (= 2022.05.16.00) -+ - RCT-Folly (= 2021.07.22.00) - - React-Core/Default -- - React-cxxreact -+ - React-cxxreact (= 0.71.16) - - React-jsc -- - React-jsi -- - React-jsiexecutor -- - React-perflogger -- - React-runtimescheduler -- - React-utils -- - SocketRocket (= 0.6.1) -+ - React-jsi (= 0.71.16) -+ - React-jsiexecutor (= 0.71.16) -+ - React-perflogger (= 0.71.16) - - Yoga -- - React-Core/RCTSettingsHeaders (0.73.4): -+ - React-Core/RCTSettingsHeaders (0.71.16): - - glog -- - RCT-Folly (= 2022.05.16.00) -+ - RCT-Folly (= 2021.07.22.00) - - React-Core/Default -- - React-cxxreact -+ - React-cxxreact (= 0.71.16) - - React-jsc -- - React-jsi -- - React-jsiexecutor -- - React-perflogger -- - React-runtimescheduler -- - React-utils -- - SocketRocket (= 0.6.1) -+ - React-jsi (= 0.71.16) -+ - React-jsiexecutor (= 0.71.16) -+ - React-perflogger (= 0.71.16) - - Yoga -- - React-Core/RCTTextHeaders (0.73.4): -+ - React-Core/RCTTextHeaders (0.71.16): - - glog -- - RCT-Folly (= 2022.05.16.00) -+ - RCT-Folly (= 2021.07.22.00) - - React-Core/Default -- - React-cxxreact -+ - React-cxxreact (= 0.71.16) - - React-jsc -- - React-jsi -- - React-jsiexecutor -- - React-perflogger -- - React-runtimescheduler -- - React-utils -- - SocketRocket (= 0.6.1) -+ - React-jsi (= 0.71.16) -+ - React-jsiexecutor (= 0.71.16) -+ - React-perflogger (= 0.71.16) - - Yoga -- - React-Core/RCTVibrationHeaders (0.73.4): -+ - React-Core/RCTVibrationHeaders (0.71.16): - - glog -- - RCT-Folly (= 2022.05.16.00) -+ - RCT-Folly (= 2021.07.22.00) - - React-Core/Default -- - React-cxxreact -+ - React-cxxreact (= 0.71.16) - - React-jsc -- - React-jsi -- - React-jsiexecutor -- - React-perflogger -- - React-runtimescheduler -- - React-utils -- - SocketRocket (= 0.6.1) -+ - React-jsi (= 0.71.16) -+ - React-jsiexecutor (= 0.71.16) -+ - React-perflogger (= 0.71.16) - - Yoga -- - React-Core/RCTWebSocket (0.73.4): -+ - React-Core/RCTWebSocket (0.71.16): - - glog -- - RCT-Folly (= 2022.05.16.00) -- - React-Core/Default (= 0.73.4) -- - React-cxxreact -+ - RCT-Folly (= 2021.07.22.00) -+ - React-Core/Default (= 0.71.16) -+ - React-cxxreact (= 0.71.16) - - React-jsc -- - React-jsi -- - React-jsiexecutor -- - React-perflogger -- - React-runtimescheduler -- - React-utils -- - SocketRocket (= 0.6.1) -+ - React-jsi (= 0.71.16) -+ - React-jsiexecutor (= 0.71.16) -+ - React-perflogger (= 0.71.16) - - Yoga -- - React-CoreModules (0.73.4): -- - RCT-Folly (= 2022.05.16.00) -- - RCTTypeSafety (= 0.73.4) -- - React-Codegen -- - React-Core/CoreModulesHeaders (= 0.73.4) -- - React-jsi (= 0.73.4) -- - React-NativeModulesApple -+ - React-CoreModules (0.71.16): -+ - RCT-Folly (= 2021.07.22.00) -+ - RCTTypeSafety (= 0.71.16) -+ - React-Codegen (= 0.71.16) -+ - React-Core/CoreModulesHeaders (= 0.71.16) -+ - React-jsi (= 0.71.16) - - React-RCTBlob -- - React-RCTImage (= 0.73.4) -- - ReactCommon -- - SocketRocket (= 0.6.1) -- - React-cxxreact (0.73.4): -- - boost (= 1.83.0) -- - DoubleConversion -- - fmt (~> 6.2.1) -- - glog -- - RCT-Folly (= 2022.05.16.00) -- - React-callinvoker (= 0.73.4) -- - React-debug (= 0.73.4) -- - React-jsi (= 0.73.4) -- - React-jsinspector (= 0.73.4) -- - React-logger (= 0.73.4) -- - React-perflogger (= 0.73.4) -- - React-runtimeexecutor (= 0.73.4) -- - React-debug (0.73.4) -- - React-Fabric (0.73.4): -- - DoubleConversion -- - fmt (~> 6.2.1) -- - glog -- - RCT-Folly/Fabric (= 2022.05.16.00) -- - RCTRequired -- - RCTTypeSafety -- - React-Core -- - React-cxxreact -- - React-debug -- - React-Fabric/animations (= 0.73.4) -- - React-Fabric/attributedstring (= 0.73.4) -- - React-Fabric/componentregistry (= 0.73.4) -- - React-Fabric/componentregistrynative (= 0.73.4) -- - React-Fabric/components (= 0.73.4) -- - React-Fabric/core (= 0.73.4) -- - React-Fabric/imagemanager (= 0.73.4) -- - React-Fabric/leakchecker (= 0.73.4) -- - React-Fabric/mounting (= 0.73.4) -- - React-Fabric/scheduler (= 0.73.4) -- - React-Fabric/telemetry (= 0.73.4) -- - React-Fabric/templateprocessor (= 0.73.4) -- - React-Fabric/textlayoutmanager (= 0.73.4) -- - React-Fabric/uimanager (= 0.73.4) -- - React-graphics -- - React-jsc -- - React-jsi -- - React-jsiexecutor -- - React-logger -- - React-rendererdebug -- - React-runtimescheduler -- - React-utils -- - ReactCommon/turbomodule/core -- - React-Fabric/animations (0.73.4): -- - DoubleConversion -- - fmt (~> 6.2.1) -- - glog -- - RCT-Folly/Fabric (= 2022.05.16.00) -- - RCTRequired -- - RCTTypeSafety -- - React-Core -- - React-cxxreact -- - React-debug -- - React-graphics -- - React-jsc -- - React-jsi -- - React-jsiexecutor -- - React-logger -- - React-rendererdebug -- - React-runtimescheduler -- - React-utils -- - ReactCommon/turbomodule/core -- - React-Fabric/attributedstring (0.73.4): -- - DoubleConversion -- - fmt (~> 6.2.1) -- - glog -- - RCT-Folly/Fabric (= 2022.05.16.00) -- - RCTRequired -- - RCTTypeSafety -- - React-Core -- - React-cxxreact -- - React-debug -- - React-graphics -- - React-jsc -- - React-jsi -- - React-jsiexecutor -- - React-logger -- - React-rendererdebug -- - React-runtimescheduler -- - React-utils -- - ReactCommon/turbomodule/core -- - React-Fabric/componentregistry (0.73.4): -- - DoubleConversion -- - fmt (~> 6.2.1) -- - glog -- - RCT-Folly/Fabric (= 2022.05.16.00) -- - RCTRequired -- - RCTTypeSafety -- - React-Core -- - React-cxxreact -- - React-debug -- - React-graphics -- - React-jsc -- - React-jsi -- - React-jsiexecutor -- - React-logger -- - React-rendererdebug -- - React-runtimescheduler -- - React-utils -- - ReactCommon/turbomodule/core -- - React-Fabric/componentregistrynative (0.73.4): -- - DoubleConversion -- - fmt (~> 6.2.1) -- - glog -- - RCT-Folly/Fabric (= 2022.05.16.00) -- - RCTRequired -- - RCTTypeSafety -- - React-Core -- - React-cxxreact -- - React-debug -- - React-graphics -- - React-jsc -- - React-jsi -- - React-jsiexecutor -- - React-logger -- - React-rendererdebug -- - React-runtimescheduler -- - React-utils -- - ReactCommon/turbomodule/core -- - React-Fabric/components (0.73.4): -- - DoubleConversion -- - fmt (~> 6.2.1) -- - glog -- - RCT-Folly/Fabric (= 2022.05.16.00) -- - RCTRequired -- - RCTTypeSafety -- - React-Core -- - React-cxxreact -- - React-debug -- - React-Fabric/components/inputaccessory (= 0.73.4) -- - React-Fabric/components/legacyviewmanagerinterop (= 0.73.4) -- - React-Fabric/components/modal (= 0.73.4) -- - React-Fabric/components/rncore (= 0.73.4) -- - React-Fabric/components/root (= 0.73.4) -- - React-Fabric/components/safeareaview (= 0.73.4) -- - React-Fabric/components/scrollview (= 0.73.4) -- - React-Fabric/components/text (= 0.73.4) -- - React-Fabric/components/textinput (= 0.73.4) -- - React-Fabric/components/unimplementedview (= 0.73.4) -- - React-Fabric/components/view (= 0.73.4) -- - React-graphics -- - React-jsc -- - React-jsi -- - React-jsiexecutor -- - React-logger -- - React-rendererdebug -- - React-runtimescheduler -- - React-utils -- - ReactCommon/turbomodule/core -- - React-Fabric/components/inputaccessory (0.73.4): -- - DoubleConversion -- - fmt (~> 6.2.1) -- - glog -- - RCT-Folly/Fabric (= 2022.05.16.00) -- - RCTRequired -- - RCTTypeSafety -- - React-Core -- - React-cxxreact -- - React-debug -- - React-graphics -- - React-jsc -- - React-jsi -- - React-jsiexecutor -- - React-logger -- - React-rendererdebug -- - React-runtimescheduler -- - React-utils -- - ReactCommon/turbomodule/core -- - React-Fabric/components/legacyviewmanagerinterop (0.73.4): -- - DoubleConversion -- - fmt (~> 6.2.1) -- - glog -- - RCT-Folly/Fabric (= 2022.05.16.00) -- - RCTRequired -- - RCTTypeSafety -- - React-Core -- - React-cxxreact -- - React-debug -- - React-graphics -- - React-jsc -- - React-jsi -- - React-jsiexecutor -- - React-logger -- - React-rendererdebug -- - React-runtimescheduler -- - React-utils -- - ReactCommon/turbomodule/core -- - React-Fabric/components/modal (0.73.4): -- - DoubleConversion -- - fmt (~> 6.2.1) -- - glog -- - RCT-Folly/Fabric (= 2022.05.16.00) -- - RCTRequired -- - RCTTypeSafety -- - React-Core -- - React-cxxreact -- - React-debug -- - React-graphics -- - React-jsc -- - React-jsi -- - React-jsiexecutor -- - React-logger -- - React-rendererdebug -- - React-runtimescheduler -- - React-utils -- - ReactCommon/turbomodule/core -- - React-Fabric/components/rncore (0.73.4): -- - DoubleConversion -- - fmt (~> 6.2.1) -+ - React-RCTImage (= 0.71.16) -+ - ReactCommon/turbomodule/core (= 0.71.16) -+ - React-cxxreact (0.71.16): -+ - boost (= 1.76.0) -+ - DoubleConversion -+ - glog -+ - RCT-Folly (= 2021.07.22.00) -+ - React-callinvoker (= 0.71.16) -+ - React-jsi (= 0.71.16) -+ - React-jsinspector (= 0.71.16) -+ - React-logger (= 0.71.16) -+ - React-perflogger (= 0.71.16) -+ - React-runtimeexecutor (= 0.71.16) -+ - React-jsc (0.71.16): -+ - React-jsc/Fabric (= 0.71.16) -+ - React-jsi (= 0.71.16) -+ - React-jsc/Fabric (0.71.16): -+ - React-jsi (= 0.71.16) -+ - React-jsi (0.71.16): -+ - boost (= 1.76.0) -+ - DoubleConversion -+ - glog -+ - RCT-Folly (= 2021.07.22.00) -+ - React-jsiexecutor (0.71.16): -+ - DoubleConversion -+ - glog -+ - RCT-Folly (= 2021.07.22.00) -+ - React-cxxreact (= 0.71.16) -+ - React-jsi (= 0.71.16) -+ - React-perflogger (= 0.71.16) -+ - React-jsinspector (0.71.16) -+ - React-logger (0.71.16): - - glog -- - RCT-Folly/Fabric (= 2022.05.16.00) -- - RCTRequired -- - RCTTypeSafety -- - React-Core -- - React-cxxreact -- - React-debug -- - React-graphics -- - React-jsc -- - React-jsi -- - React-jsiexecutor -- - React-logger -- - React-rendererdebug -- - React-runtimescheduler -- - React-utils -- - ReactCommon/turbomodule/core -- - React-Fabric/components/root (0.73.4): -- - DoubleConversion -- - fmt (~> 6.2.1) -- - glog -- - RCT-Folly/Fabric (= 2022.05.16.00) -- - RCTRequired -- - RCTTypeSafety -- - React-Core -- - React-cxxreact -- - React-debug -- - React-graphics -- - React-jsc -- - React-jsi -- - React-jsiexecutor -- - React-logger -- - React-rendererdebug -- - React-runtimescheduler -- - React-utils -- - ReactCommon/turbomodule/core -- - React-Fabric/components/safeareaview (0.73.4): -- - DoubleConversion -- - fmt (~> 6.2.1) -- - glog -- - RCT-Folly/Fabric (= 2022.05.16.00) -- - RCTRequired -- - RCTTypeSafety -- - React-Core -- - React-cxxreact -- - React-debug -- - React-graphics -- - React-jsc -- - React-jsi -- - React-jsiexecutor -- - React-logger -- - React-rendererdebug -- - React-runtimescheduler -- - React-utils -- - ReactCommon/turbomodule/core -- - React-Fabric/components/scrollview (0.73.4): -- - DoubleConversion -- - fmt (~> 6.2.1) -- - glog -- - RCT-Folly/Fabric (= 2022.05.16.00) -- - RCTRequired -- - RCTTypeSafety -- - React-Core -- - React-cxxreact -- - React-debug -- - React-graphics -- - React-jsc -- - React-jsi -- - React-jsiexecutor -- - React-logger -- - React-rendererdebug -- - React-runtimescheduler -- - React-utils -- - ReactCommon/turbomodule/core -- - React-Fabric/components/text (0.73.4): -- - DoubleConversion -- - fmt (~> 6.2.1) -- - glog -- - RCT-Folly/Fabric (= 2022.05.16.00) -- - RCTRequired -- - RCTTypeSafety -- - React-Core -- - React-cxxreact -- - React-debug -- - React-graphics -- - React-jsc -- - React-jsi -- - React-jsiexecutor -- - React-logger -- - React-rendererdebug -- - React-runtimescheduler -- - React-utils -- - ReactCommon/turbomodule/core -- - React-Fabric/components/textinput (0.73.4): -- - DoubleConversion -- - fmt (~> 6.2.1) -- - glog -- - RCT-Folly/Fabric (= 2022.05.16.00) -- - RCTRequired -- - RCTTypeSafety -- - React-Core -- - React-cxxreact -- - React-debug -- - React-graphics -- - React-jsc -- - React-jsi -- - React-jsiexecutor -- - React-logger -- - React-rendererdebug -- - React-runtimescheduler -- - React-utils -- - ReactCommon/turbomodule/core -- - React-Fabric/components/unimplementedview (0.73.4): -- - DoubleConversion -- - fmt (~> 6.2.1) -- - glog -- - RCT-Folly/Fabric (= 2022.05.16.00) -- - RCTRequired -- - RCTTypeSafety -- - React-Core -- - React-cxxreact -- - React-debug -- - React-graphics -- - React-jsc -- - React-jsi -- - React-jsiexecutor -- - React-logger -- - React-rendererdebug -- - React-runtimescheduler -- - React-utils -- - ReactCommon/turbomodule/core -- - React-Fabric/components/view (0.73.4): -- - DoubleConversion -- - fmt (~> 6.2.1) -- - glog -- - RCT-Folly/Fabric (= 2022.05.16.00) -- - RCTRequired -- - RCTTypeSafety -- - React-Core -- - React-cxxreact -- - React-debug -- - React-graphics -- - React-jsc -- - React-jsi -- - React-jsiexecutor -- - React-logger -- - React-rendererdebug -- - React-runtimescheduler -- - React-utils -- - ReactCommon/turbomodule/core -- - Yoga -- - React-Fabric/core (0.73.4): -- - DoubleConversion -- - fmt (~> 6.2.1) -- - glog -- - RCT-Folly/Fabric (= 2022.05.16.00) -- - RCTRequired -- - RCTTypeSafety -- - React-Core -- - React-cxxreact -- - React-debug -- - React-graphics -- - React-jsc -- - React-jsi -- - React-jsiexecutor -- - React-logger -- - React-rendererdebug -- - React-runtimescheduler -- - React-utils -- - ReactCommon/turbomodule/core -- - React-Fabric/imagemanager (0.73.4): -- - DoubleConversion -- - fmt (~> 6.2.1) -- - glog -- - RCT-Folly/Fabric (= 2022.05.16.00) -- - RCTRequired -- - RCTTypeSafety -- - React-Core -- - React-cxxreact -- - React-debug -- - React-graphics -- - React-jsc -- - React-jsi -- - React-jsiexecutor -- - React-logger -- - React-rendererdebug -- - React-runtimescheduler -- - React-utils -- - ReactCommon/turbomodule/core -- - React-Fabric/leakchecker (0.73.4): -- - DoubleConversion -- - fmt (~> 6.2.1) -- - glog -- - RCT-Folly/Fabric (= 2022.05.16.00) -- - RCTRequired -- - RCTTypeSafety -- - React-Core -- - React-cxxreact -- - React-debug -- - React-graphics -- - React-jsc -- - React-jsi -- - React-jsiexecutor -- - React-logger -- - React-rendererdebug -- - React-runtimescheduler -- - React-utils -- - ReactCommon/turbomodule/core -- - React-Fabric/mounting (0.73.4): -- - DoubleConversion -- - fmt (~> 6.2.1) -- - glog -- - RCT-Folly/Fabric (= 2022.05.16.00) -- - RCTRequired -- - RCTTypeSafety -- - React-Core -- - React-cxxreact -- - React-debug -- - React-graphics -- - React-jsc -- - React-jsi -- - React-jsiexecutor -- - React-logger -- - React-rendererdebug -- - React-runtimescheduler -- - React-utils -- - ReactCommon/turbomodule/core -- - React-Fabric/scheduler (0.73.4): -- - DoubleConversion -- - fmt (~> 6.2.1) -- - glog -- - RCT-Folly/Fabric (= 2022.05.16.00) -- - RCTRequired -- - RCTTypeSafety -- - React-Core -- - React-cxxreact -- - React-debug -- - React-graphics -- - React-jsc -- - React-jsi -- - React-jsiexecutor -- - React-logger -- - React-rendererdebug -- - React-runtimescheduler -- - React-utils -- - ReactCommon/turbomodule/core -- - React-Fabric/telemetry (0.73.4): -- - DoubleConversion -- - fmt (~> 6.2.1) -- - glog -- - RCT-Folly/Fabric (= 2022.05.16.00) -- - RCTRequired -- - RCTTypeSafety -- - React-Core -- - React-cxxreact -- - React-debug -- - React-graphics -- - React-jsc -- - React-jsi -- - React-jsiexecutor -- - React-logger -- - React-rendererdebug -- - React-runtimescheduler -- - React-utils -- - ReactCommon/turbomodule/core -- - React-Fabric/templateprocessor (0.73.4): -- - DoubleConversion -- - fmt (~> 6.2.1) -- - glog -- - RCT-Folly/Fabric (= 2022.05.16.00) -- - RCTRequired -- - RCTTypeSafety -- - React-Core -- - React-cxxreact -- - React-debug -- - React-graphics -- - React-jsc -- - React-jsi -- - React-jsiexecutor -- - React-logger -- - React-rendererdebug -- - React-runtimescheduler -- - React-utils -- - ReactCommon/turbomodule/core -- - React-Fabric/textlayoutmanager (0.73.4): -- - DoubleConversion -- - fmt (~> 6.2.1) -- - glog -- - RCT-Folly/Fabric (= 2022.05.16.00) -- - RCTRequired -- - RCTTypeSafety -- - React-Core -- - React-cxxreact -- - React-debug -- - React-Fabric/uimanager -- - React-graphics -- - React-jsc -- - React-jsi -- - React-jsiexecutor -- - React-logger -- - React-rendererdebug -- - React-runtimescheduler -- - React-utils -- - ReactCommon/turbomodule/core -- - React-Fabric/uimanager (0.73.4): -- - DoubleConversion -- - fmt (~> 6.2.1) -- - glog -- - RCT-Folly/Fabric (= 2022.05.16.00) -- - RCTRequired -- - RCTTypeSafety -- - React-Core -- - React-cxxreact -- - React-debug -- - React-graphics -- - React-jsc -- - React-jsi -- - React-jsiexecutor -- - React-logger -- - React-rendererdebug -- - React-runtimescheduler -- - React-utils -- - ReactCommon/turbomodule/core -- - React-FabricImage (0.73.4): -- - DoubleConversion -- - fmt (~> 6.2.1) -- - glog -- - RCT-Folly/Fabric (= 2022.05.16.00) -- - RCTRequired (= 0.73.4) -- - RCTTypeSafety (= 0.73.4) -- - React-Fabric -- - React-graphics -- - React-ImageManager -- - React-jsc -- - React-jsi -- - React-jsiexecutor (= 0.73.4) -- - React-logger -- - React-rendererdebug -- - React-utils -- - ReactCommon -- - Yoga -- - React-graphics (0.73.4): -- - glog -- - RCT-Folly/Fabric (= 2022.05.16.00) -- - React-Core/Default (= 0.73.4) -- - React-utils -- - React-ImageManager (0.73.4): -- - glog -- - RCT-Folly/Fabric -- - React-Core/Default -- - React-debug -- - React-Fabric -- - React-graphics -- - React-rendererdebug -- - React-utils -- - React-jsc (0.73.4): -- - React-jsc/Fabric (= 0.73.4) -- - React-jsi (= 0.73.4) -- - React-jsc/Fabric (0.73.4): -- - React-jsi (= 0.73.4) -- - React-jserrorhandler (0.73.4): -- - RCT-Folly/Fabric (= 2022.05.16.00) -- - React-debug -- - React-jsi -- - React-Mapbuffer -- - React-jsi (0.73.4): -- - boost (= 1.83.0) -- - DoubleConversion -- - fmt (~> 6.2.1) -- - glog -- - RCT-Folly (= 2022.05.16.00) -- - React-jsiexecutor (0.73.4): -- - DoubleConversion -- - fmt (~> 6.2.1) -- - glog -- - RCT-Folly (= 2022.05.16.00) -- - React-cxxreact (= 0.73.4) -- - React-jsi (= 0.73.4) -- - React-perflogger (= 0.73.4) -- - React-jsinspector (0.73.4) -- - React-logger (0.73.4): -- - glog -- - React-Mapbuffer (0.73.4): -- - glog -- - React-debug - - react-native-babylon (0.0.1): - - React - - react-native-slider (4.5.0): -- - glog -- - RCT-Folly (= 2022.05.16.00) -- - React-Core -- - React-nativeconfig (0.73.4) -- - React-NativeModulesApple (0.73.4): -- - glog -- - React-callinvoker -- - React-Core -- - React-cxxreact -- - React-jsc -- - React-jsi -- - React-runtimeexecutor -- - ReactCommon/turbomodule/bridging -- - ReactCommon/turbomodule/core -- - React-perflogger (0.73.4) -- - React-RCTActionSheet (0.73.4): -- - React-Core/RCTActionSheetHeaders (= 0.73.4) -- - React-RCTAnimation (0.73.4): -- - RCT-Folly (= 2022.05.16.00) -- - RCTTypeSafety -- - React-Codegen -- - React-Core/RCTAnimationHeaders -- - React-jsi -- - React-NativeModulesApple -- - ReactCommon -- - React-RCTAppDelegate (0.73.4): -+ - RCT-Folly (= 2021.07.22.00) -+ - React-Core -+ - React-perflogger (0.71.16) -+ - React-RCTActionSheet (0.71.16): -+ - React-Core/RCTActionSheetHeaders (= 0.71.16) -+ - React-RCTAnimation (0.71.16): -+ - RCT-Folly (= 2021.07.22.00) -+ - RCTTypeSafety (= 0.71.16) -+ - React-Codegen (= 0.71.16) -+ - React-Core/RCTAnimationHeaders (= 0.71.16) -+ - React-jsi (= 0.71.16) -+ - ReactCommon/turbomodule/core (= 0.71.16) -+ - React-RCTAppDelegate (0.71.16): - - RCT-Folly - - RCTRequired - - RCTTypeSafety - - React-Core -- - React-CoreModules -- - React-jsc -- - React-nativeconfig -- - React-NativeModulesApple -- - React-RCTFabric -- - React-RCTImage -- - React-RCTNetwork -- - React-runtimescheduler -- - ReactCommon -- - React-RCTBlob (0.73.4): -- - RCT-Folly (= 2022.05.16.00) -- - React-Codegen -- - React-Core/RCTBlobHeaders -- - React-Core/RCTWebSocket -- - React-jsi -- - React-NativeModulesApple -- - React-RCTNetwork -- - ReactCommon -- - React-RCTFabric (0.73.4): -- - glog -- - RCT-Folly/Fabric (= 2022.05.16.00) -- - React-Core -- - React-debug -- - React-Fabric -- - React-FabricImage -- - React-graphics -- - React-ImageManager -- - React-jsc -- - React-jsi -- - React-nativeconfig -- - React-RCTImage -- - React-RCTText -- - React-rendererdebug -- - React-runtimescheduler -- - React-utils -- - Yoga -- - React-RCTImage (0.73.4): -- - RCT-Folly (= 2022.05.16.00) -- - RCTTypeSafety -- - React-Codegen -- - React-Core/RCTImageHeaders -- - React-jsi -- - React-NativeModulesApple -- - React-RCTNetwork -- - ReactCommon -- - React-RCTLinking (0.73.4): -- - React-Codegen -- - React-Core/RCTLinkingHeaders (= 0.73.4) -- - React-jsi (= 0.73.4) -- - React-NativeModulesApple -- - ReactCommon -- - ReactCommon/turbomodule/core (= 0.73.4) -- - React-RCTNetwork (0.73.4): -- - RCT-Folly (= 2022.05.16.00) -- - RCTTypeSafety -- - React-Codegen -- - React-Core/RCTNetworkHeaders -- - React-jsi -- - React-NativeModulesApple -- - ReactCommon -- - React-RCTSettings (0.73.4): -- - RCT-Folly (= 2022.05.16.00) -- - RCTTypeSafety -- - React-Codegen -- - React-Core/RCTSettingsHeaders -- - React-jsi -- - React-NativeModulesApple -- - ReactCommon -- - React-RCTText (0.73.4): -- - React-Core/RCTTextHeaders (= 0.73.4) -- - Yoga -- - React-RCTVibration (0.73.4): -- - RCT-Folly (= 2022.05.16.00) -- - React-Codegen -- - React-Core/RCTVibrationHeaders -- - React-jsi -- - React-NativeModulesApple -- - ReactCommon -- - React-rendererdebug (0.73.4): -- - DoubleConversion -- - fmt (~> 6.2.1) -- - RCT-Folly (= 2022.05.16.00) -- - React-debug -- - React-rncore (0.73.4) -- - React-runtimeexecutor (0.73.4): -- - React-jsi (= 0.73.4) -- - React-runtimescheduler (0.73.4): -- - glog -- - RCT-Folly (= 2022.05.16.00) -- - React-callinvoker -- - React-cxxreact -- - React-debug -- - React-jsc -- - React-jsi -- - React-rendererdebug -- - React-runtimeexecutor -- - React-utils -- - React-utils (0.73.4): -- - glog -- - RCT-Folly (= 2022.05.16.00) -- - React-debug -- - ReactCommon (0.73.4): -- - React-logger (= 0.73.4) -- - ReactCommon/turbomodule (= 0.73.4) -- - ReactCommon/turbomodule (0.73.4): -- - DoubleConversion -- - fmt (~> 6.2.1) -- - glog -- - RCT-Folly (= 2022.05.16.00) -- - React-callinvoker (= 0.73.4) -- - React-cxxreact (= 0.73.4) -- - React-jsi (= 0.73.4) -- - React-logger (= 0.73.4) -- - React-perflogger (= 0.73.4) -- - ReactCommon/turbomodule/bridging (= 0.73.4) -- - ReactCommon/turbomodule/core (= 0.73.4) -- - ReactCommon/turbomodule/bridging (0.73.4): -- - DoubleConversion -- - fmt (~> 6.2.1) -- - glog -- - RCT-Folly (= 2022.05.16.00) -- - React-callinvoker (= 0.73.4) -- - React-cxxreact (= 0.73.4) -- - React-jsi (= 0.73.4) -- - React-logger (= 0.73.4) -- - React-perflogger (= 0.73.4) -- - ReactCommon/turbomodule/core (0.73.4): -- - DoubleConversion -- - fmt (~> 6.2.1) -- - glog -- - RCT-Folly (= 2022.05.16.00) -- - React-callinvoker (= 0.73.4) -- - React-cxxreact (= 0.73.4) -- - React-jsi (= 0.73.4) -- - React-logger (= 0.73.4) -- - React-perflogger (= 0.73.4) -+ - ReactCommon/turbomodule/core -+ - React-RCTBlob (0.71.16): -+ - RCT-Folly (= 2021.07.22.00) -+ - React-Codegen (= 0.71.16) -+ - React-Core/RCTBlobHeaders (= 0.71.16) -+ - React-Core/RCTWebSocket (= 0.71.16) -+ - React-jsi (= 0.71.16) -+ - React-RCTNetwork (= 0.71.16) -+ - ReactCommon/turbomodule/core (= 0.71.16) -+ - React-RCTImage (0.71.16): -+ - RCT-Folly (= 2021.07.22.00) -+ - RCTTypeSafety (= 0.71.16) -+ - React-Codegen (= 0.71.16) -+ - React-Core/RCTImageHeaders (= 0.71.16) -+ - React-jsi (= 0.71.16) -+ - React-RCTNetwork (= 0.71.16) -+ - ReactCommon/turbomodule/core (= 0.71.16) -+ - React-RCTLinking (0.71.16): -+ - React-Codegen (= 0.71.16) -+ - React-Core/RCTLinkingHeaders (= 0.71.16) -+ - React-jsi (= 0.71.16) -+ - ReactCommon/turbomodule/core (= 0.71.16) -+ - React-RCTNetwork (0.71.16): -+ - RCT-Folly (= 2021.07.22.00) -+ - RCTTypeSafety (= 0.71.16) -+ - React-Codegen (= 0.71.16) -+ - React-Core/RCTNetworkHeaders (= 0.71.16) -+ - React-jsi (= 0.71.16) -+ - ReactCommon/turbomodule/core (= 0.71.16) -+ - React-RCTSettings (0.71.16): -+ - RCT-Folly (= 2021.07.22.00) -+ - RCTTypeSafety (= 0.71.16) -+ - React-Codegen (= 0.71.16) -+ - React-Core/RCTSettingsHeaders (= 0.71.16) -+ - React-jsi (= 0.71.16) -+ - ReactCommon/turbomodule/core (= 0.71.16) -+ - React-RCTText (0.71.16): -+ - React-Core/RCTTextHeaders (= 0.71.16) -+ - React-RCTVibration (0.71.16): -+ - RCT-Folly (= 2021.07.22.00) -+ - React-Codegen (= 0.71.16) -+ - React-Core/RCTVibrationHeaders (= 0.71.16) -+ - React-jsi (= 0.71.16) -+ - ReactCommon/turbomodule/core (= 0.71.16) -+ - React-runtimeexecutor (0.71.16): -+ - React-jsi (= 0.71.16) -+ - ReactCommon/turbomodule/bridging (0.71.16): -+ - DoubleConversion -+ - glog -+ - RCT-Folly (= 2021.07.22.00) -+ - React-callinvoker (= 0.71.16) -+ - React-Core (= 0.71.16) -+ - React-cxxreact (= 0.71.16) -+ - React-jsi (= 0.71.16) -+ - React-logger (= 0.71.16) -+ - React-perflogger (= 0.71.16) -+ - ReactCommon/turbomodule/core (0.71.16): -+ - DoubleConversion -+ - glog -+ - RCT-Folly (= 2021.07.22.00) -+ - React-callinvoker (= 0.71.16) -+ - React-Core (= 0.71.16) -+ - React-cxxreact (= 0.71.16) -+ - React-jsi (= 0.71.16) -+ - React-logger (= 0.71.16) -+ - React-perflogger (= 0.71.16) - - ReactNativeHost (0.4.4): - - React-Core - - React-cxxreact -@@ -1031,7 +329,6 @@ PODS: - - ReactTestApp-Resources (1.0.0-dev) - - RNPermissions (3.10.1): - - React-Core -- - SocketRocket (0.6.1) - - Yoga (1.14.0) - - DEPENDENCIES: -@@ -1041,7 +338,6 @@ DEPENDENCIES: - - FBReactNativeSpec (from `../node_modules/react-native/React/FBReactNativeSpec`) - - glog (from `../node_modules/react-native/third-party-podspecs/glog.podspec`) - - RCT-Folly (from `../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec`) -- - RCT-Folly/Fabric (from `../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec`) - - RCTRequired (from `../node_modules/react-native/Libraries/RCTRequired`) - - RCTTypeSafety (from `../node_modules/react-native/Libraries/TypeSafety`) - - React (from `../node_modules/react-native/`) -@@ -1051,39 +347,25 @@ DEPENDENCIES: - - React-Core/RCTWebSocket (from `../node_modules/react-native/`) - - React-CoreModules (from `../node_modules/react-native/React/CoreModules`) - - React-cxxreact (from `../node_modules/react-native/ReactCommon/cxxreact`) -- - React-debug (from `../node_modules/react-native/ReactCommon/react/debug`) -- - React-Fabric (from `../node_modules/react-native/ReactCommon`) -- - React-FabricImage (from `../node_modules/react-native/ReactCommon`) -- - React-graphics (from `../node_modules/react-native/ReactCommon/react/renderer/graphics`) -- - React-ImageManager (from `../node_modules/react-native/ReactCommon/react/renderer/imagemanager/platform/ios`) - - React-jsc (from `../node_modules/react-native/ReactCommon/jsc`) -- - React-jserrorhandler (from `../node_modules/react-native/ReactCommon/jserrorhandler`) - - React-jsi (from `../node_modules/react-native/ReactCommon/jsi`) - - React-jsiexecutor (from `../node_modules/react-native/ReactCommon/jsiexecutor`) -- - React-jsinspector (from `../node_modules/react-native/ReactCommon/jsinspector-modern`) -+ - React-jsinspector (from `../node_modules/react-native/ReactCommon/jsinspector`) - - React-logger (from `../node_modules/react-native/ReactCommon/logger`) -- - React-Mapbuffer (from `../node_modules/react-native/ReactCommon`) - - "react-native-babylon (from `../node_modules/@babylonjs/react-native-iosandroid`)" - - "react-native-slider (from `../node_modules/@react-native-community/slider`)" -- - React-nativeconfig (from `../node_modules/react-native/ReactCommon`) -- - React-NativeModulesApple (from `../node_modules/react-native/ReactCommon/react/nativemodule/core/platform/ios`) - - React-perflogger (from `../node_modules/react-native/ReactCommon/reactperflogger`) - - React-RCTActionSheet (from `../node_modules/react-native/Libraries/ActionSheetIOS`) - - React-RCTAnimation (from `../node_modules/react-native/Libraries/NativeAnimation`) - - React-RCTAppDelegate (from `../node_modules/react-native/Libraries/AppDelegate`) - - React-RCTBlob (from `../node_modules/react-native/Libraries/Blob`) -- - React-RCTFabric (from `../node_modules/react-native/React`) - - React-RCTImage (from `../node_modules/react-native/Libraries/Image`) - - React-RCTLinking (from `../node_modules/react-native/Libraries/LinkingIOS`) - - React-RCTNetwork (from `../node_modules/react-native/Libraries/Network`) - - React-RCTSettings (from `../node_modules/react-native/Libraries/Settings`) - - React-RCTText (from `../node_modules/react-native/Libraries/Text`) - - React-RCTVibration (from `../node_modules/react-native/Libraries/Vibration`) -- - React-rendererdebug (from `../node_modules/react-native/ReactCommon/react/renderer/debug`) -- - React-rncore (from `../node_modules/react-native/ReactCommon`) - - React-runtimeexecutor (from `../node_modules/react-native/ReactCommon/runtimeexecutor`) -- - React-runtimescheduler (from `../node_modules/react-native/ReactCommon/react/renderer/runtimescheduler`) -- - React-utils (from `../node_modules/react-native/ReactCommon/react/utils`) - - ReactCommon/turbomodule/core (from `../node_modules/react-native/ReactCommon`) - - "ReactNativeHost (from `../node_modules/@rnx-kit/react-native-host`)" - - ReactTestApp-DevSupport (from `../node_modules/react-native-test-app`) -@@ -1094,7 +376,6 @@ DEPENDENCIES: - SPEC REPOS: - trunk: - - fmt -- - SocketRocket - - EXTERNAL SOURCES: - boost: -@@ -1125,38 +406,20 @@ EXTERNAL SOURCES: - :path: "../node_modules/react-native/React/CoreModules" - React-cxxreact: - :path: "../node_modules/react-native/ReactCommon/cxxreact" -- React-debug: -- :path: "../node_modules/react-native/ReactCommon/react/debug" -- React-Fabric: -- :path: "../node_modules/react-native/ReactCommon" -- React-FabricImage: -- :path: "../node_modules/react-native/ReactCommon" -- React-graphics: -- :path: "../node_modules/react-native/ReactCommon/react/renderer/graphics" -- React-ImageManager: -- :path: "../node_modules/react-native/ReactCommon/react/renderer/imagemanager/platform/ios" - React-jsc: - :path: "../node_modules/react-native/ReactCommon/jsc" -- React-jserrorhandler: -- :path: "../node_modules/react-native/ReactCommon/jserrorhandler" - React-jsi: - :path: "../node_modules/react-native/ReactCommon/jsi" - React-jsiexecutor: - :path: "../node_modules/react-native/ReactCommon/jsiexecutor" - React-jsinspector: -- :path: "../node_modules/react-native/ReactCommon/jsinspector-modern" -+ :path: "../node_modules/react-native/ReactCommon/jsinspector" - React-logger: - :path: "../node_modules/react-native/ReactCommon/logger" -- React-Mapbuffer: -- :path: "../node_modules/react-native/ReactCommon" - react-native-babylon: - :path: "../node_modules/@babylonjs/react-native-iosandroid" - react-native-slider: - :path: "../node_modules/@react-native-community/slider" -- React-nativeconfig: -- :path: "../node_modules/react-native/ReactCommon" -- React-NativeModulesApple: -- :path: "../node_modules/react-native/ReactCommon/react/nativemodule/core/platform/ios" - React-perflogger: - :path: "../node_modules/react-native/ReactCommon/reactperflogger" - React-RCTActionSheet: -@@ -1167,8 +430,6 @@ EXTERNAL SOURCES: - :path: "../node_modules/react-native/Libraries/AppDelegate" - React-RCTBlob: - :path: "../node_modules/react-native/Libraries/Blob" -- React-RCTFabric: -- :path: "../node_modules/react-native/React" - React-RCTImage: - :path: "../node_modules/react-native/Libraries/Image" - React-RCTLinking: -@@ -1181,16 +442,8 @@ EXTERNAL SOURCES: - :path: "../node_modules/react-native/Libraries/Text" - React-RCTVibration: - :path: "../node_modules/react-native/Libraries/Vibration" -- React-rendererdebug: -- :path: "../node_modules/react-native/ReactCommon/react/renderer/debug" -- React-rncore: -- :path: "../node_modules/react-native/ReactCommon" - React-runtimeexecutor: - :path: "../node_modules/react-native/ReactCommon/runtimeexecutor" -- React-runtimescheduler: -- :path: "../node_modules/react-native/ReactCommon/react/renderer/runtimescheduler" -- React-utils: -- :path: "../node_modules/react-native/ReactCommon/react/utils" - ReactCommon: - :path: "../node_modules/react-native/ReactCommon" - ReactNativeHost: -@@ -1205,61 +458,46 @@ EXTERNAL SOURCES: - :path: "../node_modules/react-native/ReactCommon/yoga" - - SPEC CHECKSUMS: -- boost: d3f49c53809116a5d38da093a8aa78bf551aed09 -- DoubleConversion: fea03f2699887d960129cc54bba7e52542b6f953 -- FBLazyVector: 84f6edbe225f38aebd9deaf1540a4160b1f087d7 -- FBReactNativeSpec: d0086a479be91c44ce4687a962956a352d2dc697 -+ boost: 7dcd2de282d72e344012f7d6564d024930a6a440 -+ DoubleConversion: 5189b271737e1565bdce30deb4a08d647e3f5f54 -+ FBLazyVector: 9840513ec2766e31fb9e34c2dabb2c4671400fcd -+ FBReactNativeSpec: 76141e46f67b395d7d4e94925dfeba0dbd680ba1 - fmt: ff9d55029c625d3757ed641535fd4a75fedc7ce9 -- glog: c5d68082e772fa1c511173d6b30a9de2c05a69a2 -- RCT-Folly: 7169b2b1c44399c76a47b5deaaba715eeeb476c0 -- RCTRequired: ab7f915c15569f04a49669e573e6e319a53f9faa -- RCTTypeSafety: 63b97ced7b766865057e7154db0e81ce4ee6cf1e -- React: 1c87497e50fa40ba9c54e5ea5e53483a0f8eecc0 -- React-callinvoker: e3a52a9a93e3eb004d7282c26a4fb27003273fe6 -- React-Codegen: f97ac7804e2468e514eea6cc44e68d2677d0de69 -- React-Core: 91326ebf4dafb4bd76f04171719c907aebb9fc01 -- React-CoreModules: 2ff1684dd517f0c441495d90a704d499f05e9d0a -- React-cxxreact: 2d53721f4eb9a9741a55ad09cb006474b85752b2 -- React-debug: 4678e73a37cb501d784e99ff0f219b4940362a3b -- React-Fabric: ca937a8fa091aab4ae5b91bc352a00cab4e66895 -- React-FabricImage: 87a62069d5735e442091a61a5a89bf1ecc3a0abf -- React-graphics: f0d5040263a9649e2a70ebe27b3120c49411afef -- React-ImageManager: 6c4bf9d5ed363ead7b5aaf820a3feab221b7063e -- React-jsc: 6bec8ccbfbd1c824051ddbbf6f1ae013d47328e7 -- React-jserrorhandler: 6e7a7e187583e14dc7a0053a2bdd66c252ea3b21 -- React-jsi: cc036770a4d5e3e409fe618d8c888f2ccc0fdd14 -- React-jsiexecutor: e1fe14c65f21e25e82713cbf8227d29edcb36f3e -- React-jsinspector: 9ac353eccf6ab54d1e0a33862ba91221d1e88460 -- React-logger: 0a57b68dd2aec7ff738195f081f0520724b35dab -- React-Mapbuffer: 63913773ed7f96b814a2521e13e6d010282096ad -+ glog: 04b94705f318337d7ead9e6d17c019bd9b1f6b1b -+ RCT-Folly: 424b8c9a7a0b9ab2886ffe9c3b041ef628fd4fb1 -+ RCTRequired: 44a3cda52ccac0be738fbf43fef90f3546a48c52 -+ RCTTypeSafety: da7fbf9826fc898ca8b10dc840f2685562039a64 -+ React: defd955b6d6ffb9791bb66dee08d90b87a8e2c0c -+ React-callinvoker: 39ea57213d56ec9c527d51bd0dfb45cbb12ef447 -+ React-Codegen: 8a8e504a754015748bc389939e41bc30835e8bc9 -+ React-Core: a8edcd9f0b47c568bc2ce8adbd8fe2d7b73de58a -+ React-CoreModules: 7f71e7054395d61585048061a66d67b58d3d27b7 -+ React-cxxreact: 6b6ee35ce7d6d83e9e44c82b6b27f03a31c52b1e -+ React-jsc: d88f4ab7f6ce507823b6c1bcb3a87205d6ce8892 -+ React-jsi: a168d83ea2309815def33fb37af802a34282bc66 -+ React-jsiexecutor: 078c0edbd49b0195a88014bc0b4e06d23e7a7222 -+ React-jsinspector: b3b341764ccda14f3659c00a9bc5b098b334db2b -+ React-logger: dc96fadd2f7f6bc38efc3cfb5fef876d4e6290a2 - react-native-babylon: bf91c1c58c6074bc30c85d9959b62c340388ad60 -- react-native-slider: 7d387c7e8dd0b4c12bf49c975c8666435f082a33 -- React-nativeconfig: d7af5bae6da70fa15ce44f045621cf99ed24087c -- React-NativeModulesApple: d5a1abf3d7ef808cdf1d27e795c741f0c5e14ea0 -- React-perflogger: 8a1e1af5733004bdd91258dcefbde21e0d1faccd -- React-RCTActionSheet: 64bbff3a3963664c2d0146f870fe8e0264aee4c4 -- React-RCTAnimation: b698168a7269265a4694727196484342d695f0c1 -- React-RCTAppDelegate: e84f7341c398a23b652ac7d86205cc66c97111c2 -- React-RCTBlob: 012d6ce039e89e485cf323788dcf6f8b350464f5 -- React-RCTFabric: 7f9692671806bcf1be2867533f2b73f7c0ca3c5f -- React-RCTImage: ac0e77a44c290b20db783649b2b9cddc93e3eb99 -- React-RCTLinking: e626fd2900913fe5d25922ea1be394b7aafa09c9 -- React-RCTNetwork: d3114bce3977dafe8bd06421b29812f5a8527ba0 -- React-RCTSettings: a53511f90d8df637a1a11ac729179a4d2f734481 -- React-RCTText: f0176f5f5952f9a4a2c7354f5ae71f7c420aaf34 -- React-RCTVibration: 8160223c6eda5b187079fec204f80eca8b8f3177 -- React-rendererdebug: ed286b4da8648c27d6ed3ae1410d4b21ba890d5a -- React-rncore: 43f133b89ac10c4b6ab43702a541dee1c292a3bf -- React-runtimeexecutor: e6ab6bb083dbdbdd489cff426ed0bce0652e6edf -- React-runtimescheduler: 96c8bfa2ea02443b79cd9359afb91dfd1bf3b958 -- React-utils: 6e5ad394416482ae21831050928ae27348f83487 -- ReactCommon: 5fd44dbef85dfbafc87facae700c66d2da71b2cb -+ react-native-slider: cc89964e1432fa31aa9db7a0fa9b21e26b5d5152 -+ React-perflogger: c944b06edad34f5ecded0f29a6e66290a005d365 -+ React-RCTActionSheet: fa467f37777dacba2c72da4be7ae065da4482d7d -+ React-RCTAnimation: 0591ee5f9e3d8c864a0937edea2165fe968e7099 -+ React-RCTAppDelegate: f95054c6d677e9f16ddcc717481369190a773982 -+ React-RCTBlob: db13bd0c805ca2e99e4544b51991e08c368e57a5 -+ React-RCTImage: 6300660ef04d0e8a710ad9ea5d2fb4d9521c200d -+ React-RCTLinking: 7703ee1b10d3568c143a489ae74adc419c3f3ef3 -+ React-RCTNetwork: 5748c647e09c66b918f81ae15ed7474327f653be -+ React-RCTSettings: 8c8a84ee363db9cbc287c8b8f2fb782acf7ba414 -+ React-RCTText: d5e53c0741e3e2df91317781e993b5e42bd70448 -+ React-RCTVibration: 052dd488ba95f461a37c992b9e01bd4bcc59a7b6 -+ React-runtimeexecutor: b5abe02558421897cd9f73d4f4b6adb4bc297083 -+ ReactCommon: c64c353b2f299d9f1ad83558dc6e4027eca44685 - ReactNativeHost: 59d4565eee4fb44efb46d3bff7adbaf2cf29fa5f - ReactTestApp-DevSupport: f15b57e2c1f7be148955ba5868ab139810c2700f - ReactTestApp-Resources: da77347b3f02b5d79ba3fecb3ad328b2f6a7ef4d - RNPermissions: 4e3714e18afe7141d000beae3755e5b5fb2f5e05 -- SocketRocket: f32cd54efbe0f095c4d7594881e52619cfe80b17 -- Yoga: 1b901a6d6eeba4e8a2e8f308f708691cdb5db312 -+ Yoga: e29645ec5a66fb00934fad85338742d1c247d4cb - - PODFILE CHECKSUM: e687290f438ec43665217ddfa04af01259887347 - -diff --git BRNPlayground/package-lock.json BRNPlayground/package-lock.json -index 47c40fc452e41f71784c03b657c181669add853a..ecddf19fae26b3238868591d7fdce238fcc21c90 100644 ---- BRNPlayground/package-lock.json -+++ BRNPlayground/package-lock.json -@@ -16,25 +16,23 @@ - "@babylonjs/react-native-windows": "file:../../Modules/@babylonjs/react-native-windows", - "@react-native-community/slider": "^4.2.2", - "react": "18.2.0", -- "react-native": "0.73.4", -- "react-native-macos": "^0.73.0", -+ "react-native": "^0.71.0", -+ "react-native-macos": "^0.71.0", - "react-native-permissions": "^3.0.0", -- "react-native-windows": "^0.73.0" -+ "react-native-windows": "^0.71.0" - }, - "devDependencies": { - "@babel/core": "^7.20.0", - "@babel/preset-env": "^7.20.0", - "@babel/runtime": "^7.20.0", -- "@react-native/babel-preset": "0.73.20", -- "@react-native/eslint-config": "0.73.2", -- "@react-native/metro-config": "0.73.4", -- "@react-native/typescript-config": "0.73.1", -+ "@react-native-community/eslint-config": "^3.0.0", - "@rnx-kit/metro-config": "^1.3.14", - "@types/react": "^18.2.6", - "@types/react-test-renderer": "^18.0.0", - "babel-jest": "^29.6.3", - "eslint": "^8.19.0", - "jest": "^29.6.3", -+ "metro-react-native-babel-preset": "0.73.10", - "mkdirp": "^1.0.0", - "prettier": "2.8.8", - "react-native-test-app": "^3.2.10", -@@ -155,27 +153,27 @@ - } - }, - "node_modules/@azure/abort-controller": { -- "version": "1.1.0", -- "resolved": "https://registry.npmjs.org/@azure/abort-controller/-/abort-controller-1.1.0.tgz", -- "integrity": "sha512-TrRLIoSQVzfAJX9H1JeFjzAoDGcoK1IYX1UImfceTZpsyYfWr09Ss1aHW1y5TrrR3iq6RZLBwJ3E24uwPhwahw==", -+ "version": "2.0.0", -+ "resolved": "https://registry.npmjs.org/@azure/abort-controller/-/abort-controller-2.0.0.tgz", -+ "integrity": "sha512-RP/mR/WJchR+g+nQFJGOec+nzeN/VvjlwbinccoqfhTsTHbb8X5+mLDp48kHT0ueyum0BNSwGm0kX0UZuIqTGg==", - "dependencies": { - "tslib": "^2.2.0" - }, - "engines": { -- "node": ">=12.0.0" -+ "node": ">=18.0.0" - } - }, - "node_modules/@azure/core-auth": { -- "version": "1.5.0", -- "resolved": "https://registry.npmjs.org/@azure/core-auth/-/core-auth-1.5.0.tgz", -- "integrity": "sha512-udzoBuYG1VBoHVohDTrvKjyzel34zt77Bhp7dQntVGGD0ehVq48owENbBG8fIgkHRNUBQH5k1r0hpoMu5L8+kw==", -+ "version": "1.6.0", -+ "resolved": "https://registry.npmjs.org/@azure/core-auth/-/core-auth-1.6.0.tgz", -+ "integrity": "sha512-3X9wzaaGgRaBCwhLQZDtFp5uLIXCPrGbwJNWPPugvL4xbIGgScv77YzzxToKGLAKvG9amDoofMoP+9hsH1vs1w==", - "dependencies": { -- "@azure/abort-controller": "^1.0.0", -+ "@azure/abort-controller": "^2.0.0", - "@azure/core-util": "^1.1.0", - "tslib": "^2.2.0" - }, - "engines": { -- "node": ">=14.0.0" -+ "node": ">=18.0.0" - } - }, - "node_modules/@azure/core-rest-pipeline": { -@@ -198,6 +196,17 @@ - "node": ">=14.0.0" - } - }, -+ "node_modules/@azure/core-rest-pipeline/node_modules/@azure/abort-controller": { -+ "version": "1.1.0", -+ "resolved": "https://registry.npmjs.org/@azure/abort-controller/-/abort-controller-1.1.0.tgz", -+ "integrity": "sha512-TrRLIoSQVzfAJX9H1JeFjzAoDGcoK1IYX1UImfceTZpsyYfWr09Ss1aHW1y5TrrR3iq6RZLBwJ3E24uwPhwahw==", -+ "dependencies": { -+ "tslib": "^2.2.0" -+ }, -+ "engines": { -+ "node": ">=12.0.0" -+ } -+ }, - "node_modules/@azure/core-tracing": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@azure/core-tracing/-/core-tracing-1.0.1.tgz", -@@ -221,6 +230,17 @@ - "node": ">=14.0.0" - } - }, -+ "node_modules/@azure/core-util/node_modules/@azure/abort-controller": { -+ "version": "1.1.0", -+ "resolved": "https://registry.npmjs.org/@azure/abort-controller/-/abort-controller-1.1.0.tgz", -+ "integrity": "sha512-TrRLIoSQVzfAJX9H1JeFjzAoDGcoK1IYX1UImfceTZpsyYfWr09Ss1aHW1y5TrrR3iq6RZLBwJ3E24uwPhwahw==", -+ "dependencies": { -+ "tslib": "^2.2.0" -+ }, -+ "engines": { -+ "node": ">=12.0.0" -+ } -+ }, - "node_modules/@azure/logger": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@azure/logger/-/logger-1.0.4.tgz", -@@ -763,6 +783,9 @@ - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz", - "integrity": "sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==", - "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-numeric-separator instead.", -+ "dev": true, -+ "optional": true, -+ "peer": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-numeric-separator": "^7.10.4" -@@ -2405,14 +2428,6 @@ - "integrity": "sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==", - "dev": true - }, -- "node_modules/@isaacs/ttlcache": { -- "version": "1.4.1", -- "resolved": "https://registry.npmjs.org/@isaacs/ttlcache/-/ttlcache-1.4.1.tgz", -- "integrity": "sha512-RQgQ4uQ+pLbqXfOmieB91ejmLwvSgv9nLx6sT6sD83s7umBypgg+OIBOBbEUiJXrfpnp9j0mRhYYdzp9uqq3lA==", -- "engines": { -- "node": ">=12" -- } -- }, - "node_modules/@istanbuljs/load-nyc-config": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", -@@ -3318,9 +3333,9 @@ - } - }, - "node_modules/@opentelemetry/instrumentation/node_modules/semver": { -- "version": "7.5.4", -- "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", -- "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", -+ "version": "7.6.0", -+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", -+ "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", - "dependencies": { - "lru-cache": "^6.0.0" - }, -@@ -3376,44 +3391,44 @@ - } - }, - "node_modules/@react-native-community/cli": { -- "version": "12.3.2", -- "resolved": "https://registry.npmjs.org/@react-native-community/cli/-/cli-12.3.2.tgz", -- "integrity": "sha512-WgoUWwLDcf/G1Su2COUUVs3RzAwnV/vUTdISSpAUGgSc57mPabaAoUctKTnfYEhCnE3j02k3VtaVPwCAFRO3TQ==", -- "dependencies": { -- "@react-native-community/cli-clean": "12.3.2", -- "@react-native-community/cli-config": "12.3.2", -- "@react-native-community/cli-debugger-ui": "12.3.2", -- "@react-native-community/cli-doctor": "12.3.2", -- "@react-native-community/cli-hermes": "12.3.2", -- "@react-native-community/cli-plugin-metro": "12.3.2", -- "@react-native-community/cli-server-api": "12.3.2", -- "@react-native-community/cli-tools": "12.3.2", -- "@react-native-community/cli-types": "12.3.2", -+ "version": "10.2.6", -+ "resolved": "https://registry.npmjs.org/@react-native-community/cli/-/cli-10.2.6.tgz", -+ "integrity": "sha512-RiOogGmrMnL2a1ICOBM/XvG4s46AzJoZt4B/aydrpp3xCiuPFBUVWpYtWWcdPmQqilk37c6qfNu9/38g9dW9Bw==", -+ "dependencies": { -+ "@react-native-community/cli-clean": "^10.1.1", -+ "@react-native-community/cli-config": "^10.1.1", -+ "@react-native-community/cli-debugger-ui": "^10.0.0", -+ "@react-native-community/cli-doctor": "^10.2.5", -+ "@react-native-community/cli-hermes": "^10.2.0", -+ "@react-native-community/cli-plugin-metro": "^10.2.3", -+ "@react-native-community/cli-server-api": "^10.1.1", -+ "@react-native-community/cli-tools": "^10.1.1", -+ "@react-native-community/cli-types": "^10.0.0", - "chalk": "^4.1.2", - "commander": "^9.4.1", -- "deepmerge": "^4.3.0", -- "execa": "^5.0.0", -+ "execa": "^1.0.0", - "find-up": "^4.1.0", - "fs-extra": "^8.1.0", - "graceful-fs": "^4.1.3", -- "prompts": "^2.4.2", -- "semver": "^7.5.2" -+ "prompts": "^2.4.0", -+ "semver": "^6.3.0" - }, - "bin": { - "react-native": "build/bin.js" - }, - "engines": { -- "node": ">=18" -+ "node": ">=14" - } - }, - "node_modules/@react-native-community/cli-clean": { -- "version": "12.3.2", -- "resolved": "https://registry.npmjs.org/@react-native-community/cli-clean/-/cli-clean-12.3.2.tgz", -- "integrity": "sha512-90k2hCX0ddSFPT7EN7h5SZj0XZPXP0+y/++v262hssoey3nhurwF57NGWN0XAR0o9BSW7+mBfeInfabzDraO6A==", -+ "version": "10.1.1", -+ "resolved": "https://registry.npmjs.org/@react-native-community/cli-clean/-/cli-clean-10.1.1.tgz", -+ "integrity": "sha512-iNsrjzjIRv9yb5y309SWJ8NDHdwYtnCpmxZouQDyOljUdC9MwdZ4ChbtA4rwQyAwgOVfS9F/j56ML3Cslmvrxg==", - "dependencies": { -- "@react-native-community/cli-tools": "12.3.2", -+ "@react-native-community/cli-tools": "^10.1.1", - "chalk": "^4.1.2", -- "execa": "^5.0.0" -+ "execa": "^1.0.0", -+ "prompts": "^2.4.0" - } - }, - "node_modules/@react-native-community/cli-clean/node_modules/ansi-styles": { -@@ -3461,6 +3476,49 @@ - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, -+ "node_modules/@react-native-community/cli-clean/node_modules/cross-spawn": { -+ "version": "6.0.5", -+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", -+ "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", -+ "dependencies": { -+ "nice-try": "^1.0.4", -+ "path-key": "^2.0.1", -+ "semver": "^5.5.0", -+ "shebang-command": "^1.2.0", -+ "which": "^1.2.9" -+ }, -+ "engines": { -+ "node": ">=4.8" -+ } -+ }, -+ "node_modules/@react-native-community/cli-clean/node_modules/execa": { -+ "version": "1.0.0", -+ "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", -+ "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", -+ "dependencies": { -+ "cross-spawn": "^6.0.0", -+ "get-stream": "^4.0.0", -+ "is-stream": "^1.1.0", -+ "npm-run-path": "^2.0.0", -+ "p-finally": "^1.0.0", -+ "signal-exit": "^3.0.0", -+ "strip-eof": "^1.0.0" -+ }, -+ "engines": { -+ "node": ">=6" -+ } -+ }, -+ "node_modules/@react-native-community/cli-clean/node_modules/get-stream": { -+ "version": "4.1.0", -+ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", -+ "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", -+ "dependencies": { -+ "pump": "^3.0.0" -+ }, -+ "engines": { -+ "node": ">=6" -+ } -+ }, - "node_modules/@react-native-community/cli-clean/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", -@@ -3469,6 +3527,60 @@ - "node": ">=8" - } - }, -+ "node_modules/@react-native-community/cli-clean/node_modules/is-stream": { -+ "version": "1.1.0", -+ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", -+ "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", -+ "engines": { -+ "node": ">=0.10.0" -+ } -+ }, -+ "node_modules/@react-native-community/cli-clean/node_modules/npm-run-path": { -+ "version": "2.0.2", -+ "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", -+ "integrity": "sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==", -+ "dependencies": { -+ "path-key": "^2.0.0" -+ }, -+ "engines": { -+ "node": ">=4" -+ } -+ }, -+ "node_modules/@react-native-community/cli-clean/node_modules/path-key": { -+ "version": "2.0.1", -+ "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", -+ "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", -+ "engines": { -+ "node": ">=4" -+ } -+ }, -+ "node_modules/@react-native-community/cli-clean/node_modules/semver": { -+ "version": "5.7.2", -+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", -+ "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", -+ "bin": { -+ "semver": "bin/semver" -+ } -+ }, -+ "node_modules/@react-native-community/cli-clean/node_modules/shebang-command": { -+ "version": "1.2.0", -+ "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", -+ "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", -+ "dependencies": { -+ "shebang-regex": "^1.0.0" -+ }, -+ "engines": { -+ "node": ">=0.10.0" -+ } -+ }, -+ "node_modules/@react-native-community/cli-clean/node_modules/shebang-regex": { -+ "version": "1.0.0", -+ "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", -+ "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", -+ "engines": { -+ "node": ">=0.10.0" -+ } -+ }, - "node_modules/@react-native-community/cli-clean/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", -@@ -3480,15 +3592,26 @@ - "node": ">=8" - } - }, -+ "node_modules/@react-native-community/cli-clean/node_modules/which": { -+ "version": "1.3.1", -+ "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", -+ "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", -+ "dependencies": { -+ "isexe": "^2.0.0" -+ }, -+ "bin": { -+ "which": "bin/which" -+ } -+ }, - "node_modules/@react-native-community/cli-config": { -- "version": "12.3.2", -- "resolved": "https://registry.npmjs.org/@react-native-community/cli-config/-/cli-config-12.3.2.tgz", -- "integrity": "sha512-UUCzDjQgvAVL/57rL7eOuFUhd+d+6qfM7V8uOegQFeFEmSmvUUDLYoXpBa5vAK9JgQtSqMBJ1Shmwao+/oElxQ==", -+ "version": "10.1.1", -+ "resolved": "https://registry.npmjs.org/@react-native-community/cli-config/-/cli-config-10.1.1.tgz", -+ "integrity": "sha512-p4mHrjC+s/ayiNVG6T35GdEGdP6TuyBUg5plVGRJfTl8WT6LBfLYLk+fz/iETrEZ/YkhQIsQcEUQC47MqLNHog==", - "dependencies": { -- "@react-native-community/cli-tools": "12.3.2", -+ "@react-native-community/cli-tools": "^10.1.1", - "chalk": "^4.1.2", - "cosmiconfig": "^5.1.0", -- "deepmerge": "^4.3.0", -+ "deepmerge": "^3.2.0", - "glob": "^7.1.3", - "joi": "^17.2.1" - } -@@ -3538,6 +3661,14 @@ - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, -+ "node_modules/@react-native-community/cli-config/node_modules/deepmerge": { -+ "version": "3.3.0", -+ "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-3.3.0.tgz", -+ "integrity": "sha512-GRQOafGHwMHpjPx9iCvTgpu9NojZ49q794EEL94JVEw6VaeA8XTUyBKvAkOOjBX9oJNiV6G3P+T+tihFjo2TqA==", -+ "engines": { -+ "node": ">=0.10.0" -+ } -+ }, - "node_modules/@react-native-community/cli-config/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", -@@ -3558,35 +3689,33 @@ - } - }, - "node_modules/@react-native-community/cli-debugger-ui": { -- "version": "12.3.2", -- "resolved": "https://registry.npmjs.org/@react-native-community/cli-debugger-ui/-/cli-debugger-ui-12.3.2.tgz", -- "integrity": "sha512-nSWQUL+51J682DlfcC1bjkUbQbGvHCC25jpqTwHIjmmVjYCX1uHuhPSqQKgPNdvtfOkrkACxczd7kVMmetxY2Q==", -+ "version": "10.0.0", -+ "resolved": "https://registry.npmjs.org/@react-native-community/cli-debugger-ui/-/cli-debugger-ui-10.0.0.tgz", -+ "integrity": "sha512-8UKLcvpSNxnUTRy8CkCl27GGLqZunQ9ncGYhSrWyKrU9SWBJJGeZwi2k2KaoJi5FvF2+cD0t8z8cU6lsq2ZZmA==", - "dependencies": { - "serve-static": "^1.13.1" - } - }, - "node_modules/@react-native-community/cli-doctor": { -- "version": "12.3.2", -- "resolved": "https://registry.npmjs.org/@react-native-community/cli-doctor/-/cli-doctor-12.3.2.tgz", -- "integrity": "sha512-GrAabdY4qtBX49knHFvEAdLtCjkmndjTeqhYO6BhsbAeKOtspcLT/0WRgdLIaKODRa61ADNB3K5Zm4dU0QrZOg==", -- "dependencies": { -- "@react-native-community/cli-config": "12.3.2", -- "@react-native-community/cli-platform-android": "12.3.2", -- "@react-native-community/cli-platform-ios": "12.3.2", -- "@react-native-community/cli-tools": "12.3.2", -+ "version": "10.2.7", -+ "resolved": "https://registry.npmjs.org/@react-native-community/cli-doctor/-/cli-doctor-10.2.7.tgz", -+ "integrity": "sha512-MejE7m+63DxfKwFSvyZGfq+72jX0RSP9SdSmDbW0Bjz2NIEE3BsE8rNay+ByFbdSLsapRPvaZv2Jof+dK2Y/yg==", -+ "dependencies": { -+ "@react-native-community/cli-config": "^10.1.1", -+ "@react-native-community/cli-platform-ios": "^10.2.5", -+ "@react-native-community/cli-tools": "^10.1.1", - "chalk": "^4.1.2", - "command-exists": "^1.2.8", -- "deepmerge": "^4.3.0", -- "envinfo": "^7.10.0", -- "execa": "^5.0.0", -+ "envinfo": "^7.7.2", -+ "execa": "^1.0.0", - "hermes-profile-transformer": "^0.0.6", -- "ip": "^1.1.5", - "node-stream-zip": "^1.9.1", - "ora": "^5.4.1", -- "semver": "^7.5.2", -+ "prompts": "^2.4.0", -+ "semver": "^6.3.0", - "strip-ansi": "^5.2.0", -- "wcwidth": "^1.0.1", -- "yaml": "^2.2.1" -+ "sudo-prompt": "^9.0.0", -+ "wcwidth": "^1.0.1" - } - }, - "node_modules/@react-native-community/cli-doctor/node_modules/ansi-regex": { -@@ -3642,6 +3771,57 @@ - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, -+ "node_modules/@react-native-community/cli-doctor/node_modules/cross-spawn": { -+ "version": "6.0.5", -+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", -+ "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", -+ "dependencies": { -+ "nice-try": "^1.0.4", -+ "path-key": "^2.0.1", -+ "semver": "^5.5.0", -+ "shebang-command": "^1.2.0", -+ "which": "^1.2.9" -+ }, -+ "engines": { -+ "node": ">=4.8" -+ } -+ }, -+ "node_modules/@react-native-community/cli-doctor/node_modules/cross-spawn/node_modules/semver": { -+ "version": "5.7.2", -+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", -+ "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", -+ "bin": { -+ "semver": "bin/semver" -+ } -+ }, -+ "node_modules/@react-native-community/cli-doctor/node_modules/execa": { -+ "version": "1.0.0", -+ "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", -+ "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", -+ "dependencies": { -+ "cross-spawn": "^6.0.0", -+ "get-stream": "^4.0.0", -+ "is-stream": "^1.1.0", -+ "npm-run-path": "^2.0.0", -+ "p-finally": "^1.0.0", -+ "signal-exit": "^3.0.0", -+ "strip-eof": "^1.0.0" -+ }, -+ "engines": { -+ "node": ">=6" -+ } -+ }, -+ "node_modules/@react-native-community/cli-doctor/node_modules/get-stream": { -+ "version": "4.1.0", -+ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", -+ "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", -+ "dependencies": { -+ "pump": "^3.0.0" -+ }, -+ "engines": { -+ "node": ">=6" -+ } -+ }, - "node_modules/@react-native-community/cli-doctor/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", -@@ -3650,29 +3830,50 @@ - "node": ">=8" - } - }, -- "node_modules/@react-native-community/cli-doctor/node_modules/lru-cache": { -- "version": "6.0.0", -- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", -- "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", -+ "node_modules/@react-native-community/cli-doctor/node_modules/is-stream": { -+ "version": "1.1.0", -+ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", -+ "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", -+ "engines": { -+ "node": ">=0.10.0" -+ } -+ }, -+ "node_modules/@react-native-community/cli-doctor/node_modules/npm-run-path": { -+ "version": "2.0.2", -+ "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", -+ "integrity": "sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==", - "dependencies": { -- "yallist": "^4.0.0" -+ "path-key": "^2.0.0" - }, - "engines": { -- "node": ">=10" -+ "node": ">=4" - } - }, -- "node_modules/@react-native-community/cli-doctor/node_modules/semver": { -- "version": "7.5.4", -- "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", -- "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", -+ "node_modules/@react-native-community/cli-doctor/node_modules/path-key": { -+ "version": "2.0.1", -+ "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", -+ "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", -+ "engines": { -+ "node": ">=4" -+ } -+ }, -+ "node_modules/@react-native-community/cli-doctor/node_modules/shebang-command": { -+ "version": "1.2.0", -+ "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", -+ "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", - "dependencies": { -- "lru-cache": "^6.0.0" -- }, -- "bin": { -- "semver": "bin/semver.js" -+ "shebang-regex": "^1.0.0" - }, - "engines": { -- "node": ">=10" -+ "node": ">=0.10.0" -+ } -+ }, -+ "node_modules/@react-native-community/cli-doctor/node_modules/shebang-regex": { -+ "version": "1.0.0", -+ "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", -+ "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", -+ "engines": { -+ "node": ">=0.10.0" - } - }, - "node_modules/@react-native-community/cli-doctor/node_modules/strip-ansi": { -@@ -3697,21 +3898,26 @@ - "node": ">=8" - } - }, -- "node_modules/@react-native-community/cli-doctor/node_modules/yallist": { -- "version": "4.0.0", -- "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", -- "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" -- }, -- "node_modules/@react-native-community/cli-hermes": { -- "version": "12.3.2", -- "resolved": "https://registry.npmjs.org/@react-native-community/cli-hermes/-/cli-hermes-12.3.2.tgz", -- "integrity": "sha512-SL6F9O8ghp4ESBFH2YAPLtIN39jdnvGBKnK4FGKpDCjtB3DnUmDsGFlH46S+GGt5M6VzfG2eeKEOKf3pZ6jUzA==", -+ "node_modules/@react-native-community/cli-doctor/node_modules/which": { -+ "version": "1.3.1", -+ "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", -+ "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dependencies": { -- "@react-native-community/cli-platform-android": "12.3.2", -- "@react-native-community/cli-tools": "12.3.2", -+ "isexe": "^2.0.0" -+ }, -+ "bin": { -+ "which": "bin/which" -+ } -+ }, -+ "node_modules/@react-native-community/cli-hermes": { -+ "version": "10.2.7", -+ "resolved": "https://registry.npmjs.org/@react-native-community/cli-hermes/-/cli-hermes-10.2.7.tgz", -+ "integrity": "sha512-MULfkgeLx1fietx10pLFLmlfRh0dcfX/HABXB5Tm0BzQDXy7ofFIJ/UxH+IF55NwPKXl6aEpTbPwbgsyJxqPiA==", -+ "dependencies": { -+ "@react-native-community/cli-platform-android": "^10.2.0", -+ "@react-native-community/cli-tools": "^10.1.1", - "chalk": "^4.1.2", -- "hermes-profile-transformer": "^0.0.6", -- "ip": "^1.1.5" -+ "hermes-profile-transformer": "^0.0.6" - } - }, - "node_modules/@react-native-community/cli-hermes/node_modules/ansi-styles": { -@@ -3767,161 +3973,1005 @@ - "node": ">=8" - } - }, -- "node_modules/@react-native-community/cli-hermes/node_modules/supports-color": { -- "version": "7.2.0", -- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", -- "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", -+ "node_modules/@react-native-community/cli-hermes/node_modules/supports-color": { -+ "version": "7.2.0", -+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", -+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", -+ "dependencies": { -+ "has-flag": "^4.0.0" -+ }, -+ "engines": { -+ "node": ">=8" -+ } -+ }, -+ "node_modules/@react-native-community/cli-platform-android": { -+ "version": "10.2.0", -+ "resolved": "https://registry.npmjs.org/@react-native-community/cli-platform-android/-/cli-platform-android-10.2.0.tgz", -+ "integrity": "sha512-CBenYwGxwFdObZTn1lgxWtMGA5ms2G/ALQhkS+XTAD7KHDrCxFF9yT/fnAjFZKM6vX/1TqGI1RflruXih3kAhw==", -+ "dependencies": { -+ "@react-native-community/cli-tools": "^10.1.1", -+ "chalk": "^4.1.2", -+ "execa": "^1.0.0", -+ "glob": "^7.1.3", -+ "logkitty": "^0.7.1" -+ } -+ }, -+ "node_modules/@react-native-community/cli-platform-android/node_modules/ansi-styles": { -+ "version": "4.3.0", -+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", -+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", -+ "dependencies": { -+ "color-convert": "^2.0.1" -+ }, -+ "engines": { -+ "node": ">=8" -+ }, -+ "funding": { -+ "url": "https://github.com/chalk/ansi-styles?sponsor=1" -+ } -+ }, -+ "node_modules/@react-native-community/cli-platform-android/node_modules/chalk": { -+ "version": "4.1.2", -+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", -+ "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", -+ "dependencies": { -+ "ansi-styles": "^4.1.0", -+ "supports-color": "^7.1.0" -+ }, -+ "engines": { -+ "node": ">=10" -+ }, -+ "funding": { -+ "url": "https://github.com/chalk/chalk?sponsor=1" -+ } -+ }, -+ "node_modules/@react-native-community/cli-platform-android/node_modules/color-convert": { -+ "version": "2.0.1", -+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", -+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", -+ "dependencies": { -+ "color-name": "~1.1.4" -+ }, -+ "engines": { -+ "node": ">=7.0.0" -+ } -+ }, -+ "node_modules/@react-native-community/cli-platform-android/node_modules/color-name": { -+ "version": "1.1.4", -+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", -+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" -+ }, -+ "node_modules/@react-native-community/cli-platform-android/node_modules/cross-spawn": { -+ "version": "6.0.5", -+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", -+ "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", -+ "dependencies": { -+ "nice-try": "^1.0.4", -+ "path-key": "^2.0.1", -+ "semver": "^5.5.0", -+ "shebang-command": "^1.2.0", -+ "which": "^1.2.9" -+ }, -+ "engines": { -+ "node": ">=4.8" -+ } -+ }, -+ "node_modules/@react-native-community/cli-platform-android/node_modules/execa": { -+ "version": "1.0.0", -+ "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", -+ "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", -+ "dependencies": { -+ "cross-spawn": "^6.0.0", -+ "get-stream": "^4.0.0", -+ "is-stream": "^1.1.0", -+ "npm-run-path": "^2.0.0", -+ "p-finally": "^1.0.0", -+ "signal-exit": "^3.0.0", -+ "strip-eof": "^1.0.0" -+ }, -+ "engines": { -+ "node": ">=6" -+ } -+ }, -+ "node_modules/@react-native-community/cli-platform-android/node_modules/get-stream": { -+ "version": "4.1.0", -+ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", -+ "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", -+ "dependencies": { -+ "pump": "^3.0.0" -+ }, -+ "engines": { -+ "node": ">=6" -+ } -+ }, -+ "node_modules/@react-native-community/cli-platform-android/node_modules/has-flag": { -+ "version": "4.0.0", -+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", -+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", -+ "engines": { -+ "node": ">=8" -+ } -+ }, -+ "node_modules/@react-native-community/cli-platform-android/node_modules/is-stream": { -+ "version": "1.1.0", -+ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", -+ "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", -+ "engines": { -+ "node": ">=0.10.0" -+ } -+ }, -+ "node_modules/@react-native-community/cli-platform-android/node_modules/npm-run-path": { -+ "version": "2.0.2", -+ "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", -+ "integrity": "sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==", -+ "dependencies": { -+ "path-key": "^2.0.0" -+ }, -+ "engines": { -+ "node": ">=4" -+ } -+ }, -+ "node_modules/@react-native-community/cli-platform-android/node_modules/path-key": { -+ "version": "2.0.1", -+ "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", -+ "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", -+ "engines": { -+ "node": ">=4" -+ } -+ }, -+ "node_modules/@react-native-community/cli-platform-android/node_modules/semver": { -+ "version": "5.7.2", -+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", -+ "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", -+ "bin": { -+ "semver": "bin/semver" -+ } -+ }, -+ "node_modules/@react-native-community/cli-platform-android/node_modules/shebang-command": { -+ "version": "1.2.0", -+ "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", -+ "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", -+ "dependencies": { -+ "shebang-regex": "^1.0.0" -+ }, -+ "engines": { -+ "node": ">=0.10.0" -+ } -+ }, -+ "node_modules/@react-native-community/cli-platform-android/node_modules/shebang-regex": { -+ "version": "1.0.0", -+ "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", -+ "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", -+ "engines": { -+ "node": ">=0.10.0" -+ } -+ }, -+ "node_modules/@react-native-community/cli-platform-android/node_modules/supports-color": { -+ "version": "7.2.0", -+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", -+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", -+ "dependencies": { -+ "has-flag": "^4.0.0" -+ }, -+ "engines": { -+ "node": ">=8" -+ } -+ }, -+ "node_modules/@react-native-community/cli-platform-android/node_modules/which": { -+ "version": "1.3.1", -+ "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", -+ "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", -+ "dependencies": { -+ "isexe": "^2.0.0" -+ }, -+ "bin": { -+ "which": "bin/which" -+ } -+ }, -+ "node_modules/@react-native-community/cli-platform-ios": { -+ "version": "10.2.5", -+ "resolved": "https://registry.npmjs.org/@react-native-community/cli-platform-ios/-/cli-platform-ios-10.2.5.tgz", -+ "integrity": "sha512-hq+FZZuSBK9z82GLQfzdNDl8vbFx5UlwCLFCuTtNCROgBoapFtVZQKRP2QBftYNrQZ0dLAb01gkwxagHsQCFyg==", -+ "dependencies": { -+ "@react-native-community/cli-tools": "^10.1.1", -+ "chalk": "^4.1.2", -+ "execa": "^1.0.0", -+ "fast-xml-parser": "^4.0.12", -+ "glob": "^7.1.3", -+ "ora": "^5.4.1" -+ } -+ }, -+ "node_modules/@react-native-community/cli-platform-ios/node_modules/ansi-styles": { -+ "version": "4.3.0", -+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", -+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", -+ "dependencies": { -+ "color-convert": "^2.0.1" -+ }, -+ "engines": { -+ "node": ">=8" -+ }, -+ "funding": { -+ "url": "https://github.com/chalk/ansi-styles?sponsor=1" -+ } -+ }, -+ "node_modules/@react-native-community/cli-platform-ios/node_modules/chalk": { -+ "version": "4.1.2", -+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", -+ "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", -+ "dependencies": { -+ "ansi-styles": "^4.1.0", -+ "supports-color": "^7.1.0" -+ }, -+ "engines": { -+ "node": ">=10" -+ }, -+ "funding": { -+ "url": "https://github.com/chalk/chalk?sponsor=1" -+ } -+ }, -+ "node_modules/@react-native-community/cli-platform-ios/node_modules/color-convert": { -+ "version": "2.0.1", -+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", -+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", -+ "dependencies": { -+ "color-name": "~1.1.4" -+ }, -+ "engines": { -+ "node": ">=7.0.0" -+ } -+ }, -+ "node_modules/@react-native-community/cli-platform-ios/node_modules/color-name": { -+ "version": "1.1.4", -+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", -+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" -+ }, -+ "node_modules/@react-native-community/cli-platform-ios/node_modules/cross-spawn": { -+ "version": "6.0.5", -+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", -+ "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", -+ "dependencies": { -+ "nice-try": "^1.0.4", -+ "path-key": "^2.0.1", -+ "semver": "^5.5.0", -+ "shebang-command": "^1.2.0", -+ "which": "^1.2.9" -+ }, -+ "engines": { -+ "node": ">=4.8" -+ } -+ }, -+ "node_modules/@react-native-community/cli-platform-ios/node_modules/execa": { -+ "version": "1.0.0", -+ "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", -+ "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", -+ "dependencies": { -+ "cross-spawn": "^6.0.0", -+ "get-stream": "^4.0.0", -+ "is-stream": "^1.1.0", -+ "npm-run-path": "^2.0.0", -+ "p-finally": "^1.0.0", -+ "signal-exit": "^3.0.0", -+ "strip-eof": "^1.0.0" -+ }, -+ "engines": { -+ "node": ">=6" -+ } -+ }, -+ "node_modules/@react-native-community/cli-platform-ios/node_modules/get-stream": { -+ "version": "4.1.0", -+ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", -+ "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", -+ "dependencies": { -+ "pump": "^3.0.0" -+ }, -+ "engines": { -+ "node": ">=6" -+ } -+ }, -+ "node_modules/@react-native-community/cli-platform-ios/node_modules/has-flag": { -+ "version": "4.0.0", -+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", -+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", -+ "engines": { -+ "node": ">=8" -+ } -+ }, -+ "node_modules/@react-native-community/cli-platform-ios/node_modules/is-stream": { -+ "version": "1.1.0", -+ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", -+ "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", -+ "engines": { -+ "node": ">=0.10.0" -+ } -+ }, -+ "node_modules/@react-native-community/cli-platform-ios/node_modules/npm-run-path": { -+ "version": "2.0.2", -+ "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", -+ "integrity": "sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==", -+ "dependencies": { -+ "path-key": "^2.0.0" -+ }, -+ "engines": { -+ "node": ">=4" -+ } -+ }, -+ "node_modules/@react-native-community/cli-platform-ios/node_modules/path-key": { -+ "version": "2.0.1", -+ "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", -+ "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", -+ "engines": { -+ "node": ">=4" -+ } -+ }, -+ "node_modules/@react-native-community/cli-platform-ios/node_modules/semver": { -+ "version": "5.7.2", -+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", -+ "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", -+ "bin": { -+ "semver": "bin/semver" -+ } -+ }, -+ "node_modules/@react-native-community/cli-platform-ios/node_modules/shebang-command": { -+ "version": "1.2.0", -+ "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", -+ "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", -+ "dependencies": { -+ "shebang-regex": "^1.0.0" -+ }, -+ "engines": { -+ "node": ">=0.10.0" -+ } -+ }, -+ "node_modules/@react-native-community/cli-platform-ios/node_modules/shebang-regex": { -+ "version": "1.0.0", -+ "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", -+ "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", -+ "engines": { -+ "node": ">=0.10.0" -+ } -+ }, -+ "node_modules/@react-native-community/cli-platform-ios/node_modules/supports-color": { -+ "version": "7.2.0", -+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", -+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", -+ "dependencies": { -+ "has-flag": "^4.0.0" -+ }, -+ "engines": { -+ "node": ">=8" -+ } -+ }, -+ "node_modules/@react-native-community/cli-platform-ios/node_modules/which": { -+ "version": "1.3.1", -+ "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", -+ "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", -+ "dependencies": { -+ "isexe": "^2.0.0" -+ }, -+ "bin": { -+ "which": "bin/which" -+ } -+ }, -+ "node_modules/@react-native-community/cli-plugin-metro": { -+ "version": "10.2.3", -+ "resolved": "https://registry.npmjs.org/@react-native-community/cli-plugin-metro/-/cli-plugin-metro-10.2.3.tgz", -+ "integrity": "sha512-jHi2oDuTePmW4NEyVT8JEGNlIYcnFXCSV2ZMp4rnDrUk4TzzyvS3IMvDlESEmG8Kry8rvP0KSUx/hTpy37Sbkw==", -+ "dependencies": { -+ "@react-native-community/cli-server-api": "^10.1.1", -+ "@react-native-community/cli-tools": "^10.1.1", -+ "chalk": "^4.1.2", -+ "execa": "^1.0.0", -+ "metro": "0.73.10", -+ "metro-config": "0.73.10", -+ "metro-core": "0.73.10", -+ "metro-react-native-babel-transformer": "0.73.10", -+ "metro-resolver": "0.73.10", -+ "metro-runtime": "0.73.10", -+ "readline": "^1.3.0" -+ } -+ }, -+ "node_modules/@react-native-community/cli-plugin-metro/node_modules/@jest/types": { -+ "version": "26.6.2", -+ "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", -+ "integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==", -+ "dependencies": { -+ "@types/istanbul-lib-coverage": "^2.0.0", -+ "@types/istanbul-reports": "^3.0.0", -+ "@types/node": "*", -+ "@types/yargs": "^15.0.0", -+ "chalk": "^4.0.0" -+ }, -+ "engines": { -+ "node": ">= 10.14.2" -+ } -+ }, -+ "node_modules/@react-native-community/cli-plugin-metro/node_modules/@types/yargs": { -+ "version": "15.0.19", -+ "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.19.tgz", -+ "integrity": "sha512-2XUaGVmyQjgyAZldf0D0c14vvo/yv0MhQBSTJcejMMaitsn3nxCB6TmH4G0ZQf+uxROOa9mpanoSm8h6SG/1ZA==", -+ "dependencies": { -+ "@types/yargs-parser": "*" -+ } -+ }, -+ "node_modules/@react-native-community/cli-plugin-metro/node_modules/ansi-styles": { -+ "version": "4.3.0", -+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", -+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", -+ "dependencies": { -+ "color-convert": "^2.0.1" -+ }, -+ "engines": { -+ "node": ">=8" -+ }, -+ "funding": { -+ "url": "https://github.com/chalk/ansi-styles?sponsor=1" -+ } -+ }, -+ "node_modules/@react-native-community/cli-plugin-metro/node_modules/camelcase": { -+ "version": "6.3.0", -+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", -+ "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", -+ "engines": { -+ "node": ">=10" -+ }, -+ "funding": { -+ "url": "https://github.com/sponsors/sindresorhus" -+ } -+ }, -+ "node_modules/@react-native-community/cli-plugin-metro/node_modules/chalk": { -+ "version": "4.1.2", -+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", -+ "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", -+ "dependencies": { -+ "ansi-styles": "^4.1.0", -+ "supports-color": "^7.1.0" -+ }, -+ "engines": { -+ "node": ">=10" -+ }, -+ "funding": { -+ "url": "https://github.com/chalk/chalk?sponsor=1" -+ } -+ }, -+ "node_modules/@react-native-community/cli-plugin-metro/node_modules/ci-info": { -+ "version": "2.0.0", -+ "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", -+ "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==" -+ }, -+ "node_modules/@react-native-community/cli-plugin-metro/node_modules/color-convert": { -+ "version": "2.0.1", -+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", -+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", -+ "dependencies": { -+ "color-name": "~1.1.4" -+ }, -+ "engines": { -+ "node": ">=7.0.0" -+ } -+ }, -+ "node_modules/@react-native-community/cli-plugin-metro/node_modules/color-name": { -+ "version": "1.1.4", -+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", -+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" -+ }, -+ "node_modules/@react-native-community/cli-plugin-metro/node_modules/cross-spawn": { -+ "version": "6.0.5", -+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", -+ "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", -+ "dependencies": { -+ "nice-try": "^1.0.4", -+ "path-key": "^2.0.1", -+ "semver": "^5.5.0", -+ "shebang-command": "^1.2.0", -+ "which": "^1.2.9" -+ }, -+ "engines": { -+ "node": ">=4.8" -+ } -+ }, -+ "node_modules/@react-native-community/cli-plugin-metro/node_modules/debug": { -+ "version": "2.6.9", -+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", -+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", -+ "dependencies": { -+ "ms": "2.0.0" -+ } -+ }, -+ "node_modules/@react-native-community/cli-plugin-metro/node_modules/execa": { -+ "version": "1.0.0", -+ "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", -+ "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", -+ "dependencies": { -+ "cross-spawn": "^6.0.0", -+ "get-stream": "^4.0.0", -+ "is-stream": "^1.1.0", -+ "npm-run-path": "^2.0.0", -+ "p-finally": "^1.0.0", -+ "signal-exit": "^3.0.0", -+ "strip-eof": "^1.0.0" -+ }, -+ "engines": { -+ "node": ">=6" -+ } -+ }, -+ "node_modules/@react-native-community/cli-plugin-metro/node_modules/get-stream": { -+ "version": "4.1.0", -+ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", -+ "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", -+ "dependencies": { -+ "pump": "^3.0.0" -+ }, -+ "engines": { -+ "node": ">=6" -+ } -+ }, -+ "node_modules/@react-native-community/cli-plugin-metro/node_modules/has-flag": { -+ "version": "4.0.0", -+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", -+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", -+ "engines": { -+ "node": ">=8" -+ } -+ }, -+ "node_modules/@react-native-community/cli-plugin-metro/node_modules/hermes-estree": { -+ "version": "0.8.0", -+ "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.8.0.tgz", -+ "integrity": "sha512-W6JDAOLZ5pMPMjEiQGLCXSSV7pIBEgRR5zGkxgmzGSXHOxqV5dC/M1Zevqpbm9TZDE5tu358qZf8Vkzmsc+u7Q==" -+ }, -+ "node_modules/@react-native-community/cli-plugin-metro/node_modules/hermes-parser": { -+ "version": "0.8.0", -+ "resolved": "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.8.0.tgz", -+ "integrity": "sha512-yZKalg1fTYG5eOiToLUaw69rQfZq/fi+/NtEXRU7N87K/XobNRhRWorh80oSge2lWUiZfTgUvRJH+XgZWrhoqA==", -+ "dependencies": { -+ "hermes-estree": "0.8.0" -+ } -+ }, -+ "node_modules/@react-native-community/cli-plugin-metro/node_modules/image-size": { -+ "version": "0.6.3", -+ "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.6.3.tgz", -+ "integrity": "sha512-47xSUiQioGaB96nqtp5/q55m0aBQSQdyIloMOc/x+QVTDZLNmXE892IIDrJ0hM1A5vcNUDD5tDffkSP5lCaIIA==", -+ "bin": { -+ "image-size": "bin/image-size.js" -+ }, -+ "engines": { -+ "node": ">=4.0" -+ } -+ }, -+ "node_modules/@react-native-community/cli-plugin-metro/node_modules/is-stream": { -+ "version": "1.1.0", -+ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", -+ "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", -+ "engines": { -+ "node": ">=0.10.0" -+ } -+ }, -+ "node_modules/@react-native-community/cli-plugin-metro/node_modules/jest-get-type": { -+ "version": "26.3.0", -+ "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-26.3.0.tgz", -+ "integrity": "sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig==", -+ "engines": { -+ "node": ">= 10.14.2" -+ } -+ }, -+ "node_modules/@react-native-community/cli-plugin-metro/node_modules/jest-regex-util": { -+ "version": "27.5.1", -+ "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", -+ "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==", -+ "engines": { -+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" -+ } -+ }, -+ "node_modules/@react-native-community/cli-plugin-metro/node_modules/jest-util": { -+ "version": "27.5.1", -+ "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", -+ "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", -+ "dependencies": { -+ "@jest/types": "^27.5.1", -+ "@types/node": "*", -+ "chalk": "^4.0.0", -+ "ci-info": "^3.2.0", -+ "graceful-fs": "^4.2.9", -+ "picomatch": "^2.2.3" -+ }, -+ "engines": { -+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" -+ } -+ }, -+ "node_modules/@react-native-community/cli-plugin-metro/node_modules/jest-util/node_modules/@jest/types": { -+ "version": "27.5.1", -+ "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", -+ "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", -+ "dependencies": { -+ "@types/istanbul-lib-coverage": "^2.0.0", -+ "@types/istanbul-reports": "^3.0.0", -+ "@types/node": "*", -+ "@types/yargs": "^16.0.0", -+ "chalk": "^4.0.0" -+ }, -+ "engines": { -+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" -+ } -+ }, -+ "node_modules/@react-native-community/cli-plugin-metro/node_modules/jest-util/node_modules/@types/yargs": { -+ "version": "16.0.9", -+ "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", -+ "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", -+ "dependencies": { -+ "@types/yargs-parser": "*" -+ } -+ }, -+ "node_modules/@react-native-community/cli-plugin-metro/node_modules/jest-util/node_modules/ci-info": { -+ "version": "3.9.0", -+ "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", -+ "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", -+ "funding": [ -+ { -+ "type": "github", -+ "url": "https://github.com/sponsors/sibiraj-s" -+ } -+ ], -+ "engines": { -+ "node": ">=8" -+ } -+ }, -+ "node_modules/@react-native-community/cli-plugin-metro/node_modules/jest-validate": { -+ "version": "26.6.2", -+ "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-26.6.2.tgz", -+ "integrity": "sha512-NEYZ9Aeyj0i5rQqbq+tpIOom0YS1u2MVu6+euBsvpgIme+FOfRmoC4R5p0JiAUpaFvFy24xgrpMknarR/93XjQ==", -+ "dependencies": { -+ "@jest/types": "^26.6.2", -+ "camelcase": "^6.0.0", -+ "chalk": "^4.0.0", -+ "jest-get-type": "^26.3.0", -+ "leven": "^3.1.0", -+ "pretty-format": "^26.6.2" -+ }, -+ "engines": { -+ "node": ">= 10.14.2" -+ } -+ }, -+ "node_modules/@react-native-community/cli-plugin-metro/node_modules/jest-worker": { -+ "version": "27.5.1", -+ "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", -+ "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", -+ "dependencies": { -+ "@types/node": "*", -+ "merge-stream": "^2.0.0", -+ "supports-color": "^8.0.0" -+ }, -+ "engines": { -+ "node": ">= 10.13.0" -+ } -+ }, -+ "node_modules/@react-native-community/cli-plugin-metro/node_modules/jest-worker/node_modules/supports-color": { -+ "version": "8.1.1", -+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", -+ "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", -+ "dependencies": { -+ "has-flag": "^4.0.0" -+ }, -+ "engines": { -+ "node": ">=10" -+ }, -+ "funding": { -+ "url": "https://github.com/chalk/supports-color?sponsor=1" -+ } -+ }, -+ "node_modules/@react-native-community/cli-plugin-metro/node_modules/metro": { -+ "version": "0.73.10", -+ "resolved": "https://registry.npmjs.org/metro/-/metro-0.73.10.tgz", -+ "integrity": "sha512-J2gBhNHFtc/Z48ysF0B/bfTwUwaRDLjNv7egfhQCc+934dpXcjJG2KZFeuybF+CvA9vo4QUi56G2U+RSAJ5tsA==", -+ "dependencies": { -+ "@babel/code-frame": "^7.0.0", -+ "@babel/core": "^7.20.0", -+ "@babel/generator": "^7.20.0", -+ "@babel/parser": "^7.20.0", -+ "@babel/template": "^7.0.0", -+ "@babel/traverse": "^7.20.0", -+ "@babel/types": "^7.20.0", -+ "absolute-path": "^0.0.0", -+ "accepts": "^1.3.7", -+ "async": "^3.2.2", -+ "chalk": "^4.0.0", -+ "ci-info": "^2.0.0", -+ "connect": "^3.6.5", -+ "debug": "^2.2.0", -+ "denodeify": "^1.2.1", -+ "error-stack-parser": "^2.0.6", -+ "graceful-fs": "^4.2.4", -+ "hermes-parser": "0.8.0", -+ "image-size": "^0.6.0", -+ "invariant": "^2.2.4", -+ "jest-worker": "^27.2.0", -+ "jsc-safe-url": "^0.2.2", -+ "lodash.throttle": "^4.1.1", -+ "metro-babel-transformer": "0.73.10", -+ "metro-cache": "0.73.10", -+ "metro-cache-key": "0.73.10", -+ "metro-config": "0.73.10", -+ "metro-core": "0.73.10", -+ "metro-file-map": "0.73.10", -+ "metro-hermes-compiler": "0.73.10", -+ "metro-inspector-proxy": "0.73.10", -+ "metro-minify-terser": "0.73.10", -+ "metro-minify-uglify": "0.73.10", -+ "metro-react-native-babel-preset": "0.73.10", -+ "metro-resolver": "0.73.10", -+ "metro-runtime": "0.73.10", -+ "metro-source-map": "0.73.10", -+ "metro-symbolicate": "0.73.10", -+ "metro-transform-plugins": "0.73.10", -+ "metro-transform-worker": "0.73.10", -+ "mime-types": "^2.1.27", -+ "node-fetch": "^2.2.0", -+ "nullthrows": "^1.1.1", -+ "rimraf": "^3.0.2", -+ "serialize-error": "^2.1.0", -+ "source-map": "^0.5.6", -+ "strip-ansi": "^6.0.0", -+ "temp": "0.8.3", -+ "throat": "^5.0.0", -+ "ws": "^7.5.1", -+ "yargs": "^17.5.1" -+ }, -+ "bin": { -+ "metro": "src/cli.js" -+ } -+ }, -+ "node_modules/@react-native-community/cli-plugin-metro/node_modules/metro-babel-transformer": { -+ "version": "0.73.10", -+ "resolved": "https://registry.npmjs.org/metro-babel-transformer/-/metro-babel-transformer-0.73.10.tgz", -+ "integrity": "sha512-Yv2myTSnpzt/lTyurLvqYbBkytvUJcLHN8XD3t7W6rGiLTQPzmf1zypHQLphvcAXtCWBOXFtH7KLOSi2/qMg+A==", -+ "dependencies": { -+ "@babel/core": "^7.20.0", -+ "hermes-parser": "0.8.0", -+ "metro-source-map": "0.73.10", -+ "nullthrows": "^1.1.1" -+ } -+ }, -+ "node_modules/@react-native-community/cli-plugin-metro/node_modules/metro-cache": { -+ "version": "0.73.10", -+ "resolved": "https://registry.npmjs.org/metro-cache/-/metro-cache-0.73.10.tgz", -+ "integrity": "sha512-wPGlQZpdVlM404m7MxJqJ+hTReDr5epvfPbt2LerUAHY9RN99w61FeeAe25BMZBwgUgDtAsfGlJ51MBHg8MAqw==", -+ "dependencies": { -+ "metro-core": "0.73.10", -+ "rimraf": "^3.0.2" -+ } -+ }, -+ "node_modules/@react-native-community/cli-plugin-metro/node_modules/metro-cache-key": { -+ "version": "0.73.10", -+ "resolved": "https://registry.npmjs.org/metro-cache-key/-/metro-cache-key-0.73.10.tgz", -+ "integrity": "sha512-JMVDl/EREDiUW//cIcUzRjKSwE2AFxVWk47cFBer+KA4ohXIG2CQPEquT56hOw1Y1s6gKNxxs1OlAOEsubrFjw==" -+ }, -+ "node_modules/@react-native-community/cli-plugin-metro/node_modules/metro-config": { -+ "version": "0.73.10", -+ "resolved": "https://registry.npmjs.org/metro-config/-/metro-config-0.73.10.tgz", -+ "integrity": "sha512-wIlybd1Z9I8K2KcStTiJxTB7OK529dxFgogNpKCTU/3DxkgAASqSkgXnZP6kVyqjh5EOWAKFe5U6IPic7kXDdQ==", -+ "dependencies": { -+ "cosmiconfig": "^5.0.5", -+ "jest-validate": "^26.5.2", -+ "metro": "0.73.10", -+ "metro-cache": "0.73.10", -+ "metro-core": "0.73.10", -+ "metro-runtime": "0.73.10" -+ } -+ }, -+ "node_modules/@react-native-community/cli-plugin-metro/node_modules/metro-core": { -+ "version": "0.73.10", -+ "resolved": "https://registry.npmjs.org/metro-core/-/metro-core-0.73.10.tgz", -+ "integrity": "sha512-5uYkajIxKyL6W45iz/ftNnYPe1l92CvF2QJeon1CHsMXkEiOJxEjo41l+iSnO/YodBGrmMCyupSO4wOQGUc0lw==", -+ "dependencies": { -+ "lodash.throttle": "^4.1.1", -+ "metro-resolver": "0.73.10" -+ } -+ }, -+ "node_modules/@react-native-community/cli-plugin-metro/node_modules/metro-file-map": { -+ "version": "0.73.10", -+ "resolved": "https://registry.npmjs.org/metro-file-map/-/metro-file-map-0.73.10.tgz", -+ "integrity": "sha512-XOMWAybeaXyD6zmVZPnoCCL2oO3rp4ta76oUlqWP0skBzhFxVtkE/UtDwApEMUY361JeBBago647gnKiARs+1g==", -+ "dependencies": { -+ "abort-controller": "^3.0.0", -+ "anymatch": "^3.0.3", -+ "debug": "^2.2.0", -+ "fb-watchman": "^2.0.0", -+ "graceful-fs": "^4.2.4", -+ "invariant": "^2.2.4", -+ "jest-regex-util": "^27.0.6", -+ "jest-serializer": "^27.0.6", -+ "jest-util": "^27.2.0", -+ "jest-worker": "^27.2.0", -+ "micromatch": "^4.0.4", -+ "nullthrows": "^1.1.1", -+ "walker": "^1.0.7" -+ }, -+ "optionalDependencies": { -+ "fsevents": "^2.3.2" -+ } -+ }, -+ "node_modules/@react-native-community/cli-plugin-metro/node_modules/metro-minify-terser": { -+ "version": "0.73.10", -+ "resolved": "https://registry.npmjs.org/metro-minify-terser/-/metro-minify-terser-0.73.10.tgz", -+ "integrity": "sha512-uG7TSKQ/i0p9kM1qXrwbmY3v+6BrMItsOcEXcSP8Z+68bb+t9HeVK0T/hIfUu1v1PEnonhkhfzVsaP8QyTd5lQ==", - "dependencies": { -- "has-flag": "^4.0.0" -- }, -- "engines": { -- "node": ">=8" -+ "terser": "^5.15.0" - } - }, -- "node_modules/@react-native-community/cli-platform-android": { -- "version": "12.3.2", -- "resolved": "https://registry.npmjs.org/@react-native-community/cli-platform-android/-/cli-platform-android-12.3.2.tgz", -- "integrity": "sha512-MZ5nO8yi/N+Fj2i9BJcJ9C/ez+9/Ir7lQt49DWRo9YDmzye66mYLr/P2l/qxsixllbbDi7BXrlLpxaEhMrDopg==", -+ "node_modules/@react-native-community/cli-plugin-metro/node_modules/metro-resolver": { -+ "version": "0.73.10", -+ "resolved": "https://registry.npmjs.org/metro-resolver/-/metro-resolver-0.73.10.tgz", -+ "integrity": "sha512-HeXbs+0wjakaaVQ5BI7eT7uqxlZTc9rnyw6cdBWWMgUWB++KpoI0Ge7Hi6eQAOoVAzXC3m26mPFYLejpzTWjng==", - "dependencies": { -- "@react-native-community/cli-tools": "12.3.2", -- "chalk": "^4.1.2", -- "execa": "^5.0.0", -- "fast-xml-parser": "^4.2.4", -- "glob": "^7.1.3", -- "logkitty": "^0.7.1" -+ "absolute-path": "^0.0.0" - } - }, -- "node_modules/@react-native-community/cli-platform-android/node_modules/ansi-styles": { -- "version": "4.3.0", -- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", -- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", -+ "node_modules/@react-native-community/cli-plugin-metro/node_modules/metro-runtime": { -+ "version": "0.73.10", -+ "resolved": "https://registry.npmjs.org/metro-runtime/-/metro-runtime-0.73.10.tgz", -+ "integrity": "sha512-EpVKm4eN0Fgx2PEWpJ5NiMArV8zVoOin866jIIvzFLpmkZz1UEqgjf2JAfUJnjgv3fjSV3JqeGG2vZCaGQBTow==", - "dependencies": { -- "color-convert": "^2.0.1" -- }, -- "engines": { -- "node": ">=8" -- }, -- "funding": { -- "url": "https://github.com/chalk/ansi-styles?sponsor=1" -+ "@babel/runtime": "^7.0.0", -+ "react-refresh": "^0.4.0" - } - }, -- "node_modules/@react-native-community/cli-platform-android/node_modules/chalk": { -- "version": "4.1.2", -- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", -- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", -+ "node_modules/@react-native-community/cli-plugin-metro/node_modules/metro-source-map": { -+ "version": "0.73.10", -+ "resolved": "https://registry.npmjs.org/metro-source-map/-/metro-source-map-0.73.10.tgz", -+ "integrity": "sha512-NAGv14701p/YaFZ76KzyPkacBw/QlEJF1f8elfs23N1tC33YyKLDKvPAzFJiYqjdcFvuuuDCA8JCXd2TgLxNPw==", - "dependencies": { -- "ansi-styles": "^4.1.0", -- "supports-color": "^7.1.0" -- }, -- "engines": { -- "node": ">=10" -- }, -- "funding": { -- "url": "https://github.com/chalk/chalk?sponsor=1" -+ "@babel/traverse": "^7.20.0", -+ "@babel/types": "^7.20.0", -+ "invariant": "^2.2.4", -+ "metro-symbolicate": "0.73.10", -+ "nullthrows": "^1.1.1", -+ "ob1": "0.73.10", -+ "source-map": "^0.5.6", -+ "vlq": "^1.0.0" - } - }, -- "node_modules/@react-native-community/cli-platform-android/node_modules/color-convert": { -- "version": "2.0.1", -- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", -- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", -+ "node_modules/@react-native-community/cli-plugin-metro/node_modules/metro-symbolicate": { -+ "version": "0.73.10", -+ "resolved": "https://registry.npmjs.org/metro-symbolicate/-/metro-symbolicate-0.73.10.tgz", -+ "integrity": "sha512-PmCe3TOe1c/NVwMlB+B17me951kfkB3Wve5RqJn+ErPAj93od1nxicp6OJe7JT4QBRnpUP8p9tw2sHKqceIzkA==", - "dependencies": { -- "color-name": "~1.1.4" -+ "invariant": "^2.2.4", -+ "metro-source-map": "0.73.10", -+ "nullthrows": "^1.1.1", -+ "source-map": "^0.5.6", -+ "through2": "^2.0.1", -+ "vlq": "^1.0.0" -+ }, -+ "bin": { -+ "metro-symbolicate": "src/index.js" - }, - "engines": { -- "node": ">=7.0.0" -+ "node": ">=8.3" - } - }, -- "node_modules/@react-native-community/cli-platform-android/node_modules/color-name": { -- "version": "1.1.4", -- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", -- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" -+ "node_modules/@react-native-community/cli-plugin-metro/node_modules/metro-transform-plugins": { -+ "version": "0.73.10", -+ "resolved": "https://registry.npmjs.org/metro-transform-plugins/-/metro-transform-plugins-0.73.10.tgz", -+ "integrity": "sha512-D4AgD3Vsrac+4YksaPmxs/0ocT67bvwTkFSIgWWeDvWwIG0U1iHzTS9f8Bvb4PITnXryDoFtjI6OWF7uOpGxpA==", -+ "dependencies": { -+ "@babel/core": "^7.20.0", -+ "@babel/generator": "^7.20.0", -+ "@babel/template": "^7.0.0", -+ "@babel/traverse": "^7.20.0", -+ "nullthrows": "^1.1.1" -+ } - }, -- "node_modules/@react-native-community/cli-platform-android/node_modules/has-flag": { -- "version": "4.0.0", -- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", -- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", -- "engines": { -- "node": ">=8" -+ "node_modules/@react-native-community/cli-plugin-metro/node_modules/metro-transform-worker": { -+ "version": "0.73.10", -+ "resolved": "https://registry.npmjs.org/metro-transform-worker/-/metro-transform-worker-0.73.10.tgz", -+ "integrity": "sha512-IySvVubudFxahxOljWtP0QIMMpgUrCP0bW16cz2Enof0PdumwmR7uU3dTbNq6S+XTzuMHR+076aIe4VhPAWsIQ==", -+ "dependencies": { -+ "@babel/core": "^7.20.0", -+ "@babel/generator": "^7.20.0", -+ "@babel/parser": "^7.20.0", -+ "@babel/types": "^7.20.0", -+ "babel-preset-fbjs": "^3.4.0", -+ "metro": "0.73.10", -+ "metro-babel-transformer": "0.73.10", -+ "metro-cache": "0.73.10", -+ "metro-cache-key": "0.73.10", -+ "metro-hermes-compiler": "0.73.10", -+ "metro-source-map": "0.73.10", -+ "metro-transform-plugins": "0.73.10", -+ "nullthrows": "^1.1.1" - } - }, -- "node_modules/@react-native-community/cli-platform-android/node_modules/supports-color": { -- "version": "7.2.0", -- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", -- "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", -+ "node_modules/@react-native-community/cli-plugin-metro/node_modules/ms": { -+ "version": "2.0.0", -+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", -+ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" -+ }, -+ "node_modules/@react-native-community/cli-plugin-metro/node_modules/npm-run-path": { -+ "version": "2.0.2", -+ "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", -+ "integrity": "sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==", - "dependencies": { -- "has-flag": "^4.0.0" -+ "path-key": "^2.0.0" - }, - "engines": { -- "node": ">=8" -+ "node": ">=4" - } - }, -- "node_modules/@react-native-community/cli-platform-ios": { -- "version": "12.3.2", -- "resolved": "https://registry.npmjs.org/@react-native-community/cli-platform-ios/-/cli-platform-ios-12.3.2.tgz", -- "integrity": "sha512-OcWEAbkev1IL6SUiQnM6DQdsvfsKZhRZtoBNSj9MfdmwotVZSOEZJ+IjZ1FR9ChvMWayO9ns/o8LgoQxr1ZXeg==", -- "dependencies": { -- "@react-native-community/cli-tools": "12.3.2", -- "chalk": "^4.1.2", -- "execa": "^5.0.0", -- "fast-xml-parser": "^4.0.12", -- "glob": "^7.1.3", -- "ora": "^5.4.1" -+ "node_modules/@react-native-community/cli-plugin-metro/node_modules/ob1": { -+ "version": "0.73.10", -+ "resolved": "https://registry.npmjs.org/ob1/-/ob1-0.73.10.tgz", -+ "integrity": "sha512-aO6EYC+QRRCkZxVJhCWhLKgVjhNuD6Gu1riGjxrIm89CqLsmKgxzYDDEsktmKsoDeRdWGQM5EdMzXDl5xcVfsw==" -+ }, -+ "node_modules/@react-native-community/cli-plugin-metro/node_modules/path-key": { -+ "version": "2.0.1", -+ "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", -+ "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", -+ "engines": { -+ "node": ">=4" - } - }, -- "node_modules/@react-native-community/cli-platform-ios/node_modules/ansi-styles": { -- "version": "4.3.0", -- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", -- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", -+ "node_modules/@react-native-community/cli-plugin-metro/node_modules/pretty-format": { -+ "version": "26.6.2", -+ "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz", -+ "integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==", - "dependencies": { -- "color-convert": "^2.0.1" -+ "@jest/types": "^26.6.2", -+ "ansi-regex": "^5.0.0", -+ "ansi-styles": "^4.0.0", -+ "react-is": "^17.0.1" - }, - "engines": { -- "node": ">=8" -- }, -- "funding": { -- "url": "https://github.com/chalk/ansi-styles?sponsor=1" -+ "node": ">= 10" - } - }, -- "node_modules/@react-native-community/cli-platform-ios/node_modules/chalk": { -- "version": "4.1.2", -- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", -- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", -- "dependencies": { -- "ansi-styles": "^4.1.0", -- "supports-color": "^7.1.0" -- }, -+ "node_modules/@react-native-community/cli-plugin-metro/node_modules/react-is": { -+ "version": "17.0.2", -+ "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", -+ "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" -+ }, -+ "node_modules/@react-native-community/cli-plugin-metro/node_modules/react-refresh": { -+ "version": "0.4.3", -+ "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.4.3.tgz", -+ "integrity": "sha512-Hwln1VNuGl/6bVwnd0Xdn1e84gT/8T9aYNL+HAKDArLCS7LWjwr7StE30IEYbIkx0Vi3vs+coQxe+SQDbGbbpA==", - "engines": { -- "node": ">=10" -- }, -- "funding": { -- "url": "https://github.com/chalk/chalk?sponsor=1" -+ "node": ">=0.10.0" - } - }, -- "node_modules/@react-native-community/cli-platform-ios/node_modules/color-convert": { -- "version": "2.0.1", -- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", -- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", -+ "node_modules/@react-native-community/cli-plugin-metro/node_modules/semver": { -+ "version": "5.7.2", -+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", -+ "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", -+ "bin": { -+ "semver": "bin/semver" -+ } -+ }, -+ "node_modules/@react-native-community/cli-plugin-metro/node_modules/shebang-command": { -+ "version": "1.2.0", -+ "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", -+ "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", - "dependencies": { -- "color-name": "~1.1.4" -+ "shebang-regex": "^1.0.0" - }, - "engines": { -- "node": ">=7.0.0" -+ "node": ">=0.10.0" - } - }, -- "node_modules/@react-native-community/cli-platform-ios/node_modules/color-name": { -- "version": "1.1.4", -- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", -- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" -+ "node_modules/@react-native-community/cli-plugin-metro/node_modules/shebang-regex": { -+ "version": "1.0.0", -+ "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", -+ "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", -+ "engines": { -+ "node": ">=0.10.0" -+ } - }, -- "node_modules/@react-native-community/cli-platform-ios/node_modules/has-flag": { -- "version": "4.0.0", -- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", -- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", -+ "node_modules/@react-native-community/cli-plugin-metro/node_modules/source-map": { -+ "version": "0.5.7", -+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", -+ "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", - "engines": { -- "node": ">=8" -+ "node": ">=0.10.0" - } - }, -- "node_modules/@react-native-community/cli-platform-ios/node_modules/supports-color": { -+ "node_modules/@react-native-community/cli-plugin-metro/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", -@@ -3932,21 +4982,47 @@ - "node": ">=8" - } - }, -- "node_modules/@react-native-community/cli-plugin-metro": { -- "version": "12.3.2", -- "resolved": "https://registry.npmjs.org/@react-native-community/cli-plugin-metro/-/cli-plugin-metro-12.3.2.tgz", -- "integrity": "sha512-FpFBwu+d2E7KRhYPTkKvQsWb2/JKsJv+t1tcqgQkn+oByhp+qGyXBobFB8/R3yYvRRDCSDhS+atWTJzk9TjM8g==" -+ "node_modules/@react-native-community/cli-plugin-metro/node_modules/temp": { -+ "version": "0.8.3", -+ "resolved": "https://registry.npmjs.org/temp/-/temp-0.8.3.tgz", -+ "integrity": "sha512-jtnWJs6B1cZlHs9wPG7BrowKxZw/rf6+UpGAkr8AaYmiTyTO7zQlLoST8zx/8TcUPnZmeBoB+H8ARuHZaSijVw==", -+ "engines": [ -+ "node >=0.8.0" -+ ], -+ "dependencies": { -+ "os-tmpdir": "^1.0.0", -+ "rimraf": "~2.2.6" -+ } -+ }, -+ "node_modules/@react-native-community/cli-plugin-metro/node_modules/temp/node_modules/rimraf": { -+ "version": "2.2.8", -+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.2.8.tgz", -+ "integrity": "sha512-R5KMKHnPAQaZMqLOsyuyUmcIjSeDm+73eoqQpaXA7AZ22BL+6C+1mcUscgOsNd8WVlJuvlgAPsegcx7pjlV0Dg==", -+ "bin": { -+ "rimraf": "bin.js" -+ } -+ }, -+ "node_modules/@react-native-community/cli-plugin-metro/node_modules/which": { -+ "version": "1.3.1", -+ "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", -+ "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", -+ "dependencies": { -+ "isexe": "^2.0.0" -+ }, -+ "bin": { -+ "which": "bin/which" -+ } - }, - "node_modules/@react-native-community/cli-server-api": { -- "version": "12.3.2", -- "resolved": "https://registry.npmjs.org/@react-native-community/cli-server-api/-/cli-server-api-12.3.2.tgz", -- "integrity": "sha512-iwa7EO9XFA/OjI5pPLLpI/6mFVqv8L73kNck3CNOJIUCCveGXBKK0VMyOkXaf/BYnihgQrXh+x5cxbDbggr7+Q==", -+ "version": "10.1.1", -+ "resolved": "https://registry.npmjs.org/@react-native-community/cli-server-api/-/cli-server-api-10.1.1.tgz", -+ "integrity": "sha512-NZDo/wh4zlm8as31UEBno2bui8+ufzsZV+KN7QjEJWEM0levzBtxaD+4je0OpfhRIIkhaRm2gl/vVf7OYAzg4g==", - "dependencies": { -- "@react-native-community/cli-debugger-ui": "12.3.2", -- "@react-native-community/cli-tools": "12.3.2", -+ "@react-native-community/cli-debugger-ui": "^10.0.0", -+ "@react-native-community/cli-tools": "^10.1.1", - "compression": "^1.7.1", - "connect": "^3.6.5", -- "errorhandler": "^1.5.1", -+ "errorhandler": "^1.5.0", - "nocache": "^3.0.1", - "pretty-format": "^26.6.2", - "serve-static": "^1.13.1", -@@ -4060,9 +5136,9 @@ - } - }, - "node_modules/@react-native-community/cli-tools": { -- "version": "12.3.2", -- "resolved": "https://registry.npmjs.org/@react-native-community/cli-tools/-/cli-tools-12.3.2.tgz", -- "integrity": "sha512-nDH7vuEicHI2TI0jac/DjT3fr977iWXRdgVAqPZFFczlbs7A8GQvEdGnZ1G8dqRUmg+kptw0e4hwczAOG89JzQ==", -+ "version": "10.1.1", -+ "resolved": "https://registry.npmjs.org/@react-native-community/cli-tools/-/cli-tools-10.1.1.tgz", -+ "integrity": "sha512-+FlwOnZBV+ailEzXjcD8afY2ogFEBeHOw/8+XXzMgPaquU2Zly9B+8W089tnnohO3yfiQiZqkQlElP423MY74g==", - "dependencies": { - "appdirsjs": "^1.2.4", - "chalk": "^4.1.2", -@@ -4071,9 +5147,8 @@ - "node-fetch": "^2.6.0", - "open": "^6.2.0", - "ora": "^5.4.1", -- "semver": "^7.5.2", -- "shell-quote": "^1.7.3", -- "sudo-prompt": "^9.0.0" -+ "semver": "^6.3.0", -+ "shell-quote": "^1.7.3" - } - }, - "node_modules/@react-native-community/cli-tools/node_modules/ansi-styles": { -@@ -4129,31 +5204,6 @@ - "node": ">=8" - } - }, -- "node_modules/@react-native-community/cli-tools/node_modules/lru-cache": { -- "version": "6.0.0", -- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", -- "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", -- "dependencies": { -- "yallist": "^4.0.0" -- }, -- "engines": { -- "node": ">=10" -- } -- }, -- "node_modules/@react-native-community/cli-tools/node_modules/semver": { -- "version": "7.5.4", -- "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", -- "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", -- "dependencies": { -- "lru-cache": "^6.0.0" -- }, -- "bin": { -- "semver": "bin/semver.js" -- }, -- "engines": { -- "node": ">=10" -- } -- }, - "node_modules/@react-native-community/cli-tools/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", -@@ -4165,15 +5215,10 @@ - "node": ">=8" - } - }, -- "node_modules/@react-native-community/cli-tools/node_modules/yallist": { -- "version": "4.0.0", -- "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", -- "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" -- }, - "node_modules/@react-native-community/cli-types": { -- "version": "12.3.2", -- "resolved": "https://registry.npmjs.org/@react-native-community/cli-types/-/cli-types-12.3.2.tgz", -- "integrity": "sha512-9D0UEFqLW8JmS16mjHJxUJWX8E+zJddrHILSH8AJHZ0NNHv4u2DXKdb0wFLMobFxGNxPT+VSOjc60fGvXzWHog==", -+ "version": "10.0.0", -+ "resolved": "https://registry.npmjs.org/@react-native-community/cli-types/-/cli-types-10.0.0.tgz", -+ "integrity": "sha512-31oUM6/rFBZQfSmDQsT1DX/5fjqfxg7sf2u8kTPJK7rXVya5SRpAMaCXsPAG0omsmJxXt+J9HxUi3Ic+5Ux5Iw==", - "dependencies": { - "joi": "^17.2.1" - } -@@ -4207,22 +5252,62 @@ - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, -- "node_modules/@react-native-community/cli/node_modules/color-convert": { -- "version": "2.0.1", -- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", -- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", -+ "node_modules/@react-native-community/cli/node_modules/color-convert": { -+ "version": "2.0.1", -+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", -+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", -+ "dependencies": { -+ "color-name": "~1.1.4" -+ }, -+ "engines": { -+ "node": ">=7.0.0" -+ } -+ }, -+ "node_modules/@react-native-community/cli/node_modules/color-name": { -+ "version": "1.1.4", -+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", -+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" -+ }, -+ "node_modules/@react-native-community/cli/node_modules/cross-spawn": { -+ "version": "6.0.5", -+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", -+ "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", -+ "dependencies": { -+ "nice-try": "^1.0.4", -+ "path-key": "^2.0.1", -+ "semver": "^5.5.0", -+ "shebang-command": "^1.2.0", -+ "which": "^1.2.9" -+ }, -+ "engines": { -+ "node": ">=4.8" -+ } -+ }, -+ "node_modules/@react-native-community/cli/node_modules/cross-spawn/node_modules/semver": { -+ "version": "5.7.2", -+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", -+ "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", -+ "bin": { -+ "semver": "bin/semver" -+ } -+ }, -+ "node_modules/@react-native-community/cli/node_modules/execa": { -+ "version": "1.0.0", -+ "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", -+ "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", - "dependencies": { -- "color-name": "~1.1.4" -+ "cross-spawn": "^6.0.0", -+ "get-stream": "^4.0.0", -+ "is-stream": "^1.1.0", -+ "npm-run-path": "^2.0.0", -+ "p-finally": "^1.0.0", -+ "signal-exit": "^3.0.0", -+ "strip-eof": "^1.0.0" - }, - "engines": { -- "node": ">=7.0.0" -+ "node": ">=6" - } - }, -- "node_modules/@react-native-community/cli/node_modules/color-name": { -- "version": "1.1.4", -- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", -- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" -- }, - "node_modules/@react-native-community/cli/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", -@@ -4235,6 +5320,17 @@ - "node": ">=8" - } - }, -+ "node_modules/@react-native-community/cli/node_modules/get-stream": { -+ "version": "4.1.0", -+ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", -+ "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", -+ "dependencies": { -+ "pump": "^3.0.0" -+ }, -+ "engines": { -+ "node": ">=6" -+ } -+ }, - "node_modules/@react-native-community/cli/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", -@@ -4243,6 +5339,14 @@ - "node": ">=8" - } - }, -+ "node_modules/@react-native-community/cli/node_modules/is-stream": { -+ "version": "1.1.0", -+ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", -+ "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", -+ "engines": { -+ "node": ">=0.10.0" -+ } -+ }, - "node_modules/@react-native-community/cli/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", -@@ -4254,15 +5358,15 @@ - "node": ">=8" - } - }, -- "node_modules/@react-native-community/cli/node_modules/lru-cache": { -- "version": "6.0.0", -- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", -- "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", -+ "node_modules/@react-native-community/cli/node_modules/npm-run-path": { -+ "version": "2.0.2", -+ "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", -+ "integrity": "sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==", - "dependencies": { -- "yallist": "^4.0.0" -+ "path-key": "^2.0.0" - }, - "engines": { -- "node": ">=10" -+ "node": ">=4" - } - }, - "node_modules/@react-native-community/cli/node_modules/p-limit": { -@@ -4290,18 +5394,31 @@ - "node": ">=8" - } - }, -- "node_modules/@react-native-community/cli/node_modules/semver": { -- "version": "7.5.4", -- "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", -- "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", -+ "node_modules/@react-native-community/cli/node_modules/path-key": { -+ "version": "2.0.1", -+ "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", -+ "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", -+ "engines": { -+ "node": ">=4" -+ } -+ }, -+ "node_modules/@react-native-community/cli/node_modules/shebang-command": { -+ "version": "1.2.0", -+ "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", -+ "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", - "dependencies": { -- "lru-cache": "^6.0.0" -- }, -- "bin": { -- "semver": "bin/semver.js" -+ "shebang-regex": "^1.0.0" - }, - "engines": { -- "node": ">=10" -+ "node": ">=0.10.0" -+ } -+ }, -+ "node_modules/@react-native-community/cli/node_modules/shebang-regex": { -+ "version": "1.0.0", -+ "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", -+ "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", -+ "engines": { -+ "node": ">=0.10.0" - } - }, - "node_modules/@react-native-community/cli/node_modules/supports-color": { -@@ -4315,40 +5432,62 @@ - "node": ">=8" - } - }, -- "node_modules/@react-native-community/cli/node_modules/yallist": { -- "version": "4.0.0", -- "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", -- "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" -- }, -- "node_modules/@react-native-community/slider": { -- "version": "4.5.0", -- "resolved": "https://registry.npmjs.org/@react-native-community/slider/-/slider-4.5.0.tgz", -- "integrity": "sha512-pyUvNTvu5IfCI5abzqRfO/dd3A009RC66RXZE6t0gyOwI/j0QDlq9VZRv3rjkpuIvNTnsYj+m5BHlh0DkSYUyA==" -- }, -- "node_modules/@react-native-mac/virtualized-lists": { -- "version": "0.73.3", -- "resolved": "https://registry.npmjs.org/@react-native-mac/virtualized-lists/-/virtualized-lists-0.73.3.tgz", -- "integrity": "sha512-7UcvjGYLIU0s2FzVLUPxHYo68tqtZV6x0AH8B0Hf9mkkpENGdRIKD7wDv0kjb/GkVn+qk94u3u0kQyMNRY9UkQ==", -+ "node_modules/@react-native-community/cli/node_modules/which": { -+ "version": "1.3.1", -+ "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", -+ "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dependencies": { -- "invariant": "^2.2.4", -- "nullthrows": "^1.1.1" -+ "isexe": "^2.0.0" - }, -- "engines": { -- "node": ">=18" -+ "bin": { -+ "which": "bin/which" -+ } -+ }, -+ "node_modules/@react-native-community/eslint-config": { -+ "version": "3.2.0", -+ "resolved": "https://registry.npmjs.org/@react-native-community/eslint-config/-/eslint-config-3.2.0.tgz", -+ "integrity": "sha512-ZjGvoeiBtCbd506hQqwjKmkWPgynGUoJspG8/MuV/EfKnkjCtBmeJvq2n+sWbWEvL9LWXDp2GJmPzmvU5RSvKQ==", -+ "dev": true, -+ "dependencies": { -+ "@babel/core": "^7.14.0", -+ "@babel/eslint-parser": "^7.18.2", -+ "@react-native-community/eslint-plugin": "^1.1.0", -+ "@typescript-eslint/eslint-plugin": "^5.30.5", -+ "@typescript-eslint/parser": "^5.30.5", -+ "eslint-config-prettier": "^8.5.0", -+ "eslint-plugin-eslint-comments": "^3.2.0", -+ "eslint-plugin-ft-flow": "^2.0.1", -+ "eslint-plugin-jest": "^26.5.3", -+ "eslint-plugin-prettier": "^4.2.1", -+ "eslint-plugin-react": "^7.30.1", -+ "eslint-plugin-react-hooks": "^4.6.0", -+ "eslint-plugin-react-native": "^4.0.0" - }, - "peerDependencies": { -- "react-native": "*" -+ "eslint": ">=8", -+ "prettier": ">=2" - } - }, -+ "node_modules/@react-native-community/eslint-plugin": { -+ "version": "1.3.0", -+ "resolved": "https://registry.npmjs.org/@react-native-community/eslint-plugin/-/eslint-plugin-1.3.0.tgz", -+ "integrity": "sha512-+zDZ20NUnSWghj7Ku5aFphMzuM9JulqCW+aPXT6IfIXFbb8tzYTTOSeRFOtuekJ99ibW2fUCSsjuKNlwDIbHFg==", -+ "dev": true -+ }, -+ "node_modules/@react-native-community/slider": { -+ "version": "4.5.0", -+ "resolved": "https://registry.npmjs.org/@react-native-community/slider/-/slider-4.5.0.tgz", -+ "integrity": "sha512-pyUvNTvu5IfCI5abzqRfO/dd3A009RC66RXZE6t0gyOwI/j0QDlq9VZRv3rjkpuIvNTnsYj+m5BHlh0DkSYUyA==" -+ }, - "node_modules/@react-native-windows/cli": { -- "version": "0.73.1", -- "resolved": "https://registry.npmjs.org/@react-native-windows/cli/-/cli-0.73.1.tgz", -- "integrity": "sha512-NMUjdcvQLvuxrNnMEgIZ54n3kItxnhO6S/PCX0izyKsuiVJUVgGSaiARUMmEOOjTh80MhS9KFiE+FNvRksJ2iQ==", -- "dependencies": { -- "@react-native-windows/codegen": "0.73.0", -- "@react-native-windows/fs": "0.73.0", -- "@react-native-windows/package-utils": "0.73.0", -- "@react-native-windows/telemetry": "0.73.1", -+ "version": "0.71.19", -+ "resolved": "https://registry.npmjs.org/@react-native-windows/cli/-/cli-0.71.19.tgz", -+ "integrity": "sha512-uae11eAG3gPJHyP63T2OyCVm1CSZOhmHJ7EyQM13IpR0xiZ2uY9CfU8wtp98iFXeXh1vNU/aWXx2MrFY+y+SyA==", -+ "dependencies": { -+ "@react-native-windows/codegen": "0.71.7", -+ "@react-native-windows/fs": "0.71.3", -+ "@react-native-windows/package-utils": "0.71.3", -+ "@react-native-windows/telemetry": "0.71.10", - "@xmldom/xmldom": "^0.7.7", - "chalk": "^4.1.0", - "cli-spinners": "^2.2.0", -@@ -4368,7 +5507,7 @@ - "xpath": "^0.0.27" - }, - "engines": { -- "node": ">= 18" -+ "node": ">= 14" - }, - "peerDependencies": { - "react-native": "*" -@@ -4676,9 +5815,9 @@ - } - }, - "node_modules/@react-native-windows/cli/node_modules/semver": { -- "version": "7.5.4", -- "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", -- "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", -+ "version": "7.6.0", -+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", -+ "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", - "dependencies": { - "lru-cache": "^6.0.0" - }, -@@ -4726,11 +5865,11 @@ - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - }, - "node_modules/@react-native-windows/codegen": { -- "version": "0.73.0", -- "resolved": "https://registry.npmjs.org/@react-native-windows/codegen/-/codegen-0.73.0.tgz", -- "integrity": "sha512-M+R8JzUEizAE23MkBOuSdyDGv9BeZx47L6gUWlXI4fyM9LjXpdYU0g6la8ZWleiLrDtHW0JIz95w8KkghpB6hg==", -+ "version": "0.71.7", -+ "resolved": "https://registry.npmjs.org/@react-native-windows/codegen/-/codegen-0.71.7.tgz", -+ "integrity": "sha512-zJvNz6hrMmtWUlseDivIJYpE7lFC56dfFvtueGRIHcZLo4kGssqzolxAUfx1klyHdD51L6gCX+SSjBvjwWLxug==", - "dependencies": { -- "@react-native-windows/fs": "0.73.0", -+ "@react-native-windows/fs": "0.71.3", - "chalk": "^4.1.0", - "globby": "^11.0.4", - "mustache": "^4.0.1", -@@ -4741,7 +5880,7 @@ - "react-native-windows-codegen": "bin.js" - }, - "engines": { -- "node": ">= 18" -+ "node": ">= 14" - }, - "peerDependencies": { - "react-native": "*" -@@ -4856,15 +5995,15 @@ - } - }, - "node_modules/@react-native-windows/find-repo-root": { -- "version": "0.73.0", -- "resolved": "https://registry.npmjs.org/@react-native-windows/find-repo-root/-/find-repo-root-0.73.0.tgz", -- "integrity": "sha512-ahEgLmFYNvXw5I1ETJDhNMyZ/iR+DK4iOZ9YaT4EQzEPGKgj8a/4kvStSyMa117m6yRPeM8hCrhsfsHoRCphBA==", -+ "version": "0.71.3", -+ "resolved": "https://registry.npmjs.org/@react-native-windows/find-repo-root/-/find-repo-root-0.71.3.tgz", -+ "integrity": "sha512-H5cf2uaXpInvEkIl8sjQ9O7F80GtR0cdHl3ueDIR3JQvWHwaSIzOs66y2/+x7E3jULml+jC13BmZbKFq9TV6Rw==", - "dependencies": { -- "@react-native-windows/fs": "0.73.0", -+ "@react-native-windows/fs": "0.71.3", - "find-up": "^4.1.0" - }, - "engines": { -- "node": ">= 18" -+ "node": ">= 14" - } - }, - "node_modules/@react-native-windows/find-repo-root/node_modules/find-up": { -@@ -4895,217 +6034,95 @@ - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dependencies": { -- "p-try": "^2.0.0" -- }, -- "engines": { -- "node": ">=6" -- }, -- "funding": { -- "url": "https://github.com/sponsors/sindresorhus" -- } -- }, -- "node_modules/@react-native-windows/find-repo-root/node_modules/p-locate": { -- "version": "4.1.0", -- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", -- "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", -- "dependencies": { -- "p-limit": "^2.2.0" -- }, -- "engines": { -- "node": ">=8" -- } -- }, -- "node_modules/@react-native-windows/fs": { -- "version": "0.73.0", -- "resolved": "https://registry.npmjs.org/@react-native-windows/fs/-/fs-0.73.0.tgz", -- "integrity": "sha512-Vg0gJavc6oO4TkTMK+s8V+1KhLlJgdtuwsUaBNRfhi+Dr/lWy7GKitV6rBn/UkG8DCt9LBmwdCZWpncxSs8CDA==", -- "dependencies": { -- "graceful-fs": "^4.2.8" -- }, -- "engines": { -- "node": ">= 18" -- } -- }, -- "node_modules/@react-native-windows/package-utils": { -- "version": "0.73.0", -- "resolved": "https://registry.npmjs.org/@react-native-windows/package-utils/-/package-utils-0.73.0.tgz", -- "integrity": "sha512-a3CuH8RPBfIwwPYi7gjyLmvRTzjFfXpePdLAC6afXHNbc5+VR6QJJ/VPhO9kQEvUxrQCXKXRXMGsUWrg0TNTEA==", -- "dependencies": { -- "@react-native-windows/find-repo-root": "0.73.0", -- "@react-native-windows/fs": "0.73.0", -- "get-monorepo-packages": "^1.2.0", -- "lodash": "^4.17.15" -- }, -- "engines": { -- "node": ">= 18" -- } -- }, -- "node_modules/@react-native-windows/telemetry": { -- "version": "0.73.1", -- "resolved": "https://registry.npmjs.org/@react-native-windows/telemetry/-/telemetry-0.73.1.tgz", -- "integrity": "sha512-xaZXwmxmIrmHrj39la8t0sTSDNs8h+oVyfACSGMvRvFLA5iniSOD4toP5Ag5skO7Z9+jROdULVv4wvi6yp4zvg==", -- "dependencies": { -- "@react-native-windows/fs": "0.73.0", -- "@xmldom/xmldom": "^0.7.7", -- "applicationinsights": "2.7.3", -- "ci-info": "^3.2.0", -- "envinfo": "^7.8.1", -- "lodash": "^4.17.21", -- "os-locale": "^5.0.0", -- "xpath": "^0.0.27" -- }, -- "engines": { -- "node": ">= 18" -- } -- }, -- "node_modules/@react-native/assets": { -- "version": "1.0.0", -- "resolved": "https://registry.npmjs.org/@react-native/assets/-/assets-1.0.0.tgz", -- "integrity": "sha512-KrwSpS1tKI70wuKl68DwJZYEvXktDHdZMG0k2AXD/rJVSlB23/X2CB2cutVR0HwNMJIal9HOUOBB2rVfa6UGtQ==" -- }, -- "node_modules/@react-native/assets-registry": { -- "version": "0.73.1", -- "resolved": "https://registry.npmjs.org/@react-native/assets-registry/-/assets-registry-0.73.1.tgz", -- "integrity": "sha512-2FgAbU7uKM5SbbW9QptPPZx8N9Ke2L7bsHb+EhAanZjFZunA9PaYtyjUQ1s7HD+zDVqOQIvjkpXSv7Kejd2tqg==", -- "engines": { -- "node": ">=18" -- } -- }, -- "node_modules/@react-native/babel-plugin-codegen": { -- "version": "0.73.3", -- "resolved": "https://registry.npmjs.org/@react-native/babel-plugin-codegen/-/babel-plugin-codegen-0.73.3.tgz", -- "integrity": "sha512-+zQrDDbz6lB48LyzFHxNCgXDCBHH+oTRdXAjikRcBUdeG9St9ABbYFLtb799zSxLOrCqFVyXqhJR2vlgLLEbcg==", -- "dev": true, -- "dependencies": { -- "@react-native/codegen": "0.73.2" -- }, -- "engines": { -- "node": ">=18" -- } -- }, -- "node_modules/@react-native/babel-preset": { -- "version": "0.73.20", -- "resolved": "https://registry.npmjs.org/@react-native/babel-preset/-/babel-preset-0.73.20.tgz", -- "integrity": "sha512-fU9NqkusbfFq71l4BWQfqqD/lLcLC0MZ++UYgieA3j8lIEppJTLVauv2RwtD2yltBkjebgYEC5Rwvt1l0MUBXw==", -- "dev": true, -- "dependencies": { -- "@babel/core": "^7.20.0", -- "@babel/plugin-proposal-async-generator-functions": "^7.0.0", -- "@babel/plugin-proposal-class-properties": "^7.18.0", -- "@babel/plugin-proposal-export-default-from": "^7.0.0", -- "@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.0", -- "@babel/plugin-proposal-numeric-separator": "^7.0.0", -- "@babel/plugin-proposal-object-rest-spread": "^7.20.0", -- "@babel/plugin-proposal-optional-catch-binding": "^7.0.0", -- "@babel/plugin-proposal-optional-chaining": "^7.20.0", -- "@babel/plugin-syntax-dynamic-import": "^7.8.0", -- "@babel/plugin-syntax-export-default-from": "^7.0.0", -- "@babel/plugin-syntax-flow": "^7.18.0", -- "@babel/plugin-syntax-nullish-coalescing-operator": "^7.0.0", -- "@babel/plugin-syntax-optional-chaining": "^7.0.0", -- "@babel/plugin-transform-arrow-functions": "^7.0.0", -- "@babel/plugin-transform-async-to-generator": "^7.20.0", -- "@babel/plugin-transform-block-scoping": "^7.0.0", -- "@babel/plugin-transform-classes": "^7.0.0", -- "@babel/plugin-transform-computed-properties": "^7.0.0", -- "@babel/plugin-transform-destructuring": "^7.20.0", -- "@babel/plugin-transform-flow-strip-types": "^7.20.0", -- "@babel/plugin-transform-function-name": "^7.0.0", -- "@babel/plugin-transform-literals": "^7.0.0", -- "@babel/plugin-transform-modules-commonjs": "^7.0.0", -- "@babel/plugin-transform-named-capturing-groups-regex": "^7.0.0", -- "@babel/plugin-transform-parameters": "^7.0.0", -- "@babel/plugin-transform-private-methods": "^7.22.5", -- "@babel/plugin-transform-private-property-in-object": "^7.22.11", -- "@babel/plugin-transform-react-display-name": "^7.0.0", -- "@babel/plugin-transform-react-jsx": "^7.0.0", -- "@babel/plugin-transform-react-jsx-self": "^7.0.0", -- "@babel/plugin-transform-react-jsx-source": "^7.0.0", -- "@babel/plugin-transform-runtime": "^7.0.0", -- "@babel/plugin-transform-shorthand-properties": "^7.0.0", -- "@babel/plugin-transform-spread": "^7.0.0", -- "@babel/plugin-transform-sticky-regex": "^7.0.0", -- "@babel/plugin-transform-typescript": "^7.5.0", -- "@babel/plugin-transform-unicode-regex": "^7.0.0", -- "@babel/template": "^7.0.0", -- "@react-native/babel-plugin-codegen": "0.73.3", -- "babel-plugin-transform-flow-enums": "^0.0.2", -- "react-refresh": "^0.14.0" -+ "p-try": "^2.0.0" - }, - "engines": { -- "node": ">=18" -+ "node": ">=6" - }, -- "peerDependencies": { -- "@babel/core": "*" -+ "funding": { -+ "url": "https://github.com/sponsors/sindresorhus" - } - }, -- "node_modules/@react-native/codegen": { -- "version": "0.73.2", -- "resolved": "https://registry.npmjs.org/@react-native/codegen/-/codegen-0.73.2.tgz", -- "integrity": "sha512-lfy8S7umhE3QLQG5ViC4wg5N1Z+E6RnaeIw8w1voroQsXXGPB72IBozh8dAHR3+ceTxIU0KX3A8OpJI8e1+HpQ==", -+ "node_modules/@react-native-windows/find-repo-root/node_modules/p-locate": { -+ "version": "4.1.0", -+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", -+ "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dependencies": { -- "@babel/parser": "^7.20.0", -- "flow-parser": "^0.206.0", -- "glob": "^7.1.1", -- "invariant": "^2.2.4", -- "jscodeshift": "^0.14.0", -- "mkdirp": "^0.5.1", -- "nullthrows": "^1.1.1" -+ "p-limit": "^2.2.0" - }, - "engines": { -- "node": ">=18" -+ "node": ">=8" -+ } -+ }, -+ "node_modules/@react-native-windows/fs": { -+ "version": "0.71.3", -+ "resolved": "https://registry.npmjs.org/@react-native-windows/fs/-/fs-0.71.3.tgz", -+ "integrity": "sha512-4Hb5MZpV747sEzg7U5EXhLyjjMAROEPhanw3shHs8Uky/9/mSw0IXI7uXbK+lBIMySSKksdezo4dx0uzpzBWGg==", -+ "dependencies": { -+ "graceful-fs": "^4.2.8" - }, -- "peerDependencies": { -- "@babel/preset-env": "^7.1.6" -+ "engines": { -+ "node": ">= 14" - } - }, -- "node_modules/@react-native/codegen/node_modules/mkdirp": { -- "version": "0.5.6", -- "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", -- "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", -+ "node_modules/@react-native-windows/package-utils": { -+ "version": "0.71.3", -+ "resolved": "https://registry.npmjs.org/@react-native-windows/package-utils/-/package-utils-0.71.3.tgz", -+ "integrity": "sha512-X9orwCA+1hREj+0c0UH8IoYq64wql/D3hWpug8aV271KVYwZOT90c+aOrW9GWL2ccM8LlRY251QC+HjImqJVHg==", - "dependencies": { -- "minimist": "^1.2.6" -+ "@react-native-windows/find-repo-root": "0.71.3", -+ "@react-native-windows/fs": "0.71.3", -+ "get-monorepo-packages": "^1.2.0", -+ "lodash": "^4.17.15" - }, -- "bin": { -- "mkdirp": "bin/cmd.js" -+ "engines": { -+ "node": ">= 14" - } - }, -- "node_modules/@react-native/community-cli-plugin": { -- "version": "0.73.16", -- "resolved": "https://registry.npmjs.org/@react-native/community-cli-plugin/-/community-cli-plugin-0.73.16.tgz", -- "integrity": "sha512-eNH3v3qJJF6f0n/Dck90qfC9gVOR4coAXMTdYECO33GfgjTi+73vf/SBqlXw9HICH/RNZYGPM3wca4FRF7TYeQ==", -+ "node_modules/@react-native-windows/telemetry": { -+ "version": "0.71.10", -+ "resolved": "https://registry.npmjs.org/@react-native-windows/telemetry/-/telemetry-0.71.10.tgz", -+ "integrity": "sha512-dE9viu0wX3DkRP0HON9fichR+f0zCiGIC3+GM8SS5uaPdPdwV6R5YEMzLtzlQDOmchx449NXa0OvREPavKc2EA==", - "dependencies": { -- "@react-native-community/cli-server-api": "12.3.2", -- "@react-native-community/cli-tools": "12.3.2", -- "@react-native/dev-middleware": "0.73.7", -- "@react-native/metro-babel-transformer": "0.73.15", -- "chalk": "^4.0.0", -- "execa": "^5.1.1", -- "metro": "^0.80.3", -- "metro-config": "^0.80.3", -- "metro-core": "^0.80.3", -- "node-fetch": "^2.2.0", -- "readline": "^1.3.0" -+ "@react-native-windows/fs": "0.71.3", -+ "@xmldom/xmldom": "^0.7.7", -+ "applicationinsights": "^2.3.1", -+ "ci-info": "^3.2.0", -+ "envinfo": "^7.8.1", -+ "lodash": "^4.17.21", -+ "os-locale": "^5.0.0", -+ "xpath": "^0.0.27" - }, - "engines": { -- "node": ">=18" -+ "node": ">= 14" - } - }, -- "node_modules/@react-native/community-cli-plugin/node_modules/@react-native/babel-plugin-codegen": { -- "version": "0.73.4", -- "resolved": "https://registry.npmjs.org/@react-native/babel-plugin-codegen/-/babel-plugin-codegen-0.73.4.tgz", -- "integrity": "sha512-XzRd8MJGo4Zc5KsphDHBYJzS1ryOHg8I2gOZDAUCGcwLFhdyGu1zBNDJYH2GFyDrInn9TzAbRIf3d4O+eltXQQ==", -+ "node_modules/@react-native/assets": { -+ "version": "1.0.0", -+ "resolved": "https://registry.npmjs.org/@react-native/assets/-/assets-1.0.0.tgz", -+ "integrity": "sha512-KrwSpS1tKI70wuKl68DwJZYEvXktDHdZMG0k2AXD/rJVSlB23/X2CB2cutVR0HwNMJIal9HOUOBB2rVfa6UGtQ==" -+ }, -+ "node_modules/@react-native/babel-plugin-codegen": { -+ "version": "0.73.3", -+ "resolved": "https://registry.npmjs.org/@react-native/babel-plugin-codegen/-/babel-plugin-codegen-0.73.3.tgz", -+ "integrity": "sha512-+zQrDDbz6lB48LyzFHxNCgXDCBHH+oTRdXAjikRcBUdeG9St9ABbYFLtb799zSxLOrCqFVyXqhJR2vlgLLEbcg==", -+ "dev": true, -+ "optional": true, -+ "peer": true, - "dependencies": { -- "@react-native/codegen": "0.73.3" -+ "@react-native/codegen": "0.73.2" - }, - "engines": { - "node": ">=18" - } - }, -- "node_modules/@react-native/community-cli-plugin/node_modules/@react-native/babel-preset": { -- "version": "0.73.21", -- "resolved": "https://registry.npmjs.org/@react-native/babel-preset/-/babel-preset-0.73.21.tgz", -- "integrity": "sha512-WlFttNnySKQMeujN09fRmrdWqh46QyJluM5jdtDNrkl/2Hx6N4XeDUGhABvConeK95OidVO7sFFf7sNebVXogA==", -+ "node_modules/@react-native/babel-preset": { -+ "version": "0.73.20", -+ "resolved": "https://registry.npmjs.org/@react-native/babel-preset/-/babel-preset-0.73.20.tgz", -+ "integrity": "sha512-fU9NqkusbfFq71l4BWQfqqD/lLcLC0MZ++UYgieA3j8lIEppJTLVauv2RwtD2yltBkjebgYEC5Rwvt1l0MUBXw==", -+ "dev": true, -+ "optional": true, -+ "peer": true, - "dependencies": { - "@babel/core": "^7.20.0", - "@babel/plugin-proposal-async-generator-functions": "^7.0.0", -@@ -5146,7 +6163,7 @@ - "@babel/plugin-transform-typescript": "^7.5.0", - "@babel/plugin-transform-unicode-regex": "^7.0.0", - "@babel/template": "^7.0.0", -- "@react-native/babel-plugin-codegen": "0.73.4", -+ "@react-native/babel-plugin-codegen": "0.73.3", - "babel-plugin-transform-flow-enums": "^0.0.2", - "react-refresh": "^0.14.0" - }, -@@ -5157,10 +6174,13 @@ - "@babel/core": "*" - } - }, -- "node_modules/@react-native/community-cli-plugin/node_modules/@react-native/codegen": { -- "version": "0.73.3", -- "resolved": "https://registry.npmjs.org/@react-native/codegen/-/codegen-0.73.3.tgz", -- "integrity": "sha512-sxslCAAb8kM06vGy9Jyh4TtvjhcP36k/rvj2QE2Jdhdm61KvfafCATSIsOfc0QvnduWFcpXUPvAVyYwuv7PYDg==", -+ "node_modules/@react-native/codegen": { -+ "version": "0.73.2", -+ "resolved": "https://registry.npmjs.org/@react-native/codegen/-/codegen-0.73.2.tgz", -+ "integrity": "sha512-lfy8S7umhE3QLQG5ViC4wg5N1Z+E6RnaeIw8w1voroQsXXGPB72IBozh8dAHR3+ceTxIU0KX3A8OpJI8e1+HpQ==", -+ "dev": true, -+ "optional": true, -+ "peer": true, - "dependencies": { - "@babel/parser": "^7.20.0", - "flow-parser": "^0.206.0", -@@ -5177,80 +6197,13 @@ - "@babel/preset-env": "^7.1.6" - } - }, -- "node_modules/@react-native/community-cli-plugin/node_modules/@react-native/metro-babel-transformer": { -- "version": "0.73.15", -- "resolved": "https://registry.npmjs.org/@react-native/metro-babel-transformer/-/metro-babel-transformer-0.73.15.tgz", -- "integrity": "sha512-LlkSGaXCz+xdxc9819plmpsl4P4gZndoFtpjN3GMBIu6f7TBV0GVbyJAU4GE8fuAWPVSVL5ArOcdkWKSbI1klw==", -- "dependencies": { -- "@babel/core": "^7.20.0", -- "@react-native/babel-preset": "0.73.21", -- "hermes-parser": "0.15.0", -- "nullthrows": "^1.1.1" -- }, -- "engines": { -- "node": ">=18" -- }, -- "peerDependencies": { -- "@babel/core": "*" -- } -- }, -- "node_modules/@react-native/community-cli-plugin/node_modules/ansi-styles": { -- "version": "4.3.0", -- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", -- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", -- "dependencies": { -- "color-convert": "^2.0.1" -- }, -- "engines": { -- "node": ">=8" -- }, -- "funding": { -- "url": "https://github.com/chalk/ansi-styles?sponsor=1" -- } -- }, -- "node_modules/@react-native/community-cli-plugin/node_modules/chalk": { -- "version": "4.1.2", -- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", -- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", -- "dependencies": { -- "ansi-styles": "^4.1.0", -- "supports-color": "^7.1.0" -- }, -- "engines": { -- "node": ">=10" -- }, -- "funding": { -- "url": "https://github.com/chalk/chalk?sponsor=1" -- } -- }, -- "node_modules/@react-native/community-cli-plugin/node_modules/color-convert": { -- "version": "2.0.1", -- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", -- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", -- "dependencies": { -- "color-name": "~1.1.4" -- }, -- "engines": { -- "node": ">=7.0.0" -- } -- }, -- "node_modules/@react-native/community-cli-plugin/node_modules/color-name": { -- "version": "1.1.4", -- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", -- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" -- }, -- "node_modules/@react-native/community-cli-plugin/node_modules/has-flag": { -- "version": "4.0.0", -- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", -- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", -- "engines": { -- "node": ">=8" -- } -- }, -- "node_modules/@react-native/community-cli-plugin/node_modules/mkdirp": { -+ "node_modules/@react-native/codegen/node_modules/mkdirp": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", - "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", -+ "dev": true, -+ "optional": true, -+ "peer": true, - "dependencies": { - "minimist": "^1.2.6" - }, -@@ -5258,122 +6211,13 @@ - "mkdirp": "bin/cmd.js" - } - }, -- "node_modules/@react-native/community-cli-plugin/node_modules/supports-color": { -- "version": "7.2.0", -- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", -- "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", -- "dependencies": { -- "has-flag": "^4.0.0" -- }, -- "engines": { -- "node": ">=8" -- } -- }, -- "node_modules/@react-native/debugger-frontend": { -- "version": "0.73.3", -- "resolved": "https://registry.npmjs.org/@react-native/debugger-frontend/-/debugger-frontend-0.73.3.tgz", -- "integrity": "sha512-RgEKnWuoo54dh7gQhV7kvzKhXZEhpF9LlMdZolyhGxHsBqZ2gXdibfDlfcARFFifPIiaZ3lXuOVVa4ei+uPgTw==", -- "engines": { -- "node": ">=18" -- } -- }, -- "node_modules/@react-native/dev-middleware": { -- "version": "0.73.7", -- "resolved": "https://registry.npmjs.org/@react-native/dev-middleware/-/dev-middleware-0.73.7.tgz", -- "integrity": "sha512-BZXpn+qKp/dNdr4+TkZxXDttfx8YobDh8MFHsMk9usouLm22pKgFIPkGBV0X8Do4LBkFNPGtrnsKkWk/yuUXKg==", -- "dependencies": { -- "@isaacs/ttlcache": "^1.4.1", -- "@react-native/debugger-frontend": "0.73.3", -- "chrome-launcher": "^0.15.2", -- "chromium-edge-launcher": "^1.0.0", -- "connect": "^3.6.5", -- "debug": "^2.2.0", -- "node-fetch": "^2.2.0", -- "open": "^7.0.3", -- "serve-static": "^1.13.1", -- "temp-dir": "^2.0.0" -- }, -- "engines": { -- "node": ">=18" -- } -- }, -- "node_modules/@react-native/dev-middleware/node_modules/debug": { -- "version": "2.6.9", -- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", -- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", -- "dependencies": { -- "ms": "2.0.0" -- } -- }, -- "node_modules/@react-native/dev-middleware/node_modules/ms": { -- "version": "2.0.0", -- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", -- "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" -- }, -- "node_modules/@react-native/dev-middleware/node_modules/open": { -- "version": "7.4.2", -- "resolved": "https://registry.npmjs.org/open/-/open-7.4.2.tgz", -- "integrity": "sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==", -- "dependencies": { -- "is-docker": "^2.0.0", -- "is-wsl": "^2.1.1" -- }, -- "engines": { -- "node": ">=8" -- }, -- "funding": { -- "url": "https://github.com/sponsors/sindresorhus" -- } -- }, -- "node_modules/@react-native/eslint-config": { -- "version": "0.73.2", -- "resolved": "https://registry.npmjs.org/@react-native/eslint-config/-/eslint-config-0.73.2.tgz", -- "integrity": "sha512-YzMfes19loTfbrkbYNAfHBDXX4oRBzc5wnvHs4h2GIHUj6YKs5ZK5lldqSrBJCdZAI3nuaO9Qj+t5JRwou571w==", -- "dev": true, -- "dependencies": { -- "@babel/core": "^7.20.0", -- "@babel/eslint-parser": "^7.20.0", -- "@react-native/eslint-plugin": "0.73.1", -- "@typescript-eslint/eslint-plugin": "^5.57.1", -- "@typescript-eslint/parser": "^5.57.1", -- "eslint-config-prettier": "^8.5.0", -- "eslint-plugin-eslint-comments": "^3.2.0", -- "eslint-plugin-ft-flow": "^2.0.1", -- "eslint-plugin-jest": "^26.5.3", -- "eslint-plugin-prettier": "^4.2.1", -- "eslint-plugin-react": "^7.30.1", -- "eslint-plugin-react-hooks": "^4.6.0", -- "eslint-plugin-react-native": "^4.0.0" -- }, -- "engines": { -- "node": ">=18" -- }, -- "peerDependencies": { -- "eslint": ">=8", -- "prettier": ">=2" -- } -- }, -- "node_modules/@react-native/eslint-plugin": { -- "version": "0.73.1", -- "resolved": "https://registry.npmjs.org/@react-native/eslint-plugin/-/eslint-plugin-0.73.1.tgz", -- "integrity": "sha512-8BNMFE8CAI7JLWLOs3u33wcwcJ821LYs5g53Xyx9GhSg0h8AygTwDrwmYb/pp04FkCNCPjKPBoaYRthQZmxgwA==", -- "dev": true, -- "engines": { -- "node": ">=18" -- } -- }, -- "node_modules/@react-native/gradle-plugin": { -- "version": "0.73.4", -- "resolved": "https://registry.npmjs.org/@react-native/gradle-plugin/-/gradle-plugin-0.73.4.tgz", -- "integrity": "sha512-PMDnbsZa+tD55Ug+W8CfqXiGoGneSSyrBZCMb5JfiB3AFST3Uj5e6lw8SgI/B6SKZF7lG0BhZ6YHZsRZ5MlXmg==", -- "engines": { -- "node": ">=18" -- } -- }, - "node_modules/@react-native/js-polyfills": { - "version": "0.73.1", - "resolved": "https://registry.npmjs.org/@react-native/js-polyfills/-/js-polyfills-0.73.1.tgz", - "integrity": "sha512-ewMwGcumrilnF87H4jjrnvGZEaPFCAC4ebraEK+CurDDmwST/bIicI4hrOAv+0Z0F7DEK4O4H7r8q9vH7IbN4g==", -+ "dev": true, -+ "optional": true, -+ "peer": true, - "engines": { - "node": ">=18" - } -@@ -5383,6 +6227,8 @@ - "resolved": "https://registry.npmjs.org/@react-native/metro-babel-transformer/-/metro-babel-transformer-0.73.14.tgz", - "integrity": "sha512-5wLeYw/lormpSqYfI9H/geZ/EtPmi+x5qLkEit15Q/70hkzYo/M+aWztUtbOITfgTEOP8d6ybROzoGsqgyZLcw==", - "dev": true, -+ "optional": true, -+ "peer": true, - "dependencies": { - "@babel/core": "^7.20.0", - "@react-native/babel-preset": "0.73.20", -@@ -5401,6 +6247,8 @@ - "resolved": "https://registry.npmjs.org/@react-native/metro-config/-/metro-config-0.73.4.tgz", - "integrity": "sha512-4IpWb9InOY23ssua6z/ho2B4uRqF4QaNHGg4aV3D/og5yiVF39GEm/REHU36i+KoHRO3GcB6DrI7N9KrcvgGBw==", - "dev": true, -+ "optional": true, -+ "peer": true, - "dependencies": { - "@react-native/js-polyfills": "0.73.1", - "@react-native/metro-babel-transformer": "0.73.14", -@@ -5411,31 +6259,15 @@ - "node": ">=18" - } - }, -- "node_modules/@react-native/normalize-colors": { -- "version": "0.73.2", -- "resolved": "https://registry.npmjs.org/@react-native/normalize-colors/-/normalize-colors-0.73.2.tgz", -- "integrity": "sha512-bRBcb2T+I88aG74LMVHaKms2p/T8aQd8+BZ7LuuzXlRfog1bMWWn/C5i0HVuvW4RPtXQYgIlGiXVDy9Ir1So/w==" -- }, -- "node_modules/@react-native/typescript-config": { -- "version": "0.73.1", -- "resolved": "https://registry.npmjs.org/@react-native/typescript-config/-/typescript-config-0.73.1.tgz", -- "integrity": "sha512-7Wrmdp972ZO7xvDid+xRGtvX6xz47cpGj7Y7VKlUhSVFFqbOGfB5WCpY1vMr6R/fjl+Og2fRw+TETN2+JnJi0w==", -- "dev": true -+ "node_modules/@react-native/normalize-color": { -+ "version": "2.1.0", -+ "resolved": "https://registry.npmjs.org/@react-native/normalize-color/-/normalize-color-2.1.0.tgz", -+ "integrity": "sha512-Z1jQI2NpdFJCVgpY+8Dq/Bt3d+YUi1928Q+/CZm/oh66fzM0RUl54vvuXlPJKybH4pdCZey1eDTPaLHkMPNgWA==" - }, -- "node_modules/@react-native/virtualized-lists": { -- "version": "0.73.4", -- "resolved": "https://registry.npmjs.org/@react-native/virtualized-lists/-/virtualized-lists-0.73.4.tgz", -- "integrity": "sha512-HpmLg1FrEiDtrtAbXiwCgXFYyloK/dOIPIuWW3fsqukwJEWAiTzm1nXGJ7xPU5XTHiWZ4sKup5Ebaj8z7iyWog==", -- "dependencies": { -- "invariant": "^2.2.4", -- "nullthrows": "^1.1.1" -- }, -- "engines": { -- "node": ">=18" -- }, -- "peerDependencies": { -- "react-native": "*" -- } -+ "node_modules/@react-native/polyfills": { -+ "version": "2.0.0", -+ "resolved": "https://registry.npmjs.org/@react-native/polyfills/-/polyfills-2.0.0.tgz", -+ "integrity": "sha512-K0aGNn1TjalKj+65D7ycc1//H9roAQ51GJVk5ZJQFb2teECGmzd86bYDC0aYdbRf7gtovescq4Zt6FR0tgXiHQ==" - }, - "node_modules/@rnx-kit/console": { - "version": "1.0.12", -@@ -6094,6 +6926,11 @@ - "node": ">=6.5" - } - }, -+ "node_modules/absolute-path": { -+ "version": "0.0.0", -+ "resolved": "https://registry.npmjs.org/absolute-path/-/absolute-path-0.0.0.tgz", -+ "integrity": "sha512-HQiug4c+/s3WOvEnDRxXVmNtSG5s2gJM9r19BTcqjp7BWcE48PB+Y2G6jE65kqI0LpsQeMZygt/b60Gi4KxGyA==" -+ }, - "node_modules/accepts": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", -@@ -6247,23 +7084,23 @@ - "integrity": "sha512-Quji6+8kLBC3NnBeo14nPDq0+2jUs5s3/xEye+udFHumHhRk4M7aAMXp/PBJqkKYGuuyR9M/6Dq7d2AViiGmhw==" - }, - "node_modules/applicationinsights": { -- "version": "2.7.3", -- "resolved": "https://registry.npmjs.org/applicationinsights/-/applicationinsights-2.7.3.tgz", -- "integrity": "sha512-JY8+kTEkjbA+kAVNWDtpfW2lqsrDALfDXuxOs74KLPu2y13fy/9WB52V4LfYVTVcW1/jYOXjTxNS2gPZIDh1iw==", -+ "version": "2.9.4", -+ "resolved": "https://registry.npmjs.org/applicationinsights/-/applicationinsights-2.9.4.tgz", -+ "integrity": "sha512-mMWW/E+1wy3oreeH1xJd2N5WIwIz4xj3JKneHOi7gHFqPjxgFV68mdKMEeM3YhLK1nC6k+M6Ekhf7e9WhQCSSw==", - "dependencies": { - "@azure/core-auth": "^1.5.0", - "@azure/core-rest-pipeline": "1.10.1", - "@azure/core-util": "1.2.0", - "@azure/opentelemetry-instrumentation-azure-sdk": "^1.0.0-beta.5", -- "@microsoft/applicationinsights-web-snippet": "^1.0.1", -- "@opentelemetry/api": "^1.4.1", -- "@opentelemetry/core": "^1.15.2", -- "@opentelemetry/sdk-trace-base": "^1.15.2", -- "@opentelemetry/semantic-conventions": "^1.15.2", -+ "@microsoft/applicationinsights-web-snippet": "1.0.1", -+ "@opentelemetry/api": "^1.7.0", -+ "@opentelemetry/core": "^1.19.0", -+ "@opentelemetry/sdk-trace-base": "^1.19.0", -+ "@opentelemetry/semantic-conventions": "^1.19.0", - "cls-hooked": "^4.2.2", - "continuation-local-storage": "^3.2.1", - "diagnostic-channel": "1.1.1", -- "diagnostic-channel-publishers": "1.0.7" -+ "diagnostic-channel-publishers": "1.0.8" - }, - "engines": { - "node": ">=8.0.0" -@@ -6427,6 +7264,11 @@ - "node": ">=4" - } - }, -+ "node_modules/async": { -+ "version": "3.2.5", -+ "resolved": "https://registry.npmjs.org/async/-/async-3.2.5.tgz", -+ "integrity": "sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==" -+ }, - "node_modules/async-hook-jl": { - "version": "1.7.6", - "resolved": "https://registry.npmjs.org/async-hook-jl/-/async-hook-jl-1.7.6.tgz", -@@ -6655,10 +7497,18 @@ - "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" - } - }, -+ "node_modules/babel-plugin-syntax-trailing-function-commas": { -+ "version": "7.0.0-beta.0", -+ "resolved": "https://registry.npmjs.org/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-7.0.0-beta.0.tgz", -+ "integrity": "sha512-Xj9XuRuz3nTSbaTXWv3itLOcxyF4oPD8douBBmj7U9BBC6nEBYfyOJYQMf/8PJAFotC62UY5dFfIGEPr7WswzQ==" -+ }, - "node_modules/babel-plugin-transform-flow-enums": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-flow-enums/-/babel-plugin-transform-flow-enums-0.0.2.tgz", - "integrity": "sha512-g4aaCrDDOsWjbm0PUUeVnkcVd6AKJsVc/MbnPhEotEpkeJQP6b8nzewohQi7+QS8UyPehOhGWn0nOwjvWpmMvQ==", -+ "dev": true, -+ "optional": true, -+ "peer": true, - "dependencies": { - "@babel/plugin-syntax-flow": "^7.12.1" - } -@@ -6686,6 +7536,43 @@ - "@babel/core": "^7.0.0" - } - }, -+ "node_modules/babel-preset-fbjs": { -+ "version": "3.4.0", -+ "resolved": "https://registry.npmjs.org/babel-preset-fbjs/-/babel-preset-fbjs-3.4.0.tgz", -+ "integrity": "sha512-9ywCsCvo1ojrw0b+XYk7aFvTH6D9064t0RIL1rtMf3nsa02Xw41MS7sZw216Im35xj/UY0PDBQsa1brUDDF1Ow==", -+ "dependencies": { -+ "@babel/plugin-proposal-class-properties": "^7.0.0", -+ "@babel/plugin-proposal-object-rest-spread": "^7.0.0", -+ "@babel/plugin-syntax-class-properties": "^7.0.0", -+ "@babel/plugin-syntax-flow": "^7.0.0", -+ "@babel/plugin-syntax-jsx": "^7.0.0", -+ "@babel/plugin-syntax-object-rest-spread": "^7.0.0", -+ "@babel/plugin-transform-arrow-functions": "^7.0.0", -+ "@babel/plugin-transform-block-scoped-functions": "^7.0.0", -+ "@babel/plugin-transform-block-scoping": "^7.0.0", -+ "@babel/plugin-transform-classes": "^7.0.0", -+ "@babel/plugin-transform-computed-properties": "^7.0.0", -+ "@babel/plugin-transform-destructuring": "^7.0.0", -+ "@babel/plugin-transform-flow-strip-types": "^7.0.0", -+ "@babel/plugin-transform-for-of": "^7.0.0", -+ "@babel/plugin-transform-function-name": "^7.0.0", -+ "@babel/plugin-transform-literals": "^7.0.0", -+ "@babel/plugin-transform-member-expression-literals": "^7.0.0", -+ "@babel/plugin-transform-modules-commonjs": "^7.0.0", -+ "@babel/plugin-transform-object-super": "^7.0.0", -+ "@babel/plugin-transform-parameters": "^7.0.0", -+ "@babel/plugin-transform-property-literals": "^7.0.0", -+ "@babel/plugin-transform-react-display-name": "^7.0.0", -+ "@babel/plugin-transform-react-jsx": "^7.0.0", -+ "@babel/plugin-transform-shorthand-properties": "^7.0.0", -+ "@babel/plugin-transform-spread": "^7.0.0", -+ "@babel/plugin-transform-template-literals": "^7.0.0", -+ "babel-plugin-syntax-trailing-function-commas": "^7.0.0-beta.0" -+ }, -+ "peerDependencies": { -+ "@babel/core": "^7.0.0" -+ } -+ }, - "node_modules/babel-preset-jest": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.6.3.tgz", -@@ -6939,58 +7826,6 @@ - "node": ">=10" - } - }, -- "node_modules/chrome-launcher": { -- "version": "0.15.2", -- "resolved": "https://registry.npmjs.org/chrome-launcher/-/chrome-launcher-0.15.2.tgz", -- "integrity": "sha512-zdLEwNo3aUVzIhKhTtXfxhdvZhUghrnmkvcAq2NoDd+LeOHKf03H5jwZ8T/STsAlzyALkBVK552iaG1fGf1xVQ==", -- "dependencies": { -- "@types/node": "*", -- "escape-string-regexp": "^4.0.0", -- "is-wsl": "^2.2.0", -- "lighthouse-logger": "^1.0.0" -- }, -- "bin": { -- "print-chrome-path": "bin/print-chrome-path.js" -- }, -- "engines": { -- "node": ">=12.13.0" -- } -- }, -- "node_modules/chrome-launcher/node_modules/escape-string-regexp": { -- "version": "4.0.0", -- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", -- "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", -- "engines": { -- "node": ">=10" -- }, -- "funding": { -- "url": "https://github.com/sponsors/sindresorhus" -- } -- }, -- "node_modules/chromium-edge-launcher": { -- "version": "1.0.0", -- "resolved": "https://registry.npmjs.org/chromium-edge-launcher/-/chromium-edge-launcher-1.0.0.tgz", -- "integrity": "sha512-pgtgjNKZ7i5U++1g1PWv75umkHvhVTDOQIZ+sjeUX9483S7Y6MUvO0lrd7ShGlQlFHMN4SwKTCq/X8hWrbv2KA==", -- "dependencies": { -- "@types/node": "*", -- "escape-string-regexp": "^4.0.0", -- "is-wsl": "^2.2.0", -- "lighthouse-logger": "^1.0.0", -- "mkdirp": "^1.0.4", -- "rimraf": "^3.0.2" -- } -- }, -- "node_modules/chromium-edge-launcher/node_modules/escape-string-regexp": { -- "version": "4.0.0", -- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", -- "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", -- "engines": { -- "node": ">=10" -- }, -- "funding": { -- "url": "https://github.com/sponsors/sindresorhus" -- } -- }, - "node_modules/ci-info": { - "version": "3.9.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", -@@ -7463,6 +8298,7 @@ - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", - "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", -+ "dev": true, - "engines": { - "node": ">=0.10.0" - } -@@ -7531,16 +8367,13 @@ - } - }, - "node_modules/deprecated-react-native-prop-types": { -- "version": "5.0.0", -- "resolved": "https://registry.npmjs.org/deprecated-react-native-prop-types/-/deprecated-react-native-prop-types-5.0.0.tgz", -- "integrity": "sha512-cIK8KYiiGVOFsKdPMmm1L3tA/Gl+JopXL6F5+C7x39MyPsQYnP57Im/D6bNUzcborD7fcMwiwZqcBdBXXZucYQ==", -+ "version": "3.0.2", -+ "resolved": "https://registry.npmjs.org/deprecated-react-native-prop-types/-/deprecated-react-native-prop-types-3.0.2.tgz", -+ "integrity": "sha512-JoZY5iNM+oJlN2Ldpq0KSi0h3Nig4hlNJj5nWzWp8eL3uikMCvHwjSGPitwkEw0arL5JFra5nuGJQpXRbEjApg==", - "dependencies": { -- "@react-native/normalize-colors": "^0.73.0", -+ "@react-native/normalize-color": "^2.1.0", - "invariant": "^2.2.4", - "prop-types": "^15.8.1" -- }, -- "engines": { -- "node": ">=18" - } - }, - "node_modules/destroy": { -@@ -7570,9 +8403,9 @@ - } - }, - "node_modules/diagnostic-channel-publishers": { -- "version": "1.0.7", -- "resolved": "https://registry.npmjs.org/diagnostic-channel-publishers/-/diagnostic-channel-publishers-1.0.7.tgz", -- "integrity": "sha512-SEECbY5AiVt6DfLkhkaHNeshg1CogdLLANA8xlG/TKvS+XUgvIKl7VspJGYiEdL5OUyzMVnr7o0AwB7f+/Mjtg==", -+ "version": "1.0.8", -+ "resolved": "https://registry.npmjs.org/diagnostic-channel-publishers/-/diagnostic-channel-publishers-1.0.8.tgz", -+ "integrity": "sha512-HmSm9hXxSPxA9BaLGY98QU1zsdjeCk113KjAYGPCen1ZP6mhVaTPzHd6UYv5r21DnWANi+f+NyPOHruGT9jpqQ==", - "peerDependencies": { - "diagnostic-channel": "*" - } -@@ -7589,9 +8422,9 @@ - } - }, - "node_modules/diagnostic-channel/node_modules/semver": { -- "version": "7.5.4", -- "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", -- "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", -+ "version": "7.6.0", -+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", -+ "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", - "dependencies": { - "lru-cache": "^6.0.0" - }, -@@ -7691,9 +8524,9 @@ - } - }, - "node_modules/envinfo": { -- "version": "7.11.0", -- "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.11.0.tgz", -- "integrity": "sha512-G9/6xF1FPbIw0TtalAMaVPpiq2aDEuKLXM314jPVAO9r2fo2a4BLqMNkmRS7O/xPPZ+COAhGIz3ETvHEV3eUcg==", -+ "version": "7.11.1", -+ "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.11.1.tgz", -+ "integrity": "sha512-8PiZgZNIB4q/Lw4AhOvAfB/ityHAd2bli3lESSWmWSzSsl5dKpy5N1d1Rfkd2teq/g9xN90lc6o98DOjMeYHpg==", - "bin": { - "envinfo": "dist/cli.js" - }, -@@ -8390,6 +9223,7 @@ - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", -+ "dev": true, - "dependencies": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", -@@ -8716,11 +9550,6 @@ - "integrity": "sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==", - "dev": true - }, -- "node_modules/flow-enums-runtime": { -- "version": "0.0.6", -- "resolved": "https://registry.npmjs.org/flow-enums-runtime/-/flow-enums-runtime-0.0.6.tgz", -- "integrity": "sha512-3PYnM29RFXwvAN6Pc/scUfkI7RwhQ/xqyLUyPNlXUp9S40zI8nup9tUSrTLSVnWGBN38FNiGWbwZOB6uR4OGdw==" -- }, - "node_modules/flow-parser": { - "version": "0.206.0", - "resolved": "https://registry.npmjs.org/flow-parser/-/flow-parser-0.206.0.tgz", -@@ -8940,6 +9769,7 @@ - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", -+ "dev": true, - "engines": { - "node": ">=10" - }, -@@ -9141,12 +9971,18 @@ - "node_modules/hermes-estree": { - "version": "0.15.0", - "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.15.0.tgz", -- "integrity": "sha512-lLYvAd+6BnOqWdnNbP/Q8xfl8LOGw4wVjfrNd9Gt8eoFzhNBRVD95n4l2ksfMVOoxuVyegs85g83KS9QOsxbVQ==" -+ "integrity": "sha512-lLYvAd+6BnOqWdnNbP/Q8xfl8LOGw4wVjfrNd9Gt8eoFzhNBRVD95n4l2ksfMVOoxuVyegs85g83KS9QOsxbVQ==", -+ "dev": true, -+ "optional": true, -+ "peer": true - }, - "node_modules/hermes-parser": { - "version": "0.15.0", - "resolved": "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.15.0.tgz", - "integrity": "sha512-Q1uks5rjZlE9RjMMjSUCkGrEIPI5pKJILeCtK1VmTj7U4pf3wVPoo+cxfu+s4cBAPy2JzikIIdCZgBoR6x7U1Q==", -+ "dev": true, -+ "optional": true, -+ "peer": true, - "dependencies": { - "hermes-estree": "0.15.0" - } -@@ -9228,6 +10064,7 @@ - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", - "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", -+ "dev": true, - "engines": { - "node": ">=10.17.0" - } -@@ -9263,6 +10100,9 @@ - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/image-size/-/image-size-1.1.1.tgz", - "integrity": "sha512-541xKlUw6jr/6gGuk92F+mYM5zaFAc5ahphvkqvNe2bQ6gVBkd6bfrmVJ2t4KDAfikAYZyIqTnktX3i6/aQDrQ==", -+ "dev": true, -+ "optional": true, -+ "peer": true, - "dependencies": { - "queue": "6.0.2" - }, -@@ -9391,11 +10231,6 @@ - "url": "https://github.com/sindresorhus/invert-kv?sponsor=1" - } - }, -- "node_modules/ip": { -- "version": "1.1.8", -- "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.8.tgz", -- "integrity": "sha512-PuExPYUiu6qMBQb4l06ecm6T6ujzhmh+MeJcW9wa89PoAz5pvd4zPgN5WJV104mb6S2T1AwNIAaB70JNrLQWhg==" -- }, - "node_modules/is-array-buffer": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz", -@@ -9504,20 +10339,6 @@ - "node": ">=0.10.0" - } - }, -- "node_modules/is-docker": { -- "version": "2.2.1", -- "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", -- "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", -- "bin": { -- "is-docker": "cli.js" -- }, -- "engines": { -- "node": ">=8" -- }, -- "funding": { -- "url": "https://github.com/sponsors/sindresorhus" -- } -- }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", -@@ -9792,14 +10613,11 @@ - } - }, - "node_modules/is-wsl": { -- "version": "2.2.0", -- "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", -- "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", -- "dependencies": { -- "is-docker": "^2.0.0" -- }, -+ "version": "1.1.0", -+ "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", -+ "integrity": "sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw==", - "engines": { -- "node": ">=8" -+ "node": ">=4" - } - }, - "node_modules/isarray": { -@@ -10483,6 +11301,7 @@ - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz", - "integrity": "sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==", -+ "dev": true, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } -@@ -11040,6 +11859,18 @@ - "node": ">=8" - } - }, -+ "node_modules/jest-serializer": { -+ "version": "27.5.1", -+ "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-27.5.1.tgz", -+ "integrity": "sha512-jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w==", -+ "dependencies": { -+ "@types/node": "*", -+ "graceful-fs": "^4.2.9" -+ }, -+ "engines": { -+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" -+ } -+ }, - "node_modules/jest-snapshot": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.7.0.tgz", -@@ -11258,6 +12089,7 @@ - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.7.0.tgz", - "integrity": "sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==", -+ "dev": true, - "dependencies": { - "@jest/types": "^29.6.3", - "camelcase": "^6.2.0", -@@ -11274,6 +12106,7 @@ - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", -+ "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, -@@ -11288,6 +12121,7 @@ - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", -+ "dev": true, - "engines": { - "node": ">=10" - }, -@@ -11299,6 +12133,7 @@ - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", -+ "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" -@@ -11314,6 +12149,7 @@ - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", -+ "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, -@@ -11324,12 +12160,14 @@ - "node_modules/jest-validate/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", -- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" -+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", -+ "dev": true - }, - "node_modules/jest-validate/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", -+ "dev": true, - "engines": { - "node": ">=8" - } -@@ -11338,6 +12176,7 @@ - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", -+ "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, -@@ -11438,6 +12277,7 @@ - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz", - "integrity": "sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==", -+ "dev": true, - "dependencies": { - "@types/node": "*", - "jest-util": "^29.7.0", -@@ -11452,6 +12292,7 @@ - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", -+ "dev": true, - "engines": { - "node": ">=8" - } -@@ -11460,6 +12301,7 @@ - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", -+ "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, -@@ -11471,9 +12313,9 @@ - } - }, - "node_modules/joi": { -- "version": "17.12.1", -- "resolved": "https://registry.npmjs.org/joi/-/joi-17.12.1.tgz", -- "integrity": "sha512-vtxmq+Lsc5SlfqotnfVjlViWfOL9nt/avKNbKYizwf6gsCfq9NYY/ceYRMFD8XDdrjJ9abJyScWmhmIiy+XRtQ==", -+ "version": "17.12.2", -+ "resolved": "https://registry.npmjs.org/joi/-/joi-17.12.2.tgz", -+ "integrity": "sha512-RonXAIzCiHLc8ss3Ibuz45u28GOsWE1UpfDXLbN/9NKbL4tCJf8TWYVKsoYuuh+sAUt7fsSNpA+r2+TBA6Wjmw==", - "dependencies": { - "@hapi/hoek": "^9.3.0", - "@hapi/topo": "^5.1.0", -@@ -11746,28 +12588,6 @@ - "node": ">= 0.8.0" - } - }, -- "node_modules/lighthouse-logger": { -- "version": "1.4.2", -- "resolved": "https://registry.npmjs.org/lighthouse-logger/-/lighthouse-logger-1.4.2.tgz", -- "integrity": "sha512-gPWxznF6TKmUHrOQjlVo2UbaL2EJ71mb2CCeRs/2qBpi4L/g4LUVc9+3lKQ6DTUZwJswfM7ainGrLO1+fOqa2g==", -- "dependencies": { -- "debug": "^2.6.9", -- "marky": "^1.2.2" -- } -- }, -- "node_modules/lighthouse-logger/node_modules/debug": { -- "version": "2.6.9", -- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", -- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", -- "dependencies": { -- "ms": "2.0.0" -- } -- }, -- "node_modules/lighthouse-logger/node_modules/ms": { -- "version": "2.0.0", -- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", -- "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" -- }, - "node_modules/lines-and-columns": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", -@@ -12160,11 +12980,6 @@ - "node": ">=6" - } - }, -- "node_modules/marky": { -- "version": "1.2.5", -- "resolved": "https://registry.npmjs.org/marky/-/marky-1.2.5.tgz", -- "integrity": "sha512-q9JtQJKjpsVxCRVgQ+WapguSbKC3SQ5HEzFGPAJMStgh3QjCawp00UKv3MTTAArTmGmmPUvllHZoNbZ3gs0I+Q==" -- }, - "node_modules/mem": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/mem/-/mem-5.1.1.tgz", -@@ -12200,6 +13015,9 @@ - "version": "0.80.5", - "resolved": "https://registry.npmjs.org/metro/-/metro-0.80.5.tgz", - "integrity": "sha512-OE/CGbOgbi8BlTN1QqJgKOBaC27dS0JBQw473JcivrpgVnqIsluROA7AavEaTVUrB9wPUZvoNVDROn5uiM2jfw==", -+ "dev": true, -+ "optional": true, -+ "peer": true, - "dependencies": { - "@babel/code-frame": "^7.0.0", - "@babel/core": "^7.20.0", -@@ -12256,6 +13074,9 @@ - "version": "0.80.5", - "resolved": "https://registry.npmjs.org/metro-babel-transformer/-/metro-babel-transformer-0.80.5.tgz", - "integrity": "sha512-sxH6hcWCorhTbk4kaShCWsadzu99WBL4Nvq4m/sDTbp32//iGuxtAnUK+ZV+6IEygr2u9Z0/4XoZ8Sbcl71MpA==", -+ "dev": true, -+ "optional": true, -+ "peer": true, - "dependencies": { - "@babel/core": "^7.20.0", - "hermes-parser": "0.18.2", -@@ -12268,12 +13089,18 @@ - "node_modules/metro-babel-transformer/node_modules/hermes-estree": { - "version": "0.18.2", - "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.18.2.tgz", -- "integrity": "sha512-KoLsoWXJ5o81nit1wSyEZnWUGy9cBna9iYMZBR7skKh7okYAYKqQ9/OczwpMHn/cH0hKDyblulGsJ7FknlfVxQ==" -+ "integrity": "sha512-KoLsoWXJ5o81nit1wSyEZnWUGy9cBna9iYMZBR7skKh7okYAYKqQ9/OczwpMHn/cH0hKDyblulGsJ7FknlfVxQ==", -+ "dev": true, -+ "optional": true, -+ "peer": true - }, - "node_modules/metro-babel-transformer/node_modules/hermes-parser": { - "version": "0.18.2", - "resolved": "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.18.2.tgz", - "integrity": "sha512-1eQfvib+VPpgBZ2zYKQhpuOjw1tH+Emuib6QmjkJWJMhyjM8xnXMvA+76o9LhF0zOAJDZgPfQhg43cyXEyl5Ew==", -+ "dev": true, -+ "optional": true, -+ "peer": true, - "dependencies": { - "hermes-estree": "0.18.2" - } -@@ -12282,6 +13109,9 @@ - "version": "0.80.5", - "resolved": "https://registry.npmjs.org/metro-cache/-/metro-cache-0.80.5.tgz", - "integrity": "sha512-2u+dQ4PZwmC7eZo9uMBNhQQMig9f+w4QWBZwXCdVy/RYOHM0eObgGdMEOwODo73uxie82T9lWzxr3aZOZ+Nqtw==", -+ "dev": true, -+ "optional": true, -+ "peer": true, - "dependencies": { - "metro-core": "0.80.5", - "rimraf": "^3.0.2" -@@ -12294,6 +13124,9 @@ - "version": "0.80.5", - "resolved": "https://registry.npmjs.org/metro-cache-key/-/metro-cache-key-0.80.5.tgz", - "integrity": "sha512-fr3QLZUarsB3tRbVcmr34kCBsTHk0Sh9JXGvBY/w3b2lbre+Lq5gtgLyFElHPecGF7o4z1eK9r3ubxtScHWcbA==", -+ "dev": true, -+ "optional": true, -+ "peer": true, - "engines": { - "node": ">=18" - } -@@ -12302,6 +13135,9 @@ - "version": "0.80.5", - "resolved": "https://registry.npmjs.org/metro-config/-/metro-config-0.80.5.tgz", - "integrity": "sha512-elqo/lwvF+VjZ1OPyvmW/9hSiGlmcqu+rQvDKw5F5WMX48ZC+ySTD1WcaD7e97pkgAlJHVYqZ98FCjRAYOAFRQ==", -+ "dev": true, -+ "optional": true, -+ "peer": true, - "dependencies": { - "connect": "^3.6.5", - "cosmiconfig": "^5.0.5", -@@ -12319,6 +13155,9 @@ - "version": "0.80.5", - "resolved": "https://registry.npmjs.org/metro-core/-/metro-core-0.80.5.tgz", - "integrity": "sha512-vkLuaBhnZxTVpaZO8ZJVEHzjaqSXpOdpAiztSZ+NDaYM6jEFgle3/XIbLW91jTSf2+T8Pj5yB1G7KuOX+BcVwg==", -+ "dev": true, -+ "optional": true, -+ "peer": true, - "dependencies": { - "lodash.throttle": "^4.1.1", - "metro-resolver": "0.80.5" -@@ -12331,6 +13170,9 @@ - "version": "0.80.5", - "resolved": "https://registry.npmjs.org/metro-file-map/-/metro-file-map-0.80.5.tgz", - "integrity": "sha512-bKCvJ05drjq6QhQxnDUt3I8x7bTcHo3IIKVobEr14BK++nmxFGn/BmFLRzVBlghM6an3gqwpNEYxS5qNc+VKcg==", -+ "dev": true, -+ "optional": true, -+ "peer": true, - "dependencies": { - "anymatch": "^3.0.3", - "debug": "^2.2.0", -@@ -12354,11 +13196,49 @@ - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", -+ "dev": true, -+ "optional": true, -+ "peer": true, - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/metro-file-map/node_modules/ms": { -+ "version": "2.0.0", -+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", -+ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", -+ "dev": true, -+ "optional": true, -+ "peer": true -+ }, -+ "node_modules/metro-hermes-compiler": { -+ "version": "0.73.10", -+ "resolved": "https://registry.npmjs.org/metro-hermes-compiler/-/metro-hermes-compiler-0.73.10.tgz", -+ "integrity": "sha512-rTRWEzkVrwtQLiYkOXhSdsKkIObnL+Jqo+IXHI7VEK2aSLWRAbtGNqECBs44kbOUypDYTFFE+WLtoqvUWqYkWg==" -+ }, -+ "node_modules/metro-inspector-proxy": { -+ "version": "0.73.10", -+ "resolved": "https://registry.npmjs.org/metro-inspector-proxy/-/metro-inspector-proxy-0.73.10.tgz", -+ "integrity": "sha512-CEEvocYc5xCCZBtGSIggMCiRiXTrnBbh8pmjKQqm9TtJZALeOGyt5pXUaEkKGnhrXETrexsg6yIbsQHhEvVfvQ==", -+ "dependencies": { -+ "connect": "^3.6.5", -+ "debug": "^2.2.0", -+ "ws": "^7.5.1", -+ "yargs": "^17.5.1" -+ }, -+ "bin": { -+ "metro-inspector-proxy": "src/cli.js" -+ } -+ }, -+ "node_modules/metro-inspector-proxy/node_modules/debug": { -+ "version": "2.6.9", -+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", -+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", -+ "dependencies": { -+ "ms": "2.0.0" -+ } -+ }, -+ "node_modules/metro-inspector-proxy/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" -@@ -12367,17 +13247,175 @@ - "version": "0.80.5", - "resolved": "https://registry.npmjs.org/metro-minify-terser/-/metro-minify-terser-0.80.5.tgz", - "integrity": "sha512-S7oZLLcab6YXUT6jYFX/ZDMN7Fq6xBGGAG8liMFU1UljX6cTcEC2u+UIafYgCLrdVexp/+ClxrIetVPZ5LtL/g==", -+ "dev": true, -+ "optional": true, -+ "peer": true, - "dependencies": { - "terser": "^5.15.0" - }, - "engines": { -- "node": ">=18" -+ "node": ">=18" -+ } -+ }, -+ "node_modules/metro-minify-uglify": { -+ "version": "0.73.10", -+ "resolved": "https://registry.npmjs.org/metro-minify-uglify/-/metro-minify-uglify-0.73.10.tgz", -+ "integrity": "sha512-eocnSeJKnLz/UoYntVFhCJffED7SLSgbCHgNvI6ju6hFb6EFHGJT9OLbkJWeXaWBWD3Zw5mYLS8GGqGn/CHZPA==", -+ "dependencies": { -+ "uglify-es": "^3.1.9" -+ } -+ }, -+ "node_modules/metro-react-native-babel-preset": { -+ "version": "0.73.10", -+ "resolved": "https://registry.npmjs.org/metro-react-native-babel-preset/-/metro-react-native-babel-preset-0.73.10.tgz", -+ "integrity": "sha512-1/dnH4EHwFb2RKEKx34vVDpUS3urt2WEeR8FYim+ogqALg4sTpG7yeQPxWpbgKATezt4rNfqAANpIyH19MS4BQ==", -+ "dependencies": { -+ "@babel/core": "^7.20.0", -+ "@babel/plugin-proposal-async-generator-functions": "^7.0.0", -+ "@babel/plugin-proposal-class-properties": "^7.0.0", -+ "@babel/plugin-proposal-export-default-from": "^7.0.0", -+ "@babel/plugin-proposal-nullish-coalescing-operator": "^7.0.0", -+ "@babel/plugin-proposal-object-rest-spread": "^7.0.0", -+ "@babel/plugin-proposal-optional-catch-binding": "^7.0.0", -+ "@babel/plugin-proposal-optional-chaining": "^7.0.0", -+ "@babel/plugin-syntax-dynamic-import": "^7.0.0", -+ "@babel/plugin-syntax-export-default-from": "^7.0.0", -+ "@babel/plugin-syntax-flow": "^7.18.0", -+ "@babel/plugin-syntax-nullish-coalescing-operator": "^7.0.0", -+ "@babel/plugin-syntax-optional-chaining": "^7.0.0", -+ "@babel/plugin-transform-arrow-functions": "^7.0.0", -+ "@babel/plugin-transform-async-to-generator": "^7.0.0", -+ "@babel/plugin-transform-block-scoping": "^7.0.0", -+ "@babel/plugin-transform-classes": "^7.0.0", -+ "@babel/plugin-transform-computed-properties": "^7.0.0", -+ "@babel/plugin-transform-destructuring": "^7.0.0", -+ "@babel/plugin-transform-flow-strip-types": "^7.0.0", -+ "@babel/plugin-transform-function-name": "^7.0.0", -+ "@babel/plugin-transform-literals": "^7.0.0", -+ "@babel/plugin-transform-modules-commonjs": "^7.0.0", -+ "@babel/plugin-transform-named-capturing-groups-regex": "^7.0.0", -+ "@babel/plugin-transform-parameters": "^7.0.0", -+ "@babel/plugin-transform-react-display-name": "^7.0.0", -+ "@babel/plugin-transform-react-jsx": "^7.0.0", -+ "@babel/plugin-transform-react-jsx-self": "^7.0.0", -+ "@babel/plugin-transform-react-jsx-source": "^7.0.0", -+ "@babel/plugin-transform-runtime": "^7.0.0", -+ "@babel/plugin-transform-shorthand-properties": "^7.0.0", -+ "@babel/plugin-transform-spread": "^7.0.0", -+ "@babel/plugin-transform-sticky-regex": "^7.0.0", -+ "@babel/plugin-transform-template-literals": "^7.0.0", -+ "@babel/plugin-transform-typescript": "^7.5.0", -+ "@babel/plugin-transform-unicode-regex": "^7.0.0", -+ "@babel/template": "^7.0.0", -+ "react-refresh": "^0.4.0" -+ }, -+ "peerDependencies": { -+ "@babel/core": "*" -+ } -+ }, -+ "node_modules/metro-react-native-babel-preset/node_modules/react-refresh": { -+ "version": "0.4.3", -+ "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.4.3.tgz", -+ "integrity": "sha512-Hwln1VNuGl/6bVwnd0Xdn1e84gT/8T9aYNL+HAKDArLCS7LWjwr7StE30IEYbIkx0Vi3vs+coQxe+SQDbGbbpA==", -+ "engines": { -+ "node": ">=0.10.0" -+ } -+ }, -+ "node_modules/metro-react-native-babel-transformer": { -+ "version": "0.73.10", -+ "resolved": "https://registry.npmjs.org/metro-react-native-babel-transformer/-/metro-react-native-babel-transformer-0.73.10.tgz", -+ "integrity": "sha512-4G/upwqKdmKEjmsNa92/NEgsOxUWOygBVs+FXWfXWKgybrmcjh3NoqdRYrROo9ZRA/sB9Y/ZXKVkWOGKHtGzgg==", -+ "dependencies": { -+ "@babel/core": "^7.20.0", -+ "babel-preset-fbjs": "^3.4.0", -+ "hermes-parser": "0.8.0", -+ "metro-babel-transformer": "0.73.10", -+ "metro-react-native-babel-preset": "0.73.10", -+ "metro-source-map": "0.73.10", -+ "nullthrows": "^1.1.1" -+ }, -+ "peerDependencies": { -+ "@babel/core": "*" -+ } -+ }, -+ "node_modules/metro-react-native-babel-transformer/node_modules/hermes-estree": { -+ "version": "0.8.0", -+ "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.8.0.tgz", -+ "integrity": "sha512-W6JDAOLZ5pMPMjEiQGLCXSSV7pIBEgRR5zGkxgmzGSXHOxqV5dC/M1Zevqpbm9TZDE5tu358qZf8Vkzmsc+u7Q==" -+ }, -+ "node_modules/metro-react-native-babel-transformer/node_modules/hermes-parser": { -+ "version": "0.8.0", -+ "resolved": "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.8.0.tgz", -+ "integrity": "sha512-yZKalg1fTYG5eOiToLUaw69rQfZq/fi+/NtEXRU7N87K/XobNRhRWorh80oSge2lWUiZfTgUvRJH+XgZWrhoqA==", -+ "dependencies": { -+ "hermes-estree": "0.8.0" -+ } -+ }, -+ "node_modules/metro-react-native-babel-transformer/node_modules/metro-babel-transformer": { -+ "version": "0.73.10", -+ "resolved": "https://registry.npmjs.org/metro-babel-transformer/-/metro-babel-transformer-0.73.10.tgz", -+ "integrity": "sha512-Yv2myTSnpzt/lTyurLvqYbBkytvUJcLHN8XD3t7W6rGiLTQPzmf1zypHQLphvcAXtCWBOXFtH7KLOSi2/qMg+A==", -+ "dependencies": { -+ "@babel/core": "^7.20.0", -+ "hermes-parser": "0.8.0", -+ "metro-source-map": "0.73.10", -+ "nullthrows": "^1.1.1" -+ } -+ }, -+ "node_modules/metro-react-native-babel-transformer/node_modules/metro-source-map": { -+ "version": "0.73.10", -+ "resolved": "https://registry.npmjs.org/metro-source-map/-/metro-source-map-0.73.10.tgz", -+ "integrity": "sha512-NAGv14701p/YaFZ76KzyPkacBw/QlEJF1f8elfs23N1tC33YyKLDKvPAzFJiYqjdcFvuuuDCA8JCXd2TgLxNPw==", -+ "dependencies": { -+ "@babel/traverse": "^7.20.0", -+ "@babel/types": "^7.20.0", -+ "invariant": "^2.2.4", -+ "metro-symbolicate": "0.73.10", -+ "nullthrows": "^1.1.1", -+ "ob1": "0.73.10", -+ "source-map": "^0.5.6", -+ "vlq": "^1.0.0" -+ } -+ }, -+ "node_modules/metro-react-native-babel-transformer/node_modules/metro-symbolicate": { -+ "version": "0.73.10", -+ "resolved": "https://registry.npmjs.org/metro-symbolicate/-/metro-symbolicate-0.73.10.tgz", -+ "integrity": "sha512-PmCe3TOe1c/NVwMlB+B17me951kfkB3Wve5RqJn+ErPAj93od1nxicp6OJe7JT4QBRnpUP8p9tw2sHKqceIzkA==", -+ "dependencies": { -+ "invariant": "^2.2.4", -+ "metro-source-map": "0.73.10", -+ "nullthrows": "^1.1.1", -+ "source-map": "^0.5.6", -+ "through2": "^2.0.1", -+ "vlq": "^1.0.0" -+ }, -+ "bin": { -+ "metro-symbolicate": "src/index.js" -+ }, -+ "engines": { -+ "node": ">=8.3" -+ } -+ }, -+ "node_modules/metro-react-native-babel-transformer/node_modules/ob1": { -+ "version": "0.73.10", -+ "resolved": "https://registry.npmjs.org/ob1/-/ob1-0.73.10.tgz", -+ "integrity": "sha512-aO6EYC+QRRCkZxVJhCWhLKgVjhNuD6Gu1riGjxrIm89CqLsmKgxzYDDEsktmKsoDeRdWGQM5EdMzXDl5xcVfsw==" -+ }, -+ "node_modules/metro-react-native-babel-transformer/node_modules/source-map": { -+ "version": "0.5.7", -+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", -+ "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", -+ "engines": { -+ "node": ">=0.10.0" - } - }, - "node_modules/metro-resolver": { - "version": "0.80.5", - "resolved": "https://registry.npmjs.org/metro-resolver/-/metro-resolver-0.80.5.tgz", - "integrity": "sha512-haJ/Hveio3zv/Fr4eXVdKzjUeHHDogYok7OpRqPSXGhTXisNXB+sLN7CpcUrCddFRUDLnVaqQOYwhYsFndgUwA==", -+ "dev": true, -+ "optional": true, -+ "peer": true, - "engines": { - "node": ">=18" - } -@@ -12386,6 +13424,9 @@ - "version": "0.80.5", - "resolved": "https://registry.npmjs.org/metro-runtime/-/metro-runtime-0.80.5.tgz", - "integrity": "sha512-L0syTWJUdWzfUmKgkScr6fSBVTh6QDr8eKEkRtn40OBd8LPagrJGySBboWSgbyn9eIb4ayW3Y347HxgXBSAjmg==", -+ "dev": true, -+ "optional": true, -+ "peer": true, - "dependencies": { - "@babel/runtime": "^7.0.0" - }, -@@ -12397,6 +13438,9 @@ - "version": "0.80.5", - "resolved": "https://registry.npmjs.org/metro-source-map/-/metro-source-map-0.80.5.tgz", - "integrity": "sha512-DwSF4l03mKPNqCtyQ6K23I43qzU1BViAXnuH81eYWdHglP+sDlPpY+/7rUahXEo6qXEHXfAJgVoo1sirbXbmsQ==", -+ "dev": true, -+ "optional": true, -+ "peer": true, - "dependencies": { - "@babel/traverse": "^7.20.0", - "@babel/types": "^7.20.0", -@@ -12415,6 +13459,9 @@ - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", -+ "dev": true, -+ "optional": true, -+ "peer": true, - "engines": { - "node": ">=0.10.0" - } -@@ -12423,6 +13470,9 @@ - "version": "0.80.5", - "resolved": "https://registry.npmjs.org/metro-symbolicate/-/metro-symbolicate-0.80.5.tgz", - "integrity": "sha512-IsM4mTYvmo9JvIqwEkCZ5+YeDVPST78Q17ZgljfLdHLSpIivOHp9oVoiwQ/YGbLx0xRHRIS/tKiXueWBnj3UWA==", -+ "dev": true, -+ "optional": true, -+ "peer": true, - "dependencies": { - "invariant": "^2.2.4", - "metro-source-map": "0.80.5", -@@ -12442,6 +13492,9 @@ - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", -+ "dev": true, -+ "optional": true, -+ "peer": true, - "engines": { - "node": ">=0.10.0" - } -@@ -12450,6 +13503,9 @@ - "version": "0.80.5", - "resolved": "https://registry.npmjs.org/metro-transform-plugins/-/metro-transform-plugins-0.80.5.tgz", - "integrity": "sha512-7IdlTqK/k5+qE3RvIU5QdCJUPk4tHWEqgVuYZu8exeW+s6qOJ66hGIJjXY/P7ccucqF+D4nsbAAW5unkoUdS6g==", -+ "dev": true, -+ "optional": true, -+ "peer": true, - "dependencies": { - "@babel/core": "^7.20.0", - "@babel/generator": "^7.20.0", -@@ -12465,6 +13521,9 @@ - "version": "0.80.5", - "resolved": "https://registry.npmjs.org/metro-transform-worker/-/metro-transform-worker-0.80.5.tgz", - "integrity": "sha512-Q1oM7hfP+RBgAtzRFBDjPhArELUJF8iRCZ8OidqCpYzQJVGuJZ7InSnIf3hn1JyqiUQwv2f1LXBO78i2rAjzyA==", -+ "dev": true, -+ "optional": true, -+ "peer": true, - "dependencies": { - "@babel/core": "^7.20.0", - "@babel/generator": "^7.20.0", -@@ -12487,6 +13546,9 @@ - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", -+ "dev": true, -+ "optional": true, -+ "peer": true, - "dependencies": { - "color-convert": "^2.0.1" - }, -@@ -12501,6 +13563,9 @@ - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", -+ "dev": true, -+ "optional": true, -+ "peer": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" -@@ -12515,12 +13580,18 @@ - "node_modules/metro/node_modules/ci-info": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", -- "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==" -+ "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==", -+ "dev": true, -+ "optional": true, -+ "peer": true - }, - "node_modules/metro/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", -+ "dev": true, -+ "optional": true, -+ "peer": true, - "dependencies": { - "color-name": "~1.1.4" - }, -@@ -12531,12 +13602,18 @@ - "node_modules/metro/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", -- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" -+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", -+ "dev": true, -+ "optional": true, -+ "peer": true - }, - "node_modules/metro/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", -+ "dev": true, -+ "optional": true, -+ "peer": true, - "dependencies": { - "ms": "2.0.0" - } -@@ -12545,6 +13622,9 @@ - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", -+ "dev": true, -+ "optional": true, -+ "peer": true, - "engines": { - "node": ">=8" - } -@@ -12552,12 +13632,18 @@ - "node_modules/metro/node_modules/hermes-estree": { - "version": "0.18.2", - "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.18.2.tgz", -- "integrity": "sha512-KoLsoWXJ5o81nit1wSyEZnWUGy9cBna9iYMZBR7skKh7okYAYKqQ9/OczwpMHn/cH0hKDyblulGsJ7FknlfVxQ==" -+ "integrity": "sha512-KoLsoWXJ5o81nit1wSyEZnWUGy9cBna9iYMZBR7skKh7okYAYKqQ9/OczwpMHn/cH0hKDyblulGsJ7FknlfVxQ==", -+ "dev": true, -+ "optional": true, -+ "peer": true - }, - "node_modules/metro/node_modules/hermes-parser": { - "version": "0.18.2", - "resolved": "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.18.2.tgz", - "integrity": "sha512-1eQfvib+VPpgBZ2zYKQhpuOjw1tH+Emuib6QmjkJWJMhyjM8xnXMvA+76o9LhF0zOAJDZgPfQhg43cyXEyl5Ew==", -+ "dev": true, -+ "optional": true, -+ "peer": true, - "dependencies": { - "hermes-estree": "0.18.2" - } -@@ -12565,12 +13651,18 @@ - "node_modules/metro/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", -- "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" -+ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", -+ "dev": true, -+ "optional": true, -+ "peer": true - }, - "node_modules/metro/node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", -+ "dev": true, -+ "optional": true, -+ "peer": true, - "engines": { - "node": ">=0.10.0" - } -@@ -12579,6 +13671,9 @@ - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", -+ "dev": true, -+ "optional": true, -+ "peer": true, - "dependencies": { - "has-flag": "^4.0.0" - }, -@@ -12659,6 +13754,7 @@ - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", -+ "dev": true, - "bin": { - "mkdirp": "bin/cmd.js" - }, -@@ -12725,7 +13821,10 @@ - "node_modules/node-abort-controller": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/node-abort-controller/-/node-abort-controller-3.1.1.tgz", -- "integrity": "sha512-AGK2yQKIjRuqnc6VkX2Xj5d+QW8xZ87pa1UK6yA6ouUyuxfHuMP6umE5QK7UmTeOAymo+Zx1Fxiuw9rVx8taHQ==" -+ "integrity": "sha512-AGK2yQKIjRuqnc6VkX2Xj5d+QW8xZ87pa1UK6yA6ouUyuxfHuMP6umE5QK7UmTeOAymo+Zx1Fxiuw9rVx8taHQ==", -+ "dev": true, -+ "optional": true, -+ "peer": true - }, - "node_modules/node-dir": { - "version": "0.1.17", -@@ -12807,6 +13906,9 @@ - "version": "0.80.5", - "resolved": "https://registry.npmjs.org/ob1/-/ob1-0.80.5.tgz", - "integrity": "sha512-zYDMnnNrFi/1Tqh0vo3PE4p97Tpl9/4MP2k2ECvkbLOZzQuAYZJLTUYVLZb7hJhbhjT+JJxAwBGS8iu5hCSd1w==", -+ "dev": true, -+ "optional": true, -+ "peer": true, - "engines": { - "node": ">=18" - } -@@ -12968,14 +14070,6 @@ - "node": ">=8" - } - }, -- "node_modules/open/node_modules/is-wsl": { -- "version": "1.1.0", -- "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", -- "integrity": "sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw==", -- "engines": { -- "node": ">=4" -- } -- }, - "node_modules/optionator": { - "version": "0.9.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", -@@ -13139,6 +14233,14 @@ - "node": ">=8.12.0" - } - }, -+ "node_modules/os-tmpdir": { -+ "version": "1.0.2", -+ "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", -+ "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", -+ "engines": { -+ "node": ">=0.10.0" -+ } -+ }, - "node_modules/p-defer": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz", -@@ -13508,6 +14610,9 @@ - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/queue/-/queue-6.0.2.tgz", - "integrity": "sha512-iHZWu+q3IdFZFX36ro/lKBkSvfkztY5Y7HMiPlOUjhupPcG2JMfst2KKEpu5XndviX/3UhFbRngUPNKtgvtZiA==", -+ "dev": true, -+ "optional": true, -+ "peer": true, - "dependencies": { - "inherits": "~2.0.3" - } -@@ -13565,107 +14670,126 @@ - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" - }, - "node_modules/react-native": { -- "version": "0.73.4", -- "resolved": "https://registry.npmjs.org/react-native/-/react-native-0.73.4.tgz", -- "integrity": "sha512-VtS+Yr6OOTIuJGDECIYWzNU8QpJjASQYvMtfa/Hvm/2/h5GdB6W9H9TOmh13x07Lj4AOhNMx3XSsz6TdrO4jIg==", -- "dependencies": { -- "@jest/create-cache-key-function": "^29.6.3", -- "@react-native-community/cli": "12.3.2", -- "@react-native-community/cli-platform-android": "12.3.2", -- "@react-native-community/cli-platform-ios": "12.3.2", -- "@react-native/assets-registry": "0.73.1", -- "@react-native/codegen": "0.73.3", -- "@react-native/community-cli-plugin": "0.73.16", -- "@react-native/gradle-plugin": "0.73.4", -- "@react-native/js-polyfills": "0.73.1", -- "@react-native/normalize-colors": "0.73.2", -- "@react-native/virtualized-lists": "0.73.4", -+ "version": "0.71.16", -+ "resolved": "https://registry.npmjs.org/react-native/-/react-native-0.71.16.tgz", -+ "integrity": "sha512-fyeudppU0xATgGweyPVcOgYrhLAgBvvIEqUfG5wD+U0ZpVe3f7YQpDsqVOrD0ScomWmraFw634D4zFyenHMSAw==", -+ "dependencies": { -+ "@jest/create-cache-key-function": "^29.2.1", -+ "@react-native-community/cli": "10.2.6", -+ "@react-native-community/cli-platform-android": "10.2.0", -+ "@react-native-community/cli-platform-ios": "10.2.5", -+ "@react-native/assets": "1.0.0", -+ "@react-native/normalize-color": "2.1.0", -+ "@react-native/polyfills": "2.0.0", - "abort-controller": "^3.0.0", - "anser": "^1.4.9", - "ansi-regex": "^5.0.0", -- "base64-js": "^1.5.1", -- "chalk": "^4.0.0", -- "deprecated-react-native-prop-types": "^5.0.0", -+ "base64-js": "^1.1.2", -+ "deprecated-react-native-prop-types": "^3.0.1", - "event-target-shim": "^5.0.1", -- "flow-enums-runtime": "^0.0.6", - "invariant": "^2.2.4", -- "jest-environment-node": "^29.6.3", -+ "jest-environment-node": "^29.2.1", - "jsc-android": "^250231.0.0", - "memoize-one": "^5.0.0", -- "metro-runtime": "^0.80.3", -- "metro-source-map": "^0.80.3", -+ "metro-react-native-babel-transformer": "0.73.10", -+ "metro-runtime": "0.73.10", -+ "metro-source-map": "0.73.10", - "mkdirp": "^0.5.1", - "nullthrows": "^1.1.1", - "pretty-format": "^26.5.2", - "promise": "^8.3.0", -- "react-devtools-core": "^4.27.7", -- "react-refresh": "^0.14.0", -+ "react-devtools-core": "^4.26.1", -+ "react-native-codegen": "^0.71.6", -+ "react-native-gradle-plugin": "^0.71.19", -+ "react-refresh": "^0.4.0", - "react-shallow-renderer": "^16.15.0", - "regenerator-runtime": "^0.13.2", -- "scheduler": "0.24.0-canary-efb381bbf-20230505", -- "stacktrace-parser": "^0.1.10", -+ "scheduler": "^0.23.0", -+ "stacktrace-parser": "^0.1.3", -+ "use-sync-external-store": "^1.0.0", - "whatwg-fetch": "^3.0.0", -- "ws": "^6.2.2", -- "yargs": "^17.6.2" -+ "ws": "^6.2.2" - }, - "bin": { - "react-native": "cli.js" - }, - "engines": { -- "node": ">=18" -+ "node": ">=14" - }, - "peerDependencies": { - "react": "18.2.0" - } - }, -+ "node_modules/react-native-codegen": { -+ "version": "0.71.6", -+ "resolved": "https://registry.npmjs.org/react-native-codegen/-/react-native-codegen-0.71.6.tgz", -+ "integrity": "sha512-e5pR4VldIhEaFctfSAEgxbng0uG4gjBQxAHes3EKLdosH/Av90pQfSe9IDVdFIngvNPzt8Y14pNjrtqov/yNIg==", -+ "dependencies": { -+ "@babel/parser": "^7.14.0", -+ "flow-parser": "^0.185.0", -+ "jscodeshift": "^0.14.0", -+ "nullthrows": "^1.1.1" -+ } -+ }, -+ "node_modules/react-native-codegen/node_modules/flow-parser": { -+ "version": "0.185.2", -+ "resolved": "https://registry.npmjs.org/flow-parser/-/flow-parser-0.185.2.tgz", -+ "integrity": "sha512-2hJ5ACYeJCzNtiVULov6pljKOLygy0zddoqSI1fFetM+XRPpRshFdGEijtqlamA1XwyZ+7rhryI6FQFzvtLWUQ==", -+ "engines": { -+ "node": ">=0.4.0" -+ } -+ }, -+ "node_modules/react-native-gradle-plugin": { -+ "version": "0.71.19", -+ "resolved": "https://registry.npmjs.org/react-native-gradle-plugin/-/react-native-gradle-plugin-0.71.19.tgz", -+ "integrity": "sha512-1dVk9NwhoyKHCSxcrM6vY6cxmojeATsBobDicX0ZKr7DgUF2cBQRTKsimQFvzH8XhOVXyH8p4HyDSZNIFI8OlQ==" -+ }, - "node_modules/react-native-macos": { -- "version": "0.73.11", -- "resolved": "https://registry.npmjs.org/react-native-macos/-/react-native-macos-0.73.11.tgz", -- "integrity": "sha512-TxLo7lH8Q1RjkqJEZRKTGZV0PLXagQD5BR2MH3qD8hvZs6C58b3/OiwdRPGlj2l0zx7xKzhkKE2q0fo/ikISOQ==", -- "dependencies": { -- "@jest/create-cache-key-function": "^29.6.3", -- "@react-native-community/cli": "12.1.1", -- "@react-native-community/cli-platform-android": "12.1.1", -- "@react-native-community/cli-platform-ios": "12.1.1", -- "@react-native-mac/virtualized-lists": "^0.73.3", -- "@react-native/assets-registry": "^0.73.1", -- "@react-native/codegen": "^0.73.2", -- "@react-native/community-cli-plugin": "^0.73.10", -- "@react-native/gradle-plugin": "^0.73.4", -- "@react-native/js-polyfills": "^0.73.1", -- "@react-native/normalize-colors": "^0.73.2", -+ "version": "0.71.36", -+ "resolved": "https://registry.npmjs.org/react-native-macos/-/react-native-macos-0.71.36.tgz", -+ "integrity": "sha512-7Mj8E10gGfVFdsPWMZoJraGweqg7cz0kHEkui0U9I5bwsuehgtNQNWAwfeCZP1zPLgyR4x9sx6eoBefOaq2aVQ==", -+ "dependencies": { -+ "@jest/create-cache-key-function": "^29.2.1", -+ "@react-native-community/cli": "10.2.4", -+ "@react-native-community/cli-platform-android": "10.2.0", -+ "@react-native-community/cli-platform-ios": "10.2.4", -+ "@react-native/assets": "1.0.0", -+ "@react-native/normalize-color": "2.1.0", -+ "@react-native/polyfills": "2.0.0", - "abort-controller": "^3.0.0", - "anser": "^1.4.9", - "ansi-regex": "^5.0.0", -- "base64-js": "^1.5.1", -- "deprecated-react-native-prop-types": "^5.0.0", -+ "base64-js": "^1.1.2", -+ "deprecated-react-native-prop-types": "^3.0.1", - "event-target-shim": "^5.0.1", -- "flow-enums-runtime": "^0.0.6", - "invariant": "^2.2.4", -- "jest-environment-node": "^29.6.3", -+ "jest-environment-node": "^29.2.1", - "jsc-android": "^250231.0.0", - "memoize-one": "^5.0.0", -- "metro-runtime": "^0.80.0", -- "metro-source-map": "^0.80.0", -+ "metro-react-native-babel-transformer": "0.73.10", -+ "metro-runtime": "0.73.10", -+ "metro-source-map": "0.73.10", - "mkdirp": "^0.5.1", - "nullthrows": "^1.1.1", - "pretty-format": "^26.5.2", - "promise": "^8.3.0", -- "react-devtools-core": "^4.27.7", -- "react-refresh": "^0.14.0", -+ "react-devtools-core": "^4.26.1", -+ "react-native-codegen": "^0.71.5", -+ "react-native-gradle-plugin": "^0.71.19", -+ "react-refresh": "^0.4.0", - "react-shallow-renderer": "^16.15.0", - "regenerator-runtime": "^0.13.2", -- "scheduler": "0.24.0-canary-efb381bbf-20230505", -- "stacktrace-parser": "^0.1.10", -+ "scheduler": "^0.23.0", -+ "stacktrace-parser": "^0.1.3", -+ "use-sync-external-store": "^1.0.0", - "whatwg-fetch": "^3.0.0", -- "ws": "^6.2.2", -- "yargs": "^17.6.2" -+ "ws": "^6.2.2" - }, - "bin": { - "react-native-macos": "cli.js" - }, - "engines": { -- "node": ">=18" -+ "node": ">=14" - }, - "peerDependencies": { - "react": "18.2.0" -@@ -13687,207 +14811,48 @@ - } - }, - "node_modules/react-native-macos/node_modules/@react-native-community/cli": { -- "version": "12.1.1", -- "resolved": "https://registry.npmjs.org/@react-native-community/cli/-/cli-12.1.1.tgz", -- "integrity": "sha512-St/lyxQ//crrigfE2QCqmjDb0IH3S9nmolm0eqmCA1bB8WWUk5dpjTgQk6xxDxz+3YtMghDJkGZPK4AxDXT42g==", -- "dependencies": { -- "@react-native-community/cli-clean": "12.1.1", -- "@react-native-community/cli-config": "12.1.1", -- "@react-native-community/cli-debugger-ui": "12.1.1", -- "@react-native-community/cli-doctor": "12.1.1", -- "@react-native-community/cli-hermes": "12.1.1", -- "@react-native-community/cli-plugin-metro": "12.1.1", -- "@react-native-community/cli-server-api": "12.1.1", -- "@react-native-community/cli-tools": "12.1.1", -- "@react-native-community/cli-types": "12.1.1", -+ "version": "10.2.4", -+ "resolved": "https://registry.npmjs.org/@react-native-community/cli/-/cli-10.2.4.tgz", -+ "integrity": "sha512-E9BUDHfLEsnjkjeJqECuCjl4E/1Ox9Nl6hkQBhEqjZm4AaQxgU7M6AyFfOgaXn5v3am16/R4ZOUTrJnGJWS3GA==", -+ "dependencies": { -+ "@react-native-community/cli-clean": "^10.1.1", -+ "@react-native-community/cli-config": "^10.1.1", -+ "@react-native-community/cli-debugger-ui": "^10.0.0", -+ "@react-native-community/cli-doctor": "^10.2.4", -+ "@react-native-community/cli-hermes": "^10.2.0", -+ "@react-native-community/cli-plugin-metro": "^10.2.3", -+ "@react-native-community/cli-server-api": "^10.1.1", -+ "@react-native-community/cli-tools": "^10.1.1", -+ "@react-native-community/cli-types": "^10.0.0", - "chalk": "^4.1.2", - "commander": "^9.4.1", -- "deepmerge": "^4.3.0", -- "execa": "^5.0.0", -+ "execa": "^1.0.0", - "find-up": "^4.1.0", - "fs-extra": "^8.1.0", - "graceful-fs": "^4.1.3", -- "prompts": "^2.4.2", -- "semver": "^7.5.2" -+ "prompts": "^2.4.0", -+ "semver": "^6.3.0" - }, - "bin": { - "react-native": "build/bin.js" - }, - "engines": { -- "node": ">=18" -- } -- }, -- "node_modules/react-native-macos/node_modules/@react-native-community/cli-clean": { -- "version": "12.1.1", -- "resolved": "https://registry.npmjs.org/@react-native-community/cli-clean/-/cli-clean-12.1.1.tgz", -- "integrity": "sha512-lbEQJ9xO8DmNbES7nFcGIQC0Q15e9q1zwKfkN2ty2eM93ZTFqYzOwsddlNoRN9FO7diakMWoWgielhcfcIeIrQ==", -- "dependencies": { -- "@react-native-community/cli-tools": "12.1.1", -- "chalk": "^4.1.2", -- "execa": "^5.0.0" -- } -- }, -- "node_modules/react-native-macos/node_modules/@react-native-community/cli-config": { -- "version": "12.1.1", -- "resolved": "https://registry.npmjs.org/@react-native-community/cli-config/-/cli-config-12.1.1.tgz", -- "integrity": "sha512-og8/yH7ZNMBcRJOGaHcn9BLt1WJF3XvgBw8iYsByVSEN7yvzAbYZ+CvfN6EdObGOqendbnE4lN9CVyQYM9Ufsw==", -- "dependencies": { -- "@react-native-community/cli-tools": "12.1.1", -- "chalk": "^4.1.2", -- "cosmiconfig": "^5.1.0", -- "deepmerge": "^4.3.0", -- "glob": "^7.1.3", -- "joi": "^17.2.1" -- } -- }, -- "node_modules/react-native-macos/node_modules/@react-native-community/cli-debugger-ui": { -- "version": "12.1.1", -- "resolved": "https://registry.npmjs.org/@react-native-community/cli-debugger-ui/-/cli-debugger-ui-12.1.1.tgz", -- "integrity": "sha512-q427jvbJ0WdDuS6HNdc3EbmUu/dX/+FWCcZI60xB7m1i/8p+LzmrsoR2yIJCricsAIV3hhiFOGfquZDgrbF27Q==", -- "dependencies": { -- "serve-static": "^1.13.1" -- } -- }, -- "node_modules/react-native-macos/node_modules/@react-native-community/cli-doctor": { -- "version": "12.1.1", -- "resolved": "https://registry.npmjs.org/@react-native-community/cli-doctor/-/cli-doctor-12.1.1.tgz", -- "integrity": "sha512-IUZJ/KUCuz+IzL9GdHUlIf6zF93XadxCBDPseUYb0ucIS+rEb3RmYC+IukYhUWwN3y4F/yxipYy3ytKrQ33AxA==", -- "dependencies": { -- "@react-native-community/cli-config": "12.1.1", -- "@react-native-community/cli-platform-android": "12.1.1", -- "@react-native-community/cli-platform-ios": "12.1.1", -- "@react-native-community/cli-tools": "12.1.1", -- "chalk": "^4.1.2", -- "command-exists": "^1.2.8", -- "deepmerge": "^4.3.0", -- "envinfo": "^7.10.0", -- "execa": "^5.0.0", -- "hermes-profile-transformer": "^0.0.6", -- "ip": "^1.1.5", -- "node-stream-zip": "^1.9.1", -- "ora": "^5.4.1", -- "semver": "^7.5.2", -- "strip-ansi": "^5.2.0", -- "wcwidth": "^1.0.1", -- "yaml": "^2.2.1" -- } -- }, -- "node_modules/react-native-macos/node_modules/@react-native-community/cli-hermes": { -- "version": "12.1.1", -- "resolved": "https://registry.npmjs.org/@react-native-community/cli-hermes/-/cli-hermes-12.1.1.tgz", -- "integrity": "sha512-J6yxQoZooFRT8+Dtz8Px/bwasQxnbxZZFAFQzOs3f6CAfXrcr/+JLVFZRWRv9XGfcuLdCHr22JUVPAnyEd48DA==", -- "dependencies": { -- "@react-native-community/cli-platform-android": "12.1.1", -- "@react-native-community/cli-tools": "12.1.1", -- "chalk": "^4.1.2", -- "hermes-profile-transformer": "^0.0.6", -- "ip": "^1.1.5" -- } -- }, -- "node_modules/react-native-macos/node_modules/@react-native-community/cli-platform-android": { -- "version": "12.1.1", -- "resolved": "https://registry.npmjs.org/@react-native-community/cli-platform-android/-/cli-platform-android-12.1.1.tgz", -- "integrity": "sha512-jnyc9y5cPltBo518pfVZ53dtKGDy02kkCkSIwv4ltaHYse7JyEFxFbzBn9lloWvbZ0iFHvEo1NN78YGPAlXSDw==", -- "dependencies": { -- "@react-native-community/cli-tools": "12.1.1", -- "chalk": "^4.1.2", -- "execa": "^5.0.0", -- "fast-xml-parser": "^4.2.4", -- "glob": "^7.1.3", -- "logkitty": "^0.7.1" -+ "node": ">=14" - } - }, - "node_modules/react-native-macos/node_modules/@react-native-community/cli-platform-ios": { -- "version": "12.1.1", -- "resolved": "https://registry.npmjs.org/@react-native-community/cli-platform-ios/-/cli-platform-ios-12.1.1.tgz", -- "integrity": "sha512-RA2lvFrswwQRIhCV3hoIYZmLe9TkRegpAWimdubtMxRHiv7Eh2dC0VWWR5VdWy3ltbJzeiEpxCoH/EcrMfp9tg==", -+ "version": "10.2.4", -+ "resolved": "https://registry.npmjs.org/@react-native-community/cli-platform-ios/-/cli-platform-ios-10.2.4.tgz", -+ "integrity": "sha512-/6K+jeRhcGojFIJMWMXV2eY5n/In+YUzBr/DKWQOeHBOHkESRNheG310xSAIjgB46YniSSUKhSyeuhalTbm9OQ==", - "dependencies": { -- "@react-native-community/cli-tools": "12.1.1", -+ "@react-native-community/cli-tools": "^10.1.1", - "chalk": "^4.1.2", -- "execa": "^5.0.0", -+ "execa": "^1.0.0", - "fast-xml-parser": "^4.0.12", - "glob": "^7.1.3", - "ora": "^5.4.1" - } - }, -- "node_modules/react-native-macos/node_modules/@react-native-community/cli-plugin-metro": { -- "version": "12.1.1", -- "resolved": "https://registry.npmjs.org/@react-native-community/cli-plugin-metro/-/cli-plugin-metro-12.1.1.tgz", -- "integrity": "sha512-HV+lW1mFSu6GL7du+0/tfq8/5jytKp+w3n4+MWzRkx5wXvUq3oJjzwe8y+ZvvCqkRPdsOiwFDgJrtPhvaZp+xA==" -- }, -- "node_modules/react-native-macos/node_modules/@react-native-community/cli-server-api": { -- "version": "12.1.1", -- "resolved": "https://registry.npmjs.org/@react-native-community/cli-server-api/-/cli-server-api-12.1.1.tgz", -- "integrity": "sha512-dUqqEmtEiCMyqFd6LF1UqH0WwXirK2tpU7YhyFsBbigBj3hPz2NmzghCe7DRIcC9iouU0guBxhgmiLtmUEPduQ==", -- "dependencies": { -- "@react-native-community/cli-debugger-ui": "12.1.1", -- "@react-native-community/cli-tools": "12.1.1", -- "compression": "^1.7.1", -- "connect": "^3.6.5", -- "errorhandler": "^1.5.1", -- "nocache": "^3.0.1", -- "pretty-format": "^26.6.2", -- "serve-static": "^1.13.1", -- "ws": "^7.5.1" -- } -- }, -- "node_modules/react-native-macos/node_modules/@react-native-community/cli-server-api/node_modules/ws": { -- "version": "7.5.9", -- "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", -- "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", -- "engines": { -- "node": ">=8.3.0" -- }, -- "peerDependencies": { -- "bufferutil": "^4.0.1", -- "utf-8-validate": "^5.0.2" -- }, -- "peerDependenciesMeta": { -- "bufferutil": { -- "optional": true -- }, -- "utf-8-validate": { -- "optional": true -- } -- } -- }, -- "node_modules/react-native-macos/node_modules/@react-native-community/cli-tools": { -- "version": "12.1.1", -- "resolved": "https://registry.npmjs.org/@react-native-community/cli-tools/-/cli-tools-12.1.1.tgz", -- "integrity": "sha512-c9vjDVojZnivGsLoVoTZsJjHnwBEI785yV8mgyKTVFx1sciK8lCsIj1Lke7jNpz7UAE1jW94nI7de2B1aQ9rbA==", -- "dependencies": { -- "appdirsjs": "^1.2.4", -- "chalk": "^4.1.2", -- "find-up": "^5.0.0", -- "mime": "^2.4.1", -- "node-fetch": "^2.6.0", -- "open": "^6.2.0", -- "ora": "^5.4.1", -- "semver": "^7.5.2", -- "shell-quote": "^1.7.3", -- "sudo-prompt": "^9.0.0" -- } -- }, -- "node_modules/react-native-macos/node_modules/@react-native-community/cli-types": { -- "version": "12.1.1", -- "resolved": "https://registry.npmjs.org/@react-native-community/cli-types/-/cli-types-12.1.1.tgz", -- "integrity": "sha512-B9lFEIc1/H2GjiyRCk6ISJNn06h5j0cWuokNm3FmeyGOoGIfm4XYUbnM6IpGlIDdQpTtUzZfNq8CL4CIJZXF0g==", -- "dependencies": { -- "joi": "^17.2.1" -- } -- }, -- "node_modules/react-native-macos/node_modules/@react-native-community/cli/node_modules/find-up": { -- "version": "4.1.0", -- "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", -- "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", -- "dependencies": { -- "locate-path": "^5.0.0", -- "path-exists": "^4.0.0" -- }, -- "engines": { -- "node": ">=8" -- } -- }, - "node_modules/react-native-macos/node_modules/@types/yargs": { - "version": "15.0.19", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.19.tgz", -@@ -13941,6 +14906,69 @@ - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, -+ "node_modules/react-native-macos/node_modules/cross-spawn": { -+ "version": "6.0.5", -+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", -+ "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", -+ "dependencies": { -+ "nice-try": "^1.0.4", -+ "path-key": "^2.0.1", -+ "semver": "^5.5.0", -+ "shebang-command": "^1.2.0", -+ "which": "^1.2.9" -+ }, -+ "engines": { -+ "node": ">=4.8" -+ } -+ }, -+ "node_modules/react-native-macos/node_modules/cross-spawn/node_modules/semver": { -+ "version": "5.7.2", -+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", -+ "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", -+ "bin": { -+ "semver": "bin/semver" -+ } -+ }, -+ "node_modules/react-native-macos/node_modules/execa": { -+ "version": "1.0.0", -+ "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", -+ "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", -+ "dependencies": { -+ "cross-spawn": "^6.0.0", -+ "get-stream": "^4.0.0", -+ "is-stream": "^1.1.0", -+ "npm-run-path": "^2.0.0", -+ "p-finally": "^1.0.0", -+ "signal-exit": "^3.0.0", -+ "strip-eof": "^1.0.0" -+ }, -+ "engines": { -+ "node": ">=6" -+ } -+ }, -+ "node_modules/react-native-macos/node_modules/find-up": { -+ "version": "4.1.0", -+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", -+ "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", -+ "dependencies": { -+ "locate-path": "^5.0.0", -+ "path-exists": "^4.0.0" -+ }, -+ "engines": { -+ "node": ">=8" -+ } -+ }, -+ "node_modules/react-native-macos/node_modules/get-stream": { -+ "version": "4.1.0", -+ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", -+ "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", -+ "dependencies": { -+ "pump": "^3.0.0" -+ }, -+ "engines": { -+ "node": ">=6" -+ } -+ }, - "node_modules/react-native-macos/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", -@@ -13949,6 +14977,14 @@ - "node": ">=8" - } - }, -+ "node_modules/react-native-macos/node_modules/is-stream": { -+ "version": "1.1.0", -+ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", -+ "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", -+ "engines": { -+ "node": ">=0.10.0" -+ } -+ }, - "node_modules/react-native-macos/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", -@@ -13960,15 +14996,47 @@ - "node": ">=8" - } - }, -- "node_modules/react-native-macos/node_modules/lru-cache": { -- "version": "6.0.0", -- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", -- "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", -+ "node_modules/react-native-macos/node_modules/metro-runtime": { -+ "version": "0.73.10", -+ "resolved": "https://registry.npmjs.org/metro-runtime/-/metro-runtime-0.73.10.tgz", -+ "integrity": "sha512-EpVKm4eN0Fgx2PEWpJ5NiMArV8zVoOin866jIIvzFLpmkZz1UEqgjf2JAfUJnjgv3fjSV3JqeGG2vZCaGQBTow==", - "dependencies": { -- "yallist": "^4.0.0" -+ "@babel/runtime": "^7.0.0", -+ "react-refresh": "^0.4.0" -+ } -+ }, -+ "node_modules/react-native-macos/node_modules/metro-source-map": { -+ "version": "0.73.10", -+ "resolved": "https://registry.npmjs.org/metro-source-map/-/metro-source-map-0.73.10.tgz", -+ "integrity": "sha512-NAGv14701p/YaFZ76KzyPkacBw/QlEJF1f8elfs23N1tC33YyKLDKvPAzFJiYqjdcFvuuuDCA8JCXd2TgLxNPw==", -+ "dependencies": { -+ "@babel/traverse": "^7.20.0", -+ "@babel/types": "^7.20.0", -+ "invariant": "^2.2.4", -+ "metro-symbolicate": "0.73.10", -+ "nullthrows": "^1.1.1", -+ "ob1": "0.73.10", -+ "source-map": "^0.5.6", -+ "vlq": "^1.0.0" -+ } -+ }, -+ "node_modules/react-native-macos/node_modules/metro-symbolicate": { -+ "version": "0.73.10", -+ "resolved": "https://registry.npmjs.org/metro-symbolicate/-/metro-symbolicate-0.73.10.tgz", -+ "integrity": "sha512-PmCe3TOe1c/NVwMlB+B17me951kfkB3Wve5RqJn+ErPAj93od1nxicp6OJe7JT4QBRnpUP8p9tw2sHKqceIzkA==", -+ "dependencies": { -+ "invariant": "^2.2.4", -+ "metro-source-map": "0.73.10", -+ "nullthrows": "^1.1.1", -+ "source-map": "^0.5.6", -+ "through2": "^2.0.1", -+ "vlq": "^1.0.0" -+ }, -+ "bin": { -+ "metro-symbolicate": "src/index.js" - }, - "engines": { -- "node": ">=10" -+ "node": ">=8.3" - } - }, - "node_modules/react-native-macos/node_modules/mkdirp": { -@@ -13982,6 +15050,22 @@ - "mkdirp": "bin/cmd.js" - } - }, -+ "node_modules/react-native-macos/node_modules/npm-run-path": { -+ "version": "2.0.2", -+ "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", -+ "integrity": "sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==", -+ "dependencies": { -+ "path-key": "^2.0.0" -+ }, -+ "engines": { -+ "node": ">=4" -+ } -+ }, -+ "node_modules/react-native-macos/node_modules/ob1": { -+ "version": "0.73.10", -+ "resolved": "https://registry.npmjs.org/ob1/-/ob1-0.73.10.tgz", -+ "integrity": "sha512-aO6EYC+QRRCkZxVJhCWhLKgVjhNuD6Gu1riGjxrIm89CqLsmKgxzYDDEsktmKsoDeRdWGQM5EdMzXDl5xcVfsw==" -+ }, - "node_modules/react-native-macos/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", -@@ -14007,6 +15091,14 @@ - "node": ">=8" - } - }, -+ "node_modules/react-native-macos/node_modules/path-key": { -+ "version": "2.0.1", -+ "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", -+ "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", -+ "engines": { -+ "node": ">=4" -+ } -+ }, - "node_modules/react-native-macos/node_modules/pretty-format": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz", -@@ -14026,42 +15118,44 @@ - "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", - "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" - }, -+ "node_modules/react-native-macos/node_modules/react-refresh": { -+ "version": "0.4.3", -+ "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.4.3.tgz", -+ "integrity": "sha512-Hwln1VNuGl/6bVwnd0Xdn1e84gT/8T9aYNL+HAKDArLCS7LWjwr7StE30IEYbIkx0Vi3vs+coQxe+SQDbGbbpA==", -+ "engines": { -+ "node": ">=0.10.0" -+ } -+ }, - "node_modules/react-native-macos/node_modules/regenerator-runtime": { - "version": "0.13.11", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", - "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==" - }, -- "node_modules/react-native-macos/node_modules/semver": { -- "version": "7.5.4", -- "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", -- "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", -+ "node_modules/react-native-macos/node_modules/shebang-command": { -+ "version": "1.2.0", -+ "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", -+ "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", - "dependencies": { -- "lru-cache": "^6.0.0" -- }, -- "bin": { -- "semver": "bin/semver.js" -+ "shebang-regex": "^1.0.0" - }, - "engines": { -- "node": ">=10" -+ "node": ">=0.10.0" - } - }, -- "node_modules/react-native-macos/node_modules/strip-ansi": { -- "version": "5.2.0", -- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", -- "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", -- "dependencies": { -- "ansi-regex": "^4.1.0" -- }, -+ "node_modules/react-native-macos/node_modules/shebang-regex": { -+ "version": "1.0.0", -+ "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", -+ "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", - "engines": { -- "node": ">=6" -+ "node": ">=0.10.0" - } - }, -- "node_modules/react-native-macos/node_modules/strip-ansi/node_modules/ansi-regex": { -- "version": "4.1.1", -- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", -- "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", -+ "node_modules/react-native-macos/node_modules/source-map": { -+ "version": "0.5.7", -+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", -+ "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", - "engines": { -- "node": ">=6" -+ "node": ">=0.10.0" - } - }, - "node_modules/react-native-macos/node_modules/supports-color": { -@@ -14075,6 +15169,17 @@ - "node": ">=8" - } - }, -+ "node_modules/react-native-macos/node_modules/which": { -+ "version": "1.3.1", -+ "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", -+ "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", -+ "dependencies": { -+ "isexe": "^2.0.0" -+ }, -+ "bin": { -+ "which": "bin/which" -+ } -+ }, - "node_modules/react-native-macos/node_modules/ws": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.2.tgz", -@@ -14083,11 +15188,6 @@ - "async-limiter": "~1.0.0" - } - }, -- "node_modules/react-native-macos/node_modules/yallist": { -- "version": "4.0.0", -- "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", -- "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" -- }, - "node_modules/react-native-permissions": { - "version": "3.10.1", - "resolved": "https://registry.npmjs.org/react-native-permissions/-/react-native-permissions-3.10.1.tgz", -@@ -14272,58 +15372,52 @@ - "dev": true - }, - "node_modules/react-native-windows": { -- "version": "0.73.4", -- "resolved": "https://registry.npmjs.org/react-native-windows/-/react-native-windows-0.73.4.tgz", -- "integrity": "sha512-qk5Br2/EtAxUMYFhrn2erJm/LAM/RZz0DNoK6IV1Dmfkd3Cb0rPCiovJDdklFAWHL9ZKjfJ5ptEaT4HoNnjQow==", -+ "version": "0.71.44", -+ "resolved": "https://registry.npmjs.org/react-native-windows/-/react-native-windows-0.71.44.tgz", -+ "integrity": "sha512-+0VbijG434oHvk8E24L2rkI3tUtni48Nr+Pzw7MJL8OzdBJdF92ep1h9GeBW+3yzZbuFMQGVgX/aw174MPI8KQ==", - "dependencies": { - "@babel/runtime": "^7.0.0", -- "@jest/create-cache-key-function": "^29.6.3", -- "@react-native-community/cli": "12.1.1", -- "@react-native-community/cli-platform-android": "12.1.1", -- "@react-native-community/cli-platform-ios": "12.1.1", -- "@react-native-windows/cli": "0.73.1", -+ "@jest/create-cache-key-function": "^29.2.1", -+ "@react-native-community/cli": "10.2.4", -+ "@react-native-community/cli-platform-android": "10.2.0", -+ "@react-native-community/cli-platform-ios": "10.2.4", -+ "@react-native-windows/cli": "0.71.19", - "@react-native/assets": "1.0.0", -- "@react-native/assets-registry": "^0.73.1", -- "@react-native/codegen": "^0.73.2", -- "@react-native/community-cli-plugin": "^0.73.10", -- "@react-native/gradle-plugin": "^0.73.4", -- "@react-native/js-polyfills": "^0.73.1", -- "@react-native/normalize-colors": "^0.73.2", -- "@react-native/virtualized-lists": "^0.73.3", -+ "@react-native/normalize-color": "2.1.0", -+ "@react-native/polyfills": "2.0.0", - "abort-controller": "^3.0.0", - "anser": "^1.4.9", -- "ansi-regex": "^5.0.0", -- "base64-js": "^1.5.1", -- "deprecated-react-native-prop-types": "^5.0.0", -+ "base64-js": "^1.1.2", -+ "deprecated-react-native-prop-types": "^3.0.1", - "event-target-shim": "^5.0.1", -- "flow-enums-runtime": "^0.0.6", - "invariant": "^2.2.4", -- "jest-environment-node": "^29.6.3", -- "jsc-android": "^250231.0.0", -+ "jest-environment-node": "^29.2.1", - "memoize-one": "^5.0.0", -- "metro-runtime": "^0.80.0", -- "metro-source-map": "^0.80.0", -+ "metro-react-native-babel-transformer": "0.73.10", -+ "metro-runtime": "0.73.10", -+ "metro-source-map": "0.73.10", - "mkdirp": "^0.5.1", - "nullthrows": "^1.1.1", - "pretty-format": "^26.5.2", - "promise": "^8.3.0", -- "react-devtools-core": "^4.27.7", -- "react-refresh": "^0.14.0", -+ "react-devtools-core": "^4.26.1", -+ "react-native-codegen": "^0.71.5", -+ "react-refresh": "^0.4.0", - "react-shallow-renderer": "^16.15.0", - "regenerator-runtime": "^0.13.2", -- "scheduler": "0.24.0-canary-efb381bbf-20230505", -+ "scheduler": "^0.23.0", - "source-map-support": "^0.5.19", -- "stacktrace-parser": "^0.1.10", -+ "stacktrace-parser": "^0.1.3", -+ "use-sync-external-store": "^1.0.0", - "whatwg-fetch": "^3.0.0", -- "ws": "^6.2.2", -- "yargs": "^17.6.2" -+ "ws": "^6.2.2" - }, - "engines": { -- "node": ">= 18" -+ "node": ">= 14" - }, - "peerDependencies": { - "react": "18.2.0", -- "react-native": "^0.73.0" -+ "react-native": "^0.71.0" - } - }, - "node_modules/react-native-windows/node_modules/@jest/types": { -@@ -14342,260 +15436,164 @@ - } - }, - "node_modules/react-native-windows/node_modules/@react-native-community/cli": { -- "version": "12.1.1", -- "resolved": "https://registry.npmjs.org/@react-native-community/cli/-/cli-12.1.1.tgz", -- "integrity": "sha512-St/lyxQ//crrigfE2QCqmjDb0IH3S9nmolm0eqmCA1bB8WWUk5dpjTgQk6xxDxz+3YtMghDJkGZPK4AxDXT42g==", -- "dependencies": { -- "@react-native-community/cli-clean": "12.1.1", -- "@react-native-community/cli-config": "12.1.1", -- "@react-native-community/cli-debugger-ui": "12.1.1", -- "@react-native-community/cli-doctor": "12.1.1", -- "@react-native-community/cli-hermes": "12.1.1", -- "@react-native-community/cli-plugin-metro": "12.1.1", -- "@react-native-community/cli-server-api": "12.1.1", -- "@react-native-community/cli-tools": "12.1.1", -- "@react-native-community/cli-types": "12.1.1", -+ "version": "10.2.4", -+ "resolved": "https://registry.npmjs.org/@react-native-community/cli/-/cli-10.2.4.tgz", -+ "integrity": "sha512-E9BUDHfLEsnjkjeJqECuCjl4E/1Ox9Nl6hkQBhEqjZm4AaQxgU7M6AyFfOgaXn5v3am16/R4ZOUTrJnGJWS3GA==", -+ "dependencies": { -+ "@react-native-community/cli-clean": "^10.1.1", -+ "@react-native-community/cli-config": "^10.1.1", -+ "@react-native-community/cli-debugger-ui": "^10.0.0", -+ "@react-native-community/cli-doctor": "^10.2.4", -+ "@react-native-community/cli-hermes": "^10.2.0", -+ "@react-native-community/cli-plugin-metro": "^10.2.3", -+ "@react-native-community/cli-server-api": "^10.1.1", -+ "@react-native-community/cli-tools": "^10.1.1", -+ "@react-native-community/cli-types": "^10.0.0", - "chalk": "^4.1.2", - "commander": "^9.4.1", -- "deepmerge": "^4.3.0", -- "execa": "^5.0.0", -+ "execa": "^1.0.0", - "find-up": "^4.1.0", - "fs-extra": "^8.1.0", - "graceful-fs": "^4.1.3", -- "prompts": "^2.4.2", -- "semver": "^7.5.2" -+ "prompts": "^2.4.0", -+ "semver": "^6.3.0" - }, - "bin": { - "react-native": "build/bin.js" - }, - "engines": { -- "node": ">=18" -- } -- }, -- "node_modules/react-native-windows/node_modules/@react-native-community/cli-clean": { -- "version": "12.1.1", -- "resolved": "https://registry.npmjs.org/@react-native-community/cli-clean/-/cli-clean-12.1.1.tgz", -- "integrity": "sha512-lbEQJ9xO8DmNbES7nFcGIQC0Q15e9q1zwKfkN2ty2eM93ZTFqYzOwsddlNoRN9FO7diakMWoWgielhcfcIeIrQ==", -- "dependencies": { -- "@react-native-community/cli-tools": "12.1.1", -- "chalk": "^4.1.2", -- "execa": "^5.0.0" -- } -- }, -- "node_modules/react-native-windows/node_modules/@react-native-community/cli-config": { -- "version": "12.1.1", -- "resolved": "https://registry.npmjs.org/@react-native-community/cli-config/-/cli-config-12.1.1.tgz", -- "integrity": "sha512-og8/yH7ZNMBcRJOGaHcn9BLt1WJF3XvgBw8iYsByVSEN7yvzAbYZ+CvfN6EdObGOqendbnE4lN9CVyQYM9Ufsw==", -- "dependencies": { -- "@react-native-community/cli-tools": "12.1.1", -- "chalk": "^4.1.2", -- "cosmiconfig": "^5.1.0", -- "deepmerge": "^4.3.0", -- "glob": "^7.1.3", -- "joi": "^17.2.1" -- } -- }, -- "node_modules/react-native-windows/node_modules/@react-native-community/cli-debugger-ui": { -- "version": "12.1.1", -- "resolved": "https://registry.npmjs.org/@react-native-community/cli-debugger-ui/-/cli-debugger-ui-12.1.1.tgz", -- "integrity": "sha512-q427jvbJ0WdDuS6HNdc3EbmUu/dX/+FWCcZI60xB7m1i/8p+LzmrsoR2yIJCricsAIV3hhiFOGfquZDgrbF27Q==", -- "dependencies": { -- "serve-static": "^1.13.1" -- } -- }, -- "node_modules/react-native-windows/node_modules/@react-native-community/cli-doctor": { -- "version": "12.1.1", -- "resolved": "https://registry.npmjs.org/@react-native-community/cli-doctor/-/cli-doctor-12.1.1.tgz", -- "integrity": "sha512-IUZJ/KUCuz+IzL9GdHUlIf6zF93XadxCBDPseUYb0ucIS+rEb3RmYC+IukYhUWwN3y4F/yxipYy3ytKrQ33AxA==", -- "dependencies": { -- "@react-native-community/cli-config": "12.1.1", -- "@react-native-community/cli-platform-android": "12.1.1", -- "@react-native-community/cli-platform-ios": "12.1.1", -- "@react-native-community/cli-tools": "12.1.1", -- "chalk": "^4.1.2", -- "command-exists": "^1.2.8", -- "deepmerge": "^4.3.0", -- "envinfo": "^7.10.0", -- "execa": "^5.0.0", -- "hermes-profile-transformer": "^0.0.6", -- "ip": "^1.1.5", -- "node-stream-zip": "^1.9.1", -- "ora": "^5.4.1", -- "semver": "^7.5.2", -- "strip-ansi": "^5.2.0", -- "wcwidth": "^1.0.1", -- "yaml": "^2.2.1" -- } -- }, -- "node_modules/react-native-windows/node_modules/@react-native-community/cli-hermes": { -- "version": "12.1.1", -- "resolved": "https://registry.npmjs.org/@react-native-community/cli-hermes/-/cli-hermes-12.1.1.tgz", -- "integrity": "sha512-J6yxQoZooFRT8+Dtz8Px/bwasQxnbxZZFAFQzOs3f6CAfXrcr/+JLVFZRWRv9XGfcuLdCHr22JUVPAnyEd48DA==", -- "dependencies": { -- "@react-native-community/cli-platform-android": "12.1.1", -- "@react-native-community/cli-tools": "12.1.1", -- "chalk": "^4.1.2", -- "hermes-profile-transformer": "^0.0.6", -- "ip": "^1.1.5" -- } -- }, -- "node_modules/react-native-windows/node_modules/@react-native-community/cli-platform-android": { -- "version": "12.1.1", -- "resolved": "https://registry.npmjs.org/@react-native-community/cli-platform-android/-/cli-platform-android-12.1.1.tgz", -- "integrity": "sha512-jnyc9y5cPltBo518pfVZ53dtKGDy02kkCkSIwv4ltaHYse7JyEFxFbzBn9lloWvbZ0iFHvEo1NN78YGPAlXSDw==", -- "dependencies": { -- "@react-native-community/cli-tools": "12.1.1", -- "chalk": "^4.1.2", -- "execa": "^5.0.0", -- "fast-xml-parser": "^4.2.4", -- "glob": "^7.1.3", -- "logkitty": "^0.7.1" -+ "node": ">=14" - } - }, - "node_modules/react-native-windows/node_modules/@react-native-community/cli-platform-ios": { -- "version": "12.1.1", -- "resolved": "https://registry.npmjs.org/@react-native-community/cli-platform-ios/-/cli-platform-ios-12.1.1.tgz", -- "integrity": "sha512-RA2lvFrswwQRIhCV3hoIYZmLe9TkRegpAWimdubtMxRHiv7Eh2dC0VWWR5VdWy3ltbJzeiEpxCoH/EcrMfp9tg==", -+ "version": "10.2.4", -+ "resolved": "https://registry.npmjs.org/@react-native-community/cli-platform-ios/-/cli-platform-ios-10.2.4.tgz", -+ "integrity": "sha512-/6K+jeRhcGojFIJMWMXV2eY5n/In+YUzBr/DKWQOeHBOHkESRNheG310xSAIjgB46YniSSUKhSyeuhalTbm9OQ==", - "dependencies": { -- "@react-native-community/cli-tools": "12.1.1", -+ "@react-native-community/cli-tools": "^10.1.1", - "chalk": "^4.1.2", -- "execa": "^5.0.0", -+ "execa": "^1.0.0", - "fast-xml-parser": "^4.0.12", - "glob": "^7.1.3", - "ora": "^5.4.1" - } - }, -- "node_modules/react-native-windows/node_modules/@react-native-community/cli-plugin-metro": { -- "version": "12.1.1", -- "resolved": "https://registry.npmjs.org/@react-native-community/cli-plugin-metro/-/cli-plugin-metro-12.1.1.tgz", -- "integrity": "sha512-HV+lW1mFSu6GL7du+0/tfq8/5jytKp+w3n4+MWzRkx5wXvUq3oJjzwe8y+ZvvCqkRPdsOiwFDgJrtPhvaZp+xA==" -- }, -- "node_modules/react-native-windows/node_modules/@react-native-community/cli-server-api": { -- "version": "12.1.1", -- "resolved": "https://registry.npmjs.org/@react-native-community/cli-server-api/-/cli-server-api-12.1.1.tgz", -- "integrity": "sha512-dUqqEmtEiCMyqFd6LF1UqH0WwXirK2tpU7YhyFsBbigBj3hPz2NmzghCe7DRIcC9iouU0guBxhgmiLtmUEPduQ==", -+ "node_modules/react-native-windows/node_modules/@types/yargs": { -+ "version": "15.0.19", -+ "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.19.tgz", -+ "integrity": "sha512-2XUaGVmyQjgyAZldf0D0c14vvo/yv0MhQBSTJcejMMaitsn3nxCB6TmH4G0ZQf+uxROOa9mpanoSm8h6SG/1ZA==", - "dependencies": { -- "@react-native-community/cli-debugger-ui": "12.1.1", -- "@react-native-community/cli-tools": "12.1.1", -- "compression": "^1.7.1", -- "connect": "^3.6.5", -- "errorhandler": "^1.5.1", -- "nocache": "^3.0.1", -- "pretty-format": "^26.6.2", -- "serve-static": "^1.13.1", -- "ws": "^7.5.1" -+ "@types/yargs-parser": "*" - } - }, -- "node_modules/react-native-windows/node_modules/@react-native-community/cli-server-api/node_modules/ws": { -- "version": "7.5.9", -- "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", -- "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", -- "engines": { -- "node": ">=8.3.0" -+ "node_modules/react-native-windows/node_modules/ansi-styles": { -+ "version": "4.3.0", -+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", -+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", -+ "dependencies": { -+ "color-convert": "^2.0.1" - }, -- "peerDependencies": { -- "bufferutil": "^4.0.1", -- "utf-8-validate": "^5.0.2" -+ "engines": { -+ "node": ">=8" - }, -- "peerDependenciesMeta": { -- "bufferutil": { -- "optional": true -- }, -- "utf-8-validate": { -- "optional": true -- } -+ "funding": { -+ "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, -- "node_modules/react-native-windows/node_modules/@react-native-community/cli-tools": { -- "version": "12.1.1", -- "resolved": "https://registry.npmjs.org/@react-native-community/cli-tools/-/cli-tools-12.1.1.tgz", -- "integrity": "sha512-c9vjDVojZnivGsLoVoTZsJjHnwBEI785yV8mgyKTVFx1sciK8lCsIj1Lke7jNpz7UAE1jW94nI7de2B1aQ9rbA==", -+ "node_modules/react-native-windows/node_modules/chalk": { -+ "version": "4.1.2", -+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", -+ "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { -- "appdirsjs": "^1.2.4", -- "chalk": "^4.1.2", -- "find-up": "^5.0.0", -- "mime": "^2.4.1", -- "node-fetch": "^2.6.0", -- "open": "^6.2.0", -- "ora": "^5.4.1", -- "semver": "^7.5.2", -- "shell-quote": "^1.7.3", -- "sudo-prompt": "^9.0.0" -+ "ansi-styles": "^4.1.0", -+ "supports-color": "^7.1.0" -+ }, -+ "engines": { -+ "node": ">=10" -+ }, -+ "funding": { -+ "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, -- "node_modules/react-native-windows/node_modules/@react-native-community/cli-types": { -- "version": "12.1.1", -- "resolved": "https://registry.npmjs.org/@react-native-community/cli-types/-/cli-types-12.1.1.tgz", -- "integrity": "sha512-B9lFEIc1/H2GjiyRCk6ISJNn06h5j0cWuokNm3FmeyGOoGIfm4XYUbnM6IpGlIDdQpTtUzZfNq8CL4CIJZXF0g==", -+ "node_modules/react-native-windows/node_modules/color-convert": { -+ "version": "2.0.1", -+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", -+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { -- "joi": "^17.2.1" -+ "color-name": "~1.1.4" -+ }, -+ "engines": { -+ "node": ">=7.0.0" - } - }, -- "node_modules/react-native-windows/node_modules/@react-native-community/cli/node_modules/find-up": { -- "version": "4.1.0", -- "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", -- "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", -+ "node_modules/react-native-windows/node_modules/color-name": { -+ "version": "1.1.4", -+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", -+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" -+ }, -+ "node_modules/react-native-windows/node_modules/cross-spawn": { -+ "version": "6.0.5", -+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", -+ "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", - "dependencies": { -- "locate-path": "^5.0.0", -- "path-exists": "^4.0.0" -+ "nice-try": "^1.0.4", -+ "path-key": "^2.0.1", -+ "semver": "^5.5.0", -+ "shebang-command": "^1.2.0", -+ "which": "^1.2.9" - }, - "engines": { -- "node": ">=8" -+ "node": ">=4.8" - } - }, -- "node_modules/react-native-windows/node_modules/@types/yargs": { -- "version": "15.0.19", -- "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.19.tgz", -- "integrity": "sha512-2XUaGVmyQjgyAZldf0D0c14vvo/yv0MhQBSTJcejMMaitsn3nxCB6TmH4G0ZQf+uxROOa9mpanoSm8h6SG/1ZA==", -- "dependencies": { -- "@types/yargs-parser": "*" -+ "node_modules/react-native-windows/node_modules/cross-spawn/node_modules/semver": { -+ "version": "5.7.2", -+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", -+ "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", -+ "bin": { -+ "semver": "bin/semver" - } - }, -- "node_modules/react-native-windows/node_modules/ansi-styles": { -- "version": "4.3.0", -- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", -- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", -+ "node_modules/react-native-windows/node_modules/execa": { -+ "version": "1.0.0", -+ "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", -+ "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", - "dependencies": { -- "color-convert": "^2.0.1" -+ "cross-spawn": "^6.0.0", -+ "get-stream": "^4.0.0", -+ "is-stream": "^1.1.0", -+ "npm-run-path": "^2.0.0", -+ "p-finally": "^1.0.0", -+ "signal-exit": "^3.0.0", -+ "strip-eof": "^1.0.0" - }, - "engines": { -- "node": ">=8" -- }, -- "funding": { -- "url": "https://github.com/chalk/ansi-styles?sponsor=1" -+ "node": ">=6" - } - }, -- "node_modules/react-native-windows/node_modules/chalk": { -- "version": "4.1.2", -- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", -- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", -+ "node_modules/react-native-windows/node_modules/find-up": { -+ "version": "4.1.0", -+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", -+ "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dependencies": { -- "ansi-styles": "^4.1.0", -- "supports-color": "^7.1.0" -+ "locate-path": "^5.0.0", -+ "path-exists": "^4.0.0" - }, - "engines": { -- "node": ">=10" -- }, -- "funding": { -- "url": "https://github.com/chalk/chalk?sponsor=1" -+ "node": ">=8" - } - }, -- "node_modules/react-native-windows/node_modules/color-convert": { -- "version": "2.0.1", -- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", -- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", -+ "node_modules/react-native-windows/node_modules/get-stream": { -+ "version": "4.1.0", -+ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", -+ "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", - "dependencies": { -- "color-name": "~1.1.4" -+ "pump": "^3.0.0" - }, - "engines": { -- "node": ">=7.0.0" -+ "node": ">=6" - } - }, -- "node_modules/react-native-windows/node_modules/color-name": { -- "version": "1.1.4", -- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", -- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" -- }, - "node_modules/react-native-windows/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", -@@ -14604,6 +15602,14 @@ - "node": ">=8" - } - }, -+ "node_modules/react-native-windows/node_modules/is-stream": { -+ "version": "1.1.0", -+ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", -+ "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", -+ "engines": { -+ "node": ">=0.10.0" -+ } -+ }, - "node_modules/react-native-windows/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", -@@ -14615,15 +15621,63 @@ - "node": ">=8" - } - }, -- "node_modules/react-native-windows/node_modules/lru-cache": { -- "version": "6.0.0", -- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", -- "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", -+ "node_modules/react-native-windows/node_modules/metro-runtime": { -+ "version": "0.73.10", -+ "resolved": "https://registry.npmjs.org/metro-runtime/-/metro-runtime-0.73.10.tgz", -+ "integrity": "sha512-EpVKm4eN0Fgx2PEWpJ5NiMArV8zVoOin866jIIvzFLpmkZz1UEqgjf2JAfUJnjgv3fjSV3JqeGG2vZCaGQBTow==", - "dependencies": { -- "yallist": "^4.0.0" -+ "@babel/runtime": "^7.0.0", -+ "react-refresh": "^0.4.0" -+ } -+ }, -+ "node_modules/react-native-windows/node_modules/metro-source-map": { -+ "version": "0.73.10", -+ "resolved": "https://registry.npmjs.org/metro-source-map/-/metro-source-map-0.73.10.tgz", -+ "integrity": "sha512-NAGv14701p/YaFZ76KzyPkacBw/QlEJF1f8elfs23N1tC33YyKLDKvPAzFJiYqjdcFvuuuDCA8JCXd2TgLxNPw==", -+ "dependencies": { -+ "@babel/traverse": "^7.20.0", -+ "@babel/types": "^7.20.0", -+ "invariant": "^2.2.4", -+ "metro-symbolicate": "0.73.10", -+ "nullthrows": "^1.1.1", -+ "ob1": "0.73.10", -+ "source-map": "^0.5.6", -+ "vlq": "^1.0.0" -+ } -+ }, -+ "node_modules/react-native-windows/node_modules/metro-source-map/node_modules/source-map": { -+ "version": "0.5.7", -+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", -+ "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", -+ "engines": { -+ "node": ">=0.10.0" -+ } -+ }, -+ "node_modules/react-native-windows/node_modules/metro-symbolicate": { -+ "version": "0.73.10", -+ "resolved": "https://registry.npmjs.org/metro-symbolicate/-/metro-symbolicate-0.73.10.tgz", -+ "integrity": "sha512-PmCe3TOe1c/NVwMlB+B17me951kfkB3Wve5RqJn+ErPAj93od1nxicp6OJe7JT4QBRnpUP8p9tw2sHKqceIzkA==", -+ "dependencies": { -+ "invariant": "^2.2.4", -+ "metro-source-map": "0.73.10", -+ "nullthrows": "^1.1.1", -+ "source-map": "^0.5.6", -+ "through2": "^2.0.1", -+ "vlq": "^1.0.0" -+ }, -+ "bin": { -+ "metro-symbolicate": "src/index.js" - }, - "engines": { -- "node": ">=10" -+ "node": ">=8.3" -+ } -+ }, -+ "node_modules/react-native-windows/node_modules/metro-symbolicate/node_modules/source-map": { -+ "version": "0.5.7", -+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", -+ "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", -+ "engines": { -+ "node": ">=0.10.0" - } - }, - "node_modules/react-native-windows/node_modules/mkdirp": { -@@ -14637,6 +15691,22 @@ - "mkdirp": "bin/cmd.js" - } - }, -+ "node_modules/react-native-windows/node_modules/npm-run-path": { -+ "version": "2.0.2", -+ "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", -+ "integrity": "sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==", -+ "dependencies": { -+ "path-key": "^2.0.0" -+ }, -+ "engines": { -+ "node": ">=4" -+ } -+ }, -+ "node_modules/react-native-windows/node_modules/ob1": { -+ "version": "0.73.10", -+ "resolved": "https://registry.npmjs.org/ob1/-/ob1-0.73.10.tgz", -+ "integrity": "sha512-aO6EYC+QRRCkZxVJhCWhLKgVjhNuD6Gu1riGjxrIm89CqLsmKgxzYDDEsktmKsoDeRdWGQM5EdMzXDl5xcVfsw==" -+ }, - "node_modules/react-native-windows/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", -@@ -14662,6 +15732,14 @@ - "node": ">=8" - } - }, -+ "node_modules/react-native-windows/node_modules/path-key": { -+ "version": "2.0.1", -+ "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", -+ "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", -+ "engines": { -+ "node": ">=4" -+ } -+ }, - "node_modules/react-native-windows/node_modules/pretty-format": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz", -@@ -14681,23 +15759,36 @@ - "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", - "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" - }, -+ "node_modules/react-native-windows/node_modules/react-refresh": { -+ "version": "0.4.3", -+ "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.4.3.tgz", -+ "integrity": "sha512-Hwln1VNuGl/6bVwnd0Xdn1e84gT/8T9aYNL+HAKDArLCS7LWjwr7StE30IEYbIkx0Vi3vs+coQxe+SQDbGbbpA==", -+ "engines": { -+ "node": ">=0.10.0" -+ } -+ }, - "node_modules/react-native-windows/node_modules/regenerator-runtime": { - "version": "0.13.11", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", - "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==" - }, -- "node_modules/react-native-windows/node_modules/semver": { -- "version": "7.5.4", -- "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", -- "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", -+ "node_modules/react-native-windows/node_modules/shebang-command": { -+ "version": "1.2.0", -+ "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", -+ "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", - "dependencies": { -- "lru-cache": "^6.0.0" -- }, -- "bin": { -- "semver": "bin/semver.js" -+ "shebang-regex": "^1.0.0" - }, - "engines": { -- "node": ">=10" -+ "node": ">=0.10.0" -+ } -+ }, -+ "node_modules/react-native-windows/node_modules/shebang-regex": { -+ "version": "1.0.0", -+ "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", -+ "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", -+ "engines": { -+ "node": ">=0.10.0" - } - }, - "node_modules/react-native-windows/node_modules/source-map-support": { -@@ -14709,25 +15800,6 @@ - "source-map": "^0.6.0" - } - }, -- "node_modules/react-native-windows/node_modules/strip-ansi": { -- "version": "5.2.0", -- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", -- "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", -- "dependencies": { -- "ansi-regex": "^4.1.0" -- }, -- "engines": { -- "node": ">=6" -- } -- }, -- "node_modules/react-native-windows/node_modules/strip-ansi/node_modules/ansi-regex": { -- "version": "4.1.1", -- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", -- "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", -- "engines": { -- "node": ">=6" -- } -- }, - "node_modules/react-native-windows/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", -@@ -14739,6 +15811,17 @@ - "node": ">=8" - } - }, -+ "node_modules/react-native-windows/node_modules/which": { -+ "version": "1.3.1", -+ "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", -+ "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", -+ "dependencies": { -+ "isexe": "^2.0.0" -+ }, -+ "bin": { -+ "which": "bin/which" -+ } -+ }, - "node_modules/react-native-windows/node_modules/ws": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.2.tgz", -@@ -14747,11 +15830,6 @@ - "async-limiter": "~1.0.0" - } - }, -- "node_modules/react-native-windows/node_modules/yallist": { -- "version": "4.0.0", -- "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", -- "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" -- }, - "node_modules/react-native/node_modules/@jest/types": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz", -@@ -14767,26 +15845,6 @@ - "node": ">= 10.14.2" - } - }, -- "node_modules/react-native/node_modules/@react-native/codegen": { -- "version": "0.73.3", -- "resolved": "https://registry.npmjs.org/@react-native/codegen/-/codegen-0.73.3.tgz", -- "integrity": "sha512-sxslCAAb8kM06vGy9Jyh4TtvjhcP36k/rvj2QE2Jdhdm61KvfafCATSIsOfc0QvnduWFcpXUPvAVyYwuv7PYDg==", -- "dependencies": { -- "@babel/parser": "^7.20.0", -- "flow-parser": "^0.206.0", -- "glob": "^7.1.1", -- "invariant": "^2.2.4", -- "jscodeshift": "^0.14.0", -- "mkdirp": "^0.5.1", -- "nullthrows": "^1.1.1" -- }, -- "engines": { -- "node": ">=18" -- }, -- "peerDependencies": { -- "@babel/preset-env": "^7.1.6" -- } -- }, - "node_modules/react-native/node_modules/@types/yargs": { - "version": "15.0.19", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.19.tgz", -@@ -14848,6 +15906,49 @@ - "node": ">=8" - } - }, -+ "node_modules/react-native/node_modules/metro-runtime": { -+ "version": "0.73.10", -+ "resolved": "https://registry.npmjs.org/metro-runtime/-/metro-runtime-0.73.10.tgz", -+ "integrity": "sha512-EpVKm4eN0Fgx2PEWpJ5NiMArV8zVoOin866jIIvzFLpmkZz1UEqgjf2JAfUJnjgv3fjSV3JqeGG2vZCaGQBTow==", -+ "dependencies": { -+ "@babel/runtime": "^7.0.0", -+ "react-refresh": "^0.4.0" -+ } -+ }, -+ "node_modules/react-native/node_modules/metro-source-map": { -+ "version": "0.73.10", -+ "resolved": "https://registry.npmjs.org/metro-source-map/-/metro-source-map-0.73.10.tgz", -+ "integrity": "sha512-NAGv14701p/YaFZ76KzyPkacBw/QlEJF1f8elfs23N1tC33YyKLDKvPAzFJiYqjdcFvuuuDCA8JCXd2TgLxNPw==", -+ "dependencies": { -+ "@babel/traverse": "^7.20.0", -+ "@babel/types": "^7.20.0", -+ "invariant": "^2.2.4", -+ "metro-symbolicate": "0.73.10", -+ "nullthrows": "^1.1.1", -+ "ob1": "0.73.10", -+ "source-map": "^0.5.6", -+ "vlq": "^1.0.0" -+ } -+ }, -+ "node_modules/react-native/node_modules/metro-symbolicate": { -+ "version": "0.73.10", -+ "resolved": "https://registry.npmjs.org/metro-symbolicate/-/metro-symbolicate-0.73.10.tgz", -+ "integrity": "sha512-PmCe3TOe1c/NVwMlB+B17me951kfkB3Wve5RqJn+ErPAj93od1nxicp6OJe7JT4QBRnpUP8p9tw2sHKqceIzkA==", -+ "dependencies": { -+ "invariant": "^2.2.4", -+ "metro-source-map": "0.73.10", -+ "nullthrows": "^1.1.1", -+ "source-map": "^0.5.6", -+ "through2": "^2.0.1", -+ "vlq": "^1.0.0" -+ }, -+ "bin": { -+ "metro-symbolicate": "src/index.js" -+ }, -+ "engines": { -+ "node": ">=8.3" -+ } -+ }, - "node_modules/react-native/node_modules/mkdirp": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", -@@ -14859,6 +15960,11 @@ - "mkdirp": "bin/cmd.js" - } - }, -+ "node_modules/react-native/node_modules/ob1": { -+ "version": "0.73.10", -+ "resolved": "https://registry.npmjs.org/ob1/-/ob1-0.73.10.tgz", -+ "integrity": "sha512-aO6EYC+QRRCkZxVJhCWhLKgVjhNuD6Gu1riGjxrIm89CqLsmKgxzYDDEsktmKsoDeRdWGQM5EdMzXDl5xcVfsw==" -+ }, - "node_modules/react-native/node_modules/pretty-format": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz", -@@ -14878,11 +15984,27 @@ - "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", - "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" - }, -+ "node_modules/react-native/node_modules/react-refresh": { -+ "version": "0.4.3", -+ "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.4.3.tgz", -+ "integrity": "sha512-Hwln1VNuGl/6bVwnd0Xdn1e84gT/8T9aYNL+HAKDArLCS7LWjwr7StE30IEYbIkx0Vi3vs+coQxe+SQDbGbbpA==", -+ "engines": { -+ "node": ">=0.10.0" -+ } -+ }, - "node_modules/react-native/node_modules/regenerator-runtime": { - "version": "0.13.11", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", - "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==" - }, -+ "node_modules/react-native/node_modules/source-map": { -+ "version": "0.5.7", -+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", -+ "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", -+ "engines": { -+ "node": ">=0.10.0" -+ } -+ }, - "node_modules/react-native/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", -@@ -14906,6 +16028,9 @@ - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.0.tgz", - "integrity": "sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ==", -+ "dev": true, -+ "optional": true, -+ "peer": true, - "engines": { - "node": ">=0.10.0" - } -@@ -14936,15 +16061,6 @@ - "react": "^18.2.0" - } - }, -- "node_modules/react-test-renderer/node_modules/scheduler": { -- "version": "0.23.0", -- "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", -- "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", -- "dev": true, -- "dependencies": { -- "loose-envify": "^1.1.0" -- } -- }, - "node_modules/read-yaml-file": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/read-yaml-file/-/read-yaml-file-2.1.0.tgz", -@@ -15299,9 +16415,9 @@ - } - }, - "node_modules/scheduler": { -- "version": "0.24.0-canary-efb381bbf-20230505", -- "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.24.0-canary-efb381bbf-20230505.tgz", -- "integrity": "sha512-ABvovCDe/k9IluqSh4/ISoq8tIJnW8euVAWYt5j/bg6dRnqwQwiGO1F/V4AyK96NGF/FB04FhOUDuWj8IKfABA==", -+ "version": "0.23.0", -+ "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", -+ "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", - "dependencies": { - "loose-envify": "^1.1.0" - } -@@ -15853,14 +16969,6 @@ - "node": ">=6.0.0" - } - }, -- "node_modules/temp-dir": { -- "version": "2.0.0", -- "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-2.0.0.tgz", -- "integrity": "sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==", -- "engines": { -- "node": ">=8" -- } -- }, - "node_modules/temp/node_modules/rimraf": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", -@@ -16137,6 +17245,27 @@ - "node": ">=12.20" - } - }, -+ "node_modules/uglify-es": { -+ "version": "3.3.9", -+ "resolved": "https://registry.npmjs.org/uglify-es/-/uglify-es-3.3.9.tgz", -+ "integrity": "sha512-r+MU0rfv4L/0eeW3xZrd16t4NZfK8Ld4SWVglYBb7ez5uXFWHuVRs6xCTrf1yirs9a4j4Y27nn7SRfO6v67XsQ==", -+ "deprecated": "support for ECMAScript is superseded by `uglify-js` as of v3.13.0", -+ "dependencies": { -+ "commander": "~2.13.0", -+ "source-map": "~0.6.1" -+ }, -+ "bin": { -+ "uglifyjs": "bin/uglifyjs" -+ }, -+ "engines": { -+ "node": ">=0.8.0" -+ } -+ }, -+ "node_modules/uglify-es/node_modules/commander": { -+ "version": "2.13.0", -+ "resolved": "https://registry.npmjs.org/commander/-/commander-2.13.0.tgz", -+ "integrity": "sha512-MVuS359B+YzaWqjCL/c+22gfryv+mCBPHAv3zyVI2GN8EY6IRP8VwtasXn8jyyhvvq84R4ImN1OKRtcbIasjYA==" -+ }, - "node_modules/unbox-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", -@@ -16247,6 +17376,14 @@ - "punycode": "^2.1.0" - } - }, -+ "node_modules/use-sync-external-store": { -+ "version": "1.2.0", -+ "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz", -+ "integrity": "sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==", -+ "peerDependencies": { -+ "react": "^16.8.0 || ^17.0.0 || ^18.0.0" -+ } -+ }, - "node_modules/username": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/username/-/username-5.1.0.tgz", -@@ -16711,14 +17848,6 @@ - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" - }, -- "node_modules/yaml": { -- "version": "2.3.4", -- "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.4.tgz", -- "integrity": "sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA==", -- "engines": { -- "node": ">= 14" -- } -- }, - "node_modules/yargs": { - "version": "17.7.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", -diff --git BRNPlayground/android/gradle/wrapper/gradle-wrapper.properties BRNPlayground/android/gradle/wrapper/gradle-wrapper.properties -index 1af9e0930b89b3294ea6a195f0808aafd36fafe8..878fe049c27088dc8df21980af1aabcde0552f66 100644 ---- BRNPlayground/android/gradle/wrapper/gradle-wrapper.properties -+++ BRNPlayground/android/gradle/wrapper/gradle-wrapper.properties -@@ -1,6 +1,6 @@ - distributionBase=GRADLE_USER_HOME - distributionPath=wrapper/dists --distributionUrl=https\://services.gradle.org/distributions/gradle-8.5-bin.zip -+distributionUrl=https\://services.gradle.org/distributions/gradle-7.6.3-bin.zip - networkTimeout=10000 - validateDistributionUrl=true - zipStoreBase=GRADLE_USER_HOME diff --git a/Apps/rnta-0.73.patch b/Apps/rnta-0.73.patch deleted file mode 100644 index e69de29bb..000000000 From c2a02476bd21e9ffd3e0fecdf64a0b052c050066 Mon Sep 17 00:00:00 2001 From: Cedric Guillemet <1312968+CedricGuillemet@users.noreply.github.com> Date: Tue, 18 Jun 2024 10:05:25 +0200 Subject: [PATCH 04/78] RN 0.69-0.71 --- .github/workflows/pr.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index 7ceed75c8..b35adb45a 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -12,7 +12,7 @@ jobs: strategy: matrix: platform: [ios, android] - react-native-version: ['0.71', '0.73'] + react-native-version: ['0.69', '0.70', '0.71'] steps: - name: Checkout Repo uses: actions/checkout@v2.3.3 From 725ea5449e76188863000a7cd1f31823d576a35c Mon Sep 17 00:00:00 2001 From: Cedric Guillemet <1312968+CedricGuillemet@users.noreply.github.com> Date: Tue, 18 Jun 2024 10:33:54 +0200 Subject: [PATCH 05/78] test w/o pod install --- Apps/BRNPlayground/postinstall.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Apps/BRNPlayground/postinstall.js b/Apps/BRNPlayground/postinstall.js index 45d723ca1..093c07cfb 100644 --- a/Apps/BRNPlayground/postinstall.js +++ b/Apps/BRNPlayground/postinstall.js @@ -28,13 +28,13 @@ function postInstall() { exec("npm install --legacy-peer-deps", { cwd: "../../Modules/@babylonjs/react-native", }); - +/* if (os.platform() === "darwin") { iosCMake(); console.log(chalk.black.bgCyan("Installing iOS pods...")); exec("pod install", { cwd: "ios" }); - } + }*/ } postInstall(); From 6761cbdd38d68f4a573c170011589e8e4e0b6866 Mon Sep 17 00:00:00 2001 From: Cedric Guillemet <1312968+CedricGuillemet@users.noreply.github.com> Date: Tue, 18 Jun 2024 17:26:04 +0200 Subject: [PATCH 06/78] remove tag names set version script --- .../scripts/set-react-version.mjs | 149 ++++-------------- 1 file changed, 27 insertions(+), 122 deletions(-) diff --git a/Apps/BRNPlayground/scripts/set-react-version.mjs b/Apps/BRNPlayground/scripts/set-react-version.mjs index 708970fb6..328b30512 100644 --- a/Apps/BRNPlayground/scripts/set-react-version.mjs +++ b/Apps/BRNPlayground/scripts/set-react-version.mjs @@ -21,15 +21,13 @@ import { * @typedef {import("./types.js").Manifest} Manifest */ -const VALID_TAGS = ["canary-macos", "canary-windows", "nightly"]; - /** * Returns whether specified string is a valid version number. * @param {string} v * @return {boolean} */ function isValidVersion(v) { - return /^\d+\.\d+$/.test(v) || VALID_TAGS.includes(v); + return /^\d+\.\d+$/.test(v); } /** @@ -135,55 +133,6 @@ function fetchPackageInfo(pkg, version) { }); } -/** - * Fetches the latest react-native-windows@canary information via NuGet. - * @return {Promise} - */ -function fetchReactNativeWindowsCanaryInfoViaNuGet() { - const rnwNuGetFeed = - "https://pkgs.dev.azure.com/ms/react-native/_packaging/react-native-public/nuget/v3/index.json"; - return fetch(rnwNuGetFeed) - .then((res) => res.json()) - .then(({ resources }) => { - if (!Array.isArray(resources)) { - throw new Error("Unexpected format returned by the services endpoint"); - } - - const service = resources.find((svc) => - svc["@type"].startsWith("RegistrationsBaseUrl") - ); - if (!service) { - throw new Error("Failed to find 'RegistrationsBaseUrl' resource"); - } - - return service["@id"]; - }) - .then((url) => fetch(url + "/Microsoft.ReactNative.Cxx/index.json")) - .then((res) => res.json()) - .then(({ items }) => { - if (!Array.isArray(items)) { - throw new Error( - "Unexpected format returned by the 'RegistrationsBaseUrl' service" - ); - } - - for (const item of items) { - for (const pkg of item.items) { - const version = pkg.catalogEntry?.version; - if (typeof version === "string" && version.startsWith("0.0.0")) { - const m = version.match(/(0\.0\.0-[.0-9a-z]+)/); - if (m) { - return m[1]; - } - } - } - } - - throw new Error("Failed to find canary builds"); - }) - .then((version) => fetchPackageInfo("react-native-windows", version)); -} - /** * Returns an object with common dependencies. * @param {string} v @@ -258,78 +207,36 @@ async function resolveCommonDependencies( * @return {Promise>} */ async function getProfile(v, coreOnly) { + // @ts-ignore const manifest = /** @type {Manifest} */ (readJSONFile("package.json")); /*const visionos = manifest.defaultPlatformPackages?.["visionos"]; if (!visionos) { throw new Error("Missing platform package for visionOS"); }*/ + const versions = { + core: fetchPackageInfo("react-native", v), + macos: coreOnly + ? Promise.resolve({ version: undefined }) + : fetchPackageInfo("react-native-macos", v), + /*visionos: coreOnly + ? Promise.resolve({ version: undefined }) + : fetchPackageInfo(visionos, v),*/ + windows: coreOnly + ? Promise.resolve({ version: undefined }) + : fetchPackageInfo("react-native-windows", v), + }; + const reactNative = await versions.core; + const commonDeps = await resolveCommonDependencies(v, reactNative); - switch (v) { - case "canary-macos": { - const info = await fetchPackageInfo("react-native-macos", "canary"); - const coreVersion = inferReactNativeVersion(info); - const commonDeps = await resolveCommonDependencies(coreVersion, info); - return { - ...commonDeps, - "react-native": coreVersion, - "react-native-macos": "canary", - "react-native-windows": undefined, - //[visionos]: undefined, - }; - } - - case "canary-windows": { - const info = await fetchReactNativeWindowsCanaryInfoViaNuGet(); - const coreVersion = info.peerDependencies?.["react-native"] || "nightly"; - const commonDeps = await resolveCommonDependencies(coreVersion, info); - return { - ...commonDeps, - "react-native": coreVersion, - "react-native-macos": undefined, - "react-native-windows": info.version, - //[visionos]: undefined, - }; - } - - case "nightly": { - const info = await fetchPackageInfo("react-native", "nightly"); - const commonDeps = await resolveCommonDependencies(v, info); - return { - ...commonDeps, - "react-native": "nightly", - "react-native-macos": undefined, - "react-native-windows": undefined, - //[visionos]: undefined, - }; - } - - default: { - const versions = { - core: fetchPackageInfo("react-native", v), - macos: coreOnly - ? Promise.resolve({ version: undefined }) - : fetchPackageInfo("react-native-macos", v), - /*visionos: coreOnly - ? Promise.resolve({ version: undefined }) - : fetchPackageInfo(visionos, v),*/ - windows: coreOnly - ? Promise.resolve({ version: undefined }) - : fetchPackageInfo("react-native-windows", v), - }; - const reactNative = await versions.core; - const commonDeps = await resolveCommonDependencies(v, reactNative); - - /** @type {(manifest: Manifest) => string | undefined} */ - const getVersion = ({ version }) => version; - return { - ...commonDeps, - "react-native": reactNative.version, - "react-native-macos": await versions.macos.then(getVersion), - "react-native-windows": await versions.windows.then(getVersion), - //[visionos]: await versions.visionos.then(getVersion), - }; - } - } + /** @type {(manifest: Manifest) => string | undefined} */ + const getVersion = ({ version }) => version; + return { + ...commonDeps, + "react-native": reactNative.version, + "react-native-macos": await versions.macos.then(getVersion), + "react-native-windows": await versions.windows.then(getVersion), + //[visionos]: await versions.visionos.then(getVersion), + }; } /** @@ -391,14 +298,12 @@ const { [1]: script, [2]: version } = process.argv; if (isMain(import.meta.url)) { if (!isValidVersion(version)) { console.log( - `Usage: ${path.basename(script)} [ | ${VALID_TAGS.join(" | ")}]` + `Usage: ${path.basename(script)} []` ); process.exitCode = 1; } else { setReactVersion(version, process.argv.includes("--core-only")).then(() => { - const numVersion = VALID_TAGS.includes(version) - ? Number.MAX_SAFE_INTEGER - : toVersionNumber(version); + const numVersion = toVersionNumber(version); if (numVersion >= v(0, 74, 0)) { disableJetifier(); } From 2f175787ebd5f00599c13d2704adf260298ab430 Mon Sep 17 00:00:00 2001 From: Cedric Guillemet <1312968+CedricGuillemet@users.noreply.github.com> Date: Wed, 25 Sep 2024 10:44:24 +0200 Subject: [PATCH 07/78] test with ios only --- .github/workflows/pr.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index 198206fc8..434f6b498 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -9,7 +9,7 @@ jobs: runs-on: macos-latest strategy: matrix: - platform: [ios, android] + platform: [ios] react-native-version: ['0.69', '0.70', '0.71', '0.74'] steps: - name: Checkout Repo From 2f530846e4af144850538b170deaf5e008940f66 Mon Sep 17 00:00:00 2001 From: Cedric Guillemet <1312968+CedricGuillemet@users.noreply.github.com> Date: Wed, 25 Sep 2024 10:51:14 +0200 Subject: [PATCH 08/78] 0.71 as minimum --- .github/workflows/pr.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index 434f6b498..721364a7c 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -10,7 +10,7 @@ jobs: strategy: matrix: platform: [ios] - react-native-version: ['0.69', '0.70', '0.71', '0.74'] + react-native-version: ['0.71', '0.74'] steps: - name: Checkout Repo uses: actions/checkout@v2.3.3 From 806c8da6b07e8dd2007465f0a55de445d60880ed Mon Sep 17 00:00:00 2001 From: Cedric Guillemet <1312968+CedricGuillemet@users.noreply.github.com> Date: Wed, 25 Sep 2024 11:22:11 +0200 Subject: [PATCH 09/78] more recent RN versions --- .github/workflows/pr.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index 721364a7c..07dfe6d45 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -9,8 +9,8 @@ jobs: runs-on: macos-latest strategy: matrix: - platform: [ios] - react-native-version: ['0.71', '0.74'] + platform: [ios, android] + react-native-version: ['0.73', '0.74'] steps: - name: Checkout Repo uses: actions/checkout@v2.3.3 From ffbd3037fd06f8ad8b12ba86342733e2c73d5334 Mon Sep 17 00:00:00 2001 From: Cedric Guillemet <1312968+CedricGuillemet@users.noreply.github.com> Date: Wed, 25 Sep 2024 15:20:50 +0200 Subject: [PATCH 10/78] build and publish test RNTA --- .github/workflows/pr.yml | 130 ++++++++++++++++++++++++++++++++++++--- Package/gulpfile.js | 21 +++++-- 2 files changed, 138 insertions(+), 13 deletions(-) diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index 07dfe6d45..34d75e739 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -5,11 +5,55 @@ on: - master jobs: - build-android-rnta: +# build-ios-android-rnta: +# runs-on: macos-latest +# strategy: +# matrix: +# platform: [ios, android] +# react-native-version: ['0.73', '0.74'] +# steps: +# - name: Checkout Repo +# uses: actions/checkout@v2.3.3 +# - name: Setup CMake +# uses: jwlawson/actions-setup-cmake@v1.8 +# with: +# cmake-version: '3.26.3' +# - name: Setup Ninja +# run: brew install ninja +# - name: Setup Watchman +# run: brew install watchman +# - name: Free space +# uses: ./.github/workflows/macos_freespace +# - name: Set React-Native version ${{ matrix.react-native-version }} +# run: npm run set-react-version -- ${{ matrix.react-native-version }} +# working-directory: ./Apps/BRNPlayground +# - name: NPM Install (BRNPlayground) +# run: npm install +# working-directory: ./Apps/BRNPlayground +# +# - name: Build Bundle +# run: npm run build:${{ matrix.platform }} +# working-directory: ./Apps/BRNPlayground +# +# - name: NPM Install (Binary Package) +# run: npm install +# working-directory: ./Package +# - name: Setup Java +# uses: actions/setup-java@v3 +# with: +# distribution: 'temurin' +# java-version: '17' +# check-latest: true +# - name: Gulp ${{ matrix.platform }} +# run: npx gulp build${{ matrix.platform }}RNTA +# working-directory: ./Package +# env: +# JAVA_HOME: ${{ env.JAVA_HOME_11_X64 }} + + build-upload-ios-android-rnta: runs-on: macos-latest strategy: matrix: - platform: [ios, android] react-native-version: ['0.73', '0.74'] steps: - name: Checkout Repo @@ -31,8 +75,11 @@ jobs: run: npm install working-directory: ./Apps/BRNPlayground - - name: Build Bundle - run: npm run build:${{ matrix.platform }} + - name: Build Bundle iOS + run: npm run build:ios + working-directory: ./Apps/BRNPlayground + - name: Build Bundle Android + run: npm run build:android working-directory: ./Apps/BRNPlayground - name: NPM Install (Binary Package) @@ -44,9 +91,78 @@ jobs: distribution: 'temurin' java-version: '17' check-latest: true - - name: Gulp ${{ matrix.platform }} - run: npx gulp build${{ matrix.platform }}RNTA + - name: Gulp build iOS and Android + run: npx gulp buildRNTA working-directory: ./Package env: JAVA_HOME: ${{ env.JAVA_HOME_11_X64 }} - + - name: Upload Assembled iOS Android Folder + uses: actions/upload-artifact@v4 + with: + name: 'Assembled-iOSAndroid${{ matrix.react-native-version }}' + path: Package/Assembled-iOSAndroid + - name: Upload Assembled iOS Android BaseKit Folder + uses: actions/upload-artifact@v4 + with: + name: 'Assembled-BaseKit-iOSAndroid${{ matrix.react-native-version }}' + path: Package/Assembled-BaseKit-iOSAndroid + + build-typescript: + uses: ./.github/workflows/typescript.yml + with: + release-version: 0.0.${GITHUB_SHA::8} + + publish-react-native: + needs: [build-typescript, build-upload-ios-android-rnta] + runs-on: macos-latest + strategy: + matrix: + react-native-version: ['0.73', '0.74'] + steps: + - name: Checkout Repo + uses: actions/checkout@v2.3.3 + - name: NPM Install (Binary Package) + run: npm install + working-directory: ./Package + - name: Download Assembled Folder + uses: actions/download-artifact@v2 + with: + name: 'Assembled' + path: Package/Assembled + - name: Display structure of downloaded Assembled and Assembled-Windows folders + run: ls -R + - name: Version & Publish Package @babylonjs/react-native + run: | + npm version --no-git-tag-version 0.0.${GITHUB_SHA::8} + npm publish --access public --dry-run + working-directory: ./Package/Assembled + env: + NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} + + publish-react-native-iosandroid: + needs: [build-typescript, build-upload-ios-android-rnta] + runs-on: macos-latest + strategy: + matrix: + react-native-version: ['0.73', '0.74'] + basekit: ['', '-BaseKit'] + steps: + - name: Checkout Repo + uses: actions/checkout@v2.3.3 + - name: NPM Install (Binary Package) + run: npm install + working-directory: ./Package + - name: Download Assembled${{ matrix.basekit }}-iOSAndroid ${{ matrix.react-native-version }} Folder + uses: actions/download-artifact@v2 + with: + name: 'Assembled${{ matrix.basekit }}-iOSAndroid${{ matrix.react-native-version }}' + path: Package/Assembled + - name: Display structure of downloaded Assembled and Assembled-Windows folders + run: ls -R + - name: Version & Publish Package @babylonjs/react-native${{ matrix.basekit }}-iosandroid + run: | + npm version --no-git-tag-version 0.0.${GITHUB_SHA::8} + npm publish --access public --dry-run + working-directory: ./Package/Assembled + env: + NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} \ No newline at end of file diff --git a/Package/gulpfile.js b/Package/gulpfile.js index 7353eafac..4e3114eaf 100644 --- a/Package/gulpfile.js +++ b/Package/gulpfile.js @@ -14,6 +14,7 @@ let assembledWindowsDir = 'Assembled-Windows'; let basekitBuild = false; let cmakeBasekitBuildDefinition = ''; let basekitPackagePath = ''; +let playgroundDirectory = '../Apps/Playground/Playground/'; function exec(command, workingDirectory = '.', logCommand = true) { if (logCommand) { @@ -214,8 +215,8 @@ const copyIOSAndroidCommonFiles = () => { const copyIOSFiles = async () => { await new Promise(resolve => { - gulp.src('../Apps/Playground/Playground/node_modules/@babylonjs/react-native-iosandroid/ios/*.h') - .pipe(gulp.src('../Apps/Playground/Playground/node_modules/@babylonjs/react-native-iosandroid/ios/*.mm')) + gulp.src(`${playgroundDirectory}/node_modules/@babylonjs/react-native-iosandroid/ios/*.h`) + .pipe(gulp.src(`${playgroundDirectory}/node_modules/@babylonjs/react-native-iosandroid/ios/*.mm`)) // This xcodeproj is garbage that we don't need in the package, but `pod install` ignores the package if it doesn't contain at least one xcodeproj. 🤷🏼‍♂️ .pipe(gulp.src('iOS/Build/ReactNativeBabylon.xcodeproj**/**/*')) .pipe(gulp.dest(`${assemblediOSAndroidDir}/ios`)) @@ -238,8 +239,8 @@ const createIOSUniversalLibs = async () => { const copyAndroidFiles = async () => { await new Promise(resolve => { gulp.src(`${basekitPackagePath}Android/build.gradle`) - .pipe(gulp.src('../Apps/Playground/Playground/node_modules/@babylonjs/react-native-iosandroid/android/src**/main/AndroidManifest.xml')) - .pipe(gulp.src('../Apps/Playground/Playground/node_modules/@babylonjs/react-native-iosandroid/android/src**/main/java/**/*')) + .pipe(gulp.src(`${playgroundDirectory}/node_modules/@babylonjs/react-native-iosandroid/android/src**/main/AndroidManifest.xml`)) + .pipe(gulp.src(`${playgroundDirectory}/node_modules/@babylonjs/react-native-iosandroid/android/src**/main/java/**/*`)) .pipe(gulp.dest(`${assemblediOSAndroidDir}/android`)) .on('end', resolve); }); @@ -251,7 +252,7 @@ const copyAndroidFiles = async () => { }); await new Promise(resolve => { - const jnidir = '../Apps/Playground/Playground/node_modules/@babylonjs/react-native-iosandroid/android/build/intermediates/library_and_local_jars_jni/release/jni/**'; + const jnidir = `${playgroundDirectory}/node_modules/@babylonjs/react-native-iosandroid/android/build/intermediates/library_and_local_jars_jni/release/jni/**`; gulp.src(`${jnidir}/libBabylonNative.so`) .pipe(gulp.dest(`${assemblediOSAndroidDir}/android/src/main/jniLibs/`)) .on('end', resolve); @@ -263,7 +264,7 @@ const copyAndroidFiles = async () => { const versionIndex = process.argv.indexOf('--reactNative'); if (versionIndex != -1 && process.argv[versionIndex + 1] != '0.71') { await new Promise(resolve => { - gulp.src('../Apps/Playground/Playground/node_modules/@babylonjs/react-native-iosandroid/android/build/intermediates/cmake/release/obj/{arm64-v8a,armeabi-v7a,x86}/libturbomodulejsijni.so') + gulp.src(`${playgroundDirectory}/node_modules/@babylonjs/react-native-iosandroid/android/build/intermediates/cmake/release/obj/{arm64-v8a,armeabi-v7a,x86}/libturbomodulejsijni.so`) .pipe(gulp.dest(`${assemblediOSAndroidDir}/android/src/main/jniLibs/`)) .on('end', resolve); }); @@ -553,6 +554,10 @@ const switchToBaseKit = async () => { basekitPackagePath = 'BaseKit/'; } +const enableRNTA = async () => { + playgroundDirectory = '../Apps/BRNPlayground/'; +} + const patchPackageVersion = async () => { const releaseVersionIndex = process.argv.indexOf('--releaseVersion'); const versionIndex = process.argv.indexOf('--reactNative'); @@ -623,7 +628,10 @@ const copyFiles = gulp.parallel(copyIOSAndroidCommonFiles, copyIOSFiles, copyAnd const buildTS = gulp.series(patchPackageVersion, copyCommonFiles, copySharedFiles, buildTypeScript, validateAssembled); const buildIOSAndroid = gulp.series(patchPackageVersion, buildIOS, buildAndroid, createIOSUniversalLibs, copyFiles, validateAssemblediOSAndroid); +const buildIOSAndroidRNTA = gulp.series(patchPackageVersion, buildIOSRNTA, buildAndroidRNTA, createIOSUniversalLibs, copyFiles, validateAssemblediOSAndroid); + const build = gulp.series(buildIOSAndroid, switchToBaseKit, buildIOSAndroid); +const buildRNTA = gulp.series(enableRNTA, buildIOSAndroidRNTA, switchToBaseKit, buildIOSAndroidRNTA); const rebuild = gulp.series(clean, build); const pack = gulp.series(rebuild, createPackage); @@ -641,6 +649,7 @@ exports.copyFiles = copyFiles; exports.clean = clean; exports.build = build; +exports.buildRNTA = buildRNTA; exports.rebuild = rebuild; exports.pack = pack; From 6acfccf1502fc295bf0bfcfcb3a6e963cbc8e2d2 Mon Sep 17 00:00:00 2001 From: Cedric Guillemet <1312968+CedricGuillemet@users.noreply.github.com> Date: Wed, 25 Sep 2024 16:41:22 +0200 Subject: [PATCH 11/78] download-artifact@v4 --- .github/workflows/pr.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index 34d75e739..2e6bf7d7d 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -125,7 +125,7 @@ jobs: run: npm install working-directory: ./Package - name: Download Assembled Folder - uses: actions/download-artifact@v2 + uses: actions/download-artifact@v4 with: name: 'Assembled' path: Package/Assembled @@ -153,7 +153,7 @@ jobs: run: npm install working-directory: ./Package - name: Download Assembled${{ matrix.basekit }}-iOSAndroid ${{ matrix.react-native-version }} Folder - uses: actions/download-artifact@v2 + uses: actions/download-artifact@v4 with: name: 'Assembled${{ matrix.basekit }}-iOSAndroid${{ matrix.react-native-version }}' path: Package/Assembled From 4b5a42326a20406045dcb6ec8229f48c0840a5d8 Mon Sep 17 00:00:00 2001 From: Cedric Guillemet <1312968+CedricGuillemet@users.noreply.github.com> Date: Wed, 25 Sep 2024 17:38:09 +0200 Subject: [PATCH 12/78] windows build --- .github/workflows/pr.yml | 61 ++++++++++++++++++++++++++++++++++++++-- 1 file changed, 59 insertions(+), 2 deletions(-) diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index 2e6bf7d7d..38f22cf80 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -112,6 +112,63 @@ jobs: with: release-version: 0.0.${GITHUB_SHA::8} + build-windows-rnta: + runs-on: windows-2019 + strategy: + matrix: + platform: [x86, x64, ARM64] + config: [Debug, Release] + react-native-version: ['0.73', '0.74'] + steps: + - name: Support longpaths + run: git config --system core.longpaths true + - name: Checkout Repo + uses: actions/checkout@v2.3.3 + with: + submodules: 'true' + - name: Setup MSBuild + uses: microsoft/setup-msbuild@v2 +# - name: Setup Node 20 +# uses: actions/setup-node@v3 +# with: +# node-version: 20 + - name: Install watchman + run: choco install watchman + working-directory: ./Apps/BRNPlayground + - name: Set React-Native version ${{ matrix.react-native-version }} + run: npm run set-react-version -- ${{ matrix.react-native-version }} + - name: NPM Install RNTA + run: npm install + working-directory: ./Apps/BRNPlayground + + - name: Build Windows Bundle + run: npm run build:windows + working-directory: ./Apps/BRNPlayground + + - name: NPM Install Package + run: npm install + working-directory: ./Package + + - name: NPM Generate Windows Project + run: npx install-windows-test-app + working-directory: ./Apps/BRNPlayground + + - name: CMake BabylonNative + run: cmake -G "Visual Studio 16 2019" -B ./Modules/@babylonjs/react-native/Build/uwp_${{ matrix.platform }}${{ matrix.config }} -D CMAKE_SYSTEM_NAME=WindowsStore -D CMAKE_SYSTEM_VERSION=10.0.19041.0 -DCMAKE_UNITY_BUILD=true -D CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION_MAXIMUM=10.0.19041.0 -A ${{ matrix.platform }} ./../../../react-native-windows/windows + working-directory: ./ + + - name: Nuget restore + run: nuget restore BRNPlayground.sln + working-directory: ./Apps/BRNPlayground/windows + + - name: Windows build BN ${{ matrix.platform }} ${{ matrix.config }} + run: MSBuild /p:Platform="${{ matrix.platform }}" /p:Configuration="${{ matrix.config }}" /m ReactNativeBabylon.sln + working-directory: ./Modules@babylonjs/react-native/Build/uwp_${{ matrix.platform }}${{ matrix.config }} + + - name: Windows build BRN ${{ matrix.config }} + run: MSBuild /p:Platform="${{ matrix.platform }}" /p:Configuration="${{ matrix.config }}" /m BRNPlayground.sln + working-directory: ./Apps/BRNPlayground/windows + publish-react-native: needs: [build-typescript, build-upload-ios-android-rnta] runs-on: macos-latest @@ -133,7 +190,7 @@ jobs: run: ls -R - name: Version & Publish Package @babylonjs/react-native run: | - npm version --no-git-tag-version 0.0.${GITHUB_SHA::8} + npm version --no-git-tag-version 10.0.0 npm publish --access public --dry-run working-directory: ./Package/Assembled env: @@ -161,7 +218,7 @@ jobs: run: ls -R - name: Version & Publish Package @babylonjs/react-native${{ matrix.basekit }}-iosandroid run: | - npm version --no-git-tag-version 0.0.${GITHUB_SHA::8} + npm version --no-git-tag-version 10.0.0 npm publish --access public --dry-run working-directory: ./Package/Assembled env: From e1576d486eee2b8b7e5bdf358fba5716d75d005c Mon Sep 17 00:00:00 2001 From: Cedric Guillemet <1312968+CedricGuillemet@users.noreply.github.com> Date: Wed, 25 Sep 2024 17:45:16 +0200 Subject: [PATCH 13/78] windows working folder --- Apps/BRNPlayground/package.json | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/Apps/BRNPlayground/package.json b/Apps/BRNPlayground/package.json index d6daa2d1d..3c618fe5d 100644 --- a/Apps/BRNPlayground/package.json +++ b/Apps/BRNPlayground/package.json @@ -25,18 +25,16 @@ "@babylonjs/react-native-windows": "file:../../Modules/@babylonjs/react-native-windows", "@react-native-community/slider": "^4.2.2", "react": "18.2.0", - "react-native": "0.73.5", - "react-native-macos": "^0.73.0", + "react-native": "0.71.19", + "react-native-macos": "0.71.36", "react-native-permissions": "^4.1.5", - "react-native-windows": "^0.73.0" + "react-native-windows": "0.71.47" }, "devDependencies": { "@babel/core": "^7.20.0", "@babel/preset-env": "^7.20.0", "@babel/runtime": "^7.20.0", - "@react-native/babel-preset": "0.73.21", "@react-native/eslint-config": "0.73.2", - "@react-native/metro-config": "0.73.4", "@react-native/typescript-config": "0.73.1", "@rnx-kit/metro-config": "^1.3.14", "@types/react": "^18.2.6", @@ -48,7 +46,11 @@ "prettier": "2.8.8", "react-native-test-app": "^3.10.3", "react-test-renderer": "18.2.0", - "typescript": "5.0.4" + "typescript": "5.0.4", + "@react-native-community/cli": "10.2.7", + "@react-native-community/cli-platform-android": "10.2.0", + "@react-native-community/cli-platform-ios": "10.2.5", + "metro-react-native-babel-preset": "0.73.10" }, "engines": { "node": ">=18" From fdfe889dae6a8eef1b9493c4c62fa57fc4cd3a3e Mon Sep 17 00:00:00 2001 From: Cedric Guillemet <1312968+CedricGuillemet@users.noreply.github.com> Date: Wed, 25 Sep 2024 17:47:37 +0200 Subject: [PATCH 14/78] pr working dir --- .github/workflows/pr.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index 38f22cf80..09cc853a4 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -137,6 +137,7 @@ jobs: working-directory: ./Apps/BRNPlayground - name: Set React-Native version ${{ matrix.react-native-version }} run: npm run set-react-version -- ${{ matrix.react-native-version }} + working-directory: ./Apps/BRNPlayground - name: NPM Install RNTA run: npm install working-directory: ./Apps/BRNPlayground From f1fee7b3d454064156c113c790885618a3d89405 Mon Sep 17 00:00:00 2001 From: Cedric Guillemet <1312968+CedricGuillemet@users.noreply.github.com> Date: Wed, 25 Sep 2024 17:58:41 +0200 Subject: [PATCH 15/78] more on windows paths --- .github/workflows/pr.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index 09cc853a4..1eeb13d27 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -155,8 +155,8 @@ jobs: working-directory: ./Apps/BRNPlayground - name: CMake BabylonNative - run: cmake -G "Visual Studio 16 2019" -B ./Modules/@babylonjs/react-native/Build/uwp_${{ matrix.platform }}${{ matrix.config }} -D CMAKE_SYSTEM_NAME=WindowsStore -D CMAKE_SYSTEM_VERSION=10.0.19041.0 -DCMAKE_UNITY_BUILD=true -D CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION_MAXIMUM=10.0.19041.0 -A ${{ matrix.platform }} ./../../../react-native-windows/windows - working-directory: ./ + run: cmake -G "Visual Studio 16 2019" -B ./Modules/@babylonjs/react-native/Build/uwp_${{ matrix.platform }} -D CMAKE_SYSTEM_NAME=WindowsStore -D CMAKE_SYSTEM_VERSION=10.0.19041.0 -DCMAKE_UNITY_BUILD=true -D CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION_MAXIMUM=10.0.19041.0 -A ${{ matrix.platform }} ./../../../react-native-windows/windows + working-directory: ./Modules@babylonjs/react-native/Build/uwp_${{ matrix.platform }} - name: Nuget restore run: nuget restore BRNPlayground.sln @@ -164,7 +164,7 @@ jobs: - name: Windows build BN ${{ matrix.platform }} ${{ matrix.config }} run: MSBuild /p:Platform="${{ matrix.platform }}" /p:Configuration="${{ matrix.config }}" /m ReactNativeBabylon.sln - working-directory: ./Modules@babylonjs/react-native/Build/uwp_${{ matrix.platform }}${{ matrix.config }} + working-directory: ./Modules@babylonjs/react-native/Build/uwp_${{ matrix.platform }} - name: Windows build BRN ${{ matrix.config }} run: MSBuild /p:Platform="${{ matrix.platform }}" /p:Configuration="${{ matrix.config }}" /m BRNPlayground.sln From 11e603467a44253b61c9c504c577c51dea158c56 Mon Sep 17 00:00:00 2001 From: Cedric Guillemet <1312968+CedricGuillemet@users.noreply.github.com> Date: Wed, 25 Sep 2024 18:04:02 +0200 Subject: [PATCH 16/78] even more on paths --- .github/workflows/pr.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index 1eeb13d27..eb4ef336b 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -155,8 +155,8 @@ jobs: working-directory: ./Apps/BRNPlayground - name: CMake BabylonNative - run: cmake -G "Visual Studio 16 2019" -B ./Modules/@babylonjs/react-native/Build/uwp_${{ matrix.platform }} -D CMAKE_SYSTEM_NAME=WindowsStore -D CMAKE_SYSTEM_VERSION=10.0.19041.0 -DCMAKE_UNITY_BUILD=true -D CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION_MAXIMUM=10.0.19041.0 -A ${{ matrix.platform }} ./../../../react-native-windows/windows - working-directory: ./Modules@babylonjs/react-native/Build/uwp_${{ matrix.platform }} + run: cmake -G "Visual Studio 16 2019" -B uwp_${{ matrix.platform }} -D CMAKE_SYSTEM_NAME=WindowsStore -D CMAKE_SYSTEM_VERSION=10.0.19041.0 -DCMAKE_UNITY_BUILD=true -D CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION_MAXIMUM=10.0.19041.0 -A ${{ matrix.platform }} ./../../react-native-windows/windows + working-directory: ./Modules/@babylonjs/react-native/Build - name: Nuget restore run: nuget restore BRNPlayground.sln @@ -164,7 +164,7 @@ jobs: - name: Windows build BN ${{ matrix.platform }} ${{ matrix.config }} run: MSBuild /p:Platform="${{ matrix.platform }}" /p:Configuration="${{ matrix.config }}" /m ReactNativeBabylon.sln - working-directory: ./Modules@babylonjs/react-native/Build/uwp_${{ matrix.platform }} + working-directory: ./Modules/@babylonjs/react-native/Build/uwp_${{ matrix.platform }} - name: Windows build BRN ${{ matrix.config }} run: MSBuild /p:Platform="${{ matrix.platform }}" /p:Configuration="${{ matrix.config }}" /m BRNPlayground.sln From b47df5bc4edf678b97166eb1a1d4be28a4688bfd Mon Sep 17 00:00:00 2001 From: Cedric Guillemet <1312968+CedricGuillemet@users.noreply.github.com> Date: Wed, 25 Sep 2024 18:10:10 +0200 Subject: [PATCH 17/78] paths --- .github/workflows/pr.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index eb4ef336b..2edd8ef2c 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -155,8 +155,8 @@ jobs: working-directory: ./Apps/BRNPlayground - name: CMake BabylonNative - run: cmake -G "Visual Studio 16 2019" -B uwp_${{ matrix.platform }} -D CMAKE_SYSTEM_NAME=WindowsStore -D CMAKE_SYSTEM_VERSION=10.0.19041.0 -DCMAKE_UNITY_BUILD=true -D CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION_MAXIMUM=10.0.19041.0 -A ${{ matrix.platform }} ./../../react-native-windows/windows - working-directory: ./Modules/@babylonjs/react-native/Build + run: cmake -G "Visual Studio 16 2019" -B ./Build/uwp_${{ matrix.platform }} -D CMAKE_SYSTEM_NAME=WindowsStore -D CMAKE_SYSTEM_VERSION=10.0.19041.0 -DCMAKE_UNITY_BUILD=true -D CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION_MAXIMUM=10.0.19041.0 -A ${{ matrix.platform }} ./../react-native-windows/windows + working-directory: ./Modules/@babylonjs/react-native - name: Nuget restore run: nuget restore BRNPlayground.sln From d4b4543ca62b2899b0454ee961f7fceafaeb4e1c Mon Sep 17 00:00:00 2001 From: Cedric Guillemet <1312968+CedricGuillemet@users.noreply.github.com> Date: Wed, 25 Sep 2024 18:24:59 +0200 Subject: [PATCH 18/78] ternary op for x86/win32 --- .github/workflows/pr.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index 2edd8ef2c..34e7b4f4a 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -155,7 +155,7 @@ jobs: working-directory: ./Apps/BRNPlayground - name: CMake BabylonNative - run: cmake -G "Visual Studio 16 2019" -B ./Build/uwp_${{ matrix.platform }} -D CMAKE_SYSTEM_NAME=WindowsStore -D CMAKE_SYSTEM_VERSION=10.0.19041.0 -DCMAKE_UNITY_BUILD=true -D CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION_MAXIMUM=10.0.19041.0 -A ${{ matrix.platform }} ./../react-native-windows/windows + run: cmake -G "Visual Studio 16 2019" -B ./Build/uwp_${{ matrix.platform }} -D CMAKE_SYSTEM_NAME=WindowsStore -D CMAKE_SYSTEM_VERSION=10.0.19041.0 -DCMAKE_UNITY_BUILD=true -D CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION_MAXIMUM=10.0.19041.0 -A ${{ matrix.platform == 'x86' && 'win32' || matrix.platform}} ./../react-native-windows/windows working-directory: ./Modules/@babylonjs/react-native - name: Nuget restore From 6bd89e3bc6c7ee21f061468eb104a422de2c0882 Mon Sep 17 00:00:00 2001 From: Cedric Guillemet <1312968+CedricGuillemet@users.noreply.github.com> Date: Wed, 25 Sep 2024 18:40:37 +0200 Subject: [PATCH 19/78] msbuild platform --- .github/workflows/pr.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index 34e7b4f4a..22500f192 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -163,11 +163,11 @@ jobs: working-directory: ./Apps/BRNPlayground/windows - name: Windows build BN ${{ matrix.platform }} ${{ matrix.config }} - run: MSBuild /p:Platform="${{ matrix.platform }}" /p:Configuration="${{ matrix.config }}" /m ReactNativeBabylon.sln + run: MSBuild /p:Platform="${{ matrix.platform == 'x86' && 'win32' || matrix.platform}}" /p:Configuration="${{ matrix.config }}" /m ReactNativeBabylon.sln working-directory: ./Modules/@babylonjs/react-native/Build/uwp_${{ matrix.platform }} - name: Windows build BRN ${{ matrix.config }} - run: MSBuild /p:Platform="${{ matrix.platform }}" /p:Configuration="${{ matrix.config }}" /m BRNPlayground.sln + run: MSBuild /p:Platform="${{ matrix.platform == 'x86' && 'win32' || matrix.platform}}" /p:Configuration="${{ matrix.config }}" /m BRNPlayground.sln working-directory: ./Apps/BRNPlayground/windows publish-react-native: From 5931a52fc5262159c7b1081d4bfd25a12dbfc6f8 Mon Sep 17 00:00:00 2001 From: Cedric Guillemet <1312968+CedricGuillemet@users.noreply.github.com> Date: Wed, 25 Sep 2024 19:22:19 +0200 Subject: [PATCH 20/78] windows paths --- .github/workflows/pr.yml | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index 22500f192..3f82dcc26 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -154,9 +154,13 @@ jobs: run: npx install-windows-test-app working-directory: ./Apps/BRNPlayground + - name: BabylonNative build directory + run: mkdir @babylonjs/react-native/Build/uwp_${{ matrix.platform }} + working-directory: ./Modules + - name: CMake BabylonNative - run: cmake -G "Visual Studio 16 2019" -B ./Build/uwp_${{ matrix.platform }} -D CMAKE_SYSTEM_NAME=WindowsStore -D CMAKE_SYSTEM_VERSION=10.0.19041.0 -DCMAKE_UNITY_BUILD=true -D CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION_MAXIMUM=10.0.19041.0 -A ${{ matrix.platform == 'x86' && 'win32' || matrix.platform}} ./../react-native-windows/windows - working-directory: ./Modules/@babylonjs/react-native + run: cmake -G "Visual Studio 16 2019" -D CMAKE_SYSTEM_NAME=WindowsStore -D CMAKE_SYSTEM_VERSION=10.0.19041.0 -DCMAKE_UNITY_BUILD=true -D CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION_MAXIMUM=10.0.19041.0 -A ${{ matrix.platform == 'x86' && 'win32' || matrix.platform}} ./../../../react-native-windows/windows + working-directory: ./Modules/@babylonjs/react-native/Build/uwp_${{ matrix.platform }} - name: Nuget restore run: nuget restore BRNPlayground.sln @@ -166,7 +170,7 @@ jobs: run: MSBuild /p:Platform="${{ matrix.platform == 'x86' && 'win32' || matrix.platform}}" /p:Configuration="${{ matrix.config }}" /m ReactNativeBabylon.sln working-directory: ./Modules/@babylonjs/react-native/Build/uwp_${{ matrix.platform }} - - name: Windows build BRN ${{ matrix.config }} + - name: Windows build BRN ${{ matrix.platform }} ${{ matrix.config }} run: MSBuild /p:Platform="${{ matrix.platform == 'x86' && 'win32' || matrix.platform}}" /p:Configuration="${{ matrix.config }}" /m BRNPlayground.sln working-directory: ./Apps/BRNPlayground/windows From d08bdc9726442abf109e1806b86e16a625c09264 Mon Sep 17 00:00:00 2001 From: Cedric Guillemet <1312968+CedricGuillemet@users.noreply.github.com> Date: Wed, 25 Sep 2024 19:38:08 +0200 Subject: [PATCH 21/78] removed windows x86 --- .github/workflows/pr.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index 3f82dcc26..52315e09a 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -116,7 +116,7 @@ jobs: runs-on: windows-2019 strategy: matrix: - platform: [x86, x64, ARM64] + platform: [x64, ARM64] config: [Debug, Release] react-native-version: ['0.73', '0.74'] steps: From 6638b22152363e4d78ae0c4964aec319da1fd52a Mon Sep 17 00:00:00 2001 From: Cedric Guillemet <1312968+CedricGuillemet@users.noreply.github.com> Date: Thu, 26 Sep 2024 10:23:56 +0200 Subject: [PATCH 22/78] refactor ios/android to be more parallel --- .github/workflows/pr.yml | 43 +++++++++++++++++--------------- Package/gulpfile.js | 53 ++++++++++++++++++++++++++++------------ 2 files changed, 61 insertions(+), 35 deletions(-) diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index 52315e09a..241a3051b 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -50,11 +50,12 @@ jobs: # env: # JAVA_HOME: ${{ env.JAVA_HOME_11_X64 }} - build-upload-ios-android-rnta: + build-upload-android-ios-rnta: runs-on: macos-latest strategy: matrix: react-native-version: ['0.73', '0.74'] + platform: ['android', 'ios'] steps: - name: Checkout Repo uses: actions/checkout@v2.3.3 @@ -74,14 +75,9 @@ jobs: - name: NPM Install (BRNPlayground) run: npm install working-directory: ./Apps/BRNPlayground - - - name: Build Bundle iOS - run: npm run build:ios - working-directory: ./Apps/BRNPlayground - - name: Build Bundle Android - run: npm run build:android + - name: Build Bundle ${{ matrix.platform }} + run: npm run build:${{ matrix.platform }} working-directory: ./Apps/BRNPlayground - - name: NPM Install (Binary Package) run: npm install working-directory: ./Package @@ -91,21 +87,21 @@ jobs: distribution: 'temurin' java-version: '17' check-latest: true - - name: Gulp build iOS and Android - run: npx gulp buildRNTA + - name: Gulp build ${{ matrix.platform }} + run: npx gulp buildRNTA${{ matrix.platform }} working-directory: ./Package env: JAVA_HOME: ${{ env.JAVA_HOME_11_X64 }} - - name: Upload Assembled iOS Android Folder + - name: Upload Assembled ${{ matrix.platform }} Folder uses: actions/upload-artifact@v4 with: - name: 'Assembled-iOSAndroid${{ matrix.react-native-version }}' - path: Package/Assembled-iOSAndroid - - name: Upload Assembled iOS Android BaseKit Folder + name: 'Assembled-${{ matrix.platform }}${{ matrix.react-native-version }}' + path: Package/Assembled-${{ matrix.platform }} + - name: Upload Assembled ${{ matrix.platform }} BaseKit Folder uses: actions/upload-artifact@v4 with: - name: 'Assembled-BaseKit-iOSAndroid${{ matrix.react-native-version }}' - path: Package/Assembled-BaseKit-iOSAndroid + name: 'Assembled-BaseKit-${{ matrix.platform }}${{ matrix.react-native-version }}' + path: Package/Assembled-BaseKit-${{ matrix.platform }} build-typescript: uses: ./.github/workflows/typescript.yml @@ -175,7 +171,7 @@ jobs: working-directory: ./Apps/BRNPlayground/windows publish-react-native: - needs: [build-typescript, build-upload-ios-android-rnta] + needs: [build-typescript, build-upload-android-ios-rnta] runs-on: macos-latest strategy: matrix: @@ -202,7 +198,7 @@ jobs: NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} publish-react-native-iosandroid: - needs: [build-typescript, build-upload-ios-android-rnta] + needs: [build-typescript, build-upload-android-ios-rnta] runs-on: macos-latest strategy: matrix: @@ -214,11 +210,18 @@ jobs: - name: NPM Install (Binary Package) run: npm install working-directory: ./Package - - name: Download Assembled${{ matrix.basekit }}-iOSAndroid ${{ matrix.react-native-version }} Folder + - name: Download Assembled${{ matrix.basekit }}-android ${{ matrix.react-native-version }} Folder + uses: actions/download-artifact@v4 + with: + name: 'Assembled${{ matrix.basekit }}-android${{ matrix.react-native-version }}' + path: Package/Assembled + merge-multiple: true + - name: Download Assembled${{ matrix.basekit }}-ios ${{ matrix.react-native-version }} Folder uses: actions/download-artifact@v4 with: - name: 'Assembled${{ matrix.basekit }}-iOSAndroid${{ matrix.react-native-version }}' + name: 'Assembled${{ matrix.basekit }}-ios${{ matrix.react-native-version }}' path: Package/Assembled + merge-multiple: true - name: Display structure of downloaded Assembled and Assembled-Windows folders run: ls -R - name: Version & Publish Package @babylonjs/react-native${{ matrix.basekit }}-iosandroid diff --git a/Package/gulpfile.js b/Package/gulpfile.js index 4e3114eaf..c8a82ac14 100644 --- a/Package/gulpfile.js +++ b/Package/gulpfile.js @@ -436,8 +436,8 @@ const validateAssembled = async () => { checkDirectory(actual, expected, 'Assembled'); } -const validateAssemblediOSAndroid = async () => { - let expectediosandroid = [ +const validateAssembledAndroid = async () => { + let expectedandroid = [ `${assemblediOSAndroidDir}/android`, `${assemblediOSAndroidDir}/android/build.gradle`, `${assemblediOSAndroidDir}/android/include`, @@ -463,6 +463,25 @@ const validateAssemblediOSAndroid = async () => { `${assemblediOSAndroidDir}/android/src/main/jniLibs/x86/libBabylonNative.so`, `${assemblediOSAndroidDir}/android/src/main/jniLibs/x86_64`, `${assemblediOSAndroidDir}/android/src/main/jniLibs/x86_64/libBabylonNative.so`, + ]; + + const versionIndex = process.argv.indexOf('--reactNative'); + if (versionIndex != -1) { + if (process.argv[versionIndex + 1] !== '0.71') { + const expectedandroidNot071 = [ + `${assemblediOSAndroidDir}/android/src/main/jniLibs/arm64-v8a/libturbomodulejsijni.so`, + `${assemblediOSAndroidDir}/android/src/main/jniLibs/armeabi-v7a/libturbomodulejsijni.so`, + `${assemblediOSAndroidDir}/android/src/main/jniLibs/x86/libturbomodulejsijni.so`, + ]; + expectedandroid = expectedandroid.concat(expectedandroidNot071); + } + } + const actualandroid = glob.sync(`${assemblediOSAndroidDir}/**/*`); + checkDirectory(actualandroid, expectedandroid, `${assemblediOSAndroidDir}`); +} + +const validateAssemblediOS = async () => { + let expectedios = [ `${assemblediOSAndroidDir}/ios`, `${assemblediOSAndroidDir}/ios/BabylonModule.mm`, `${assemblediOSAndroidDir}/ios/BabylonNativeInterop.h`, @@ -519,19 +538,8 @@ const validateAssemblediOSAndroid = async () => { `${assemblediOSAndroidDir}/NOTICE.html`, ]; - const versionIndex = process.argv.indexOf('--reactNative'); - if (versionIndex != -1) { - if (process.argv[versionIndex + 1] !== '0.71') { - const expectediosandroidNot071 = [ - `${assemblediOSAndroidDir}/android/src/main/jniLibs/arm64-v8a/libturbomodulejsijni.so`, - `${assemblediOSAndroidDir}/android/src/main/jniLibs/armeabi-v7a/libturbomodulejsijni.so`, - `${assemblediOSAndroidDir}/android/src/main/jniLibs/x86/libturbomodulejsijni.so`, - ]; - expectediosandroid = expectediosandroid.concat(expectediosandroidNot071); - } - } - const actualiosandroid = glob.sync(`${assemblediOSAndroidDir}/**/*`); - checkDirectory(actualiosandroid, expectediosandroid, `${assemblediOSAndroidDir}`); + const actualios = glob.sync(`${assemblediOSAndroidDir}/**/*`); + checkDirectory(actualios, expectedios, `${assemblediOSAndroidDir}`); } const createPackage = async () => { @@ -626,12 +634,23 @@ const patchPackageVersion = async () => { const copyFiles = gulp.parallel(copyIOSAndroidCommonFiles, copyIOSFiles, copyAndroidFiles); +const copyFilesAndroid = gulp.parallel(copyAndroidFiles); +const copyFilesiOS = gulp.parallel(copyIOSAndroidCommonFiles, copyIOSFiles); + const buildTS = gulp.series(patchPackageVersion, copyCommonFiles, copySharedFiles, buildTypeScript, validateAssembled); const buildIOSAndroid = gulp.series(patchPackageVersion, buildIOS, buildAndroid, createIOSUniversalLibs, copyFiles, validateAssemblediOSAndroid); const buildIOSAndroidRNTA = gulp.series(patchPackageVersion, buildIOSRNTA, buildAndroidRNTA, createIOSUniversalLibs, copyFiles, validateAssemblediOSAndroid); const build = gulp.series(buildIOSAndroid, switchToBaseKit, buildIOSAndroid); const buildRNTA = gulp.series(enableRNTA, buildIOSAndroidRNTA, switchToBaseKit, buildIOSAndroidRNTA); + + +const _buildAndroidRNTA = gulp.series(patchPackageVersion, buildAndroidRNTA, copyFilesAndroid, validateAssembledAndroid); +const _buildIOSRNTA = gulp.series(patchPackageVersion, buildIOSRNTA, createIOSUniversalLibs, copyFilesiOS, validateAssemblediOS); + +const buildRNTAandroid = gulp.series(enableRNTA, _buildAndroidRNTA, switchToBaseKit, _buildAndroidRNTA); +const buildRNTAios = gulp.series(enableRNTA, _buildIOSRNTA, switchToBaseKit, _buildIOSRNTA); + const rebuild = gulp.series(clean, build); const pack = gulp.series(rebuild, createPackage); @@ -644,6 +663,10 @@ exports.buildiosRNTA = buildIOSRNTA; // lower case for CI matrix exports.buildAndroid = buildAndroid; exports.buildAndroidRNTA = buildAndroidRNTA; exports.buildandroidRNTA = buildAndroidRNTA; // lower case for CI matrix + +exports.buildRNTAandroid = buildRNTAandroid; +exports.buildRNTAios = buildRNTAios; + exports.createIOSUniversalLibs = createIOSUniversalLibs; exports.copyFiles = copyFiles; From 36d856fc607139fa242c31cf671011757b4bf6f2 Mon Sep 17 00:00:00 2001 From: Cedric Guillemet <1312968+CedricGuillemet@users.noreply.github.com> Date: Thu, 26 Sep 2024 10:37:19 +0200 Subject: [PATCH 23/78] missing validateAssemblediOSAndroid --- Package/gulpfile.js | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/Package/gulpfile.js b/Package/gulpfile.js index c8a82ac14..51d850c3a 100644 --- a/Package/gulpfile.js +++ b/Package/gulpfile.js @@ -542,6 +542,11 @@ const validateAssemblediOS = async () => { checkDirectory(actualios, expectedios, `${assemblediOSAndroidDir}`); } +const validateAssemblediOSAndroid = async() => { + await validateAssembledAndroid(); + await validateAssemblediOS(); +} + const createPackage = async () => { exec('npm pack', 'Assembled'); }; @@ -639,10 +644,8 @@ const copyFilesiOS = gulp.parallel(copyIOSAndroidCommonFiles, copyIOSFiles); const buildTS = gulp.series(patchPackageVersion, copyCommonFiles, copySharedFiles, buildTypeScript, validateAssembled); const buildIOSAndroid = gulp.series(patchPackageVersion, buildIOS, buildAndroid, createIOSUniversalLibs, copyFiles, validateAssemblediOSAndroid); -const buildIOSAndroidRNTA = gulp.series(patchPackageVersion, buildIOSRNTA, buildAndroidRNTA, createIOSUniversalLibs, copyFiles, validateAssemblediOSAndroid); const build = gulp.series(buildIOSAndroid, switchToBaseKit, buildIOSAndroid); -const buildRNTA = gulp.series(enableRNTA, buildIOSAndroidRNTA, switchToBaseKit, buildIOSAndroidRNTA); const _buildAndroidRNTA = gulp.series(patchPackageVersion, buildAndroidRNTA, copyFilesAndroid, validateAssembledAndroid); @@ -658,11 +661,7 @@ exports.validateAssembled = validateAssembled; exports.validateAssemblediOSAndroid = validateAssemblediOSAndroid; exports.buildIOS = buildIOS; -exports.buildIOSRNTA = buildIOSRNTA; -exports.buildiosRNTA = buildIOSRNTA; // lower case for CI matrix exports.buildAndroid = buildAndroid; -exports.buildAndroidRNTA = buildAndroidRNTA; -exports.buildandroidRNTA = buildAndroidRNTA; // lower case for CI matrix exports.buildRNTAandroid = buildRNTAandroid; exports.buildRNTAios = buildRNTAios; @@ -672,7 +671,6 @@ exports.copyFiles = copyFiles; exports.clean = clean; exports.build = build; -exports.buildRNTA = buildRNTA; exports.rebuild = rebuild; exports.pack = pack; From c07cedf71eaa619bba05eb270464cfded82234e3 Mon Sep 17 00:00:00 2001 From: Cedric Guillemet <1312968+CedricGuillemet@users.noreply.github.com> Date: Thu, 26 Sep 2024 11:24:22 +0200 Subject: [PATCH 24/78] missing android files --- .github/workflows/pr.yml | 8 ++++---- Package/gulpfile.js | 7 +++---- 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index 241a3051b..c6ff0bf22 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -50,7 +50,7 @@ jobs: # env: # JAVA_HOME: ${{ env.JAVA_HOME_11_X64 }} - build-upload-android-ios-rnta: + android-ios-rnta: runs-on: macos-latest strategy: matrix: @@ -108,7 +108,7 @@ jobs: with: release-version: 0.0.${GITHUB_SHA::8} - build-windows-rnta: + windows-rnta: runs-on: windows-2019 strategy: matrix: @@ -171,7 +171,7 @@ jobs: working-directory: ./Apps/BRNPlayground/windows publish-react-native: - needs: [build-typescript, build-upload-android-ios-rnta] + needs: [build-typescript, android-ios-rnta] runs-on: macos-latest strategy: matrix: @@ -198,7 +198,7 @@ jobs: NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} publish-react-native-iosandroid: - needs: [build-typescript, build-upload-android-ios-rnta] + needs: [build-typescript, android-ios-rnta] runs-on: macos-latest strategy: matrix: diff --git a/Package/gulpfile.js b/Package/gulpfile.js index 51d850c3a..e86dc75c2 100644 --- a/Package/gulpfile.js +++ b/Package/gulpfile.js @@ -440,8 +440,8 @@ const validateAssembledAndroid = async () => { let expectedandroid = [ `${assemblediOSAndroidDir}/android`, `${assemblediOSAndroidDir}/android/build.gradle`, - `${assemblediOSAndroidDir}/android/include`, - `${assemblediOSAndroidDir}/android/include/IXrContextARCore.h`, + //`${assemblediOSAndroidDir}/android/include`, + //`${assemblediOSAndroidDir}/android/include/IXrContextARCore.h`, WHY? `${assemblediOSAndroidDir}/android/src`, `${assemblediOSAndroidDir}/android/src/main`, `${assemblediOSAndroidDir}/android/src/main/AndroidManifest.xml`, @@ -639,7 +639,6 @@ const patchPackageVersion = async () => { const copyFiles = gulp.parallel(copyIOSAndroidCommonFiles, copyIOSFiles, copyAndroidFiles); -const copyFilesAndroid = gulp.parallel(copyAndroidFiles); const copyFilesiOS = gulp.parallel(copyIOSAndroidCommonFiles, copyIOSFiles); const buildTS = gulp.series(patchPackageVersion, copyCommonFiles, copySharedFiles, buildTypeScript, validateAssembled); @@ -648,7 +647,7 @@ const buildIOSAndroid = gulp.series(patchPackageVersion, buildIOS, buildAndroid, const build = gulp.series(buildIOSAndroid, switchToBaseKit, buildIOSAndroid); -const _buildAndroidRNTA = gulp.series(patchPackageVersion, buildAndroidRNTA, copyFilesAndroid, validateAssembledAndroid); +const _buildAndroidRNTA = gulp.series(patchPackageVersion, buildAndroidRNTA, copyAndroidFiles, validateAssembledAndroid); const _buildIOSRNTA = gulp.series(patchPackageVersion, buildIOSRNTA, createIOSUniversalLibs, copyFilesiOS, validateAssemblediOS); const buildRNTAandroid = gulp.series(enableRNTA, _buildAndroidRNTA, switchToBaseKit, _buildAndroidRNTA); From 8a800c176a5a6c9868584354ea98d3debe11d56b Mon Sep 17 00:00:00 2001 From: Cedric Guillemet <1312968+CedricGuillemet@users.noreply.github.com> Date: Thu, 26 Sep 2024 12:14:13 +0200 Subject: [PATCH 25/78] assembled path --- .github/workflows/pr.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index c6ff0bf22..95a1451f6 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -96,12 +96,12 @@ jobs: uses: actions/upload-artifact@v4 with: name: 'Assembled-${{ matrix.platform }}${{ matrix.react-native-version }}' - path: Package/Assembled-${{ matrix.platform }} + path: Package/Assembled-iOSAndroid - name: Upload Assembled ${{ matrix.platform }} BaseKit Folder uses: actions/upload-artifact@v4 with: name: 'Assembled-BaseKit-${{ matrix.platform }}${{ matrix.react-native-version }}' - path: Package/Assembled-BaseKit-${{ matrix.platform }} + path: Package/Assembled-BaseKit-iOSAndroid build-typescript: uses: ./.github/workflows/typescript.yml From fa1538801980f92673696baa667f5958b13d4305 Mon Sep 17 00:00:00 2001 From: Cedric Guillemet <1312968+CedricGuillemet@users.noreply.github.com> Date: Thu, 26 Sep 2024 12:21:37 +0200 Subject: [PATCH 26/78] test with disabled freespace --- .github/workflows/pr.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index 95a1451f6..d20371fed 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -67,8 +67,8 @@ jobs: run: brew install ninja - name: Setup Watchman run: brew install watchman - - name: Free space - uses: ./.github/workflows/macos_freespace +# - name: Free space +# uses: ./.github/workflows/macos_freespace - name: Set React-Native version ${{ matrix.react-native-version }} run: npm run set-react-version -- ${{ matrix.react-native-version }} working-directory: ./Apps/BRNPlayground From 0bd78c788102f726313f11044c314273d9669e92 Mon Sep 17 00:00:00 2001 From: Cedric Guillemet <1312968+CedricGuillemet@users.noreply.github.com> Date: Thu, 26 Sep 2024 14:26:41 +0200 Subject: [PATCH 27/78] is node 20 needed? --- .github/workflows/pr.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index d20371fed..5fa620cc4 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -112,7 +112,7 @@ jobs: runs-on: windows-2019 strategy: matrix: - platform: [x64, ARM64] + platform: [x86, x64, ARM64] config: [Debug, Release] react-native-version: ['0.73', '0.74'] steps: @@ -124,10 +124,10 @@ jobs: submodules: 'true' - name: Setup MSBuild uses: microsoft/setup-msbuild@v2 -# - name: Setup Node 20 -# uses: actions/setup-node@v3 -# with: -# node-version: 20 + - name: Setup Node 20 + uses: actions/setup-node@v3 + with: + node-version: 20 - name: Install watchman run: choco install watchman working-directory: ./Apps/BRNPlayground From 1a761332ba3199249ef37f498f9bdb4aca173d32 Mon Sep 17 00:00:00 2001 From: Cedric Guillemet <1312968+CedricGuillemet@users.noreply.github.com> Date: Thu, 26 Sep 2024 14:42:06 +0200 Subject: [PATCH 28/78] no node20, node RN version select --- .github/workflows/pr.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index 5fa620cc4..7781334e1 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -124,16 +124,16 @@ jobs: submodules: 'true' - name: Setup MSBuild uses: microsoft/setup-msbuild@v2 - - name: Setup Node 20 - uses: actions/setup-node@v3 - with: - node-version: 20 +# - name: Setup Node 20 +# uses: actions/setup-node@v3 +# with: +# node-version: 20 - name: Install watchman run: choco install watchman working-directory: ./Apps/BRNPlayground - - name: Set React-Native version ${{ matrix.react-native-version }} - run: npm run set-react-version -- ${{ matrix.react-native-version }} - working-directory: ./Apps/BRNPlayground +# - name: Set React-Native version ${{ matrix.react-native-version }} +# run: npm run set-react-version -- ${{ matrix.react-native-version }} +# working-directory: ./Apps/BRNPlayground - name: NPM Install RNTA run: npm install working-directory: ./Apps/BRNPlayground From 5f268ef2ad8c42f86784b37286a9284161e99509 Mon Sep 17 00:00:00 2001 From: Cedric Guillemet <1312968+CedricGuillemet@users.noreply.github.com> Date: Thu, 26 Sep 2024 14:55:44 +0200 Subject: [PATCH 29/78] revert default package.json --- Apps/BRNPlayground/package.json | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/Apps/BRNPlayground/package.json b/Apps/BRNPlayground/package.json index 3c618fe5d..d6daa2d1d 100644 --- a/Apps/BRNPlayground/package.json +++ b/Apps/BRNPlayground/package.json @@ -25,16 +25,18 @@ "@babylonjs/react-native-windows": "file:../../Modules/@babylonjs/react-native-windows", "@react-native-community/slider": "^4.2.2", "react": "18.2.0", - "react-native": "0.71.19", - "react-native-macos": "0.71.36", + "react-native": "0.73.5", + "react-native-macos": "^0.73.0", "react-native-permissions": "^4.1.5", - "react-native-windows": "0.71.47" + "react-native-windows": "^0.73.0" }, "devDependencies": { "@babel/core": "^7.20.0", "@babel/preset-env": "^7.20.0", "@babel/runtime": "^7.20.0", + "@react-native/babel-preset": "0.73.21", "@react-native/eslint-config": "0.73.2", + "@react-native/metro-config": "0.73.4", "@react-native/typescript-config": "0.73.1", "@rnx-kit/metro-config": "^1.3.14", "@types/react": "^18.2.6", @@ -46,11 +48,7 @@ "prettier": "2.8.8", "react-native-test-app": "^3.10.3", "react-test-renderer": "18.2.0", - "typescript": "5.0.4", - "@react-native-community/cli": "10.2.7", - "@react-native-community/cli-platform-android": "10.2.0", - "@react-native-community/cli-platform-ios": "10.2.5", - "metro-react-native-babel-preset": "0.73.10" + "typescript": "5.0.4" }, "engines": { "node": ">=18" From d9e93f334f9ebeaff9c3c8891c80f4d393b37521 Mon Sep 17 00:00:00 2001 From: Cedric Guillemet <1312968+CedricGuillemet@users.noreply.github.com> Date: Thu, 26 Sep 2024 16:41:28 +0200 Subject: [PATCH 30/78] windows successful build repro --- .github/workflows/pr.yml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index 7781334e1..cba480766 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -112,9 +112,9 @@ jobs: runs-on: windows-2019 strategy: matrix: - platform: [x86, x64, ARM64] - config: [Debug, Release] - react-native-version: ['0.73', '0.74'] + platform: [x64] #[x86, x64, ARM64] + config: [Release] #[Debug, Release] + react-native-version: ['0.73'] #['0.73', '0.74'] steps: - name: Support longpaths run: git config --system core.longpaths true @@ -123,11 +123,11 @@ jobs: with: submodules: 'true' - name: Setup MSBuild - uses: microsoft/setup-msbuild@v2 -# - name: Setup Node 20 -# uses: actions/setup-node@v3 -# with: -# node-version: 20 + uses: microsoft/setup-msbuild@v1.0.2 + - name: Setup Node 20 + uses: actions/setup-node@v3 + with: + node-version: 20 - name: Install watchman run: choco install watchman working-directory: ./Apps/BRNPlayground From b251ae7b58eef2e0b20d6f6f6b1b9c3b72a33367 Mon Sep 17 00:00:00 2001 From: Cedric Guillemet <1312968+CedricGuillemet@users.noreply.github.com> Date: Thu, 26 Sep 2024 16:57:28 +0200 Subject: [PATCH 31/78] msbuild action --- .github/workflows/pr.yml | 240 +++++++++++++++++++-------------------- 1 file changed, 120 insertions(+), 120 deletions(-) diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index cba480766..b718b73f7 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -50,70 +50,70 @@ jobs: # env: # JAVA_HOME: ${{ env.JAVA_HOME_11_X64 }} - android-ios-rnta: - runs-on: macos-latest - strategy: - matrix: - react-native-version: ['0.73', '0.74'] - platform: ['android', 'ios'] - steps: - - name: Checkout Repo - uses: actions/checkout@v2.3.3 - - name: Setup CMake - uses: jwlawson/actions-setup-cmake@v1.8 - with: - cmake-version: '3.26.3' - - name: Setup Ninja - run: brew install ninja - - name: Setup Watchman - run: brew install watchman -# - name: Free space -# uses: ./.github/workflows/macos_freespace - - name: Set React-Native version ${{ matrix.react-native-version }} - run: npm run set-react-version -- ${{ matrix.react-native-version }} - working-directory: ./Apps/BRNPlayground - - name: NPM Install (BRNPlayground) - run: npm install - working-directory: ./Apps/BRNPlayground - - name: Build Bundle ${{ matrix.platform }} - run: npm run build:${{ matrix.platform }} - working-directory: ./Apps/BRNPlayground - - name: NPM Install (Binary Package) - run: npm install - working-directory: ./Package - - name: Setup Java - uses: actions/setup-java@v3 - with: - distribution: 'temurin' - java-version: '17' - check-latest: true - - name: Gulp build ${{ matrix.platform }} - run: npx gulp buildRNTA${{ matrix.platform }} - working-directory: ./Package - env: - JAVA_HOME: ${{ env.JAVA_HOME_11_X64 }} - - name: Upload Assembled ${{ matrix.platform }} Folder - uses: actions/upload-artifact@v4 - with: - name: 'Assembled-${{ matrix.platform }}${{ matrix.react-native-version }}' - path: Package/Assembled-iOSAndroid - - name: Upload Assembled ${{ matrix.platform }} BaseKit Folder - uses: actions/upload-artifact@v4 - with: - name: 'Assembled-BaseKit-${{ matrix.platform }}${{ matrix.react-native-version }}' - path: Package/Assembled-BaseKit-iOSAndroid - - build-typescript: - uses: ./.github/workflows/typescript.yml - with: - release-version: 0.0.${GITHUB_SHA::8} +# android-ios-rnta: +# runs-on: macos-latest +# strategy: +# matrix: +# react-native-version: ['0.73', '0.74'] +# platform: ['android', 'ios'] +# steps: +# - name: Checkout Repo +# uses: actions/checkout@v2.3.3 +# - name: Setup CMake +# uses: jwlawson/actions-setup-cmake@v1.8 +# with: +# cmake-version: '3.26.3' +# - name: Setup Ninja +# run: brew install ninja +# - name: Setup Watchman +# run: brew install watchman +## - name: Free space +## uses: ./.github/workflows/macos_freespace +# - name: Set React-Native version ${{ matrix.react-native-version }} +# run: npm run set-react-version -- ${{ matrix.react-native-version }} +# working-directory: ./Apps/BRNPlayground +# - name: NPM Install (BRNPlayground) +# run: npm install +# working-directory: ./Apps/BRNPlayground +# - name: Build Bundle ${{ matrix.platform }} +# run: npm run build:${{ matrix.platform }} +# working-directory: ./Apps/BRNPlayground +# - name: NPM Install (Binary Package) +# run: npm install +# working-directory: ./Package +# - name: Setup Java +# uses: actions/setup-java@v3 +# with: +# distribution: 'temurin' +# java-version: '17' +# check-latest: true +# - name: Gulp build ${{ matrix.platform }} +# run: npx gulp buildRNTA${{ matrix.platform }} +# working-directory: ./Package +# env: +# JAVA_HOME: ${{ env.JAVA_HOME_11_X64 }} +# - name: Upload Assembled ${{ matrix.platform }} Folder +# uses: actions/upload-artifact@v4 +# with: +# name: 'Assembled-${{ matrix.platform }}${{ matrix.react-native-version }}' +# path: Package/Assembled-iOSAndroid +# - name: Upload Assembled ${{ matrix.platform }} BaseKit Folder +# uses: actions/upload-artifact@v4 +# with: +# name: 'Assembled-BaseKit-${{ matrix.platform }}${{ matrix.react-native-version }}' +# path: Package/Assembled-BaseKit-iOSAndroid +# +# build-typescript: +# uses: ./.github/workflows/typescript.yml +# with: +# release-version: 0.0.${GITHUB_SHA::8} windows-rnta: runs-on: windows-2019 strategy: matrix: - platform: [x64] #[x86, x64, ARM64] - config: [Release] #[Debug, Release] + platform: [x86, x64, ARM64] + config: [Debug, Release] react-native-version: ['0.73'] #['0.73', '0.74'] steps: - name: Support longpaths @@ -170,64 +170,64 @@ jobs: run: MSBuild /p:Platform="${{ matrix.platform == 'x86' && 'win32' || matrix.platform}}" /p:Configuration="${{ matrix.config }}" /m BRNPlayground.sln working-directory: ./Apps/BRNPlayground/windows - publish-react-native: - needs: [build-typescript, android-ios-rnta] - runs-on: macos-latest - strategy: - matrix: - react-native-version: ['0.73', '0.74'] - steps: - - name: Checkout Repo - uses: actions/checkout@v2.3.3 - - name: NPM Install (Binary Package) - run: npm install - working-directory: ./Package - - name: Download Assembled Folder - uses: actions/download-artifact@v4 - with: - name: 'Assembled' - path: Package/Assembled - - name: Display structure of downloaded Assembled and Assembled-Windows folders - run: ls -R - - name: Version & Publish Package @babylonjs/react-native - run: | - npm version --no-git-tag-version 10.0.0 - npm publish --access public --dry-run - working-directory: ./Package/Assembled - env: - NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} - - publish-react-native-iosandroid: - needs: [build-typescript, android-ios-rnta] - runs-on: macos-latest - strategy: - matrix: - react-native-version: ['0.73', '0.74'] - basekit: ['', '-BaseKit'] - steps: - - name: Checkout Repo - uses: actions/checkout@v2.3.3 - - name: NPM Install (Binary Package) - run: npm install - working-directory: ./Package - - name: Download Assembled${{ matrix.basekit }}-android ${{ matrix.react-native-version }} Folder - uses: actions/download-artifact@v4 - with: - name: 'Assembled${{ matrix.basekit }}-android${{ matrix.react-native-version }}' - path: Package/Assembled - merge-multiple: true - - name: Download Assembled${{ matrix.basekit }}-ios ${{ matrix.react-native-version }} Folder - uses: actions/download-artifact@v4 - with: - name: 'Assembled${{ matrix.basekit }}-ios${{ matrix.react-native-version }}' - path: Package/Assembled - merge-multiple: true - - name: Display structure of downloaded Assembled and Assembled-Windows folders - run: ls -R - - name: Version & Publish Package @babylonjs/react-native${{ matrix.basekit }}-iosandroid - run: | - npm version --no-git-tag-version 10.0.0 - npm publish --access public --dry-run - working-directory: ./Package/Assembled - env: - NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} \ No newline at end of file +# publish-react-native: +# needs: [build-typescript, android-ios-rnta] +# runs-on: macos-latest +# strategy: +# matrix: +# react-native-version: ['0.73', '0.74'] +# steps: +# - name: Checkout Repo +# uses: actions/checkout@v2.3.3 +# - name: NPM Install (Binary Package) +# run: npm install +# working-directory: ./Package +# - name: Download Assembled Folder +# uses: actions/download-artifact@v4 +# with: +# name: 'Assembled' +# path: Package/Assembled +# - name: Display structure of downloaded Assembled and Assembled-Windows folders +# run: ls -R +# - name: Version & Publish Package @babylonjs/react-native +# run: | +# npm version --no-git-tag-version 10.0.0 +# npm publish --access public --dry-run +# working-directory: ./Package/Assembled +# env: +# NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} +# +# publish-react-native-iosandroid: +# needs: [build-typescript, android-ios-rnta] +# runs-on: macos-latest +# strategy: +# matrix: +# react-native-version: ['0.73', '0.74'] +# basekit: ['', '-BaseKit'] +# steps: +# - name: Checkout Repo +# uses: actions/checkout@v2.3.3 +# - name: NPM Install (Binary Package) +# run: npm install +# working-directory: ./Package +# - name: Download Assembled${{ matrix.basekit }}-android ${{ matrix.react-native-version }} Folder +# uses: actions/download-artifact@v4 +# with: +# name: 'Assembled${{ matrix.basekit }}-android${{ matrix.react-native-version }}' +# path: Package/Assembled +# merge-multiple: true +# - name: Download Assembled${{ matrix.basekit }}-ios ${{ matrix.react-native-version }} Folder +# uses: actions/download-artifact@v4 +# with: +# name: 'Assembled${{ matrix.basekit }}-ios${{ matrix.react-native-version }}' +# path: Package/Assembled +# merge-multiple: true +# - name: Display structure of downloaded Assembled and Assembled-Windows folders +# run: ls -R +# - name: Version & Publish Package @babylonjs/react-native${{ matrix.basekit }}-iosandroid +# run: | +# npm version --no-git-tag-version 10.0.0 +# npm publish --access public --dry-run +# working-directory: ./Package/Assembled +# env: +# NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} \ No newline at end of file From 0aa93e4a5de6ce5793b40d866357778c16871cb5 Mon Sep 17 00:00:00 2001 From: Cedric Guillemet <1312968+CedricGuillemet@users.noreply.github.com> Date: Thu, 26 Sep 2024 17:10:15 +0200 Subject: [PATCH 32/78] removed x86 --- .github/workflows/pr.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index b718b73f7..413efede7 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -112,7 +112,7 @@ jobs: runs-on: windows-2019 strategy: matrix: - platform: [x86, x64, ARM64] + platform: [x64, ARM64] config: [Debug, Release] react-native-version: ['0.73'] #['0.73', '0.74'] steps: From dae9b8f42a08056088b6e13fd4e821628e9f7b1b Mon Sep 17 00:00:00 2001 From: Cedric Guillemet <1312968+CedricGuillemet@users.noreply.github.com> Date: Thu, 26 Sep 2024 17:27:28 +0200 Subject: [PATCH 33/78] RN variations --- .github/workflows/pr.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index 413efede7..664828937 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -114,7 +114,7 @@ jobs: matrix: platform: [x64, ARM64] config: [Debug, Release] - react-native-version: ['0.73'] #['0.73', '0.74'] + react-native-version: ['0.73', '0.74'] steps: - name: Support longpaths run: git config --system core.longpaths true @@ -131,9 +131,9 @@ jobs: - name: Install watchman run: choco install watchman working-directory: ./Apps/BRNPlayground -# - name: Set React-Native version ${{ matrix.react-native-version }} -# run: npm run set-react-version -- ${{ matrix.react-native-version }} -# working-directory: ./Apps/BRNPlayground + - name: Set React-Native version ${{ matrix.react-native-version }} + run: npm run set-react-version -- ${{ matrix.react-native-version }} + working-directory: ./Apps/BRNPlayground - name: NPM Install RNTA run: npm install working-directory: ./Apps/BRNPlayground From a0f8e283033ed7a5d96538d288d5b35603d5d8dc Mon Sep 17 00:00:00 2001 From: Cedric Guillemet <1312968+CedricGuillemet@users.noreply.github.com> Date: Thu, 26 Sep 2024 17:39:53 +0200 Subject: [PATCH 34/78] issue with windows patch --- .github/workflows/pr.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index 664828937..cb8e3dc49 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -114,7 +114,7 @@ jobs: matrix: platform: [x64, ARM64] config: [Debug, Release] - react-native-version: ['0.73', '0.74'] + react-native-version: [''] #['0.73', '0.74'] steps: - name: Support longpaths run: git config --system core.longpaths true @@ -131,9 +131,9 @@ jobs: - name: Install watchman run: choco install watchman working-directory: ./Apps/BRNPlayground - - name: Set React-Native version ${{ matrix.react-native-version }} - run: npm run set-react-version -- ${{ matrix.react-native-version }} - working-directory: ./Apps/BRNPlayground +# - name: Set React-Native version ${{ matrix.react-native-version }} +# run: npm run set-react-version -- ${{ matrix.react-native-version }} +# working-directory: ./Apps/BRNPlayground - name: NPM Install RNTA run: npm install working-directory: ./Apps/BRNPlayground From dd380b8ceee7a7badd689d4f47ff48b35afd95bf Mon Sep 17 00:00:00 2001 From: Cedric Guillemet <1312968+CedricGuillemet@users.noreply.github.com> Date: Thu, 26 Sep 2024 19:50:33 +0200 Subject: [PATCH 35/78] copy windows files --- .github/workflows/pr.yml | 16 ++++++++-- Package/gulpfile.js | 63 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 76 insertions(+), 3 deletions(-) diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index cb8e3dc49..f3ee2eab1 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -114,7 +114,8 @@ jobs: matrix: platform: [x64, ARM64] config: [Debug, Release] - react-native-version: [''] #['0.73', '0.74'] + react-native-version: ['0.73', '0.74'] + basekit: ['', 'BaseKit'] steps: - name: Support longpaths run: git config --system core.longpaths true @@ -155,7 +156,7 @@ jobs: working-directory: ./Modules - name: CMake BabylonNative - run: cmake -G "Visual Studio 16 2019" -D CMAKE_SYSTEM_NAME=WindowsStore -D CMAKE_SYSTEM_VERSION=10.0.19041.0 -DCMAKE_UNITY_BUILD=true -D CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION_MAXIMUM=10.0.19041.0 -A ${{ matrix.platform == 'x86' && 'win32' || matrix.platform}} ./../../../react-native-windows/windows + run: cmake -G "Visual Studio 16 2019" -D CMAKE_SYSTEM_NAME=WindowsStore -D CMAKE_SYSTEM_VERSION=10.0.19041.0 -DCMAKE_UNITY_BUILD=true -D CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION_MAXIMUM=10.0.19041.0 -A ${{ matrix.platform == 'x86' && 'win32' || matrix.platform}} -D ${{ matrix.basekit == 'BaseKit' && '-DBASEKIT_BUILD=1' || matrix.basekit}} ./../../../react-native-windows/windows working-directory: ./Modules/@babylonjs/react-native/Build/uwp_${{ matrix.platform }} - name: Nuget restore @@ -170,6 +171,15 @@ jobs: run: MSBuild /p:Platform="${{ matrix.platform == 'x86' && 'win32' || matrix.platform}}" /p:Configuration="${{ matrix.config }}" /m BRNPlayground.sln working-directory: ./Apps/BRNPlayground/windows + - name: Gulp build ${{ matrix.platform }} + run: npx gulp package${{ matrix.platform }}${{ matrix.config }}${{ matrix.basekit }}RNTA + working-directory: ./Package + - name: Upload Assembled ${{ matrix.platform }} Folder + uses: actions/upload-artifact@v4 + with: + name: 'Assembled-${{ matrix.basekit }}-Windows${{ matrix.react-native-version }}' + path: Package/Assembled-${{ matrix.basekit }}-Windows${{ matrix.react-native-version }} + # publish-react-native: # needs: [build-typescript, android-ios-rnta] # runs-on: macos-latest @@ -197,7 +207,7 @@ jobs: # env: # NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} # -# publish-react-native-iosandroid: +# publish-android-ios: # needs: [build-typescript, android-ios-rnta] # runs-on: macos-latest # strategy: diff --git a/Package/gulpfile.js b/Package/gulpfile.js index e86dc75c2..cbf83c381 100644 --- a/Package/gulpfile.js +++ b/Package/gulpfile.js @@ -362,6 +362,38 @@ const copyOpenXRHelperHeaders = () => { .pipe(gulp.dest(`${assembledWindowsDir}/windows/include`)); } +const copyx64DebugRNTAFiles = gulp.series( + createUWPDirectories, + gulp.parallel( + copyCommonFilesUWP, + copyx64DebugUWPFiles, + copyVCXProjUWPFiles, + copyOpenXRInfoFiles, + copyOpenXRPreviewHeaders, + copyOpenXRUtilityHeaders, + copyOpenXRHelperHeaders)); + +const copyx64DebugBaseKitRNTAFiles = gulp.series( + createUWPDirectories, + gulp.parallel( + copyCommonFilesUWP, + copyx64DebugUWPFiles, + copyVCXProjUWPFiles)); + +const copyx64ReleaseRNTAFiles = gulp.series(createUWPDirectories, copyx64ReleaseUWPFiles); +const copyx64ReleaseBaseKitRNTAFiles = gulp.series(createUWPDirectories, copyx64ReleaseUWPFiles); + + +const copyARM64DebugRNTAFiles = gulp.series(createUWPDirectories, copyARM64DebugUWPFiles); +const copyARM64DebugBaseKitRNTAFiles = gulp.series(createUWPDirectories, copyARM64DebugUWPFiles); +const copyARM64ReleaseRNTAFiles = gulp.series(createUWPDirectories, copyARM64ReleaseUWPFiles); +const copyARM64ReleaseBaseKitRNTAFiles = gulp.series(createUWPDirectories, copyARM64DebugUWPFiles); + +const copyx86DebugRNTAFiles = gulp.series(createUWPDirectories, copyx86DebugUWPFiles); +const copyx86DebugBaseKitRNTAFiles = gulp.series(createUWPDirectories, copyx86DebugUWPFiles); +const copyx86ReleaseRNTAFiles = gulp.series(createUWPDirectories, copyx86ReleaseUWPFiles); +const copyx86ReleaseBaseKitRNTAFiles = gulp.series(createUWPDirectories, copyx86DebugUWPFiles); + const copyUWPFiles = gulp.series( createUWPDirectories, basekitBuild ? @@ -681,6 +713,36 @@ const buildUWPPublish = gulp.series(patchPackageVersion, buildUWP, copyPackageFi const packUWP = gulp.series(clean, buildUWP, copyPackageFilesUWP, createPackage, createPackageUWP); const packUWPNoBuild = gulp.series(clean, copyPackageFilesUWP, createPackage, createPackageUWP); +const packagex86DebugRNTA = gulp.series(patchPackageVersion, copyx86DebugRNTAFiles); +const packagex86DebugBaseKitRNTA = gulp.series(patchPackageVersion, copyx86DebugBaseKitRNTAFiles); +const packagex86ReleaseRNTA = gulp.series(patchPackageVersion, copyx86ReleaseRNTAFiles); +const packagex86ReleaseBaseKitRNTA = gulp.series(patchPackageVersion, copyx86ReleaseBaseKitRNTAFiles); + +const packagex64DebugRNTA = gulp.series(patchPackageVersion, copyx64DebugRNTAFiles); +const packagex64DebugBaseKitRNTA = gulp.series(patchPackageVersion, copyx64DebugBaseKitRNTAFiles); +const packagex64ReleaseRNTA = gulp.series(patchPackageVersion, copyx64ReleaseRNTAFiles); +const packagex64ReleaseBaseKitRNTA = gulp.series(patchPackageVersion, copyx64ReleaseBaseKitRNTAFiles); + +const packageARM64DebugRNTA = gulp.series(patchPackageVersion, copyARM64DebugRNTAFiles); +const packageARM64DebugBaseKitRNTA = gulp.series(patchPackageVersion, copyARM64DebugBaseKitRNTAFiles); +const packageARM64ReleaseRNTA = gulp.series(patchPackageVersion, copyARM64ReleaseRNTAFiles); +const packageARM64ReleaseBaseKitRNTA = gulp.series(patchPackageVersion, copyARM64ReleaseBaseKitRNTAFiles); + +exports.packagex86DebugRNTA = packagex86DebugRNTA; +exports.packagex86DebugBaseKitRNTA = packagex86DebugBaseKitRNTA; +exports.packagex86ReleaseRNTA = packagex86ReleaseRNTA; +exports.packagex86ReleaseBaseKitRNTA = packagex86ReleaseBaseKitRNTA; + +exports.packagex64DebugRNTA = packagex64DebugRNTA; +exports.packagex64DebugBaseKitRNTA = packagex64DebugBaseKitRNTA; +exports.packagex64ReleaseRNTA = packagex64ReleaseRNTA; +exports.packagex64ReleaseBaseKitRNTA = packagex64ReleaseBaseKitRNTA; + +exports.packageARM64DebugRNTA = packageARM64DebugRNTA; +exports.packageARM64DebugBaseKitRNTA = packageARM64DebugBaseKitRNTA; +exports.packageARM64ReleaseRNTA = packageARM64ReleaseRNTA; +exports.packageARM64ReleaseBaseKitRNTA = packageARM64ReleaseBaseKitRNTA; + exports.buildTS = buildTS; exports.makeUWPProjectx86 = makeUWPProjectx86; exports.makeUWPProjectx64 = makeUWPProjectx64; @@ -703,6 +765,7 @@ exports.buildUWPPlaygroundx64Release = buildUWPPlaygroundx64Release; exports.buildUWPPlaygroundARM64Debug = buildUWPPlaygroundARM64Debug; exports.buildUWPPlaygroundARM64Release = buildUWPPlaygroundARM64Release; exports.buildUWPPlayground = buildUWPPlayground; +exports.packageUWPRNTA = packageUWPRNTA; exports.buildUWP = buildUWP; exports.buildUWPPublish = buildUWPPublish; From 586d24b6ab1c7a14db8841d59abaebdaa23f746d Mon Sep 17 00:00:00 2001 From: Cedric Guillemet <1312968+CedricGuillemet@users.noreply.github.com> Date: Thu, 26 Sep 2024 19:55:14 +0200 Subject: [PATCH 36/78] windows cmake parameters --- .github/workflows/pr.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index f3ee2eab1..3f2f945b0 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -156,7 +156,7 @@ jobs: working-directory: ./Modules - name: CMake BabylonNative - run: cmake -G "Visual Studio 16 2019" -D CMAKE_SYSTEM_NAME=WindowsStore -D CMAKE_SYSTEM_VERSION=10.0.19041.0 -DCMAKE_UNITY_BUILD=true -D CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION_MAXIMUM=10.0.19041.0 -A ${{ matrix.platform == 'x86' && 'win32' || matrix.platform}} -D ${{ matrix.basekit == 'BaseKit' && '-DBASEKIT_BUILD=1' || matrix.basekit}} ./../../../react-native-windows/windows + run: cmake -G "Visual Studio 16 2019" -D CMAKE_SYSTEM_NAME=WindowsStore -D CMAKE_SYSTEM_VERSION=10.0.19041.0 -DCMAKE_UNITY_BUILD=true -D CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION_MAXIMUM=10.0.19041.0 -A ${{ matrix.platform == 'x86' && 'win32' || matrix.platform}} ${{ matrix.basekit == 'BaseKit' && '-DBASEKIT_BUILD=1' || matrix.basekit}} ./../../../react-native-windows/windows working-directory: ./Modules/@babylonjs/react-native/Build/uwp_${{ matrix.platform }} - name: Nuget restore From f13072316343c034b8bd814d2ec5c0c2ae768c17 Mon Sep 17 00:00:00 2001 From: Cedric Guillemet <1312968+CedricGuillemet@users.noreply.github.com> Date: Thu, 26 Sep 2024 20:24:25 +0200 Subject: [PATCH 37/78] Update pr.yml --- .github/workflows/pr.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index 3f2f945b0..91f23e72f 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -115,7 +115,7 @@ jobs: platform: [x64, ARM64] config: [Debug, Release] react-native-version: ['0.73', '0.74'] - basekit: ['', 'BaseKit'] + basekit: [''] #['', 'BaseKit'] steps: - name: Support longpaths run: git config --system core.longpaths true @@ -240,4 +240,4 @@ jobs: # npm publish --access public --dry-run # working-directory: ./Package/Assembled # env: -# NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} \ No newline at end of file +# NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} From f374b8792adaf2021fe43d1dcf5c7488e8398595 Mon Sep 17 00:00:00 2001 From: Cedric Guillemet <1312968+CedricGuillemet@users.noreply.github.com> Date: Thu, 26 Sep 2024 20:48:07 +0200 Subject: [PATCH 38/78] Update gulpfile.js --- Package/gulpfile.js | 1 - 1 file changed, 1 deletion(-) diff --git a/Package/gulpfile.js b/Package/gulpfile.js index cbf83c381..116a28e46 100644 --- a/Package/gulpfile.js +++ b/Package/gulpfile.js @@ -765,7 +765,6 @@ exports.buildUWPPlaygroundx64Release = buildUWPPlaygroundx64Release; exports.buildUWPPlaygroundARM64Debug = buildUWPPlaygroundARM64Debug; exports.buildUWPPlaygroundARM64Release = buildUWPPlaygroundARM64Release; exports.buildUWPPlayground = buildUWPPlayground; -exports.packageUWPRNTA = packageUWPRNTA; exports.buildUWP = buildUWP; exports.buildUWPPublish = buildUWPPublish; From 448ff38b0d43ef978ab031418024fa0234b9f524 Mon Sep 17 00:00:00 2001 From: Cedric Guillemet <1312968+CedricGuillemet@users.noreply.github.com> Date: Fri, 27 Sep 2024 10:43:43 +0200 Subject: [PATCH 39/78] windows assembly, ios/android artifacts --- .github/workflows/pr.yml | 307 +++++++++++++++++++++++---------------- 1 file changed, 185 insertions(+), 122 deletions(-) diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index 3f2f945b0..8646af038 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -50,63 +50,76 @@ jobs: # env: # JAVA_HOME: ${{ env.JAVA_HOME_11_X64 }} -# android-ios-rnta: -# runs-on: macos-latest -# strategy: -# matrix: -# react-native-version: ['0.73', '0.74'] -# platform: ['android', 'ios'] -# steps: -# - name: Checkout Repo -# uses: actions/checkout@v2.3.3 -# - name: Setup CMake -# uses: jwlawson/actions-setup-cmake@v1.8 -# with: -# cmake-version: '3.26.3' -# - name: Setup Ninja -# run: brew install ninja -# - name: Setup Watchman -# run: brew install watchman -## - name: Free space -## uses: ./.github/workflows/macos_freespace -# - name: Set React-Native version ${{ matrix.react-native-version }} -# run: npm run set-react-version -- ${{ matrix.react-native-version }} -# working-directory: ./Apps/BRNPlayground -# - name: NPM Install (BRNPlayground) -# run: npm install -# working-directory: ./Apps/BRNPlayground -# - name: Build Bundle ${{ matrix.platform }} -# run: npm run build:${{ matrix.platform }} -# working-directory: ./Apps/BRNPlayground -# - name: NPM Install (Binary Package) -# run: npm install -# working-directory: ./Package -# - name: Setup Java -# uses: actions/setup-java@v3 -# with: -# distribution: 'temurin' -# java-version: '17' -# check-latest: true -# - name: Gulp build ${{ matrix.platform }} -# run: npx gulp buildRNTA${{ matrix.platform }} -# working-directory: ./Package -# env: -# JAVA_HOME: ${{ env.JAVA_HOME_11_X64 }} -# - name: Upload Assembled ${{ matrix.platform }} Folder -# uses: actions/upload-artifact@v4 -# with: -# name: 'Assembled-${{ matrix.platform }}${{ matrix.react-native-version }}' -# path: Package/Assembled-iOSAndroid -# - name: Upload Assembled ${{ matrix.platform }} BaseKit Folder -# uses: actions/upload-artifact@v4 -# with: -# name: 'Assembled-BaseKit-${{ matrix.platform }}${{ matrix.react-native-version }}' -# path: Package/Assembled-BaseKit-iOSAndroid -# -# build-typescript: -# uses: ./.github/workflows/typescript.yml -# with: -# release-version: 0.0.${GITHUB_SHA::8} + android-ios-rnta: + runs-on: macos-latest + strategy: + matrix: + react-native-version: ['0.73', '0.74'] + platform: ['android', 'ios'] + steps: + - name: Checkout Repo + uses: actions/checkout@v2.3.3 + - name: Setup CMake + uses: jwlawson/actions-setup-cmake@v1.8 + with: + cmake-version: '3.26.3' + - name: Setup Ninja + run: brew install ninja + - name: Setup Watchman + run: brew install watchman +# - name: Free space +# uses: ./.github/workflows/macos_freespace + - name: Set React-Native version ${{ matrix.react-native-version }} + run: npm run set-react-version -- ${{ matrix.react-native-version }} + working-directory: ./Apps/BRNPlayground + - name: NPM Install (BRNPlayground) + run: npm install + working-directory: ./Apps/BRNPlayground + - name: Build Bundle ${{ matrix.platform }} + run: npm run build:${{ matrix.platform }} + working-directory: ./Apps/BRNPlayground + - name: NPM Install (Binary Package) + run: npm install + working-directory: ./Package + - name: Setup Java + uses: actions/setup-java@v3 + with: + distribution: 'temurin' + java-version: '17' + check-latest: true + - name: Gulp build ${{ matrix.platform }} + run: npx gulp buildRNTA${{ matrix.platform }} + working-directory: ./Package + env: + JAVA_HOME: ${{ env.JAVA_HOME_11_X64 }} + - name: Upload Assembled ${{ matrix.platform }} Folder + uses: actions/upload-artifact@v4 + with: + name: 'Assembled-${{ matrix.platform }}${{ matrix.react-native-version }}' + path: Package/Assembled-iOSAndroid + - name: Upload Assembled ${{ matrix.platform }} BaseKit Folder + uses: actions/upload-artifact@v4 + with: + name: 'Assembled-BaseKit-${{ matrix.platform }}${{ matrix.react-native-version }}' + path: Package/Assembled-BaseKit-iOSAndroid + + - name: Upload APK + uses: actions/upload-artifact@v4 + if: ${{ matrix.platform == 'android' }} + with: + name: 'AndroidAPK' + path: Apps/BRNPlayground/android/app/build/outputs/apk/release/app-release.apk + - name: Upload iOS App + uses: actions/upload-artifact@v4 + if: ${{ matrix.platform == 'ios' }} + with: + name: 'iOSApp' + path: Apps/BRNPlayground/ios/playgroundSimulator.xcarchive + + build-typescript: + uses: ./.github/workflows/typescript.yml + with: + release-version: 0.0.${GITHUB_SHA::8} windows-rnta: runs-on: windows-2019 @@ -115,7 +128,7 @@ jobs: platform: [x64, ARM64] config: [Debug, Release] react-native-version: ['0.73', '0.74'] - basekit: ['', 'BaseKit'] + basekit: ['', '-BaseKit'] steps: - name: Support longpaths run: git config --system core.longpaths true @@ -172,72 +185,122 @@ jobs: working-directory: ./Apps/BRNPlayground/windows - name: Gulp build ${{ matrix.platform }} - run: npx gulp package${{ matrix.platform }}${{ matrix.config }}${{ matrix.basekit }}RNTA + run: npx gulp package${{ matrix.platform }}${{ matrix.config }}${{ matrix.basekit == '-BaseKit' && 'BaseKit' || matrix.basekit}}RNTA working-directory: ./Package - name: Upload Assembled ${{ matrix.platform }} Folder uses: actions/upload-artifact@v4 with: - name: 'Assembled-${{ matrix.basekit }}-Windows${{ matrix.react-native-version }}' - path: Package/Assembled-${{ matrix.basekit }}-Windows${{ matrix.react-native-version }} + name: 'Assembled${{ matrix.basekit }}-Windows${{ matrix.react-native-version }}-${{ matrix.platform }}${{ matrix.config }}' + path: Package/Assembled${{ matrix.basekit }}-Windows${{ matrix.react-native-version }} -# publish-react-native: -# needs: [build-typescript, android-ios-rnta] -# runs-on: macos-latest -# strategy: -# matrix: -# react-native-version: ['0.73', '0.74'] -# steps: -# - name: Checkout Repo -# uses: actions/checkout@v2.3.3 -# - name: NPM Install (Binary Package) -# run: npm install -# working-directory: ./Package -# - name: Download Assembled Folder -# uses: actions/download-artifact@v4 -# with: -# name: 'Assembled' -# path: Package/Assembled -# - name: Display structure of downloaded Assembled and Assembled-Windows folders -# run: ls -R -# - name: Version & Publish Package @babylonjs/react-native -# run: | -# npm version --no-git-tag-version 10.0.0 -# npm publish --access public --dry-run -# working-directory: ./Package/Assembled -# env: -# NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} -# -# publish-android-ios: -# needs: [build-typescript, android-ios-rnta] -# runs-on: macos-latest -# strategy: -# matrix: -# react-native-version: ['0.73', '0.74'] -# basekit: ['', '-BaseKit'] -# steps: -# - name: Checkout Repo -# uses: actions/checkout@v2.3.3 -# - name: NPM Install (Binary Package) -# run: npm install -# working-directory: ./Package -# - name: Download Assembled${{ matrix.basekit }}-android ${{ matrix.react-native-version }} Folder -# uses: actions/download-artifact@v4 -# with: -# name: 'Assembled${{ matrix.basekit }}-android${{ matrix.react-native-version }}' -# path: Package/Assembled -# merge-multiple: true -# - name: Download Assembled${{ matrix.basekit }}-ios ${{ matrix.react-native-version }} Folder -# uses: actions/download-artifact@v4 -# with: -# name: 'Assembled${{ matrix.basekit }}-ios${{ matrix.react-native-version }}' -# path: Package/Assembled -# merge-multiple: true -# - name: Display structure of downloaded Assembled and Assembled-Windows folders -# run: ls -R -# - name: Version & Publish Package @babylonjs/react-native${{ matrix.basekit }}-iosandroid -# run: | -# npm version --no-git-tag-version 10.0.0 -# npm publish --access public --dry-run -# working-directory: ./Package/Assembled -# env: -# NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} \ No newline at end of file + publish-react-native: + needs: [build-typescript, android-ios-rnta, windows-rnta] + runs-on: macos-latest + strategy: + matrix: + react-native-version: ['0.73', '0.74'] + steps: + - name: Checkout Repo + uses: actions/checkout@v2.3.3 + - name: NPM Install (Binary Package) + run: npm install + working-directory: ./Package + - name: Download Assembled Folder + uses: actions/download-artifact@v4 + with: + name: 'Assembled' + path: Package/Assembled + - name: Display structure of downloaded Assembled and Assembled-Windows folders + run: ls -R + - name: Version & Publish Package @babylonjs/react-native + run: | + npm version --no-git-tag-version 10.0.0 + npm publish --access public --dry-run + working-directory: ./Package/Assembled + env: + NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} + + publish-android-ios: + needs: [build-typescript, android-ios-rnta, windows-rnta] + runs-on: macos-latest + strategy: + matrix: + react-native-version: ['0.73', '0.74'] + basekit: ['', '-BaseKit'] + steps: + - name: Checkout Repo + uses: actions/checkout@v2.3.3 + - name: NPM Install (Binary Package) + run: npm install + working-directory: ./Package + - name: Download Assembled${{ matrix.basekit }}-android ${{ matrix.react-native-version }} Folder + uses: actions/download-artifact@v4 + with: + name: 'Assembled${{ matrix.basekit }}-android${{ matrix.react-native-version }}' + path: Package/Assembled + merge-multiple: true + - name: Download Assembled${{ matrix.basekit }}-ios ${{ matrix.react-native-version }} Folder + uses: actions/download-artifact@v4 + with: + name: 'Assembled${{ matrix.basekit }}-ios${{ matrix.react-native-version }}' + path: Package/Assembled + merge-multiple: true + - name: Display structure of downloaded Assembled folder + run: ls -R + - name: Version & Publish Package @babylonjs/react-native${{ matrix.basekit }}-iosandroid + run: | + npm version --no-git-tag-version 10.0.0 + npm publish --access public --dry-run + working-directory: ./Package/Assembled + env: + NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} + + publish-windows: + needs: [build-typescript, android-ios-rnta, windows-rnta] + runs-on: macos-latest + strategy: + matrix: + react-native-version: ['0.73', '0.74'] + basekit: ['', '-BaseKit'] + steps: + - name: Checkout Repo + uses: actions/checkout@v2.3.3 + - name: NPM Install (Binary Package) + run: npm install + working-directory: ./Package + + - name: Download Assembled${{ matrix.basekit }}-Windows ${{ matrix.react-native-version }} x64Debug Folder + uses: actions/download-artifact@v4 + with: + name: 'Assembled${{ matrix.basekit }}-Windows${{ matrix.react-native-version }}-x64Debug' + path: Package/Assembled + merge-multiple: true + - name: Download Assembled${{ matrix.basekit }}-Windows ${{ matrix.react-native-version }} x64Release Folder + uses: actions/download-artifact@v4 + with: + name: 'Assembled${{ matrix.basekit }}-Windows${{ matrix.react-native-version }}-x64Release' + path: Package/Assembled + merge-multiple: true + + - name: Download Assembled${{ matrix.basekit }}-Windows ${{ matrix.react-native-version }} ARM64Debug Folder + uses: actions/download-artifact@v4 + with: + name: 'Assembled${{ matrix.basekit }}-Windows${{ matrix.react-native-version }}-ARM64Debug' + path: Package/Assembled + merge-multiple: true + - name: Download Assembled${{ matrix.basekit }}-Windows ${{ matrix.react-native-version }} ARM64Release Folder + uses: actions/download-artifact@v4 + with: + name: 'Assembled${{ matrix.basekit }}-Windows${{ matrix.react-native-version }}-ARM64Release' + path: Package/Assembled + merge-multiple: true + + - name: Display structure of downloaded Assembled folder + run: ls -R + - name: Version & Publish Package @babylonjs/react-native${{ matrix.basekit }}-windows + run: | + npm version --no-git-tag-version 10.0.0 + npm publish --access public --dry-run + working-directory: ./Package/Assembled + env: + NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} \ No newline at end of file From 0fcea7816b66a395d97bceb53b5b7c820e86d55f Mon Sep 17 00:00:00 2001 From: Cedric Guillemet <1312968+CedricGuillemet@users.noreply.github.com> Date: Fri, 27 Sep 2024 12:02:32 +0200 Subject: [PATCH 40/78] ios/android artifact name, display structure of builds --- .github/workflows/pr.yml | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index 0470be2ea..7e93b8166 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -92,6 +92,8 @@ jobs: working-directory: ./Package env: JAVA_HOME: ${{ env.JAVA_HOME_11_X64 }} + - name: Display structure + run: ls -R - name: Upload Assembled ${{ matrix.platform }} Folder uses: actions/upload-artifact@v4 with: @@ -107,13 +109,13 @@ jobs: uses: actions/upload-artifact@v4 if: ${{ matrix.platform == 'android' }} with: - name: 'AndroidAPK' + name: 'AndroidAPK${{ matrix.react-native-version }}' path: Apps/BRNPlayground/android/app/build/outputs/apk/release/app-release.apk - name: Upload iOS App uses: actions/upload-artifact@v4 if: ${{ matrix.platform == 'ios' }} with: - name: 'iOSApp' + name: 'iOSApp${{ matrix.react-native-version }}' path: Apps/BRNPlayground/ios/playgroundSimulator.xcarchive build-typescript: @@ -187,6 +189,8 @@ jobs: - name: Gulp build ${{ matrix.platform }} run: npx gulp package${{ matrix.platform }}${{ matrix.config }}${{ matrix.basekit == '-BaseKit' && 'BaseKit' || matrix.basekit}}RNTA working-directory: ./Package + - name: Display structure + run: ls -R - name: Upload Assembled ${{ matrix.platform }} Folder uses: actions/upload-artifact@v4 with: From 6b82f6254329c0d2637b7ae0c0821174fef932f9 Mon Sep 17 00:00:00 2001 From: Cedric Guillemet <1312968+CedricGuillemet@users.noreply.github.com> Date: Fri, 27 Sep 2024 16:04:13 +0200 Subject: [PATCH 41/78] windows artifact path --- .github/workflows/pr.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index 7e93b8166..4b9b6f4ea 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -110,13 +110,13 @@ jobs: if: ${{ matrix.platform == 'android' }} with: name: 'AndroidAPK${{ matrix.react-native-version }}' - path: Apps/BRNPlayground/android/app/build/outputs/apk/release/app-release.apk + path: Apps/BRNPlayground/android/ - name: Upload iOS App uses: actions/upload-artifact@v4 if: ${{ matrix.platform == 'ios' }} with: name: 'iOSApp${{ matrix.react-native-version }}' - path: Apps/BRNPlayground/ios/playgroundSimulator.xcarchive + path: Apps/BRNPlayground/ios/ build-typescript: uses: ./.github/workflows/typescript.yml @@ -195,7 +195,7 @@ jobs: uses: actions/upload-artifact@v4 with: name: 'Assembled${{ matrix.basekit }}-Windows${{ matrix.react-native-version }}-${{ matrix.platform }}${{ matrix.config }}' - path: Package/Assembled${{ matrix.basekit }}-Windows${{ matrix.react-native-version }} + path: Package/Assembled${{ matrix.basekit }}-Windows publish-react-native: needs: [build-typescript, android-ios-rnta, windows-rnta] From 989faf5b65188336895fa27eac6c86bd4de86a59 Mon Sep 17 00:00:00 2001 From: Cedric Guillemet <1312968+CedricGuillemet@users.noreply.github.com> Date: Mon, 30 Sep 2024 10:24:18 +0200 Subject: [PATCH 42/78] up version of action --- .github/workflows/bn_master_commit.yml | 16 ++++++++-------- .github/workflows/ios_android.yml | 6 +++--- .github/workflows/pr.yml | 22 +++++++++++----------- .github/workflows/publish.yml | 2 +- .github/workflows/publish_preview.yml | 2 +- .github/workflows/test_version.yml | 18 +++++++++--------- .github/workflows/typescript.yml | 10 +++++----- .github/workflows/windows.yml | 6 +++--- 8 files changed, 41 insertions(+), 41 deletions(-) diff --git a/.github/workflows/bn_master_commit.yml b/.github/workflows/bn_master_commit.yml index 91e4f70c1..92f7dc70d 100644 --- a/.github/workflows/bn_master_commit.yml +++ b/.github/workflows/bn_master_commit.yml @@ -13,17 +13,17 @@ jobs: runs-on: macos-latest steps: - name: Checkout Repo - uses: actions/checkout@v2.3.3 + uses: actions/checkout@v4.2.0 with: submodules: 'recursive' - name: Free space uses: ./.github/workflows/macos_freespace - name: Setup Node 16 - uses: actions/setup-node@v3 + uses: actions/setup-node@v4.0.4 with: node-version: 16 - name: Setup CMake - uses: jwlawson/actions-setup-cmake@v1.8 + uses: jwlawson/actions-setup-cmake@v2.0.2 with: cmake-version: '3.26.3' - name: Setup Ninja @@ -54,13 +54,13 @@ jobs: runs-on: macos-latest steps: - name: Checkout Repo - uses: actions/checkout@v2.3.3 + uses: actions/checkout@v4.2.0 with: submodules: 'recursive' - name: Free space uses: ./.github/workflows/macos_freespace - name: Setup Node 16 - uses: actions/setup-node@v3 + uses: actions/setup-node@v4.0.4 with: node-version: 16 - name: NPM Install (Playground) @@ -85,13 +85,13 @@ jobs: config: [Debug, Release] steps: - name: Checkout Repo - uses: actions/checkout@v2.3.3 + uses: actions/checkout@v4.2.0 with: submodules: 'true' - name: Setup MSBuild - uses: microsoft/setup-msbuild@v1.0.2 + uses: microsoft/setup-msbuild@v2 - name: Setup Node 16 - uses: actions/setup-node@v3 + uses: actions/setup-node@v4.0.4 with: node-version: 16 - name: Setup NuGet diff --git a/.github/workflows/ios_android.yml b/.github/workflows/ios_android.yml index 12c8be556..e90719bb6 100644 --- a/.github/workflows/ios_android.yml +++ b/.github/workflows/ios_android.yml @@ -18,17 +18,17 @@ jobs: runs-on: macos-latest steps: - name: Checkout Repo - uses: actions/checkout@v2.3.3 + uses: actions/checkout@v4.2.0 with: submodules: 'recursive' - name: Free space uses: ./.github/workflows/macos_freespace - name: Setup Node 16 - uses: actions/setup-node@v3 + uses: actions/setup-node@v4.0.4 with: node-version: 16 - name: Setup CMake - uses: jwlawson/actions-setup-cmake@v1.8 + uses: jwlawson/actions-setup-cmake@v2.0.2 with: cmake-version: '3.26.3' - name: Setup Ninja diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index 4b9b6f4ea..2f6d1cbff 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -13,9 +13,9 @@ jobs: # react-native-version: ['0.73', '0.74'] # steps: # - name: Checkout Repo -# uses: actions/checkout@v2.3.3 +# uses: actions/checkout@v4.2.0 # - name: Setup CMake -# uses: jwlawson/actions-setup-cmake@v1.8 +# uses: jwlawson/actions-setup-cmake@v2.0.2 # with: # cmake-version: '3.26.3' # - name: Setup Ninja @@ -58,9 +58,9 @@ jobs: platform: ['android', 'ios'] steps: - name: Checkout Repo - uses: actions/checkout@v2.3.3 + uses: actions/checkout@v4.2.0 - name: Setup CMake - uses: jwlawson/actions-setup-cmake@v1.8 + uses: jwlawson/actions-setup-cmake@v2.0.2 with: cmake-version: '3.26.3' - name: Setup Ninja @@ -110,7 +110,7 @@ jobs: if: ${{ matrix.platform == 'android' }} with: name: 'AndroidAPK${{ matrix.react-native-version }}' - path: Apps/BRNPlayground/android/ + path: Apps/BRNPlayground/ - name: Upload iOS App uses: actions/upload-artifact@v4 if: ${{ matrix.platform == 'ios' }} @@ -135,13 +135,13 @@ jobs: - name: Support longpaths run: git config --system core.longpaths true - name: Checkout Repo - uses: actions/checkout@v2.3.3 + uses: actions/checkout@v4.2.0 with: submodules: 'true' - name: Setup MSBuild - uses: microsoft/setup-msbuild@v1.0.2 + uses: microsoft/setup-msbuild@v2 - name: Setup Node 20 - uses: actions/setup-node@v3 + uses: actions/setup-node@v4.0.4 with: node-version: 20 - name: Install watchman @@ -205,7 +205,7 @@ jobs: react-native-version: ['0.73', '0.74'] steps: - name: Checkout Repo - uses: actions/checkout@v2.3.3 + uses: actions/checkout@v4.2.0 - name: NPM Install (Binary Package) run: npm install working-directory: ./Package @@ -233,7 +233,7 @@ jobs: basekit: ['', '-BaseKit'] steps: - name: Checkout Repo - uses: actions/checkout@v2.3.3 + uses: actions/checkout@v4.2.0 - name: NPM Install (Binary Package) run: npm install working-directory: ./Package @@ -268,7 +268,7 @@ jobs: basekit: [''] #['', '-BaseKit'] steps: - name: Checkout Repo - uses: actions/checkout@v2.3.3 + uses: actions/checkout@v4.2.0 - name: NPM Install (Binary Package) run: npm install working-directory: ./Package diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index d4d0f478d..66a43e37c 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -73,7 +73,7 @@ jobs: runs-on: macos-latest steps: - name: Checkout Repo - uses: actions/checkout@v2.3.3 + uses: actions/checkout@v4.2.0 - name: NPM Install (Binary Package) run: npm install working-directory: ./Package diff --git a/.github/workflows/publish_preview.yml b/.github/workflows/publish_preview.yml index f8f609030..d450aaf19 100644 --- a/.github/workflows/publish_preview.yml +++ b/.github/workflows/publish_preview.yml @@ -89,7 +89,7 @@ jobs: runs-on: macos-latest steps: - name: Checkout Repo - uses: actions/checkout@v2.3.3 + uses: actions/checkout@v4.2.0 - name: NPM Install (Binary Package) run: npm install working-directory: ./Package diff --git a/.github/workflows/test_version.yml b/.github/workflows/test_version.yml index 978e48ece..3f9b242ff 100644 --- a/.github/workflows/test_version.yml +++ b/.github/workflows/test_version.yml @@ -33,11 +33,11 @@ jobs: runs-on: windows-2019 steps: - name: Checkout Repo - uses: actions/checkout@v2.3.3 + uses: actions/checkout@v4.2.0 - name: Setup MSBuild - uses: microsoft/setup-msbuild@v1.0.2 + uses: microsoft/setup-msbuild@v2 - name: Setup Node ${{ github.event.inputs.Node_Version }} - uses: actions/setup-node@v3 + uses: actions/setup-node@v4.0.4 with: node-version: ${{ github.event.inputs.Node_Version }} - name: Build Playground Windows x64 @@ -66,9 +66,9 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout Repo - uses: actions/checkout@v2.3.3 + uses: actions/checkout@v4.2.0 - name: Setup Node ${{ github.event.inputs.Node_Version }} - uses: actions/setup-node@v3 + uses: actions/setup-node@v4.0.4 with: node-version: ${{ github.event.inputs.Node_Version }} - name: Setup Java @@ -103,7 +103,7 @@ jobs: runs-on: macos-12 steps: - name: Checkout Repo - uses: actions/checkout@v2.3.3 + uses: actions/checkout@v4.2.0 - name: Clone iOS Toolchain run: | git clone https://github.com/leetal/ios-cmake.git @@ -138,9 +138,9 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout Repo - uses: actions/checkout@v2.3.3 + uses: actions/checkout@v4.2.0 - name: Setup Node ${{ github.event.inputs.Node_Version }} - uses: actions/setup-node@v3 + uses: actions/setup-node@v4.0.4 with: node-version: ${{ github.event.inputs.Node_Version }} - name: Setup Java @@ -173,7 +173,7 @@ jobs: runs-on: macos-12 steps: - name: Checkout Repo - uses: actions/checkout@v2.3.3 + uses: actions/checkout@v4.2.0 - name: Clone iOS Toolchain run: | git clone https://github.com/leetal/ios-cmake.git diff --git a/.github/workflows/typescript.yml b/.github/workflows/typescript.yml index 72b46384b..98cb835c7 100644 --- a/.github/workflows/typescript.yml +++ b/.github/workflows/typescript.yml @@ -11,13 +11,13 @@ jobs: runs-on: macos-latest steps: - name: Checkout Repo - uses: actions/checkout@v2.3.3 + uses: actions/checkout@v4.2.0 with: submodules: 'recursive' - - name: Setup Node 16 - uses: actions/setup-node@v3 - with: - node-version: 16 +# - name: Setup Node 16 +# uses: actions/setup-node@v4.0.4 +# with: +# node-version: 16 - name: NPM Install (Playground) run: npm install working-directory: ./Apps/Playground diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index f07803716..d6f183602 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml @@ -15,13 +15,13 @@ jobs: runs-on: windows-2019 steps: - name: Checkout Repo - uses: actions/checkout@v2.3.3 + uses: actions/checkout@v4.2.0 with: submodules: 'true' - name: Setup MSBuild - uses: microsoft/setup-msbuild@v1.0.2 + uses: microsoft/setup-msbuild@v2 - name: Setup Node 16 - uses: actions/setup-node@v3 + uses: actions/setup-node@v4.0.4 with: node-version: 16 - name: Setup NuGet From cf5ee2b5de1834c57eebd0f9458809703336c8e0 Mon Sep 17 00:00:00 2001 From: Cedric Guillemet <1312968+CedricGuillemet@users.noreply.github.com> Date: Mon, 30 Sep 2024 11:10:50 +0200 Subject: [PATCH 43/78] x86 test, basekit windows --- .github/workflows/bn_master_commit.yml | 2 +- .github/workflows/ios_android.yml | 2 +- .github/workflows/pr.yml | 14 +++++++------- .github/workflows/test_version.yml | 4 ++-- .../BabylonReactNative/BabylonReactNative.vcxproj | 4 ---- .../react-native/shared/BabylonNative.cpp | 10 ++++++++++ 6 files changed, 21 insertions(+), 15 deletions(-) diff --git a/.github/workflows/bn_master_commit.yml b/.github/workflows/bn_master_commit.yml index 92f7dc70d..18c152436 100644 --- a/.github/workflows/bn_master_commit.yml +++ b/.github/workflows/bn_master_commit.yml @@ -38,7 +38,7 @@ jobs: run: npm install working-directory: ./Package - name: Setup Java - uses: actions/setup-java@v3 + uses: actions/setup-java@v4.4.0 with: distribution: 'temurin' java-version: '17' diff --git a/.github/workflows/ios_android.yml b/.github/workflows/ios_android.yml index e90719bb6..d0ec08f56 100644 --- a/.github/workflows/ios_android.yml +++ b/.github/workflows/ios_android.yml @@ -36,7 +36,7 @@ jobs: - name: 'Select XCode ${{ inputs.xcode-version }}' run: sudo xcode-select --switch /Applications/Xcode_${{ inputs.xcode-version }}.app/Contents/Developer - name: Setup Java - uses: actions/setup-java@v3 + uses: actions/setup-java@v4.4.0 with: distribution: 'temurin' java-version: '17' diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index 2f6d1cbff..a3c997f8b 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -39,7 +39,7 @@ jobs: # run: npm install # working-directory: ./Package # - name: Setup Java -# uses: actions/setup-java@v3 +# uses: actions/setup-java@v4.4.0 # with: # distribution: 'temurin' # java-version: '17' @@ -82,7 +82,7 @@ jobs: run: npm install working-directory: ./Package - name: Setup Java - uses: actions/setup-java@v3 + uses: actions/setup-java@v4.4.0 with: distribution: 'temurin' java-version: '17' @@ -110,7 +110,7 @@ jobs: if: ${{ matrix.platform == 'android' }} with: name: 'AndroidAPK${{ matrix.react-native-version }}' - path: Apps/BRNPlayground/ + path: Apps/BRNPlayground/android/ - name: Upload iOS App uses: actions/upload-artifact@v4 if: ${{ matrix.platform == 'ios' }} @@ -127,10 +127,10 @@ jobs: runs-on: windows-2019 strategy: matrix: - platform: [x64, ARM64] + platform: [x86, x64, ARM64] config: [Debug, Release] react-native-version: ['0.73', '0.74'] - basekit: [''] # ['', '-BaseKit'] + basekit: ['', '-BaseKit'] steps: - name: Support longpaths run: git config --system core.longpaths true @@ -171,7 +171,7 @@ jobs: working-directory: ./Modules - name: CMake BabylonNative - run: cmake -G "Visual Studio 16 2019" -D CMAKE_SYSTEM_NAME=WindowsStore -D CMAKE_SYSTEM_VERSION=10.0.19041.0 -DCMAKE_UNITY_BUILD=true -D CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION_MAXIMUM=10.0.19041.0 -A ${{ matrix.platform == 'x86' && 'win32' || matrix.platform}} ${{ matrix.basekit == 'BaseKit' && '-DBASEKIT_BUILD=1' || matrix.basekit}} ./../../../react-native-windows/windows + run: cmake -G "Visual Studio 16 2019" -D CMAKE_SYSTEM_NAME=WindowsStore -D CMAKE_SYSTEM_VERSION=10.0.19041.0 -DCMAKE_UNITY_BUILD=true -D CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION_MAXIMUM=10.0.19041.0 -A ${{ matrix.platform == 'x86' && 'win32' || matrix.platform}} ${{ matrix.basekit == '-BaseKit' && '-DBASEKIT_BUILD=1' || matrix.basekit}} ./../../../react-native-windows/windows working-directory: ./Modules/@babylonjs/react-native/Build/uwp_${{ matrix.platform }} - name: Nuget restore @@ -183,7 +183,7 @@ jobs: working-directory: ./Modules/@babylonjs/react-native/Build/uwp_${{ matrix.platform }} - name: Windows build BRN ${{ matrix.platform }} ${{ matrix.config }} - run: MSBuild /p:Platform="${{ matrix.platform == 'x86' && 'win32' || matrix.platform}}" /p:Configuration="${{ matrix.config }}" /m BRNPlayground.sln + run: MSBuild /p:Platform="${{ matrix.platform == 'x86' && 'win32' || matrix.platform}}" /p:Configuration="${{ matrix.config }}" ${{ matrix.basekit == '-BaseKit' && '/p:BASEKIT_BUILD=1' || matrix.basekit}} /m BRNPlayground.sln working-directory: ./Apps/BRNPlayground/windows - name: Gulp build ${{ matrix.platform }} diff --git a/.github/workflows/test_version.yml b/.github/workflows/test_version.yml index 3f9b242ff..6442f3370 100644 --- a/.github/workflows/test_version.yml +++ b/.github/workflows/test_version.yml @@ -72,7 +72,7 @@ jobs: with: node-version: ${{ github.event.inputs.Node_Version }} - name: Setup Java - uses: actions/setup-java@v3 + uses: actions/setup-java@v4.4.0 with: distribution: 'temurin' java-version: '17' @@ -144,7 +144,7 @@ jobs: with: node-version: ${{ github.event.inputs.Node_Version }} - name: Setup Java - uses: actions/setup-java@v3 + uses: actions/setup-java@v4.4.0 with: distribution: 'temurin' java-version: '17' diff --git a/Modules/@babylonjs/react-native-windows/windows/BabylonReactNative/BabylonReactNative.vcxproj b/Modules/@babylonjs/react-native-windows/windows/BabylonReactNative/BabylonReactNative.vcxproj index dec1f250c..f2191b045 100644 --- a/Modules/@babylonjs/react-native-windows/windows/BabylonReactNative/BabylonReactNative.vcxproj +++ b/Modules/@babylonjs/react-native-windows/windows/BabylonReactNative/BabylonReactNative.vcxproj @@ -193,16 +193,13 @@ JsRuntime.lib; MachineIndependentd.lib; napi.lib; - NativeCamera.lib; NativeCapture.lib; NativeEngine.lib; NativeInput.lib; NativeOptimizations.lib; NativeTracing.lib; - NativeXr.lib; nvtt.lib; OGLCompilerd.lib; - openxr_loaderd.lib; OSDependentd.lib; pvrtc.lib; spirv-cross-cored.lib; @@ -212,7 +209,6 @@ UrlLib.lib; Window.lib; XMLHttpRequest.lib; - xr.lib; WindowsApp.lib; %(AdditionalDependencies); diff --git a/Modules/@babylonjs/react-native/shared/BabylonNative.cpp b/Modules/@babylonjs/react-native/shared/BabylonNative.cpp index ac06316a9..3bd6335a7 100644 --- a/Modules/@babylonjs/react-native/shared/BabylonNative.cpp +++ b/Modules/@babylonjs/react-native/shared/BabylonNative.cpp @@ -2,10 +2,20 @@ #include #include + #ifndef BASEKIT_BUILD #include #include + +#ifdef WIN32 +#pragma comment(lib, "NativeCamera.lib") +#pragma comment(lib, "NativeXr.lib") +#pragma comment(lib, "xr.lib") +#pragma comment(lib, "openxr_loaderd.lib") #endif + +#endif + #include #include #include From 4c58038c9ee1bcf81e8ca70634ac5c2ee95fb56f Mon Sep 17 00:00:00 2001 From: Cedric Guillemet <1312968+CedricGuillemet@users.noreply.github.com> Date: Mon, 30 Sep 2024 11:37:20 +0200 Subject: [PATCH 44/78] base kit windows --- Modules/@babylonjs/react-native/shared/BabylonNative.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/Modules/@babylonjs/react-native/shared/BabylonNative.cpp b/Modules/@babylonjs/react-native/shared/BabylonNative.cpp index 3bd6335a7..ffdead0c9 100644 --- a/Modules/@babylonjs/react-native/shared/BabylonNative.cpp +++ b/Modules/@babylonjs/react-native/shared/BabylonNative.cpp @@ -11,7 +11,11 @@ #pragma comment(lib, "NativeCamera.lib") #pragma comment(lib, "NativeXr.lib") #pragma comment(lib, "xr.lib") -#pragma comment(lib, "openxr_loaderd.lib") +#ifdef _DEBUG + #pragma comment(lib, "openxr_loaderd.lib") +#else + #pragma comment(lib, "openxr_loader.lib") +#endif #endif #endif From 3030921f69bc6a1b3c9bee6b2d0ba6f4784a7c8b Mon Sep 17 00:00:00 2001 From: Cedric Guillemet <1312968+CedricGuillemet@users.noreply.github.com> Date: Mon, 30 Sep 2024 12:06:46 +0200 Subject: [PATCH 45/78] less windows library in vcxproj --- .../windows/BabylonReactNative/BabylonReactNative.vcxproj | 4 ---- 1 file changed, 4 deletions(-) diff --git a/Modules/@babylonjs/react-native-windows/windows/BabylonReactNative/BabylonReactNative.vcxproj b/Modules/@babylonjs/react-native-windows/windows/BabylonReactNative/BabylonReactNative.vcxproj index f2191b045..5fcfd22ff 100644 --- a/Modules/@babylonjs/react-native-windows/windows/BabylonReactNative/BabylonReactNative.vcxproj +++ b/Modules/@babylonjs/react-native-windows/windows/BabylonReactNative/BabylonReactNative.vcxproj @@ -250,16 +250,13 @@ JsRuntime.lib; MachineIndependent.lib; napi.lib; - NativeCamera.lib; NativeCapture.lib; NativeEngine.lib; NativeInput.lib; NativeOptimizations.lib; NativeTracing.lib; - NativeXr.lib; nvtt.lib; OGLCompiler.lib; - openxr_loader.lib; OSDependent.lib; pvrtc.lib; spirv-cross-core.lib; @@ -269,7 +266,6 @@ UrlLib.lib; Window.lib; XMLHttpRequest.lib; - xr.lib; WindowsApp.lib; %(AdditionalDependencies); From f2444112db8449a6a35cd17bd188f874d7761166 Mon Sep 17 00:00:00 2001 From: Cedric Guillemet <1312968+CedricGuillemet@users.noreply.github.com> Date: Mon, 30 Sep 2024 13:02:50 +0200 Subject: [PATCH 46/78] Update pr.yml --- .github/workflows/pr.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index a3c997f8b..4fa3a9337 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -127,7 +127,7 @@ jobs: runs-on: windows-2019 strategy: matrix: - platform: [x86, x64, ARM64] + platform: [x64, ARM64] config: [Debug, Release] react-native-version: ['0.73', '0.74'] basekit: ['', '-BaseKit'] From ecb8cbaea89f81b2a95a005711fe4f776964de6d Mon Sep 17 00:00:00 2001 From: Cedric Guillemet <1312968+CedricGuillemet@users.noreply.github.com> Date: Mon, 30 Sep 2024 14:44:57 +0200 Subject: [PATCH 47/78] basekit publishing, windows testing artifacts --- .github/workflows/pr.yml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index a3c997f8b..36160a435 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -196,6 +196,11 @@ jobs: with: name: 'Assembled${{ matrix.basekit }}-Windows${{ matrix.react-native-version }}-${{ matrix.platform }}${{ matrix.config }}' path: Package/Assembled${{ matrix.basekit }}-Windows + - name: Upload Windows App + uses: actions/upload-artifact@v4 + with: + name: 'WindowsApp${{ matrix.basekit }}${{ matrix.react-native-version }}-${{ matrix.platform }}${{ matrix.config }}' + path: Apps/BRNPlayground/windows/AppPackages/ReactTestApp publish-react-native: needs: [build-typescript, android-ios-rnta, windows-rnta] @@ -265,7 +270,7 @@ jobs: strategy: matrix: react-native-version: ['0.73', '0.74'] - basekit: [''] #['', '-BaseKit'] + basekit: ['', '-BaseKit'] steps: - name: Checkout Repo uses: actions/checkout@v4.2.0 From 6a5f52c9b6b98eefe1db0bcf4abbfa3a2ad3cd13 Mon Sep 17 00:00:00 2001 From: Cedric Guillemet <1312968+CedricGuillemet@users.noreply.github.com> Date: Mon, 30 Sep 2024 15:44:25 +0200 Subject: [PATCH 48/78] basekit windows --- .github/workflows/pr.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index be30558f1..cf169a5c1 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -195,7 +195,7 @@ jobs: uses: actions/upload-artifact@v4 with: name: 'Assembled${{ matrix.basekit }}-Windows${{ matrix.react-native-version }}-${{ matrix.platform }}${{ matrix.config }}' - path: Package/Assembled${{ matrix.basekit }}-Windows + path: Package/Assembled-Windows - name: Upload Windows App uses: actions/upload-artifact@v4 with: From 4cefb260cce913c30da734b513337de791299d3a Mon Sep 17 00:00:00 2001 From: Cedric Guillemet <1312968+CedricGuillemet@users.noreply.github.com> Date: Mon, 30 Sep 2024 18:08:10 +0200 Subject: [PATCH 49/78] path for basekit assembled --- .github/workflows/pr.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index cf169a5c1..be30558f1 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -195,7 +195,7 @@ jobs: uses: actions/upload-artifact@v4 with: name: 'Assembled${{ matrix.basekit }}-Windows${{ matrix.react-native-version }}-${{ matrix.platform }}${{ matrix.config }}' - path: Package/Assembled-Windows + path: Package/Assembled${{ matrix.basekit }}-Windows - name: Upload Windows App uses: actions/upload-artifact@v4 with: From 98b1a2b276af91a2c7373fcbbbcb92d9f28a1b4a Mon Sep 17 00:00:00 2001 From: Cedric Guillemet <1312968+CedricGuillemet@users.noreply.github.com> Date: Mon, 30 Sep 2024 19:38:40 +0200 Subject: [PATCH 50/78] based kit again --- .github/workflows/pr.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index be30558f1..cf169a5c1 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -195,7 +195,7 @@ jobs: uses: actions/upload-artifact@v4 with: name: 'Assembled${{ matrix.basekit }}-Windows${{ matrix.react-native-version }}-${{ matrix.platform }}${{ matrix.config }}' - path: Package/Assembled${{ matrix.basekit }}-Windows + path: Package/Assembled-Windows - name: Upload Windows App uses: actions/upload-artifact@v4 with: From d7a395ac7d086c1bc807caabbd8a44aa0f437fa7 Mon Sep 17 00:00:00 2001 From: Cedric Guillemet <1312968+CedricGuillemet@users.noreply.github.com> Date: Tue, 1 Oct 2024 10:01:37 +0200 Subject: [PATCH 51/78] typo copy files --- Package/gulpfile.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Package/gulpfile.js b/Package/gulpfile.js index 116a28e46..2a1f0905c 100644 --- a/Package/gulpfile.js +++ b/Package/gulpfile.js @@ -387,12 +387,12 @@ const copyx64ReleaseBaseKitRNTAFiles = gulp.series(createUWPDirectories, copyx64 const copyARM64DebugRNTAFiles = gulp.series(createUWPDirectories, copyARM64DebugUWPFiles); const copyARM64DebugBaseKitRNTAFiles = gulp.series(createUWPDirectories, copyARM64DebugUWPFiles); const copyARM64ReleaseRNTAFiles = gulp.series(createUWPDirectories, copyARM64ReleaseUWPFiles); -const copyARM64ReleaseBaseKitRNTAFiles = gulp.series(createUWPDirectories, copyARM64DebugUWPFiles); +const copyARM64ReleaseBaseKitRNTAFiles = gulp.series(createUWPDirectories, copyARM64ReleaseUWPFiles); const copyx86DebugRNTAFiles = gulp.series(createUWPDirectories, copyx86DebugUWPFiles); const copyx86DebugBaseKitRNTAFiles = gulp.series(createUWPDirectories, copyx86DebugUWPFiles); const copyx86ReleaseRNTAFiles = gulp.series(createUWPDirectories, copyx86ReleaseUWPFiles); -const copyx86ReleaseBaseKitRNTAFiles = gulp.series(createUWPDirectories, copyx86DebugUWPFiles); +const copyx86ReleaseBaseKitRNTAFiles = gulp.series(createUWPDirectories, copyx86ReleaseUWPFiles); const copyUWPFiles = gulp.series( createUWPDirectories, From 4ff9b753743015d909d2a361619d0b6204a1d029 Mon Sep 17 00:00:00 2001 From: Cedric Guillemet <1312968+CedricGuillemet@users.noreply.github.com> Date: Tue, 1 Oct 2024 15:41:38 +0200 Subject: [PATCH 52/78] android apk --- .github/workflows/pr.yml | 2 +- Package/gulpfile.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index cf169a5c1..24258970d 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -110,7 +110,7 @@ jobs: if: ${{ matrix.platform == 'android' }} with: name: 'AndroidAPK${{ matrix.react-native-version }}' - path: Apps/BRNPlayground/android/ + path: Apps/build/outputs/apk/release - name: Upload iOS App uses: actions/upload-artifact@v4 if: ${{ matrix.platform == 'ios' }} diff --git a/Package/gulpfile.js b/Package/gulpfile.js index 2a1f0905c..1fbd1515e 100644 --- a/Package/gulpfile.js +++ b/Package/gulpfile.js @@ -102,7 +102,7 @@ const buildAndroid = async () => { const buildAndroidRNTA = async () => { const basekitBuildProp = basekitBuild ? "-PBASEKIT_BUILD=1" : ""; - exec(`./gradlew babylonjs_react-native:assembleRelease --stacktrace --info ${basekitBuildProp}`, '../Apps/BRNPlayground/android'); + exec(`./gradlew app:assembleRelease --stacktrace --info ${basekitBuildProp}`, '../Apps/BRNPlayground/android'); }; const makeUWPProjectPlatform = async (name, arch) => { From 2af8f6a720a67e352a67f458b4b0bebfeb71605c Mon Sep 17 00:00:00 2001 From: Cedric Guillemet <1312968+CedricGuillemet@users.noreply.github.com> Date: Tue, 1 Oct 2024 16:28:28 +0200 Subject: [PATCH 53/78] android artifacts --- .github/workflows/pr.yml | 2 +- Package/gulpfile.js | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index 24258970d..e85a2ed75 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -110,7 +110,7 @@ jobs: if: ${{ matrix.platform == 'android' }} with: name: 'AndroidAPK${{ matrix.react-native-version }}' - path: Apps/build/outputs/apk/release + path: ./Apps/BRNPlayground/android/app/build/outputs/apk/release - name: Upload iOS App uses: actions/upload-artifact@v4 if: ${{ matrix.platform == 'ios' }} diff --git a/Package/gulpfile.js b/Package/gulpfile.js index 1fbd1515e..ced9487b7 100644 --- a/Package/gulpfile.js +++ b/Package/gulpfile.js @@ -103,6 +103,14 @@ const buildAndroid = async () => { const buildAndroidRNTA = async () => { const basekitBuildProp = basekitBuild ? "-PBASEKIT_BUILD=1" : ""; exec(`./gradlew app:assembleRelease --stacktrace --info ${basekitBuildProp}`, '../Apps/BRNPlayground/android'); + if (basekitBuild) { + await new Promise(resolve => { + gulp.src(`../Apps/BRNPlayground/android/app/build/outputs/apk/release/app-release.apk`) + .pipe(rename('app-release-basekit.apk')) + .pipe(gulp.dest('../Apps/BRNPlayground/android/app/build/outputs/apk/release/')) + .on('end', resolve); + }); + } }; const makeUWPProjectPlatform = async (name, arch) => { From 3d46829071147fa08396823bb3cb5e30b53a7b6f Mon Sep 17 00:00:00 2001 From: Cedric Guillemet <1312968+CedricGuillemet@users.noreply.github.com> Date: Tue, 1 Oct 2024 17:05:37 +0200 Subject: [PATCH 54/78] apk name fix --- Package/gulpfile.js | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/Package/gulpfile.js b/Package/gulpfile.js index ced9487b7..447e2a824 100644 --- a/Package/gulpfile.js +++ b/Package/gulpfile.js @@ -103,14 +103,13 @@ const buildAndroid = async () => { const buildAndroidRNTA = async () => { const basekitBuildProp = basekitBuild ? "-PBASEKIT_BUILD=1" : ""; exec(`./gradlew app:assembleRelease --stacktrace --info ${basekitBuildProp}`, '../Apps/BRNPlayground/android'); - if (basekitBuild) { - await new Promise(resolve => { - gulp.src(`../Apps/BRNPlayground/android/app/build/outputs/apk/release/app-release.apk`) - .pipe(rename('app-release-basekit.apk')) - .pipe(gulp.dest('../Apps/BRNPlayground/android/app/build/outputs/apk/release/')) - .on('end', resolve); - }); - } + const baseKitOrFull = basekitBuild ? '-basekit' : '-full'; + const oldPath = '../Apps/BRNPlayground/android/app/build/outputs/apk/release/app-release.apk'; + const newPath = `../Apps/BRNPlayground/android/app/build/outputs/apk/release/app-release${baseKitOrFull}.apk`; + + fs.rename(oldPath, newPath, function (err) { + if (err) throw err; + }); }; const makeUWPProjectPlatform = async (name, arch) => { From 5c905a5ca22e32f05dab79eef873bff019173f86 Mon Sep 17 00:00:00 2001 From: Cedric Guillemet <1312968+CedricGuillemet@users.noreply.github.com> Date: Wed, 2 Oct 2024 16:11:33 +0200 Subject: [PATCH 55/78] apk --- .github/workflows/pr.yml | 2 +- Package/gulpfile.js | 17 ++++++++++++----- 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index e85a2ed75..81fd85e85 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -110,7 +110,7 @@ jobs: if: ${{ matrix.platform == 'android' }} with: name: 'AndroidAPK${{ matrix.react-native-version }}' - path: ./Apps/BRNPlayground/android/app/build/outputs/apk/release + path: ./Apps/BRNPlayground/apk - name: Upload iOS App uses: actions/upload-artifact@v4 if: ${{ matrix.platform == 'ios' }} diff --git a/Package/gulpfile.js b/Package/gulpfile.js index 447e2a824..7c6b2809a 100644 --- a/Package/gulpfile.js +++ b/Package/gulpfile.js @@ -103,12 +103,19 @@ const buildAndroid = async () => { const buildAndroidRNTA = async () => { const basekitBuildProp = basekitBuild ? "-PBASEKIT_BUILD=1" : ""; exec(`./gradlew app:assembleRelease --stacktrace --info ${basekitBuildProp}`, '../Apps/BRNPlayground/android'); - const baseKitOrFull = basekitBuild ? '-basekit' : '-full'; - const oldPath = '../Apps/BRNPlayground/android/app/build/outputs/apk/release/app-release.apk'; - const newPath = `../Apps/BRNPlayground/android/app/build/outputs/apk/release/app-release${baseKitOrFull}.apk`; + const baseKitOrFull = basekitBuild ? '-basekit' : ''; + const srcFile = '../Apps/BRNPlayground/android/app/build/outputs/apk/release/app-release.apk'; + const newName = `app-release${baseKitOrFull}.apk`; - fs.rename(oldPath, newPath, function (err) { - if (err) throw err; + const apkFolder = '../Apps/BRNPlayground/apk'; + if (!fs.existsSync(apkFolder)) { + fs.mkdirSync(apkFolder, { recursive: true }); + } + await new Promise(resolve => { + gulp.src(srcFile) + .pipe(rename(newName)) + .pipe(gulp.dest(apkFolder)) + .on('end', resolve); }); }; From 0350cd1d7718d6c35bae6cb49167a740e9141440 Mon Sep 17 00:00:00 2001 From: Cedric Guillemet <1312968+CedricGuillemet@users.noreply.github.com> Date: Wed, 2 Oct 2024 17:25:46 +0200 Subject: [PATCH 56/78] ios RNTA app --- .github/workflows/pr.yml | 7 +++++++ Package/gulpfile.js | 12 +++++++++++- 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index 81fd85e85..0428732f0 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -92,6 +92,13 @@ jobs: working-directory: ./Package env: JAVA_HOME: ${{ env.JAVA_HOME_11_X64 }} + +# - name: Build iOS App +# if: ${{ matrix.platform == 'ios' }} +# run: | +# xcodebuild -sdk iphonesimulator -arch x86_64 -configuration Release -workspace BRNPlayground.xcworkspace -scheme ReactTestApp build CODE_SIGNING_ALLOWED=NO -archivePath ./playgroundSimulator.xcarchive archive +# working-directory: ./Apps/BRNPlayground/ios + - name: Display structure run: ls -R - name: Upload Assembled ${{ matrix.platform }} Folder diff --git a/Package/gulpfile.js b/Package/gulpfile.js index 7c6b2809a..92760ee04 100644 --- a/Package/gulpfile.js +++ b/Package/gulpfile.js @@ -92,8 +92,18 @@ const buildIphoneSimulator = async () => { exec('xcodebuild -sdk iphonesimulator -arch x86_64 -configuration Release -project ReactNativeBabylon.xcodeproj -scheme BabylonNative build CODE_SIGNING_ALLOWED=NO', 'iOS/Build'); }; +const buildIphoneOSRNTA = async () => { + exec('xcodebuild -sdk iphoneos -configuration Release -project ReactNativeBabylon.xcodeproj -scheme BabylonNative build CODE_SIGNING_ALLOWED=NO', 'iOS/Build'); + exec('xcodebuild -sdk iphoneos -configuration Release -workspace BRNPlayground.xcworkspace -scheme ReactTestApp build CODE_SIGNING_ALLOWED=NO -archivePath ./playgroundiOS.xcarchive archive', '../Apps/BRNPlayground/ios/Build'); +}; + +const buildIphoneSimulatorRNTA = async () => { + exec('xcodebuild -sdk iphonesimulator -arch x86_64 -configuration Release -project ReactNativeBabylon.xcodeproj -scheme BabylonNative build CODE_SIGNING_ALLOWED=NO', 'iOS/Build'); + exec('xcodebuild -sdk iphonesimulator -arch x86_64 -configuration Release -workspace BRNPlayground.xcworkspace -scheme ReactTestApp build CODE_SIGNING_ALLOWED=NO -archivePath ./playgroundSimulator.xcarchive archive', '../Apps/BRNPlayground/ios/Build'); +}; + const buildIOS = gulp.series(makeXCodeProj, buildIphoneOS, buildIphoneSimulator); -const buildIOSRNTA = gulp.series(makeXCodeProjRNTA, buildIphoneOS, buildIphoneSimulator); +const buildIOSRNTA = gulp.series(makeXCodeProjRNTA, buildIphoneOSRNTA, buildIphoneSimulatorRNTA); const buildAndroid = async () => { const basekitBuildProp = basekitBuild ? "-PBASEKIT_BUILD=1" : ""; From 335c8b6af767a13baa6a0a79bae02f345aa3487c Mon Sep 17 00:00:00 2001 From: Cedric Guillemet <1312968+CedricGuillemet@users.noreply.github.com> Date: Fri, 4 Oct 2024 16:32:43 +0200 Subject: [PATCH 57/78] 0.75 --- .github/workflows/pr.yml | 12 ++++++------ Package/gulpfile.js | 4 ++-- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index 0428732f0..8ed389450 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -10,7 +10,7 @@ jobs: # strategy: # matrix: # platform: [ios, android] -# react-native-version: ['0.73', '0.74'] +# react-native-version: ['0.73', '0.74', '0.75'] # steps: # - name: Checkout Repo # uses: actions/checkout@v4.2.0 @@ -54,7 +54,7 @@ jobs: runs-on: macos-latest strategy: matrix: - react-native-version: ['0.73', '0.74'] + react-native-version: ['0.73', '0.74', '0.75'] platform: ['android', 'ios'] steps: - name: Checkout Repo @@ -136,7 +136,7 @@ jobs: matrix: platform: [x64, ARM64] config: [Debug, Release] - react-native-version: ['0.73', '0.74'] + react-native-version: ['0.73', '0.74', '0.75'] basekit: ['', '-BaseKit'] steps: - name: Support longpaths @@ -214,7 +214,7 @@ jobs: runs-on: macos-latest strategy: matrix: - react-native-version: ['0.73', '0.74'] + react-native-version: ['0.73', '0.74', '0.75'] steps: - name: Checkout Repo uses: actions/checkout@v4.2.0 @@ -241,7 +241,7 @@ jobs: runs-on: macos-latest strategy: matrix: - react-native-version: ['0.73', '0.74'] + react-native-version: ['0.73', '0.74', '0.75'] basekit: ['', '-BaseKit'] steps: - name: Checkout Repo @@ -276,7 +276,7 @@ jobs: runs-on: macos-latest strategy: matrix: - react-native-version: ['0.73', '0.74'] + react-native-version: ['0.73', '0.74', '0.75'] basekit: ['', '-BaseKit'] steps: - name: Checkout Repo diff --git a/Package/gulpfile.js b/Package/gulpfile.js index 92760ee04..79628dd38 100644 --- a/Package/gulpfile.js +++ b/Package/gulpfile.js @@ -94,12 +94,12 @@ const buildIphoneSimulator = async () => { const buildIphoneOSRNTA = async () => { exec('xcodebuild -sdk iphoneos -configuration Release -project ReactNativeBabylon.xcodeproj -scheme BabylonNative build CODE_SIGNING_ALLOWED=NO', 'iOS/Build'); - exec('xcodebuild -sdk iphoneos -configuration Release -workspace BRNPlayground.xcworkspace -scheme ReactTestApp build CODE_SIGNING_ALLOWED=NO -archivePath ./playgroundiOS.xcarchive archive', '../Apps/BRNPlayground/ios/Build'); + //exec('xcodebuild -sdk iphoneos -configuration Release -workspace BRNPlayground.xcworkspace -scheme ReactTestApp build CODE_SIGNING_ALLOWED=NO -archivePath ./playgroundiOS.xcarchive archive', '../Apps/BRNPlayground/ios/Build'); }; const buildIphoneSimulatorRNTA = async () => { exec('xcodebuild -sdk iphonesimulator -arch x86_64 -configuration Release -project ReactNativeBabylon.xcodeproj -scheme BabylonNative build CODE_SIGNING_ALLOWED=NO', 'iOS/Build'); - exec('xcodebuild -sdk iphonesimulator -arch x86_64 -configuration Release -workspace BRNPlayground.xcworkspace -scheme ReactTestApp build CODE_SIGNING_ALLOWED=NO -archivePath ./playgroundSimulator.xcarchive archive', '../Apps/BRNPlayground/ios/Build'); + //exec('xcodebuild -sdk iphonesimulator -arch x86_64 -configuration Release -workspace BRNPlayground.xcworkspace -scheme ReactTestApp build CODE_SIGNING_ALLOWED=NO -archivePath ./playgroundSimulator.xcarchive archive', '../Apps/BRNPlayground/ios/Build'); }; const buildIOS = gulp.series(makeXCodeProj, buildIphoneOS, buildIphoneSimulator); From f9854d185f8294d14b3da8ad4318b040f876d564 Mon Sep 17 00:00:00 2001 From: Cedric Guillemet <1312968+CedricGuillemet@users.noreply.github.com> Date: Fri, 4 Oct 2024 16:52:02 +0200 Subject: [PATCH 58/78] removed commented code --- .github/workflows/typescript.yml | 4 ---- Apps/BRNPlayground/postinstall.js | 4 ++-- 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/.github/workflows/typescript.yml b/.github/workflows/typescript.yml index 98cb835c7..250e7689a 100644 --- a/.github/workflows/typescript.yml +++ b/.github/workflows/typescript.yml @@ -14,10 +14,6 @@ jobs: uses: actions/checkout@v4.2.0 with: submodules: 'recursive' -# - name: Setup Node 16 -# uses: actions/setup-node@v4.0.4 -# with: -# node-version: 16 - name: NPM Install (Playground) run: npm install working-directory: ./Apps/Playground diff --git a/Apps/BRNPlayground/postinstall.js b/Apps/BRNPlayground/postinstall.js index e677bc03e..62261b46d 100644 --- a/Apps/BRNPlayground/postinstall.js +++ b/Apps/BRNPlayground/postinstall.js @@ -28,7 +28,7 @@ function postInstall() { exec("npm install --legacy-peer-deps", { cwd: "../../Modules/@babylonjs/react-native", }); -/* + if (os.platform() === "darwin") { iosCMake(); @@ -38,7 +38,7 @@ function postInstall() { console.log(chalk.black.bgCyan("Installing iOS pods...")); exec("pod install", { cwd: "ios" }); - }*/ + } } postInstall(); From a26fe4d5cc84afdaaa70e82599d93b4bc4f54938 Mon Sep 17 00:00:00 2001 From: Cedric Guillemet <1312968+CedricGuillemet@users.noreply.github.com> Date: Tue, 8 Oct 2024 15:32:48 +0200 Subject: [PATCH 59/78] RN 0.75 dependency issue with windows --- .github/workflows/pr.yml | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index dac859a6d..8969604da 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -10,7 +10,7 @@ jobs: # strategy: # matrix: # platform: [ios, android] -# react-native-version: ['0.73', '0.74', '0.75'] +# react-native-version: ['0.73', '0.74'] # steps: # - name: Checkout Repo # uses: actions/checkout@v4.2.0 @@ -54,7 +54,7 @@ jobs: runs-on: macos-latest strategy: matrix: - react-native-version: ['0.73', '0.74', '0.75'] + react-native-version: ['0.73', '0.74'] platform: ['android', 'ios'] steps: - name: Checkout Repo @@ -143,7 +143,7 @@ jobs: matrix: platform: [x64, ARM64] config: [Debug, Release] - react-native-version: ['0.73', '0.74', '0.75'] + react-native-version: ['0.73', '0.74'] basekit: ['', '-BaseKit'] steps: - name: Support longpaths @@ -161,9 +161,9 @@ jobs: - name: Install watchman run: choco install watchman working-directory: ./Apps/BRNPlayground -# - name: Set React-Native version ${{ matrix.react-native-version }} -# run: npm run set-react-version -- ${{ matrix.react-native-version }} -# working-directory: ./Apps/BRNPlayground + - name: Set React-Native version ${{ matrix.react-native-version }} + run: npm run set-react-version -- ${{ matrix.react-native-version }} + working-directory: ./Apps/BRNPlayground - name: NPM Install RNTA run: npm install working-directory: ./Apps/BRNPlayground @@ -221,7 +221,7 @@ jobs: runs-on: macos-latest strategy: matrix: - react-native-version: ['0.73', '0.74', '0.75'] + react-native-version: ['0.73', '0.74'] steps: - name: Checkout Repo uses: actions/checkout@v4.2.0 @@ -248,7 +248,7 @@ jobs: runs-on: macos-latest strategy: matrix: - react-native-version: ['0.73', '0.74', '0.75'] + react-native-version: ['0.73', '0.74'] basekit: ['', '-BaseKit'] steps: - name: Checkout Repo @@ -283,7 +283,7 @@ jobs: runs-on: macos-latest strategy: matrix: - react-native-version: ['0.73', '0.74', '0.75'] + react-native-version: ['0.73', '0.74'] basekit: ['', '-BaseKit'] steps: - name: Checkout Repo From 4e3666288499cff347264caf48fc226140f88325 Mon Sep 17 00:00:00 2001 From: Cedric Guillemet <1312968+CedricGuillemet@users.noreply.github.com> Date: Tue, 8 Oct 2024 18:12:51 +0200 Subject: [PATCH 60/78] buildRNTAios --- Apps/BRNPlayground/postinstall.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Apps/BRNPlayground/postinstall.js b/Apps/BRNPlayground/postinstall.js index 62261b46d..a109c2792 100644 --- a/Apps/BRNPlayground/postinstall.js +++ b/Apps/BRNPlayground/postinstall.js @@ -32,7 +32,7 @@ function postInstall() { if (os.platform() === "darwin") { iosCMake(); - exec("npm install && npx gulp buildIOSRNTA", { + exec("npm install && npx gulp buildRNTAios", { cwd: "../../Package", }); From bbc08cbc71b1463d2919d474c72306540bd525ea Mon Sep 17 00:00:00 2001 From: Cedric Guillemet <1312968+CedricGuillemet@users.noreply.github.com> Date: Wed, 9 Oct 2024 10:39:33 +0200 Subject: [PATCH 61/78] 0.73 only --- .github/workflows/pr.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index 8969604da..774e76401 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -10,7 +10,7 @@ jobs: # strategy: # matrix: # platform: [ios, android] -# react-native-version: ['0.73', '0.74'] +# react-native-version: ['0.73'] # steps: # - name: Checkout Repo # uses: actions/checkout@v4.2.0 @@ -54,7 +54,7 @@ jobs: runs-on: macos-latest strategy: matrix: - react-native-version: ['0.73', '0.74'] + react-native-version: ['0.73'] platform: ['android', 'ios'] steps: - name: Checkout Repo @@ -143,7 +143,7 @@ jobs: matrix: platform: [x64, ARM64] config: [Debug, Release] - react-native-version: ['0.73', '0.74'] + react-native-version: ['0.73'] basekit: ['', '-BaseKit'] steps: - name: Support longpaths @@ -221,7 +221,7 @@ jobs: runs-on: macos-latest strategy: matrix: - react-native-version: ['0.73', '0.74'] + react-native-version: ['0.73'] steps: - name: Checkout Repo uses: actions/checkout@v4.2.0 @@ -248,7 +248,7 @@ jobs: runs-on: macos-latest strategy: matrix: - react-native-version: ['0.73', '0.74'] + react-native-version: ['0.73'] basekit: ['', '-BaseKit'] steps: - name: Checkout Repo @@ -283,7 +283,7 @@ jobs: runs-on: macos-latest strategy: matrix: - react-native-version: ['0.73', '0.74'] + react-native-version: ['0.73'] basekit: ['', '-BaseKit'] steps: - name: Checkout Repo From 0c1468e15e4100bb96f36c81ced5257353780d53 Mon Sep 17 00:00:00 2001 From: Cedric Guillemet <1312968+CedricGuillemet@users.noreply.github.com> Date: Wed, 9 Oct 2024 11:53:48 +0200 Subject: [PATCH 62/78] android files --- Package/gulpfile.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Package/gulpfile.js b/Package/gulpfile.js index 772b17a5b..98751c01d 100644 --- a/Package/gulpfile.js +++ b/Package/gulpfile.js @@ -555,8 +555,8 @@ const validateAssembledAndroid = async () => { let expectedandroid = [ `${assemblediOSAndroidDir}/android`, `${assemblediOSAndroidDir}/android/build.gradle`, - //`${assemblediOSAndroidDir}/android/include`, - //`${assemblediOSAndroidDir}/android/include/IXrContextARCore.h`, WHY? + `${assemblediOSAndroidDir}/android/include`, + `${assemblediOSAndroidDir}/android/include/IXrContextARCore.h`, `${assemblediOSAndroidDir}/android/src`, `${assemblediOSAndroidDir}/android/src/main`, `${assemblediOSAndroidDir}/android/src/main/AndroidManifest.xml`, From ade0ede75d169f827ffb36ba330d96c2402e3749 Mon Sep 17 00:00:00 2001 From: Cedric Guillemet <1312968+CedricGuillemet@users.noreply.github.com> Date: Thu, 10 Oct 2024 12:24:38 +0200 Subject: [PATCH 63/78] commented post install ios --- Apps/BRNPlayground/postinstall.js | 3 ++- Package/gulpfile.js | 10 +++++----- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/Apps/BRNPlayground/postinstall.js b/Apps/BRNPlayground/postinstall.js index a109c2792..40a4387db 100644 --- a/Apps/BRNPlayground/postinstall.js +++ b/Apps/BRNPlayground/postinstall.js @@ -28,7 +28,7 @@ function postInstall() { exec("npm install --legacy-peer-deps", { cwd: "../../Modules/@babylonjs/react-native", }); - +/* if (os.platform() === "darwin") { iosCMake(); @@ -39,6 +39,7 @@ function postInstall() { console.log(chalk.black.bgCyan("Installing iOS pods...")); exec("pod install", { cwd: "ios" }); } + */ } postInstall(); diff --git a/Package/gulpfile.js b/Package/gulpfile.js index 98751c01d..7a9c0cd12 100644 --- a/Package/gulpfile.js +++ b/Package/gulpfile.js @@ -764,12 +764,12 @@ const buildIOSAndroid = gulp.series(patchPackageVersion, buildIOS, buildAndroid, const build = gulp.series(buildIOSAndroid, switchToBaseKit, buildIOSAndroid); +// a variant is full kit or base kit +const buildAndroidRNTAKitVariant = gulp.series(patchPackageVersion, buildAndroidRNTA, copyAndroidFiles, validateAssembledAndroid); +const buildIOSRNTAKitVariant = gulp.series(patchPackageVersion, buildIOSRNTA, createIOSUniversalLibs, copyFilesiOS, validateAssemblediOS); -const _buildAndroidRNTA = gulp.series(patchPackageVersion, buildAndroidRNTA, copyAndroidFiles, validateAssembledAndroid); -const _buildIOSRNTA = gulp.series(patchPackageVersion, buildIOSRNTA, createIOSUniversalLibs, copyFilesiOS, validateAssemblediOS); - -const buildRNTAandroid = gulp.series(enableRNTA, _buildAndroidRNTA, switchToBaseKit, _buildAndroidRNTA); -const buildRNTAios = gulp.series(enableRNTA, _buildIOSRNTA, switchToBaseKit, _buildIOSRNTA); +const buildRNTAandroid = gulp.series(enableRNTA, buildAndroidRNTAKitVariant, switchToBaseKit, buildAndroidRNTAKitVariant); +const buildRNTAios = gulp.series(enableRNTA, buildIOSRNTAKitVariant, switchToBaseKit, buildIOSRNTAKitVariant); const rebuild = gulp.series(clean, build); const pack = gulp.series(rebuild, createPackage); From 4213ffc12f049da731509067a54297c98d4e5696 Mon Sep 17 00:00:00 2001 From: Cedric Guillemet <1312968+CedricGuillemet@users.noreply.github.com> Date: Thu, 17 Oct 2024 10:52:16 +0200 Subject: [PATCH 64/78] arkit source path fix --- Package/gulpfile.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Package/gulpfile.js b/Package/gulpfile.js index 7a9c0cd12..1aaecc537 100644 --- a/Package/gulpfile.js +++ b/Package/gulpfile.js @@ -329,7 +329,7 @@ const copyAndroidFiles = async () => { }); await new Promise(resolve => { - gulp.src('../Package/iOS/Build/_deps/babylonnative-src/Dependencies/xr/Source/ARCore/Include/*') + gulp.src('../Package/Android/Build/_deps/babylonnative-src/Dependencies/xr/Source/ARCore/Include/*') .pipe(gulp.dest(`${assemblediOSAndroidDir}/android/include`)) .on('end', resolve); }); From 4882c2b9664810254fceb8a8a27f60f8a70abe79 Mon Sep 17 00:00:00 2001 From: Cedric Guillemet <1312968+CedricGuillemet@users.noreply.github.com> Date: Thu, 17 Oct 2024 17:24:06 +0200 Subject: [PATCH 65/78] IXrContextARCore.h copy --- Package/gulpfile.js | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/Package/gulpfile.js b/Package/gulpfile.js index 1aaecc537..8ae4b8cde 100644 --- a/Package/gulpfile.js +++ b/Package/gulpfile.js @@ -249,6 +249,14 @@ const copyIOSFiles = async () => { .pipe(gulp.dest(`${assemblediOSAndroidDir}/ios/include`)) .on('end', resolve); }); + + // this file is part of Android but copied from iOS cmake fetching because easier than finding gradle temp build directory + await new Promise(resolve => { + gulp.src('../Package/iOS/Build/_deps/babylonnative-src/Dependencies/xr/Source/ARCore/Include/*') + .pipe(gulp.dest(`${assemblediOSAndroidDir}/android/include`)) + .on('end', resolve); + }); + }; const createIOSUniversalLibs = async () => { @@ -328,12 +336,6 @@ const copyAndroidFiles = async () => { .on('end', resolve); }); - await new Promise(resolve => { - gulp.src('../Package/Android/Build/_deps/babylonnative-src/Dependencies/xr/Source/ARCore/Include/*') - .pipe(gulp.dest(`${assemblediOSAndroidDir}/android/include`)) - .on('end', resolve); - }); - await new Promise(resolve => { const jnidir = `${playgroundDirectory}/node_modules/@babylonjs/react-native-iosandroid/android/build/intermediates/library_and_local_jars_jni/release/jni/**`; gulp.src(`${jnidir}/libBabylonNative.so`) @@ -555,8 +557,6 @@ const validateAssembledAndroid = async () => { let expectedandroid = [ `${assemblediOSAndroidDir}/android`, `${assemblediOSAndroidDir}/android/build.gradle`, - `${assemblediOSAndroidDir}/android/include`, - `${assemblediOSAndroidDir}/android/include/IXrContextARCore.h`, `${assemblediOSAndroidDir}/android/src`, `${assemblediOSAndroidDir}/android/src/main`, `${assemblediOSAndroidDir}/android/src/main/AndroidManifest.xml`, @@ -597,6 +597,8 @@ const validateAssembledAndroid = async () => { const validateAssemblediOS = async () => { let expectedios = [ + `${assemblediOSAndroidDir}/android/include`, + `${assemblediOSAndroidDir}/android/include/IXrContextARCore.h`, `${assemblediOSAndroidDir}/ios`, `${assemblediOSAndroidDir}/ios/BabylonModule.mm`, `${assemblediOSAndroidDir}/ios/BabylonNativeInterop.h`, From d197b67192f3196a5331764f5d58796d76f0595e Mon Sep 17 00:00:00 2001 From: Cedric Guillemet <1312968+CedricGuillemet@users.noreply.github.com> Date: Thu, 17 Oct 2024 17:54:09 +0200 Subject: [PATCH 66/78] copy doesn't happen --- Package/gulpfile.js | 1 + 1 file changed, 1 insertion(+) diff --git a/Package/gulpfile.js b/Package/gulpfile.js index 8ae4b8cde..0efc1babd 100644 --- a/Package/gulpfile.js +++ b/Package/gulpfile.js @@ -250,6 +250,7 @@ const copyIOSFiles = async () => { .on('end', resolve); }); + shelljs.mkdir('-p', `${assemblediOSAndroidDir}/android/include`); // this file is part of Android but copied from iOS cmake fetching because easier than finding gradle temp build directory await new Promise(resolve => { gulp.src('../Package/iOS/Build/_deps/babylonnative-src/Dependencies/xr/Source/ARCore/Include/*') From 6675442ba12edd0a978febea27eddbbf7eb0efee Mon Sep 17 00:00:00 2001 From: Cedric Guillemet <1312968+CedricGuillemet@users.noreply.github.com> Date: Thu, 17 Oct 2024 18:47:39 +0200 Subject: [PATCH 67/78] validate --- Package/gulpfile.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Package/gulpfile.js b/Package/gulpfile.js index 0efc1babd..d52af87e1 100644 --- a/Package/gulpfile.js +++ b/Package/gulpfile.js @@ -250,7 +250,6 @@ const copyIOSFiles = async () => { .on('end', resolve); }); - shelljs.mkdir('-p', `${assemblediOSAndroidDir}/android/include`); // this file is part of Android but copied from iOS cmake fetching because easier than finding gradle temp build directory await new Promise(resolve => { gulp.src('../Package/iOS/Build/_deps/babylonnative-src/Dependencies/xr/Source/ARCore/Include/*') @@ -598,6 +597,7 @@ const validateAssembledAndroid = async () => { const validateAssemblediOS = async () => { let expectedios = [ + `${assemblediOSAndroidDir}/android`, `${assemblediOSAndroidDir}/android/include`, `${assemblediOSAndroidDir}/android/include/IXrContextARCore.h`, `${assemblediOSAndroidDir}/ios`, From 9b15b2524fbaa5cf8c7a1a6d042ff2520bb14046 Mon Sep 17 00:00:00 2001 From: Cedric Guillemet <1312968+CedricGuillemet@users.noreply.github.com> Date: Thu, 17 Oct 2024 19:29:00 +0200 Subject: [PATCH 68/78] 0.74 --- .github/workflows/pr.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index 774e76401..d0ad1f06d 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -54,7 +54,7 @@ jobs: runs-on: macos-latest strategy: matrix: - react-native-version: ['0.73'] + react-native-version: ['0.73', '0.74'] platform: ['android', 'ios'] steps: - name: Checkout Repo @@ -143,7 +143,7 @@ jobs: matrix: platform: [x64, ARM64] config: [Debug, Release] - react-native-version: ['0.73'] + react-native-version: ['0.73', '0.74'] basekit: ['', '-BaseKit'] steps: - name: Support longpaths @@ -221,7 +221,7 @@ jobs: runs-on: macos-latest strategy: matrix: - react-native-version: ['0.73'] + react-native-version: ['0.73', '0.74'] steps: - name: Checkout Repo uses: actions/checkout@v4.2.0 @@ -248,7 +248,7 @@ jobs: runs-on: macos-latest strategy: matrix: - react-native-version: ['0.73'] + react-native-version: ['0.73', '0.74'] basekit: ['', '-BaseKit'] steps: - name: Checkout Repo @@ -283,7 +283,7 @@ jobs: runs-on: macos-latest strategy: matrix: - react-native-version: ['0.73'] + react-native-version: ['0.73', '0.74'] basekit: ['', '-BaseKit'] steps: - name: Checkout Repo From bf41ecc1ed99a2472d3ca4cac882e117208f9fc9 Mon Sep 17 00:00:00 2001 From: Cedric Guillemet <1312968+CedricGuillemet@users.noreply.github.com> Date: Fri, 18 Oct 2024 16:40:36 +0200 Subject: [PATCH 69/78] bump rnta --- Apps/BRNPlayground/package-lock.json | 30 ++++++++++++++++++---------- Apps/BRNPlayground/package.json | 2 +- 2 files changed, 20 insertions(+), 12 deletions(-) diff --git a/Apps/BRNPlayground/package-lock.json b/Apps/BRNPlayground/package-lock.json index 8aa2b7862..ff50157d9 100644 --- a/Apps/BRNPlayground/package-lock.json +++ b/Apps/BRNPlayground/package-lock.json @@ -37,7 +37,7 @@ "jest": "^29.6.3", "mkdirp": "^1.0.0", "prettier": "2.8.8", - "react-native-test-app": "^3.10.3", + "react-native-test-app": "^3.10.16", "react-test-renderer": "18.2.0", "typescript": "5.0.4" }, @@ -5391,10 +5391,14 @@ } }, "node_modules/@rnx-kit/react-native-host": { - "version": "0.4.12", - "resolved": "https://registry.npmjs.org/@rnx-kit/react-native-host/-/react-native-host-0.4.12.tgz", - "integrity": "sha512-LVOoF6/+s8JnkCn5hjZTzdyjkL54LOh1vHAimeKeGc427SPEAmHLpOohDNiMhq0kR/jY3qn8TkX8X7C8gXNWKQ==", + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/@rnx-kit/react-native-host/-/react-native-host-0.5.0.tgz", + "integrity": "sha512-ZuHDl899uZyqk4qcBkGMRmVp2u6EXLikMAVd0ry7u2gWll0dZSfM2TbDHGq5Z0d8qpdAdSTRB0bYpvwmEznxVQ==", "dev": true, + "license": "MIT", + "engines": { + "node": ">=16.17" + }, "peerDependencies": { "react-native": ">=0.66" } @@ -13722,12 +13726,16 @@ } }, "node_modules/react-native-test-app": { - "version": "3.10.3", - "resolved": "https://registry.npmjs.org/react-native-test-app/-/react-native-test-app-3.10.3.tgz", - "integrity": "sha512-mamLagA1cBffcM8co8g/O1SJi2PsjDU63BG0GVTOVNPzie9hb1K0CWlMw+jMMXXHeKGvinrZEIaJXjIISn7PlQ==", + "version": "3.10.16", + "resolved": "https://registry.npmjs.org/react-native-test-app/-/react-native-test-app-3.10.16.tgz", + "integrity": "sha512-0zmU2cQJtlt+Jo1wb2ZZ/V4SKmYtcBTSvHpTl1m60AB6xQyW/JAEuoz7Ir7x/WRGbe1qSHdwJXEPgYVEWOrizQ==", "dev": true, + "license": "MIT", + "workspaces": [ + "example" + ], "dependencies": { - "@rnx-kit/react-native-host": "^0.4.12", + "@rnx-kit/react-native-host": "^0.5.0", "ajv": "^8.0.0", "cliui": "^8.0.0", "fast-xml-parser": "^4.0.0", @@ -13745,12 +13753,12 @@ "node": ">=16.17" }, "peerDependencies": { - "@callstack/react-native-visionos": "0.73 - 0.75", + "@callstack/react-native-visionos": "0.73 - 0.76", "@expo/config-plugins": ">=5.0", "react": "17.0.1 - 19.0", - "react-native": "0.66 - 0.75 || >=0.76.0-0 <0.76.0", + "react-native": "0.66 - 0.76 || >=0.77.0-0 <0.77.0", "react-native-macos": "^0.0.0-0 || 0.66 || 0.68 || 0.71 - 0.75", - "react-native-windows": "^0.0.0-0 || 0.66 - 0.75" + "react-native-windows": "^0.0.0-0 || 0.66 - 0.76" }, "peerDependenciesMeta": { "@callstack/react-native-visionos": { diff --git a/Apps/BRNPlayground/package.json b/Apps/BRNPlayground/package.json index d6daa2d1d..dd3840cb8 100644 --- a/Apps/BRNPlayground/package.json +++ b/Apps/BRNPlayground/package.json @@ -46,7 +46,7 @@ "jest": "^29.6.3", "mkdirp": "^1.0.0", "prettier": "2.8.8", - "react-native-test-app": "^3.10.3", + "react-native-test-app": "^3.10.16", "react-test-renderer": "18.2.0", "typescript": "5.0.4" }, From c5378ccfbfdb80455f436d36409228e80de0ca0e Mon Sep 17 00:00:00 2001 From: Cedric Guillemet <1312968+CedricGuillemet@users.noreply.github.com> Date: Fri, 18 Oct 2024 16:59:03 +0200 Subject: [PATCH 70/78] windows 2022 --- .github/workflows/pr.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index d0ad1f06d..2e18d7c75 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -138,7 +138,7 @@ jobs: release-version: 0.0.${GITHUB_SHA::8} windows-rnta: - runs-on: windows-2019 + runs-on: windows-2022 strategy: matrix: platform: [x64, ARM64] From a579692fec29c30e450796f0391f524250857586 Mon Sep 17 00:00:00 2001 From: Cedric Guillemet <1312968+CedricGuillemet@users.noreply.github.com> Date: Fri, 18 Oct 2024 17:03:47 +0200 Subject: [PATCH 71/78] missed cmake --- .github/workflows/pr.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index 2e18d7c75..7d2684892 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -185,7 +185,7 @@ jobs: working-directory: ./Modules - name: CMake BabylonNative - run: cmake -G "Visual Studio 16 2019" -D CMAKE_SYSTEM_NAME=WindowsStore -D CMAKE_SYSTEM_VERSION=10.0.19041.0 -DCMAKE_UNITY_BUILD=true -D CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION_MAXIMUM=10.0.19041.0 -A ${{ matrix.platform == 'x86' && 'win32' || matrix.platform}} ${{ matrix.basekit == '-BaseKit' && '-DBASEKIT_BUILD=1' || matrix.basekit}} ./../../../react-native-windows/windows + run: cmake -D CMAKE_SYSTEM_NAME=WindowsStore -D CMAKE_SYSTEM_VERSION=10.0.19041.0 -DCMAKE_UNITY_BUILD=true -D CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION_MAXIMUM=10.0.19041.0 -A ${{ matrix.platform == 'x86' && 'win32' || matrix.platform}} ${{ matrix.basekit == '-BaseKit' && '-DBASEKIT_BUILD=1' || matrix.basekit}} ./../../../react-native-windows/windows working-directory: ./Modules/@babylonjs/react-native/Build/uwp_${{ matrix.platform }} - name: Nuget restore From 3153eeec5fc87cf98a202cfde1978b478f3da97f Mon Sep 17 00:00:00 2001 From: Cedric Guillemet <1312968+CedricGuillemet@users.noreply.github.com> Date: Fri, 18 Oct 2024 17:38:04 +0200 Subject: [PATCH 72/78] install windows sdk 10.0.18362.0 --- .github/workflows/pr.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index 7d2684892..31bb640fe 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -158,6 +158,12 @@ jobs: uses: actions/setup-node@v4.0.4 with: node-version: 20 + - name: Install 10.0.18362.0 Windows SDK + run: | + $sdkVersion = '10.0.18362.0' + $installerUrl = "https://go.microsoft.com/fwlink/p/?linkid=2120843&clcid=0x409&Culture=en-US&country=US&Consent=0&callingAppTelemetryId=0&passive=false&dest=https://go.microsoft.com/fwlink/?linkid=2120843" + Invoke-WebRequest -Uri $installerUrl -OutFile 'winsdksetup.exe' + Start-Process -FilePath 'winsdksetup.exe' -ArgumentList "/features OptionId.WindowsDesktopSoftwareDevelopmentKit OptionId.WindowsSoftwareDevelopmentKit, /quiet" -Wait - name: Install watchman run: choco install watchman working-directory: ./Apps/BRNPlayground From 5230aae42010575c8afb2e1afcb370c5dbdb56d0 Mon Sep 17 00:00:00 2001 From: Cedric Guillemet <1312968+CedricGuillemet@users.noreply.github.com> Date: Mon, 21 Oct 2024 11:14:46 +0200 Subject: [PATCH 73/78] test with rnpermissions vcxproj patched --- .github/workflows/pr.yml | 7 ++ RNPermissions.vcxproj | 156 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 163 insertions(+) create mode 100644 RNPermissions.vcxproj diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index 31bb640fe..f3d2543dc 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -182,6 +182,13 @@ jobs: run: npm install working-directory: ./Package + + - name: RNPermissions Patch test + run: copy /Y RNPermissions.vcxproj .\Apps\BRNPlayground\node_modules\react-native-permissions\windows\RNPermissions\RNPermissions.vcxproj + working-directory: ./ + + + - name: NPM Generate Windows Project run: npx install-windows-test-app working-directory: ./Apps/BRNPlayground diff --git a/RNPermissions.vcxproj b/RNPermissions.vcxproj new file mode 100644 index 000000000..ab42d52ed --- /dev/null +++ b/RNPermissions.vcxproj @@ -0,0 +1,156 @@ + + + + + true + true + true + {99677b9d-a27b-4239-930e-c36c8d339c54} + RNPermissions + RNPermissions + en-US + 16.0 + true + Windows Store + 10.0 + 10.0 + 10.0.17763.0 + + + + $([MSBuild]::GetDirectoryNameOfFileAbove($(SolutionDir), 'node_modules\react-native-windows\package.json'))\node_modules\react-native-windows\ + + + + Debug + ARM + + + Debug + ARM64 + + + Debug + Win32 + + + Debug + x64 + + + Release + ARM + + + Release + ARM64 + + + Release + Win32 + + + Release + x64 + + + + DynamicLibrary + Unicode + false + + + true + true + + + false + true + false + + + + + + + + + + + + + + + + + + Use + pch.h + $(IntDir)pch.pch + Level4 + %(AdditionalOptions) /bigobj + + /DWINRT_NO_MAKE_DETECTION %(AdditionalOptions) + 28204 + _WINRT_DLL;%(PreprocessorDefinitions) + $(WindowsSDK_WindowsMetadata);$(AdditionalUsingDirectories) + + + Console + true + RNPermissions.def + + + + + _DEBUG;%(PreprocessorDefinitions) + ProgramDatabase + + + + + NDEBUG;%(PreprocessorDefinitions) + + + + + + ReactPackageProvider.idl + + + + + + Create + + + ReactPackageProvider.idl + + + + + + + + + + + + + + + + + + + + + This project references targets in your node_modules\react-native-windows folder. The missing file is {0}. + + + + + + + + From 56135efb9d00c6d5547fd1726fe3536304ee5c36 Mon Sep 17 00:00:00 2001 From: Cedric Guillemet <1312968+CedricGuillemet@users.noreply.github.com> Date: Mon, 21 Oct 2024 11:21:47 +0200 Subject: [PATCH 74/78] with pwshl --- .github/workflows/pr.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index f3d2543dc..4117d1e74 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -184,8 +184,9 @@ jobs: - name: RNPermissions Patch test - run: copy /Y RNPermissions.vcxproj .\Apps\BRNPlayground\node_modules\react-native-permissions\windows\RNPermissions\RNPermissions.vcxproj + run: Copy-Item -Path "RNPermissions.vcxproj" -Destination "Apps\BRNPlayground\node_modules\react-native-permissions\windows\RNPermissions\RNPermissions.vcxproj" -Force working-directory: ./ + From 4d7b28bd80b8b40fc84b60297ee248be1c03b5e2 Mon Sep 17 00:00:00 2001 From: Cedric Guillemet <1312968+CedricGuillemet@users.noreply.github.com> Date: Mon, 21 Oct 2024 11:50:09 +0200 Subject: [PATCH 75/78] windows sdk 10.0.22621.0 --- .github/workflows/pr.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index 4117d1e74..2030e1ba5 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -199,7 +199,7 @@ jobs: working-directory: ./Modules - name: CMake BabylonNative - run: cmake -D CMAKE_SYSTEM_NAME=WindowsStore -D CMAKE_SYSTEM_VERSION=10.0.19041.0 -DCMAKE_UNITY_BUILD=true -D CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION_MAXIMUM=10.0.19041.0 -A ${{ matrix.platform == 'x86' && 'win32' || matrix.platform}} ${{ matrix.basekit == '-BaseKit' && '-DBASEKIT_BUILD=1' || matrix.basekit}} ./../../../react-native-windows/windows + run: cmake -D CMAKE_SYSTEM_NAME=WindowsStore -D CMAKE_SYSTEM_VERSION=10.0.22621.0 -DCMAKE_UNITY_BUILD=true -D CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION_MAXIMUM=10.0.22621.0 -A ${{ matrix.platform == 'x86' && 'win32' || matrix.platform}} ${{ matrix.basekit == '-BaseKit' && '-DBASEKIT_BUILD=1' || matrix.basekit}} ./../../../react-native-windows/windows working-directory: ./Modules/@babylonjs/react-native/Build/uwp_${{ matrix.platform }} - name: Nuget restore From e539d2f1f8d673543736a6337c571f08242aa4db Mon Sep 17 00:00:00 2001 From: Cedric Guillemet <1312968+CedricGuillemet@users.noreply.github.com> Date: Tue, 22 Oct 2024 12:29:44 +0200 Subject: [PATCH 76/78] test removing sdk version parameter --- .github/workflows/pr.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index 2030e1ba5..d7585ff38 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -199,7 +199,7 @@ jobs: working-directory: ./Modules - name: CMake BabylonNative - run: cmake -D CMAKE_SYSTEM_NAME=WindowsStore -D CMAKE_SYSTEM_VERSION=10.0.22621.0 -DCMAKE_UNITY_BUILD=true -D CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION_MAXIMUM=10.0.22621.0 -A ${{ matrix.platform == 'x86' && 'win32' || matrix.platform}} ${{ matrix.basekit == '-BaseKit' && '-DBASEKIT_BUILD=1' || matrix.basekit}} ./../../../react-native-windows/windows + run: cmake -D CMAKE_SYSTEM_NAME=WindowsStore -A ${{ matrix.platform == 'x86' && 'win32' || matrix.platform}} ${{ matrix.basekit == '-BaseKit' && '-DBASEKIT_BUILD=1' || matrix.basekit}} ./../../../react-native-windows/windows working-directory: ./Modules/@babylonjs/react-native/Build/uwp_${{ matrix.platform }} - name: Nuget restore From 78cc5cc15cd4ee30d3fafc6754fd465164b66680 Mon Sep 17 00:00:00 2001 From: Cedric Guillemet <1312968+CedricGuillemet@users.noreply.github.com> Date: Tue, 22 Oct 2024 14:23:17 +0200 Subject: [PATCH 77/78] sdk version --- .github/workflows/pr.yml | 2 +- RNPermissions.vcxproj | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index d7585ff38..2030e1ba5 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -199,7 +199,7 @@ jobs: working-directory: ./Modules - name: CMake BabylonNative - run: cmake -D CMAKE_SYSTEM_NAME=WindowsStore -A ${{ matrix.platform == 'x86' && 'win32' || matrix.platform}} ${{ matrix.basekit == '-BaseKit' && '-DBASEKIT_BUILD=1' || matrix.basekit}} ./../../../react-native-windows/windows + run: cmake -D CMAKE_SYSTEM_NAME=WindowsStore -D CMAKE_SYSTEM_VERSION=10.0.22621.0 -DCMAKE_UNITY_BUILD=true -D CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION_MAXIMUM=10.0.22621.0 -A ${{ matrix.platform == 'x86' && 'win32' || matrix.platform}} ${{ matrix.basekit == '-BaseKit' && '-DBASEKIT_BUILD=1' || matrix.basekit}} ./../../../react-native-windows/windows working-directory: ./Modules/@babylonjs/react-native/Build/uwp_${{ matrix.platform }} - name: Nuget restore diff --git a/RNPermissions.vcxproj b/RNPermissions.vcxproj index ab42d52ed..6d2cec29c 100644 --- a/RNPermissions.vcxproj +++ b/RNPermissions.vcxproj @@ -20,6 +20,7 @@ $([MSBuild]::GetDirectoryNameOfFileAbove($(SolutionDir), 'node_modules\react-native-windows\package.json'))\node_modules\react-native-windows\ + Debug From ddb9d92396852b087aa6306da2f21a5c07611650 Mon Sep 17 00:00:00 2001 From: Cedric Guillemet <1312968+CedricGuillemet@users.noreply.github.com> Date: Tue, 22 Oct 2024 14:45:42 +0200 Subject: [PATCH 78/78] system version --- .github/workflows/pr.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index 2030e1ba5..90d19b006 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -199,7 +199,7 @@ jobs: working-directory: ./Modules - name: CMake BabylonNative - run: cmake -D CMAKE_SYSTEM_NAME=WindowsStore -D CMAKE_SYSTEM_VERSION=10.0.22621.0 -DCMAKE_UNITY_BUILD=true -D CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION_MAXIMUM=10.0.22621.0 -A ${{ matrix.platform == 'x86' && 'win32' || matrix.platform}} ${{ matrix.basekit == '-BaseKit' && '-DBASEKIT_BUILD=1' || matrix.basekit}} ./../../../react-native-windows/windows + run: cmake -D CMAKE_SYSTEM_NAME=WindowsStore -D CMAKE_SYSTEM_VERSION=10.0 -A ${{ matrix.platform == 'x86' && 'win32' || matrix.platform}} ${{ matrix.basekit == '-BaseKit' && '-DBASEKIT_BUILD=1' || matrix.basekit}} ./../../../react-native-windows/windows working-directory: ./Modules/@babylonjs/react-native/Build/uwp_${{ matrix.platform }} - name: Nuget restore