From aee89ec1f0eb4c61990059ea4bc89eb4f004aa8c Mon Sep 17 00:00:00 2001 From: Julien Brayere Date: Mon, 7 Sep 2026 11:43:22 +0200 Subject: [PATCH 1/3] feat: migrate Zstd example to Expo development builds --- .github/workflows/expo.yml | 102 + .gitignore | 5 + example/README.md | 87 +- example/android/app/build.gradle | 120 - example/android/app/debug.keystore | Bin 2257 -> 0 bytes example/android/app/proguard-rules.pro | 10 - .../android/app/src/debug/AndroidManifest.xml | 9 - .../android/app/src/main/AndroidManifest.xml | 25 - .../main/java/com/zstdexample/MainActivity.kt | 23 - .../java/com/zstdexample/MainApplication.kt | 45 - .../res/drawable/rn_edit_text_material.xml | 36 - .../src/main/res/mipmap-hdpi/ic_launcher.png | Bin 3056 -> 0 bytes .../res/mipmap-hdpi/ic_launcher_round.png | Bin 5024 -> 0 bytes .../src/main/res/mipmap-mdpi/ic_launcher.png | Bin 2096 -> 0 bytes .../res/mipmap-mdpi/ic_launcher_round.png | Bin 2858 -> 0 bytes .../src/main/res/mipmap-xhdpi/ic_launcher.png | Bin 4569 -> 0 bytes .../res/mipmap-xhdpi/ic_launcher_round.png | Bin 7098 -> 0 bytes .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin 6464 -> 0 bytes .../res/mipmap-xxhdpi/ic_launcher_round.png | Bin 10676 -> 0 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.png | Bin 9250 -> 0 bytes .../res/mipmap-xxxhdpi/ic_launcher_round.png | Bin 15523 -> 0 bytes .../app/src/main/res/values/strings.xml | 3 - .../app/src/main/res/values/styles.xml | 9 - example/android/build.gradle | 21 - example/android/gradle.properties | 39 - .../android/gradle/wrapper/gradle-wrapper.jar | Bin 63721 -> 0 bytes .../gradle/wrapper/gradle-wrapper.properties | 7 - example/android/gradlew | 249 -- example/android/gradlew.bat | 92 - example/android/settings.gradle | 6 - example/app.json | 19 +- example/babel.config.js | 15 +- example/index.js | 5 +- example/ios/.xcode.env | 11 - example/ios/.xcode.env.local | 2 - example/ios/AppDelegate.swift | 30 - example/ios/Podfile | 37 - example/ios/Podfile.lock | 2845 ------------- .../ios/ZstdExample.xcodeproj/project.pbxproj | 492 --- .../xcschemes/ZstdExample.xcscheme | 95 - .../contents.xcworkspacedata | 10 - example/ios/ZstdExample/AppDelegate.swift | 30 - .../AppIcon.appiconset/Contents.json | 53 - .../ZstdExample/Images.xcassets/Contents.json | 6 - example/ios/ZstdExample/Info.plist | 53 - .../ios/ZstdExample/LaunchScreen.storyboard | 47 - example/ios/ZstdExample/PrivacyInfo.xcprivacy | 37 - example/metro.config.js | 21 +- example/package.json | 33 +- package.json | 10 +- yarn.lock | 3598 ++++++++++------- 51 files changed, 2322 insertions(+), 6015 deletions(-) create mode 100644 .github/workflows/expo.yml delete mode 100644 example/android/app/build.gradle delete mode 100644 example/android/app/debug.keystore delete mode 100644 example/android/app/proguard-rules.pro delete mode 100644 example/android/app/src/debug/AndroidManifest.xml delete mode 100644 example/android/app/src/main/AndroidManifest.xml delete mode 100644 example/android/app/src/main/java/com/zstdexample/MainActivity.kt delete mode 100644 example/android/app/src/main/java/com/zstdexample/MainApplication.kt delete mode 100644 example/android/app/src/main/res/drawable/rn_edit_text_material.xml delete mode 100644 example/android/app/src/main/res/mipmap-hdpi/ic_launcher.png delete mode 100644 example/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png delete mode 100644 example/android/app/src/main/res/mipmap-mdpi/ic_launcher.png delete mode 100644 example/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png delete mode 100644 example/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png delete mode 100644 example/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png delete mode 100644 example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png delete mode 100644 example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png delete mode 100644 example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png delete mode 100644 example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png delete mode 100644 example/android/app/src/main/res/values/strings.xml delete mode 100644 example/android/app/src/main/res/values/styles.xml delete mode 100644 example/android/build.gradle delete mode 100644 example/android/gradle.properties delete mode 100644 example/android/gradle/wrapper/gradle-wrapper.jar delete mode 100644 example/android/gradle/wrapper/gradle-wrapper.properties delete mode 100755 example/android/gradlew delete mode 100644 example/android/gradlew.bat delete mode 100644 example/android/settings.gradle delete mode 100644 example/ios/.xcode.env delete mode 100644 example/ios/.xcode.env.local delete mode 100644 example/ios/AppDelegate.swift delete mode 100644 example/ios/Podfile delete mode 100644 example/ios/Podfile.lock delete mode 100644 example/ios/ZstdExample.xcodeproj/project.pbxproj delete mode 100644 example/ios/ZstdExample.xcodeproj/xcshareddata/xcschemes/ZstdExample.xcscheme delete mode 100644 example/ios/ZstdExample.xcworkspace/contents.xcworkspacedata delete mode 100644 example/ios/ZstdExample/AppDelegate.swift delete mode 100644 example/ios/ZstdExample/Images.xcassets/AppIcon.appiconset/Contents.json delete mode 100644 example/ios/ZstdExample/Images.xcassets/Contents.json delete mode 100644 example/ios/ZstdExample/Info.plist delete mode 100644 example/ios/ZstdExample/LaunchScreen.storyboard delete mode 100644 example/ios/ZstdExample/PrivacyInfo.xcprivacy diff --git a/.github/workflows/expo.yml b/.github/workflows/expo.yml new file mode 100644 index 0000000..2baa1d3 --- /dev/null +++ b/.github/workflows/expo.yml @@ -0,0 +1,102 @@ +name: Expo example +on: + push: + branches: [main] + pull_request: + branches: [main] + +jobs: + expo-checks: + runs-on: ubuntu-latest + env: + CI: '1' + steps: + - name: Checkout + uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 + with: + submodules: recursive + + - name: Setup Node.js + uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6.1.0 + with: + node-version: 22 + - name: Install dependencies + run: yarn install --immutable + + - name: Build local library + run: yarn prepare + + - name: Check Expo dependencies + working-directory: example + run: npx --yes expo-doctor@1.20.4 --verbose + + - name: Export native bundles + run: yarn example export + + build-android: + runs-on: ubuntu-latest + env: + CI: '1' + steps: + - name: Checkout + uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 + with: + submodules: recursive + + - name: Setup Node.js + uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6.1.0 + with: + node-version: 22 + - name: Install dependencies + run: yarn install --immutable + + - name: Build local library + run: yarn prepare + + - name: Install JDK + uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # v4.7.1 + with: + distribution: zulu + java-version: '17' + + - name: Generate Android project + run: yarn example prebuild --clean --no-install --platform android + + - name: Build Android example + run: yarn example build:android + + build-ios: + runs-on: macos-latest + env: + CI: '1' + steps: + - name: Checkout + uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 + with: + submodules: recursive + + - name: Setup Node.js + uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6.1.0 + with: + node-version: 22 + - name: Install dependencies + run: yarn install --immutable + + - name: Build local library + run: yarn prepare + + - name: Use Xcode 26 + uses: maxim-lobanov/setup-xcode@60606e260d2fc5762a71e64e74b2174e8ea3c8bd # v1.6.0 + with: + xcode-version: '26' + + - name: Generate iOS project + run: yarn example prebuild --clean --no-install --platform ios + + - name: Install CocoaPods dependencies + working-directory: example/ios + run: pod install + + - name: Build iOS example + run: yarn example build:ios + diff --git a/.gitignore b/.gitignore index cc9840d..916c45f 100644 --- a/.gitignore +++ b/.gitignore @@ -84,3 +84,8 @@ CLAUDE.md .claude/ GEMINI.md .gemini/ + +# Generated Expo example projects +/example/ios/ +/example/android/ +/example/dist/ diff --git a/example/README.md b/example/README.md index 12470c3..a86755e 100644 --- a/example/README.md +++ b/example/README.md @@ -1,79 +1,20 @@ -This is a new [**React Native**](https://reactnative.dev) project, bootstrapped using [`@react-native-community/cli`](https://github.com/react-native-community/cli). +# Expo development example -# Getting Started +This example uses Expo SDK 57 and a development build containing the local native library. Expo Go cannot load it. +Run these commands from the repository root: ->**Note**: Make sure you have completed the [React Native - Environment Setup](https://reactnative.dev/docs/environment-setup) instructions till "Creating a new application" step, before proceeding. - -## Step 1: Start the Metro Server - -First, you will need to start **Metro**, the JavaScript _bundler_ that ships _with_ React Native. - -To start Metro, run the following command from the _root_ of your React Native project: - -```bash -# using npm -npm start - -# OR using Yarn -yarn start -``` - -## Step 2: Start your Application - -Let Metro Bundler run in its _own_ terminal. Open a _new_ terminal from the _root_ of your React Native project. Run the following command to start your _Android_ or _iOS_ app: - -### For Android - -```bash -# using npm -npm run android - -# OR using Yarn -yarn android +```sh +yarn install --immutable +yarn prepare +yarn example prebuild --clean +yarn example android +# Or: yarn example ios ``` -### For iOS - -```bash -# using npm -npm run ios - -# OR using Yarn -yarn ios -``` - -If everything is set up _correctly_, you should see your new app running in your _Android Emulator_ or _iOS Simulator_ shortly provided you have set up your emulator/simulator correctly. - -This is one way to run your app — you can also run it directly from within Android Studio and Xcode respectively. - -## Step 3: Modifying your App - -Now that you have successfully run the app, let's modify it. - -1. Open `App.tsx` in your text editor of choice and edit some lines. -2. For **Android**: Press the R key twice or select **"Reload"** from the **Developer Menu** (Ctrl + M (on Window and Linux) or Cmd ⌘ + M (on macOS)) to see your changes! - - For **iOS**: Hit Cmd ⌘ + R in your iOS Simulator to reload the app and see your changes! - -## Congratulations! :tada: - -You've successfully run and modified your React Native App. :partying_face: - -### Now what? - -- If you want to add this new React Native code to an existing application, check out the [Integration guide](https://reactnative.dev/docs/integration-with-existing-apps). -- If you're curious to learn more about React Native, check out the [Introduction to React Native](https://reactnative.dev/docs/getting-started). - -# Troubleshooting - -If you can't get this to work, see the [Troubleshooting](https://reactnative.dev/docs/troubleshooting) page. - -# Learn More +Use `yarn example start` for subsequent JavaScript development. Rebuild after changing native code. +The example's `ios/` and `android/` directories are generated and ignored. Keep native configuration in app config and config plugins; `prebuild --clean` replaces generated projects. -To learn more about React Native, take a look at the following resources: +Validate with `yarn lint`, `yarn typecheck`, `yarn prepare`, `yarn example export`, and `cd example && npx expo-doctor@1.20.4`. +After prebuild, `yarn example build:android` builds an arm64 debug APK and `yarn example build:ios` compiles an unsigned simulator app. CI runs both native builds. -- [React Native Website](https://reactnative.dev) - learn more about React Native. -- [Getting Started](https://reactnative.dev/docs/environment-setup) - an **overview** of React Native and how setup your environment. -- [Learn the Basics](https://reactnative.dev/docs/getting-started) - a **guided tour** of the React Native **basics**. -- [Blog](https://reactnative.dev/blog) - read the latest official React Native **Blog** posts. -- [`@facebook/react-native`](https://github.com/facebook/react-native) - the Open Source; GitHub **repository** for React Native. +Initialize the native dependency first with `git submodule update --init --recursive`. Run `yarn test --runInBand` for the existing Jest suite. diff --git a/example/android/app/build.gradle b/example/android/app/build.gradle deleted file mode 100644 index 173d9a9..0000000 --- a/example/android/app/build.gradle +++ /dev/null @@ -1,120 +0,0 @@ -apply plugin: "com.android.application" -apply plugin: "org.jetbrains.kotlin.android" -apply plugin: "com.facebook.react" - -/** - * This is the configuration block to customize your React Native Android app. - * By default you don't need to apply any configuration, just uncomment the lines you need. - */ -react { - /* Folders */ - // The root of your project, i.e. where "package.json" lives. Default is '../..' - // root = file("../../") - // The folder where the react-native NPM package is. Default is ../../node_modules/react-native - // reactNativeDir = file("../../node_modules/react-native") - // The folder where the react-native Codegen package is. Default is ../../node_modules/@react-native/codegen - // codegenDir = file("../../node_modules/@react-native/codegen") - // The cli.js file which is the React Native CLI entrypoint. Default is ../../node_modules/react-native/cli.js - // cliFile = file("../../node_modules/react-native/cli.js") - - /* Variants */ - // The list of variants to that are debuggable. For those we're going to - // skip the bundling of the JS bundle and the assets. By default is just 'debug'. - // If you add flavors like lite, prod, etc. you'll have to list your debuggableVariants. - // debuggableVariants = ["liteDebug", "prodDebug"] - - /* Bundling */ - // A list containing the node command and its flags. Default is just 'node'. - // nodeExecutableAndArgs = ["node"] - // - // The command to run when bundling. By default is 'bundle' - // bundleCommand = "ram-bundle" - // - // The path to the CLI configuration file. Default is empty. - // bundleConfig = file(../rn-cli.config.js) - // - // The name of the generated asset file containing your JS bundle - // bundleAssetName = "MyApplication.android.bundle" - // - // The entry file for bundle generation. Default is 'index.android.js' or 'index.js' - // entryFile = file("../js/MyApplication.android.js") - // - // A list of extra flags to pass to the 'bundle' commands. - // See https://github.com/react-native-community/cli/blob/main/docs/commands.md#bundle - // extraPackagerArgs = [] - - /* Hermes Commands */ - // The hermes compiler command to run. By default it is 'hermesc' - // hermesCommand = "$rootDir/my-custom-hermesc/bin/hermesc" - // - // The list of flags to pass to the Hermes compiler. By default is "-O", "-output-source-map" - // hermesFlags = ["-O", "-output-source-map"] - - /* Autolinking */ - autolinkLibrariesWithApp() -} - - -/** - * Set this to true to Run Proguard on Release builds to minify the Java bytecode. - */ -def enableProguardInReleaseBuilds = false - -/** - * The preferred build flavor of JavaScriptCore (JSC) - * - * For example, to use the international variant, you can use: - * `def jscFlavor = io.github.react-native-community:jsc-android-intl:2026004.+` - * - * The international variant includes ICU i18n library and necessary data - * allowing to use e.g. `Date.toLocaleString` and `String.localeCompare` that - * give correct results when using with locales other than en-US. Note that - * this variant is about 6MiB larger per architecture than default. - */ -def jscFlavor = 'io.github.react-native-community:jsc-android:2026004.+' - -android { - ndkVersion rootProject.ext.ndkVersion - buildToolsVersion rootProject.ext.buildToolsVersion - compileSdk rootProject.ext.compileSdkVersion - - namespace "com.zstdexample" - defaultConfig { - applicationId "com.zstdexample" - minSdkVersion rootProject.ext.minSdkVersion - targetSdkVersion rootProject.ext.targetSdkVersion - versionCode 1 - versionName "1.0" - } - signingConfigs { - debug { - storeFile file('debug.keystore') - storePassword 'android' - keyAlias 'androiddebugkey' - keyPassword 'android' - } - } - buildTypes { - debug { - signingConfig signingConfigs.debug - } - release { - // Caution! In production, you need to generate your own keystore file. - // see https://reactnative.dev/docs/signed-apk-android. - signingConfig signingConfigs.debug - minifyEnabled enableProguardInReleaseBuilds - proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro" - } - } -} - -dependencies { - // The version of react-native is set by the React Native Gradle Plugin - implementation("com.facebook.react:react-android") - - if (hermesEnabled.toBoolean()) { - implementation("com.facebook.react:hermes-android") - } else { - implementation jscFlavor - } -} diff --git a/example/android/app/debug.keystore b/example/android/app/debug.keystore deleted file mode 100644 index 364e105ed39fbfd62001429a68140672b06ec0de..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2257 zcmchYXEfYt8;7T1^dLH$VOTZ%2NOdOH5j5LYLtZ0q7x-V8_6gU5)#7dkq{HTmsfNq zB3ZqcAxeY^G10@?efK?Q&)M(qInVv!xjx+IKEL}p*K@LYvIzo#AZG>st5|P)KF1_Z;y){W{<7K{nl!CPuE z_^(!C(Ol0n8 zK13*rzAtW>(wULKPRYLd7G18F8#1P`V*9`(Poj26eOXYyBVZPno~Cvvhx7vPjAuZo zF?VD!zB~QG(!zbw#qsxT8%BSpqMZ4f70ZPn-3y$L8{EVbbN9$H`B&Z1quk9tgp5FM zuxp3pJ0b8u|3+#5bkJ4SRnCF2l7#DyLYXYY8*?OuAwK4E6J{0N=O3QNVzQ$L#FKkR zi-c@&!nDvezOV$i$Lr}iF$XEcwnybQ6WZrMKuw8gCL^U#D;q3t&HpTbqyD%vG=TeDlzCT~MXUPC|Leb-Uk+ z=vnMd(|>ld?Fh>V8poP;q;;nc@en$|rnP0ytzD&fFkCeUE^kG9Kx4wUh!!rpjwKDP zyw_e|a^x_w3E zP}}@$g>*LLJ4i0`Gx)qltL}@;mDv}D*xR^oeWcWdPkW@Uu)B^X&4W1$p6}ze!zudJ zyiLg@uggoMIArBr*27EZV7djDg@W1MaL+rcZ-lrANJQ%%>u8)ZMWU@R2qtnmG(acP z0d_^!t>}5W zpT`*2NR+0+SpTHb+6Js4b;%LJB;B_-ChhnU5py}iJtku*hm5F0!iql8Hrpcy1aYbT z1*dKC5ua6pMX@@iONI?Hpr%h;&YaXp9n!ND7-=a%BD7v&g zOO41M6EbE24mJ#S$Ui0-brR5ML%@|ndz^)YLMMV1atna{Fw<;TF@>d&F|!Z>8eg>>hkFrV)W+uv=`^F9^e zzzM2*oOjT9%gLoub%(R57p-`TXFe#oh1_{&N-YN z<}artH|m=d8TQuKSWE)Z%puU|g|^^NFwC#N=@dPhasyYjoy(fdEVfKR@cXKHZV-`06HsP`|Ftx;8(YD$fFXumLWbGnu$GMqRncXYY9mwz9$ap zQtfZB^_BeNYITh^hA7+(XNFox5WMeG_LtJ%*Q}$8VKDI_p8^pqX)}NMb`0e|wgF7D zuQACY_Ua<1ri{;Jwt@_1sW9zzdgnyh_O#8y+C;LcZq6=4e^cs6KvmK@$vVpKFGbQ= z$)Eux5C|Fx;Gtmv9^#Y-g@7Rt7*eLp5n!gJmn7&B_L$G?NCN`AP>cXQEz}%F%K;vUs{+l4Q{}eWW;ATe2 zqvXzxoIDy(u;F2q1JH7Sf;{jy_j})F+cKlIOmNfjBGHoG^CN zM|Ho&&X|L-36f}Q-obEACz`sI%2f&k>z5c$2TyTSj~vmO)BW~+N^kt`Jt@R|s!){H ze1_eCrlNaPkJQhL$WG&iRvF*YG=gXd1IyYQ9ew|iYn7r~g!wOnw;@n42>enAxBv*A zEmV*N#sxdicyNM=A4|yaOC5MByts}s_Hpfj|y<6G=o=!3S@eIFKDdpR7|FY>L&Wat&oW&cm&X~ z5Bt>Fcq(fgnvlvLSYg&o6>&fY`ODg4`V^lWWD=%oJ#Kbad2u~! zLECFS*??>|vDsNR&pH=Ze0Eo`sC_G`OjoEKVHY|wmwlX&(XBE<@sx3Hd^gtd-fNwUHsylg06p`U2y_={u}Bc - - - - diff --git a/example/android/app/src/main/AndroidManifest.xml b/example/android/app/src/main/AndroidManifest.xml deleted file mode 100644 index 4122f36..0000000 --- a/example/android/app/src/main/AndroidManifest.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - - - - - - - diff --git a/example/android/app/src/main/java/com/zstdexample/MainActivity.kt b/example/android/app/src/main/java/com/zstdexample/MainActivity.kt deleted file mode 100644 index 452e724..0000000 --- a/example/android/app/src/main/java/com/zstdexample/MainActivity.kt +++ /dev/null @@ -1,23 +0,0 @@ -package com.zstdexample - -import com.facebook.react.ReactActivity -import com.facebook.react.ReactActivityDelegate -import com.facebook.react.defaults.DefaultNewArchitectureEntryPoint.fabricEnabled -import com.facebook.react.defaults.DefaultReactActivityDelegate - - -class MainActivity : ReactActivity() { - - /** - * Returns the name of the main component registered from JavaScript. This is used to schedule - * rendering of the component. - */ - override fun getMainComponentName(): String = "ZstdExample" - - /** - * Returns the instance of the [ReactActivityDelegate]. We use [DefaultReactActivityDelegate] - * which allows you to enable New Architecture with a single boolean flags [fabricEnabled] - */ - override fun createReactActivityDelegate(): ReactActivityDelegate = - DefaultReactActivityDelegate(this, mainComponentName, fabricEnabled) -} diff --git a/example/android/app/src/main/java/com/zstdexample/MainApplication.kt b/example/android/app/src/main/java/com/zstdexample/MainApplication.kt deleted file mode 100644 index 9a187e4..0000000 --- a/example/android/app/src/main/java/com/zstdexample/MainApplication.kt +++ /dev/null @@ -1,45 +0,0 @@ -package com.zstdexample - -import android.app.Application -import com.facebook.react.PackageList -import com.facebook.react.ReactApplication -import com.facebook.react.ReactHost -import com.facebook.react.ReactNativeHost -import com.facebook.react.ReactPackage -import com.facebook.react.defaults.DefaultNewArchitectureEntryPoint.load -import com.facebook.react.defaults.DefaultReactHost.getDefaultReactHost -import com.facebook.react.defaults.DefaultReactNativeHost -import com.facebook.react.soloader.OpenSourceMergedSoMapping -import com.facebook.soloader.SoLoader - - -class MainApplication : Application(), ReactApplication { - - override val reactNativeHost: ReactNativeHost = - object : DefaultReactNativeHost(this) { - override fun getPackages(): List = - PackageList(this).packages.apply { - // Packages that cannot be autolinked yet can be added manually here, for example: - // add(MyReactNativePackage()) - } - - override fun getJSMainModuleName(): String = "index" - - override fun getUseDeveloperSupport(): Boolean = BuildConfig.DEBUG - - override val isNewArchEnabled: Boolean = BuildConfig.IS_NEW_ARCHITECTURE_ENABLED - override val isHermesEnabled: Boolean = BuildConfig.IS_HERMES_ENABLED - } - - override val reactHost: ReactHost - get() = getDefaultReactHost(applicationContext, reactNativeHost) - - override fun onCreate() { - super.onCreate() - SoLoader.init(this, OpenSourceMergedSoMapping) - if (BuildConfig.IS_NEW_ARCHITECTURE_ENABLED) { - // If you opted-in for the New Architecture, we load the native entry point for this app. - load() - } - } -} diff --git a/example/android/app/src/main/res/drawable/rn_edit_text_material.xml b/example/android/app/src/main/res/drawable/rn_edit_text_material.xml deleted file mode 100644 index 73b37e4..0000000 --- a/example/android/app/src/main/res/drawable/rn_edit_text_material.xml +++ /dev/null @@ -1,36 +0,0 @@ - - - - - - - - - - - diff --git a/example/android/app/src/main/res/mipmap-hdpi/ic_launcher.png b/example/android/app/src/main/res/mipmap-hdpi/ic_launcher.png deleted file mode 100644 index a2f5908281d070150700378b64a84c7db1f97aa1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3056 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 axPAxe%7rDusX+w*00006jj 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⁣ zwiG+x#%j}{0gU~J8;<|!B1@-XaB@{KORFwrYg_8rOv({b0EO#DbeQRm;B6_9=mXGf z-x|VL{zd`)#@yN}HkCSJbjbNlE|zL3Wm9Q8HY`sV)}3%pgN>cL^67{Z;PPL(*wT8N zUjXU{@|*hvm}({wsAC=x0^ok0%UAz0;sogW{B!nDqk|JJ5x~4NfTDgP49^zeu`csl?5mY@JdQdISc zFs!E{^grmkLnUk9 zny~m)1vws@5BFI<-0Tuo2JWX(0v`W|t(wg;s--L47WTvTMz-8l#TL^=OJNRS2?_Qj z3AKT+gvbyBi#H*-tJ%tWD|>EV3wy|8qxfzS!5RW;Jpl5*zo&^UBU=fG#2}UvRyNkK zA06Dy9;K1ca@r2T>yThYgI!ont$(G{6q#2QT+00r_x0(b)gsE`lBB?2gr55gq^D3Fi&p%E(p9>U%bv zkg1Jco(RbyTX7FDHOnl7-O@ zI$AaIl?9NJKPm(WiBP`1-#CB1QzU>&hKm)fpa5DKE{2$X0hGz-0uZ?cyTk(YC!Y&| zL=1VrNERSA5NA2jq7FACfX4JfPyj5XXl1yv0>~s;eF7L2$>&oMqeTFT2m$y7FlkON z_yurD1yIOvA;5C6016pyxBznGUt0kJ&k5r#;&>Jow`r)sp9R~PmK~lz$3xH%LT*1U zJdOyABZ3!FvNoR*vN$5ykHS8f`jA4zV+|L}i1C4`B2c{R0;UdYxaU|H)2avz@ z=mEYc|2S<+(B2Tj+FkX+2D+yFI!k9lWMA61DJ{)e;lum$(;O87?vGJJe!KtK04+N_ zI*P~t@dUb>9Xh{dbyl{-ZQ(UMgz7$|QfL5XSPkskt^NgctYC#;4WcZB1@%@wy@2t3 z2z0DI7&%b$*Aw~abe?GxE`ez@+6hOh-6*8fHRV{1os$EL@}uUZeG4h1&Be`98q*7j z=3-v+lhIjfWVo12!<>%V^a6lTgW3+_#W6n|p*~==zOH7z$0{LSZk(Tpd7EaD04hnA zL;#fxS0aD{`5^&D`}>0Uq?byDD-l2=!wm_bLcUl4gc(% za1p|itVANvFF>hghAS07Im1;IK;|b*W)}VDyI;BIp2=K*yu2a)j?B|f<44NI$NbmJ z#dE0>jI$fMr&@>4kN8MLFb4&2O9fEKaQg%(QO$4_1rVQywG^CmBLh#}_7gKW3vd?| z2?1^&KWq8}8I^_S0|)MowU_pw$q@nl@Nkn$z>BQq_KA^9yaR`(R3u{{Ig;cwt z@AJ^{ODQCm^neroM9nKNUAXi9RCK`OsP_LuR0PUR(YZCCX5dNF6VzcoK&=b^r`W?ltt|*F zpkoae%ZT{C1h~EcFui~b7fF`vb<<~j_VquuUA$}QqIKYELPp#;{u?q8Dz}WAG-(3; zjrm$i%7UbyZMM(Y{>!uJ#vNB?R~B{6Htp=>e*<{fQQ5W7V(1coCWlOON!MzZxhum| ztZBQpGR z;~#ur^&PockKdV{Q6R>o`Pl{0x!DEbpZ7y9Y;*ZvE!*gU`V1W3znva{f=?WO5I&>B z&hw6}tjECtaghm5z|C#%M;Yf_*pI^};h}Vl=^r9EN=tVDj86D;C$jIJ?K7VP+00000NkvXXu0mjf D5i!M* diff --git a/example/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png b/example/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png deleted file mode 100644 index 459ca609d3ae0d3943ab44cdc27feef9256dc6d7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7098 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 diff --git a/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png deleted file mode 100644 index 8ca12fe024be86e868d14e91120a6902f8e88ac6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6464 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 B0*L?s diff --git a/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png b/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png deleted file mode 100644 index 8e19b410a1b15ff180f3dacac19395fe3046cdec..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10676 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 diff --git a/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png b/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png deleted file mode 100644 index 4c19a13c239cb67b8a2134ddd5f325db1d2d5bee..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15523 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 BIP(Ai diff --git a/example/android/app/src/main/res/values/strings.xml b/example/android/app/src/main/res/values/strings.xml deleted file mode 100644 index 9f9f762..0000000 --- a/example/android/app/src/main/res/values/strings.xml +++ /dev/null @@ -1,3 +0,0 @@ - - ZstdExample - diff --git a/example/android/app/src/main/res/values/styles.xml b/example/android/app/src/main/res/values/styles.xml deleted file mode 100644 index 7ba83a2..0000000 --- a/example/android/app/src/main/res/values/styles.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - diff --git a/example/android/build.gradle b/example/android/build.gradle deleted file mode 100644 index 9766946..0000000 --- a/example/android/build.gradle +++ /dev/null @@ -1,21 +0,0 @@ -buildscript { - ext { - buildToolsVersion = "35.0.0" - minSdkVersion = 24 - compileSdkVersion = 35 - targetSdkVersion = 35 - ndkVersion = "27.1.12297006" - kotlinVersion = "2.0.21" - } - repositories { - google() - mavenCentral() - } - dependencies { - classpath("com.android.tools.build:gradle") - classpath("com.facebook.react:react-native-gradle-plugin") - classpath("org.jetbrains.kotlin:kotlin-gradle-plugin") - } -} - -apply plugin: "com.facebook.react.rootproject" diff --git a/example/android/gradle.properties b/example/android/gradle.properties deleted file mode 100644 index 5e24e3a..0000000 --- a/example/android/gradle.properties +++ /dev/null @@ -1,39 +0,0 @@ -# Project-wide Gradle settings. - -# IDE (e.g. Android Studio) users: -# Gradle settings configured through the IDE *will override* -# any settings specified in this file. - -# For more details on how to configure your build environment visit -# http://www.gradle.org/docs/current/userguide/build_environment.html - -# Specifies the JVM arguments used for the daemon process. -# The setting is particularly useful for tweaking memory settings. -# Default value: -Xmx512m -XX:MaxMetaspaceSize=256m -org.gradle.jvmargs=-Xmx2048m -XX:MaxMetaspaceSize=512m - -# When configured, Gradle will run in incubating parallel mode. -# This option should only be used with decoupled projects. More details, visit -# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects -# org.gradle.parallel=true - -# AndroidX package structure to make it clearer which packages are bundled with the -# Android operating system, and which are packaged with your app's APK -# https://developer.android.com/topic/libraries/support-library/androidx-rn -android.useAndroidX=true - -# Use this property to specify which architecture you want to build. -# You can also override it from the CLI using -# ./gradlew -PreactNativeArchitectures=x86_64 -reactNativeArchitectures=armeabi-v7a,arm64-v8a,x86,x86_64 - -# Use this property to enable support to the new architecture. -# This will allow you to use TurboModules and the Fabric render in -# your application. You should enable this flag either if you want -# to write custom TurboModules/Fabric components OR use libraries that -# are providing them. -newArchEnabled=true - -# Use this property to enable or disable the Hermes JS engine. -# If set to false, you will be using JSC instead. -hermesEnabled=true diff --git a/example/android/gradle/wrapper/gradle-wrapper.jar b/example/android/gradle/wrapper/gradle-wrapper.jar deleted file mode 100644 index 7f93135c49b765f8051ef9d0a6055ff8e46073d8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 63721 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鯊%1Et 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⁢ zv5o9#E7!G0XmdzfsS{efPNi`1b44~SZ4Z8fuX!I}#8g+(wxzQwUT#Xb2(tbY1+EUhGKoT@KEU9Ktl>_0 z%bjDJg;#*gtJZv!-Zs`?^}v5eKmnbjqlvnSzE@_SP|LG_PJ6CYU+6zY6>92%E+ z=j@TZf-iW4(%U{lnYxQA;7Q!b;^brF8n0D>)`q5>|WDDXLrqYU_tKN2>=#@~OE7grMnNh?UOz-O~6 z6%rHy{#h9K0AT+lDC7q4{hw^|q6*Ry;;L%Q@)Ga}$60_q%D)rv(CtS$CQbpq9|y1e zRSrN4;$Jyl{m5bZw`$8TGvb}(LpY{-cQ)fcyJv7l3S52TLXVDsphtv&aPuDk1OzCA z4A^QtC(!11`IsNx_HnSy?>EKpHJWT^wmS~hc^p^zIIh@9f6U@I2 zC=Mve{j2^)mS#U$e{@Q?SO6%LDsXz@SY+=cK_QMmXBIU)j!$ajc-zLx3V60EXJ!qC zi<%2x8Q24YN+&8U@CIlN zrZkcT9yh%LrlGS9`G)KdP(@9Eo-AQz@8GEFWcb7U=a0H^ZVbLmz{+&M7W(nXJ4sN8 zJLR7eeK(K8`2-}j(T7JsO`L!+CvbueT%izanm-^A1Dn{`1Nw`9P?cq;7no+XfC`K(GO9?O^5zNIt4M+M8LM0=7Gz8UA@Z0N+lg+cX)NfazRu z5D)~HA^(u%w^cz+@2@_#S|u>GpB+j4KzQ^&Wcl9f z&hG#bCA(Yk0D&t&aJE^xME^&E-&xGHhXn%}psEIj641H+Nl-}boj;)Zt*t(4wZ5DN z@GXF$bL=&pBq-#vkTkh>7hl%K5|3 z{`Vn9b$iR-SoGENp}bn4;fR3>9sA%X2@1L3aE9yTra;Wb#_`xWwLSLdfu+PAu+o3| zGVnpzPr=ch{uuoHjtw7+_!L_2;knQ!DuDl0R`|%jr+}jFzXtrHIKc323?JO{l&;VF z*L1+}JU7%QJOg|5|Tc|D8fN zJORAg=_vsy{ak|o);@)Yh8Lkcg@$FG3k@ep36BRa^>~UmnRPziS>Z=`Jb2x*Q#`%A zU*i3&Vg?TluO@X0O;r2Jl6LKLUOVhSqg1*qOt^|8*c7 zo(298@+r$k_wQNGHv{|$tW(T8L+4_`FQ{kEW5Jgg{yf7ey4ss_(SNKfz(N9lx&a;< je(UuV8hP?p&}TPdm1I$XmG#(RzlD&B2izSj9sl%y5~4qc diff --git a/example/android/gradle/wrapper/gradle-wrapper.properties b/example/android/gradle/wrapper/gradle-wrapper.properties deleted file mode 100644 index ed4c299..0000000 --- a/example/android/gradle/wrapper/gradle-wrapper.properties +++ /dev/null @@ -1,7 +0,0 @@ -distributionBase=GRADLE_USER_HOME -distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-all.zip -networkTimeout=10000 -validateDistributionUrl=true -zipStoreBase=GRADLE_USER_HOME -zipStorePath=wrapper/dists diff --git a/example/android/gradlew b/example/android/gradlew deleted file mode 100755 index 0adc8e1..0000000 --- a/example/android/gradlew +++ /dev/null @@ -1,249 +0,0 @@ -#!/bin/sh - -# -# Copyright © 2015-2021 the original authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# https://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -############################################################################## -# -# Gradle start up script for POSIX generated by Gradle. -# -# Important for running: -# -# (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is -# noncompliant, but you have some other compliant shell such as ksh or -# bash, then to run this script, type that shell name before the whole -# command line, like: -# -# ksh Gradle -# -# Busybox and similar reduced shells will NOT work, because this script -# requires all of these POSIX shell features: -# * functions; -# * expansions «$var», «${var}», «${var:-default}», «${var+SET}», -# «${var#prefix}», «${var%suffix}», and «$( cmd )»; -# * compound commands having a testable exit status, especially «case»; -# * various built-in commands including «command», «set», and «ulimit». -# -# Important for patching: -# -# (2) This script targets any POSIX shell, so it avoids extensions provided -# by Bash, Ksh, etc; in particular arrays are avoided. -# -# The "traditional" practice of packing multiple parameters into a -# space-separated string is a well documented source of bugs and security -# problems, so this is (mostly) avoided, by progressively accumulating -# options in "$@", and eventually passing that to Java. -# -# Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS, -# and GRADLE_OPTS) rely on word-splitting, this is performed explicitly; -# see the in-line comments for details. -# -# There are tweaks for specific operating systems such as AIX, CygWin, -# Darwin, MinGW, and NonStop. -# -# (3) This script is generated from the Groovy template -# https://github.com/gradle/gradle/blob/HEAD/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt -# within the Gradle project. -# -# You can find Gradle at https://github.com/gradle/gradle/. -# -############################################################################## - -# Attempt to set APP_HOME - -# Resolve links: $0 may be a link -app_path=$0 - -# Need this for daisy-chained symlinks. -while - APP_HOME=${app_path%"${app_path##*/}"} # leaves a trailing /; empty if no leading path - [ -h "$app_path" ] -do - ls=$( ls -ld "$app_path" ) - link=${ls#*' -> '} - case $link in #( - /*) app_path=$link ;; #( - *) app_path=$APP_HOME$link ;; - esac -done - -# This is normally unused -# shellcheck disable=SC2034 -APP_BASE_NAME=${0##*/} -# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036) -APP_HOME=$( cd "${APP_HOME:-./}" > /dev/null && pwd -P ) || exit - -# Use the maximum available, or set MAX_FD != -1 to use that value. -MAX_FD=maximum - -warn () { - echo "$*" -} >&2 - -die () { - echo - echo "$*" - echo - exit 1 -} >&2 - -# OS specific support (must be 'true' or 'false'). -cygwin=false -msys=false -darwin=false -nonstop=false -case "$( uname )" in #( - CYGWIN* ) cygwin=true ;; #( - Darwin* ) darwin=true ;; #( - MSYS* | MINGW* ) msys=true ;; #( - NONSTOP* ) nonstop=true ;; -esac - -CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar - - -# Determine the Java command to use to start the JVM. -if [ -n "$JAVA_HOME" ] ; then - if [ -x "$JAVA_HOME/jre/sh/java" ] ; then - # IBM's JDK on AIX uses strange locations for the executables - JAVACMD=$JAVA_HOME/jre/sh/java - else - JAVACMD=$JAVA_HOME/bin/java - fi - if [ ! -x "$JAVACMD" ] ; then - die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME - -Please set the JAVA_HOME variable in your environment to match the -location of your Java installation." - fi -else - JAVACMD=java - if ! command -v java >/dev/null 2>&1 - then - die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. - -Please set the JAVA_HOME variable in your environment to match the -location of your Java installation." - fi -fi - -# Increase the maximum file descriptors if we can. -if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then - case $MAX_FD in #( - max*) - # In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked. - # shellcheck disable=SC3045 - MAX_FD=$( ulimit -H -n ) || - warn "Could not query maximum file descriptor limit" - esac - case $MAX_FD in #( - '' | soft) :;; #( - *) - # In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked. - # shellcheck disable=SC3045 - ulimit -n "$MAX_FD" || - warn "Could not set maximum file descriptor limit to $MAX_FD" - esac -fi - -# Collect all arguments for the java command, stacking in reverse order: -# * args from the command line -# * the main class name -# * -classpath -# * -D...appname settings -# * --module-path (only if needed) -# * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables. - -# For Cygwin or MSYS, switch paths to Windows format before running java -if "$cygwin" || "$msys" ; then - APP_HOME=$( cygpath --path --mixed "$APP_HOME" ) - CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" ) - - JAVACMD=$( cygpath --unix "$JAVACMD" ) - - # Now convert the arguments - kludge to limit ourselves to /bin/sh - for arg do - if - case $arg in #( - -*) false ;; # don't mess with options #( - /?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath - [ -e "$t" ] ;; #( - *) false ;; - esac - then - arg=$( cygpath --path --ignore --mixed "$arg" ) - fi - # Roll the args list around exactly as many times as the number of - # args, so each arg winds up back in the position where it started, but - # possibly modified. - # - # NB: a `for` loop captures its iteration list before it begins, so - # changing the positional parameters here affects neither the number of - # iterations, nor the values presented in `arg`. - shift # remove old arg - set -- "$@" "$arg" # push replacement arg - done -fi - - -# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' - -# Collect all arguments for the java command; -# * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of -# shell script including quotes and variable substitutions, so put them in -# double quotes to make sure that they get re-expanded; and -# * put everything else in single quotes, so that it's not re-expanded. - -set -- \ - "-Dorg.gradle.appname=$APP_BASE_NAME" \ - -classpath "$CLASSPATH" \ - org.gradle.wrapper.GradleWrapperMain \ - "$@" - -# Stop when "xargs" is not available. -if ! command -v xargs >/dev/null 2>&1 -then - die "xargs is not available" -fi - -# Use "xargs" to parse quoted args. -# -# With -n1 it outputs one arg per line, with the quotes and backslashes removed. -# -# In Bash we could simply go: -# -# readarray ARGS < <( xargs -n1 <<<"$var" ) && -# set -- "${ARGS[@]}" "$@" -# -# but POSIX shell has neither arrays nor command substitution, so instead we -# post-process each arg (as a line of input to sed) to backslash-escape any -# character that might be a shell metacharacter, then use eval to reverse -# that process (while maintaining the separation between arguments), and wrap -# the whole thing up as a single "set" statement. -# -# This will of course break if any of these variables contains a newline or -# an unmatched quote. -# - -eval "set -- $( - printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" | - xargs -n1 | - sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' | - tr '\n' ' ' - )" '"$@"' - -exec "$JAVACMD" "$@" diff --git a/example/android/gradlew.bat b/example/android/gradlew.bat deleted file mode 100644 index 93e3f59..0000000 --- a/example/android/gradlew.bat +++ /dev/null @@ -1,92 +0,0 @@ -@rem -@rem Copyright 2015 the original author or authors. -@rem -@rem Licensed under the Apache License, Version 2.0 (the "License"); -@rem you may not use this file except in compliance with the License. -@rem You may obtain a copy of the License at -@rem -@rem https://www.apache.org/licenses/LICENSE-2.0 -@rem -@rem Unless required by applicable law or agreed to in writing, software -@rem distributed under the License is distributed on an "AS IS" BASIS, -@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -@rem See the License for the specific language governing permissions and -@rem limitations under the License. -@rem - -@if "%DEBUG%"=="" @echo off -@rem ########################################################################## -@rem -@rem Gradle startup script for Windows -@rem -@rem ########################################################################## - -@rem Set local scope for the variables with windows NT shell -if "%OS%"=="Windows_NT" setlocal - -set DIRNAME=%~dp0 -if "%DIRNAME%"=="" set DIRNAME=. -@rem This is normally unused -set APP_BASE_NAME=%~n0 -set APP_HOME=%DIRNAME% - -@rem Resolve any "." and ".." in APP_HOME to make it shorter. -for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi - -@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" - -@rem Find java.exe -if defined JAVA_HOME goto findJavaFromJavaHome - -set JAVA_EXE=java.exe -%JAVA_EXE% -version >NUL 2>&1 -if %ERRORLEVEL% equ 0 goto execute - -echo. -echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. - -goto fail - -:findJavaFromJavaHome -set JAVA_HOME=%JAVA_HOME:"=% -set JAVA_EXE=%JAVA_HOME%/bin/java.exe - -if exist "%JAVA_EXE%" goto execute - -echo. -echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. - -goto fail - -:execute -@rem Setup the command line - -set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar - - -@rem Execute Gradle -"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* - -:end -@rem End local scope for the variables with windows NT shell -if %ERRORLEVEL% equ 0 goto mainEnd - -:fail -rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of -rem the _cmd.exe /c_ return code! -set EXIT_CODE=%ERRORLEVEL% -if %EXIT_CODE% equ 0 set EXIT_CODE=1 -if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE% -exit /b %EXIT_CODE% - -:mainEnd -if "%OS%"=="Windows_NT" endlocal - -:omega diff --git a/example/android/settings.gradle b/example/android/settings.gradle deleted file mode 100644 index 4122f2f..0000000 --- a/example/android/settings.gradle +++ /dev/null @@ -1,6 +0,0 @@ -pluginManagement { includeBuild("../node_modules/@react-native/gradle-plugin") } -plugins { id("com.facebook.react.settings") } -extensions.configure(com.facebook.react.ReactSettingsExtension){ ex -> ex.autolinkLibrariesFromCommand() } -rootProject.name = 'ZstdExample' -include ':app' -includeBuild('../node_modules/@react-native/gradle-plugin') diff --git a/example/app.json b/example/app.json index ce06e2c..0bd0633 100644 --- a/example/app.json +++ b/example/app.json @@ -1,4 +1,19 @@ { - "name": "ZstdExample", - "displayName": "ZstdExample" + "expo": { + "name": "ZstdExample", + "slug": "react-native-zstd-example", + "version": "1.0.0", + "scheme": "react-native-zstd-example", + "ios": { + "bundleIdentifier": "org.reactjs.native.example.ZstdExample", + "supportsTablet": true + }, + "android": { + "package": "com.zstdexample", + "allowBackup": false + }, + "plugins": [ + "expo-dev-client" + ] + } } diff --git a/example/babel.config.js b/example/babel.config.js index 486a093..fcb3486 100644 --- a/example/babel.config.js +++ b/example/babel.config.js @@ -1,12 +1,3 @@ -const path = require('path'); -const { getConfig } = require('react-native-builder-bob/babel-config'); -const pkg = require('../package.json'); - -const root = path.resolve(__dirname, '..'); - -module.exports = getConfig( - { - presets: ['module:@react-native/babel-preset'], - }, - { root, pkg } -); +module.exports = { + presets: ['babel-preset-expo'], +}; diff --git a/example/index.js b/example/index.js index 117ddca..c1c862e 100644 --- a/example/index.js +++ b/example/index.js @@ -1,5 +1,4 @@ -import { AppRegistry } from 'react-native'; +import { registerRootComponent } from 'expo'; import App from './src/App'; -import { name as appName } from './app.json'; -AppRegistry.registerComponent(appName, () => App); +registerRootComponent(App); diff --git a/example/ios/.xcode.env b/example/ios/.xcode.env deleted file mode 100644 index 3d5782c..0000000 --- a/example/ios/.xcode.env +++ /dev/null @@ -1,11 +0,0 @@ -# This `.xcode.env` file is versioned and is used to source the environment -# used when running script phases inside Xcode. -# To customize your local environment, you can create an `.xcode.env.local` -# file that is not versioned. - -# NODE_BINARY variable contains the PATH to the node executable. -# -# Customize the NODE_BINARY variable here. -# For example, to use nvm with brew, add the following line -# . "$(brew --prefix nvm)/nvm.sh" --no-use -export NODE_BINARY=$(command -v node) diff --git a/example/ios/.xcode.env.local b/example/ios/.xcode.env.local deleted file mode 100644 index 22dcb57..0000000 --- a/example/ios/.xcode.env.local +++ /dev/null @@ -1,2 +0,0 @@ -export NODE_BINARY=/Users/julien/.nvm/versions/node/v20.10.0/bin/node - diff --git a/example/ios/AppDelegate.swift b/example/ios/AppDelegate.swift deleted file mode 100644 index cad23fb..0000000 --- a/example/ios/AppDelegate.swift +++ /dev/null @@ -1,30 +0,0 @@ -import UIKit -import React -import React_RCTAppDelegate -import ReactAppDependencyProvider - -@main -class AppDelegate: RCTAppDelegate { - override func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil) -> Bool { - self.moduleName = "ZstdExample" - self.dependencyProvider = RCTAppDependencyProvider() - - // You can add your custom initial props in the dictionary below. - // They will be passed down to the ViewController used by React Native. - self.initialProps = [:] - - return super.application(application, didFinishLaunchingWithOptions: launchOptions) - } - - override func sourceURL(for bridge: RCTBridge) -> URL? { - self.bundleURL() - } - - override func bundleURL() -> URL? { -#if DEBUG - RCTBundleURLProvider.sharedSettings().jsBundleURL(forBundleRoot: "index") -#else - Bundle.main.url(forResource: "main", withExtension: "jsbundle") -#endif - } -} diff --git a/example/ios/Podfile b/example/ios/Podfile deleted file mode 100644 index 78d26df..0000000 --- a/example/ios/Podfile +++ /dev/null @@ -1,37 +0,0 @@ -ENV['RCT_NEW_ARCH_ENABLED'] = '1' - -# Resolve react_native_pods.rb with node to allow for hoisting -require Pod::Executable.execute_command('node', ['-p', - 'require.resolve( - "react-native/scripts/react_native_pods.rb", - {paths: [process.argv[1]]}, - )', __dir__]).strip - -platform :ios, min_ios_version_supported -prepare_react_native_project! - -linkage = ENV['USE_FRAMEWORKS'] -if linkage != nil - Pod::UI.puts "Configuring Pod with #{linkage}ally linked Frameworks".green - use_frameworks! :linkage => linkage.to_sym -end - -target 'ZstdExample' do - config = use_native_modules! - - use_react_native!( - :path => config[:reactNativePath], - # An absolute path to your application root. - :app_path => "#{Pod::Config.instance.installation_root}/.." - ) - - post_install do |installer| - # https://github.com/facebook/react-native/blob/main/packages/react-native/scripts/react_native_pods.rb#L197-L202 - react_native_post_install( - installer, - config[:reactNativePath], - :mac_catalyst_enabled => false, - # :ccache_enabled => true - ) - end - end diff --git a/example/ios/Podfile.lock b/example/ios/Podfile.lock deleted file mode 100644 index d65d704..0000000 --- a/example/ios/Podfile.lock +++ /dev/null @@ -1,2845 +0,0 @@ -PODS: - - boost (1.84.0) - - DoubleConversion (1.1.6) - - fast_float (8.0.0) - - FBLazyVector (0.83.0) - - fmt (11.0.2) - - glog (0.3.5) - - hermes-engine (0.14.0): - - hermes-engine/Pre-built (= 0.14.0) - - hermes-engine/Pre-built (0.14.0) - - NitroModules (0.32.0): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - - RCTRequired - - RCTTypeSafety - - React-callinvoker - - React-Core - - React-debug - - React-Fabric - - React-featureflags - - React-graphics - - React-ImageManager - - React-jsi - - React-NativeModulesApple - - React-RCTFabric - - React-renderercss - - React-rendererdebug - - React-utils - - ReactCodegen - - ReactCommon/turbomodule/bridging - - ReactCommon/turbomodule/core - - SocketRocket - - Yoga - - RCT-Folly (2024.11.18.00): - - boost - - DoubleConversion - - fast_float (= 8.0.0) - - fmt (= 11.0.2) - - glog - - RCT-Folly/Default (= 2024.11.18.00) - - RCT-Folly/Default (2024.11.18.00): - - boost - - DoubleConversion - - fast_float (= 8.0.0) - - fmt (= 11.0.2) - - glog - - RCT-Folly/Fabric (2024.11.18.00): - - boost - - DoubleConversion - - fast_float (= 8.0.0) - - fmt (= 11.0.2) - - glog - - RCTDeprecation (0.83.0) - - RCTRequired (0.83.0) - - RCTSwiftUI (0.83.0) - - RCTSwiftUIWrapper (0.83.0): - - RCTSwiftUI - - RCTTypeSafety (0.83.0): - - FBLazyVector (= 0.83.0) - - RCTRequired (= 0.83.0) - - React-Core (= 0.83.0) - - React (0.83.0): - - React-Core (= 0.83.0) - - React-Core/DevSupport (= 0.83.0) - - React-Core/RCTWebSocket (= 0.83.0) - - React-RCTActionSheet (= 0.83.0) - - React-RCTAnimation (= 0.83.0) - - React-RCTBlob (= 0.83.0) - - React-RCTImage (= 0.83.0) - - React-RCTLinking (= 0.83.0) - - React-RCTNetwork (= 0.83.0) - - React-RCTSettings (= 0.83.0) - - React-RCTText (= 0.83.0) - - React-RCTVibration (= 0.83.0) - - React-callinvoker (0.83.0) - - React-Core (0.83.0): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - - RCTDeprecation - - React-Core/Default (= 0.83.0) - - React-cxxreact - - React-featureflags - - React-hermes - - React-jsi - - React-jsiexecutor - - React-jsinspector - - React-jsinspectorcdp - - React-jsitooling - - React-perflogger - - React-runtimeexecutor - - React-runtimescheduler - - React-utils - - SocketRocket - - Yoga - - React-Core/CoreModulesHeaders (0.83.0): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - - RCTDeprecation - - React-Core/Default - - React-cxxreact - - React-featureflags - - React-hermes - - React-jsi - - React-jsiexecutor - - React-jsinspector - - React-jsinspectorcdp - - React-jsitooling - - React-perflogger - - React-runtimeexecutor - - React-runtimescheduler - - React-utils - - SocketRocket - - Yoga - - React-Core/Default (0.83.0): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - - RCTDeprecation - - React-cxxreact - - React-featureflags - - React-hermes - - React-jsi - - React-jsiexecutor - - React-jsinspector - - React-jsinspectorcdp - - React-jsitooling - - React-perflogger - - React-runtimeexecutor - - React-runtimescheduler - - React-utils - - SocketRocket - - Yoga - - React-Core/DevSupport (0.83.0): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - - RCTDeprecation - - React-Core/Default (= 0.83.0) - - React-Core/RCTWebSocket (= 0.83.0) - - React-cxxreact - - React-featureflags - - React-hermes - - React-jsi - - React-jsiexecutor - - React-jsinspector - - React-jsinspectorcdp - - React-jsitooling - - React-perflogger - - React-runtimeexecutor - - React-runtimescheduler - - React-utils - - SocketRocket - - Yoga - - React-Core/RCTActionSheetHeaders (0.83.0): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - - RCTDeprecation - - React-Core/Default - - React-cxxreact - - React-featureflags - - React-hermes - - React-jsi - - React-jsiexecutor - - React-jsinspector - - React-jsinspectorcdp - - React-jsitooling - - React-perflogger - - React-runtimeexecutor - - React-runtimescheduler - - React-utils - - SocketRocket - - Yoga - - React-Core/RCTAnimationHeaders (0.83.0): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - - RCTDeprecation - - React-Core/Default - - React-cxxreact - - React-featureflags - - React-hermes - - React-jsi - - React-jsiexecutor - - React-jsinspector - - React-jsinspectorcdp - - React-jsitooling - - React-perflogger - - React-runtimeexecutor - - React-runtimescheduler - - React-utils - - SocketRocket - - Yoga - - React-Core/RCTBlobHeaders (0.83.0): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - - RCTDeprecation - - React-Core/Default - - React-cxxreact - - React-featureflags - - React-hermes - - React-jsi - - React-jsiexecutor - - React-jsinspector - - React-jsinspectorcdp - - React-jsitooling - - React-perflogger - - React-runtimeexecutor - - React-runtimescheduler - - React-utils - - SocketRocket - - Yoga - - React-Core/RCTImageHeaders (0.83.0): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - - RCTDeprecation - - React-Core/Default - - React-cxxreact - - React-featureflags - - React-hermes - - React-jsi - - React-jsiexecutor - - React-jsinspector - - React-jsinspectorcdp - - React-jsitooling - - React-perflogger - - React-runtimeexecutor - - React-runtimescheduler - - React-utils - - SocketRocket - - Yoga - - React-Core/RCTLinkingHeaders (0.83.0): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - - RCTDeprecation - - React-Core/Default - - React-cxxreact - - React-featureflags - - React-hermes - - React-jsi - - React-jsiexecutor - - React-jsinspector - - React-jsinspectorcdp - - React-jsitooling - - React-perflogger - - React-runtimeexecutor - - React-runtimescheduler - - React-utils - - SocketRocket - - Yoga - - React-Core/RCTNetworkHeaders (0.83.0): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - - RCTDeprecation - - React-Core/Default - - React-cxxreact - - React-featureflags - - React-hermes - - React-jsi - - React-jsiexecutor - - React-jsinspector - - React-jsinspectorcdp - - React-jsitooling - - React-perflogger - - React-runtimeexecutor - - React-runtimescheduler - - React-utils - - SocketRocket - - Yoga - - React-Core/RCTSettingsHeaders (0.83.0): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - - RCTDeprecation - - React-Core/Default - - React-cxxreact - - React-featureflags - - React-hermes - - React-jsi - - React-jsiexecutor - - React-jsinspector - - React-jsinspectorcdp - - React-jsitooling - - React-perflogger - - React-runtimeexecutor - - React-runtimescheduler - - React-utils - - SocketRocket - - Yoga - - React-Core/RCTTextHeaders (0.83.0): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - - RCTDeprecation - - React-Core/Default - - React-cxxreact - - React-featureflags - - React-hermes - - React-jsi - - React-jsiexecutor - - React-jsinspector - - React-jsinspectorcdp - - React-jsitooling - - React-perflogger - - React-runtimeexecutor - - React-runtimescheduler - - React-utils - - SocketRocket - - Yoga - - React-Core/RCTVibrationHeaders (0.83.0): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - - RCTDeprecation - - React-Core/Default - - React-cxxreact - - React-featureflags - - React-hermes - - React-jsi - - React-jsiexecutor - - React-jsinspector - - React-jsinspectorcdp - - React-jsitooling - - React-perflogger - - React-runtimeexecutor - - React-runtimescheduler - - React-utils - - SocketRocket - - Yoga - - React-Core/RCTWebSocket (0.83.0): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - - RCTDeprecation - - React-Core/Default (= 0.83.0) - - React-cxxreact - - React-featureflags - - React-hermes - - React-jsi - - React-jsiexecutor - - React-jsinspector - - React-jsinspectorcdp - - React-jsitooling - - React-perflogger - - React-runtimeexecutor - - React-runtimescheduler - - React-utils - - SocketRocket - - Yoga - - React-CoreModules (0.83.0): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - - RCT-Folly - - RCT-Folly/Fabric - - RCTTypeSafety (= 0.83.0) - - React-Core/CoreModulesHeaders (= 0.83.0) - - React-debug - - React-jsi (= 0.83.0) - - React-jsinspector - - React-jsinspectorcdp - - React-jsinspectortracing - - React-NativeModulesApple - - React-RCTBlob - - React-RCTFBReactNativeSpec - - React-RCTImage (= 0.83.0) - - React-runtimeexecutor - - React-utils - - ReactCommon - - SocketRocket - - React-cxxreact (0.83.0): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - - React-callinvoker (= 0.83.0) - - React-debug (= 0.83.0) - - React-jsi (= 0.83.0) - - React-jsinspector - - React-jsinspectorcdp - - React-jsinspectortracing - - React-logger (= 0.83.0) - - React-perflogger (= 0.83.0) - - React-runtimeexecutor - - React-timing (= 0.83.0) - - React-utils - - SocketRocket - - React-debug (0.83.0) - - React-defaultsnativemodule (0.83.0): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - - React-domnativemodule - - React-featureflags - - React-featureflagsnativemodule - - React-idlecallbacksnativemodule - - React-intersectionobservernativemodule - - React-jsi - - React-jsiexecutor - - React-microtasksnativemodule - - React-RCTFBReactNativeSpec - - React-webperformancenativemodule - - SocketRocket - - Yoga - - React-domnativemodule (0.83.0): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - - React-Fabric - - React-Fabric/bridging - - React-FabricComponents - - React-graphics - - React-jsi - - React-jsiexecutor - - React-RCTFBReactNativeSpec - - React-runtimeexecutor - - ReactCommon/turbomodule/core - - SocketRocket - - Yoga - - React-Fabric (0.83.0): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - - RCTRequired - - RCTTypeSafety - - React-Core - - React-cxxreact - - React-debug - - React-Fabric/animated (= 0.83.0) - - React-Fabric/animationbackend (= 0.83.0) - - React-Fabric/animations (= 0.83.0) - - React-Fabric/attributedstring (= 0.83.0) - - React-Fabric/bridging (= 0.83.0) - - React-Fabric/componentregistry (= 0.83.0) - - React-Fabric/componentregistrynative (= 0.83.0) - - React-Fabric/components (= 0.83.0) - - React-Fabric/consistency (= 0.83.0) - - React-Fabric/core (= 0.83.0) - - React-Fabric/dom (= 0.83.0) - - React-Fabric/imagemanager (= 0.83.0) - - React-Fabric/leakchecker (= 0.83.0) - - React-Fabric/mounting (= 0.83.0) - - React-Fabric/observers (= 0.83.0) - - React-Fabric/scheduler (= 0.83.0) - - React-Fabric/telemetry (= 0.83.0) - - React-Fabric/templateprocessor (= 0.83.0) - - React-Fabric/uimanager (= 0.83.0) - - React-featureflags - - React-graphics - - React-jsi - - React-jsiexecutor - - React-logger - - React-rendererdebug - - React-runtimeexecutor - - React-runtimescheduler - - React-utils - - ReactCommon/turbomodule/core - - SocketRocket - - React-Fabric/animated (0.83.0): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - - RCTRequired - - RCTTypeSafety - - React-Core - - React-cxxreact - - React-debug - - React-featureflags - - React-graphics - - React-jsi - - React-jsiexecutor - - React-logger - - React-rendererdebug - - React-runtimeexecutor - - React-runtimescheduler - - React-utils - - ReactCommon/turbomodule/core - - SocketRocket - - React-Fabric/animationbackend (0.83.0): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - - RCTRequired - - RCTTypeSafety - - React-Core - - React-cxxreact - - React-debug - - React-featureflags - - React-graphics - - React-jsi - - React-jsiexecutor - - React-logger - - React-rendererdebug - - React-runtimeexecutor - - React-runtimescheduler - - React-utils - - ReactCommon/turbomodule/core - - SocketRocket - - React-Fabric/animations (0.83.0): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - - RCTRequired - - RCTTypeSafety - - React-Core - - React-cxxreact - - React-debug - - React-featureflags - - React-graphics - - React-jsi - - React-jsiexecutor - - React-logger - - React-rendererdebug - - React-runtimeexecutor - - React-runtimescheduler - - React-utils - - ReactCommon/turbomodule/core - - SocketRocket - - React-Fabric/attributedstring (0.83.0): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - - RCTRequired - - RCTTypeSafety - - React-Core - - React-cxxreact - - React-debug - - React-featureflags - - React-graphics - - React-jsi - - React-jsiexecutor - - React-logger - - React-rendererdebug - - React-runtimeexecutor - - React-runtimescheduler - - React-utils - - ReactCommon/turbomodule/core - - SocketRocket - - React-Fabric/bridging (0.83.0): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - - RCTRequired - - RCTTypeSafety - - React-Core - - React-cxxreact - - React-debug - - React-featureflags - - React-graphics - - React-jsi - - React-jsiexecutor - - React-logger - - React-rendererdebug - - React-runtimeexecutor - - React-runtimescheduler - - React-utils - - ReactCommon/turbomodule/core - - SocketRocket - - React-Fabric/componentregistry (0.83.0): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - - RCTRequired - - RCTTypeSafety - - React-Core - - React-cxxreact - - React-debug - - React-featureflags - - React-graphics - - React-jsi - - React-jsiexecutor - - React-logger - - React-rendererdebug - - React-runtimeexecutor - - React-runtimescheduler - - React-utils - - ReactCommon/turbomodule/core - - SocketRocket - - React-Fabric/componentregistrynative (0.83.0): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - - RCTRequired - - RCTTypeSafety - - React-Core - - React-cxxreact - - React-debug - - React-featureflags - - React-graphics - - React-jsi - - React-jsiexecutor - - React-logger - - React-rendererdebug - - React-runtimeexecutor - - React-runtimescheduler - - React-utils - - ReactCommon/turbomodule/core - - SocketRocket - - React-Fabric/components (0.83.0): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - - RCTRequired - - RCTTypeSafety - - React-Core - - React-cxxreact - - React-debug - - React-Fabric/components/legacyviewmanagerinterop (= 0.83.0) - - React-Fabric/components/root (= 0.83.0) - - React-Fabric/components/scrollview (= 0.83.0) - - React-Fabric/components/view (= 0.83.0) - - React-featureflags - - React-graphics - - React-jsi - - React-jsiexecutor - - React-logger - - React-rendererdebug - - React-runtimeexecutor - - React-runtimescheduler - - React-utils - - ReactCommon/turbomodule/core - - SocketRocket - - React-Fabric/components/legacyviewmanagerinterop (0.83.0): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - - RCTRequired - - RCTTypeSafety - - React-Core - - React-cxxreact - - React-debug - - React-featureflags - - React-graphics - - React-jsi - - React-jsiexecutor - - React-logger - - React-rendererdebug - - React-runtimeexecutor - - React-runtimescheduler - - React-utils - - ReactCommon/turbomodule/core - - SocketRocket - - React-Fabric/components/root (0.83.0): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - - RCTRequired - - RCTTypeSafety - - React-Core - - React-cxxreact - - React-debug - - React-featureflags - - React-graphics - - React-jsi - - React-jsiexecutor - - React-logger - - React-rendererdebug - - React-runtimeexecutor - - React-runtimescheduler - - React-utils - - ReactCommon/turbomodule/core - - SocketRocket - - React-Fabric/components/scrollview (0.83.0): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - - RCTRequired - - RCTTypeSafety - - React-Core - - React-cxxreact - - React-debug - - React-featureflags - - React-graphics - - React-jsi - - React-jsiexecutor - - React-logger - - React-rendererdebug - - React-runtimeexecutor - - React-runtimescheduler - - React-utils - - ReactCommon/turbomodule/core - - SocketRocket - - React-Fabric/components/view (0.83.0): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - - RCTRequired - - RCTTypeSafety - - React-Core - - React-cxxreact - - React-debug - - React-featureflags - - React-graphics - - React-jsi - - React-jsiexecutor - - React-logger - - React-renderercss - - React-rendererdebug - - React-runtimeexecutor - - React-runtimescheduler - - React-utils - - ReactCommon/turbomodule/core - - SocketRocket - - Yoga - - React-Fabric/consistency (0.83.0): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - - RCTRequired - - RCTTypeSafety - - React-Core - - React-cxxreact - - React-debug - - React-featureflags - - React-graphics - - React-jsi - - React-jsiexecutor - - React-logger - - React-rendererdebug - - React-runtimeexecutor - - React-runtimescheduler - - React-utils - - ReactCommon/turbomodule/core - - SocketRocket - - React-Fabric/core (0.83.0): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - - RCTRequired - - RCTTypeSafety - - React-Core - - React-cxxreact - - React-debug - - React-featureflags - - React-graphics - - React-jsi - - React-jsiexecutor - - React-logger - - React-rendererdebug - - React-runtimeexecutor - - React-runtimescheduler - - React-utils - - ReactCommon/turbomodule/core - - SocketRocket - - React-Fabric/dom (0.83.0): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - - RCTRequired - - RCTTypeSafety - - React-Core - - React-cxxreact - - React-debug - - React-featureflags - - React-graphics - - React-jsi - - React-jsiexecutor - - React-logger - - React-rendererdebug - - React-runtimeexecutor - - React-runtimescheduler - - React-utils - - ReactCommon/turbomodule/core - - SocketRocket - - React-Fabric/imagemanager (0.83.0): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - - RCTRequired - - RCTTypeSafety - - React-Core - - React-cxxreact - - React-debug - - React-featureflags - - React-graphics - - React-jsi - - React-jsiexecutor - - React-logger - - React-rendererdebug - - React-runtimeexecutor - - React-runtimescheduler - - React-utils - - ReactCommon/turbomodule/core - - SocketRocket - - React-Fabric/leakchecker (0.83.0): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - - RCTRequired - - RCTTypeSafety - - React-Core - - React-cxxreact - - React-debug - - React-featureflags - - React-graphics - - React-jsi - - React-jsiexecutor - - React-logger - - React-rendererdebug - - React-runtimeexecutor - - React-runtimescheduler - - React-utils - - ReactCommon/turbomodule/core - - SocketRocket - - React-Fabric/mounting (0.83.0): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - - RCTRequired - - RCTTypeSafety - - React-Core - - React-cxxreact - - React-debug - - React-featureflags - - React-graphics - - React-jsi - - React-jsiexecutor - - React-logger - - React-rendererdebug - - React-runtimeexecutor - - React-runtimescheduler - - React-utils - - ReactCommon/turbomodule/core - - SocketRocket - - React-Fabric/observers (0.83.0): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - - RCTRequired - - RCTTypeSafety - - React-Core - - React-cxxreact - - React-debug - - React-Fabric/observers/events (= 0.83.0) - - React-Fabric/observers/intersection (= 0.83.0) - - React-featureflags - - React-graphics - - React-jsi - - React-jsiexecutor - - React-logger - - React-rendererdebug - - React-runtimeexecutor - - React-runtimescheduler - - React-utils - - ReactCommon/turbomodule/core - - SocketRocket - - React-Fabric/observers/events (0.83.0): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - - RCTRequired - - RCTTypeSafety - - React-Core - - React-cxxreact - - React-debug - - React-featureflags - - React-graphics - - React-jsi - - React-jsiexecutor - - React-logger - - React-rendererdebug - - React-runtimeexecutor - - React-runtimescheduler - - React-utils - - ReactCommon/turbomodule/core - - SocketRocket - - React-Fabric/observers/intersection (0.83.0): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - - RCTRequired - - RCTTypeSafety - - React-Core - - React-cxxreact - - React-debug - - React-featureflags - - React-graphics - - React-jsi - - React-jsiexecutor - - React-logger - - React-rendererdebug - - React-runtimeexecutor - - React-runtimescheduler - - React-utils - - ReactCommon/turbomodule/core - - SocketRocket - - React-Fabric/scheduler (0.83.0): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - - RCTRequired - - RCTTypeSafety - - React-Core - - React-cxxreact - - React-debug - - React-Fabric/observers/events - - React-featureflags - - React-graphics - - React-jsi - - React-jsiexecutor - - React-logger - - React-performancecdpmetrics - - React-performancetimeline - - React-rendererdebug - - React-runtimeexecutor - - React-runtimescheduler - - React-utils - - ReactCommon/turbomodule/core - - SocketRocket - - React-Fabric/telemetry (0.83.0): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - - RCTRequired - - RCTTypeSafety - - React-Core - - React-cxxreact - - React-debug - - React-featureflags - - React-graphics - - React-jsi - - React-jsiexecutor - - React-logger - - React-rendererdebug - - React-runtimeexecutor - - React-runtimescheduler - - React-utils - - ReactCommon/turbomodule/core - - SocketRocket - - React-Fabric/templateprocessor (0.83.0): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - - RCTRequired - - RCTTypeSafety - - React-Core - - React-cxxreact - - React-debug - - React-featureflags - - React-graphics - - React-jsi - - React-jsiexecutor - - React-logger - - React-rendererdebug - - React-runtimeexecutor - - React-runtimescheduler - - React-utils - - ReactCommon/turbomodule/core - - SocketRocket - - React-Fabric/uimanager (0.83.0): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - - RCTRequired - - RCTTypeSafety - - React-Core - - React-cxxreact - - React-debug - - React-Fabric/uimanager/consistency (= 0.83.0) - - React-featureflags - - React-graphics - - React-jsi - - React-jsiexecutor - - React-logger - - React-rendererconsistency - - React-rendererdebug - - React-runtimeexecutor - - React-runtimescheduler - - React-utils - - ReactCommon/turbomodule/core - - SocketRocket - - React-Fabric/uimanager/consistency (0.83.0): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - - RCTRequired - - RCTTypeSafety - - React-Core - - React-cxxreact - - React-debug - - React-featureflags - - React-graphics - - React-jsi - - React-jsiexecutor - - React-logger - - React-rendererconsistency - - React-rendererdebug - - React-runtimeexecutor - - React-runtimescheduler - - React-utils - - ReactCommon/turbomodule/core - - SocketRocket - - React-FabricComponents (0.83.0): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - - RCTRequired - - RCTTypeSafety - - React-Core - - React-cxxreact - - React-debug - - React-Fabric - - React-FabricComponents/components (= 0.83.0) - - React-FabricComponents/textlayoutmanager (= 0.83.0) - - React-featureflags - - React-graphics - - React-jsi - - React-jsiexecutor - - React-logger - - React-RCTFBReactNativeSpec - - React-rendererdebug - - React-runtimescheduler - - React-utils - - ReactCommon/turbomodule/core - - SocketRocket - - Yoga - - React-FabricComponents/components (0.83.0): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - - RCTRequired - - RCTTypeSafety - - React-Core - - React-cxxreact - - React-debug - - React-Fabric - - React-FabricComponents/components/inputaccessory (= 0.83.0) - - React-FabricComponents/components/iostextinput (= 0.83.0) - - React-FabricComponents/components/modal (= 0.83.0) - - React-FabricComponents/components/rncore (= 0.83.0) - - React-FabricComponents/components/safeareaview (= 0.83.0) - - React-FabricComponents/components/scrollview (= 0.83.0) - - React-FabricComponents/components/switch (= 0.83.0) - - React-FabricComponents/components/text (= 0.83.0) - - React-FabricComponents/components/textinput (= 0.83.0) - - React-FabricComponents/components/unimplementedview (= 0.83.0) - - React-FabricComponents/components/virtualview (= 0.83.0) - - React-FabricComponents/components/virtualviewexperimental (= 0.83.0) - - React-featureflags - - React-graphics - - React-jsi - - React-jsiexecutor - - React-logger - - React-RCTFBReactNativeSpec - - React-rendererdebug - - React-runtimescheduler - - React-utils - - ReactCommon/turbomodule/core - - SocketRocket - - Yoga - - React-FabricComponents/components/inputaccessory (0.83.0): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - - RCTRequired - - RCTTypeSafety - - React-Core - - React-cxxreact - - React-debug - - React-Fabric - - React-featureflags - - React-graphics - - React-jsi - - React-jsiexecutor - - React-logger - - React-RCTFBReactNativeSpec - - React-rendererdebug - - React-runtimescheduler - - React-utils - - ReactCommon/turbomodule/core - - SocketRocket - - Yoga - - React-FabricComponents/components/iostextinput (0.83.0): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - - RCTRequired - - RCTTypeSafety - - React-Core - - React-cxxreact - - React-debug - - React-Fabric - - React-featureflags - - React-graphics - - React-jsi - - React-jsiexecutor - - React-logger - - React-RCTFBReactNativeSpec - - React-rendererdebug - - React-runtimescheduler - - React-utils - - ReactCommon/turbomodule/core - - SocketRocket - - Yoga - - React-FabricComponents/components/modal (0.83.0): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - - RCTRequired - - RCTTypeSafety - - React-Core - - React-cxxreact - - React-debug - - React-Fabric - - React-featureflags - - React-graphics - - React-jsi - - React-jsiexecutor - - React-logger - - React-RCTFBReactNativeSpec - - React-rendererdebug - - React-runtimescheduler - - React-utils - - ReactCommon/turbomodule/core - - SocketRocket - - Yoga - - React-FabricComponents/components/rncore (0.83.0): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - - RCTRequired - - RCTTypeSafety - - React-Core - - React-cxxreact - - React-debug - - React-Fabric - - React-featureflags - - React-graphics - - React-jsi - - React-jsiexecutor - - React-logger - - React-RCTFBReactNativeSpec - - React-rendererdebug - - React-runtimescheduler - - React-utils - - ReactCommon/turbomodule/core - - SocketRocket - - Yoga - - React-FabricComponents/components/safeareaview (0.83.0): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - - RCTRequired - - RCTTypeSafety - - React-Core - - React-cxxreact - - React-debug - - React-Fabric - - React-featureflags - - React-graphics - - React-jsi - - React-jsiexecutor - - React-logger - - React-RCTFBReactNativeSpec - - React-rendererdebug - - React-runtimescheduler - - React-utils - - ReactCommon/turbomodule/core - - SocketRocket - - Yoga - - React-FabricComponents/components/scrollview (0.83.0): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - - RCTRequired - - RCTTypeSafety - - React-Core - - React-cxxreact - - React-debug - - React-Fabric - - React-featureflags - - React-graphics - - React-jsi - - React-jsiexecutor - - React-logger - - React-RCTFBReactNativeSpec - - React-rendererdebug - - React-runtimescheduler - - React-utils - - ReactCommon/turbomodule/core - - SocketRocket - - Yoga - - React-FabricComponents/components/switch (0.83.0): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - - RCTRequired - - RCTTypeSafety - - React-Core - - React-cxxreact - - React-debug - - React-Fabric - - React-featureflags - - React-graphics - - React-jsi - - React-jsiexecutor - - React-logger - - React-RCTFBReactNativeSpec - - React-rendererdebug - - React-runtimescheduler - - React-utils - - ReactCommon/turbomodule/core - - SocketRocket - - Yoga - - React-FabricComponents/components/text (0.83.0): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - - RCTRequired - - RCTTypeSafety - - React-Core - - React-cxxreact - - React-debug - - React-Fabric - - React-featureflags - - React-graphics - - React-jsi - - React-jsiexecutor - - React-logger - - React-RCTFBReactNativeSpec - - React-rendererdebug - - React-runtimescheduler - - React-utils - - ReactCommon/turbomodule/core - - SocketRocket - - Yoga - - React-FabricComponents/components/textinput (0.83.0): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - - RCTRequired - - RCTTypeSafety - - React-Core - - React-cxxreact - - React-debug - - React-Fabric - - React-featureflags - - React-graphics - - React-jsi - - React-jsiexecutor - - React-logger - - React-RCTFBReactNativeSpec - - React-rendererdebug - - React-runtimescheduler - - React-utils - - ReactCommon/turbomodule/core - - SocketRocket - - Yoga - - React-FabricComponents/components/unimplementedview (0.83.0): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - - RCTRequired - - RCTTypeSafety - - React-Core - - React-cxxreact - - React-debug - - React-Fabric - - React-featureflags - - React-graphics - - React-jsi - - React-jsiexecutor - - React-logger - - React-RCTFBReactNativeSpec - - React-rendererdebug - - React-runtimescheduler - - React-utils - - ReactCommon/turbomodule/core - - SocketRocket - - Yoga - - React-FabricComponents/components/virtualview (0.83.0): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - - RCTRequired - - RCTTypeSafety - - React-Core - - React-cxxreact - - React-debug - - React-Fabric - - React-featureflags - - React-graphics - - React-jsi - - React-jsiexecutor - - React-logger - - React-RCTFBReactNativeSpec - - React-rendererdebug - - React-runtimescheduler - - React-utils - - ReactCommon/turbomodule/core - - SocketRocket - - Yoga - - React-FabricComponents/components/virtualviewexperimental (0.83.0): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - - RCTRequired - - RCTTypeSafety - - React-Core - - React-cxxreact - - React-debug - - React-Fabric - - React-featureflags - - React-graphics - - React-jsi - - React-jsiexecutor - - React-logger - - React-RCTFBReactNativeSpec - - React-rendererdebug - - React-runtimescheduler - - React-utils - - ReactCommon/turbomodule/core - - SocketRocket - - Yoga - - React-FabricComponents/textlayoutmanager (0.83.0): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - - RCTRequired - - RCTTypeSafety - - React-Core - - React-cxxreact - - React-debug - - React-Fabric - - React-featureflags - - React-graphics - - React-jsi - - React-jsiexecutor - - React-logger - - React-RCTFBReactNativeSpec - - React-rendererdebug - - React-runtimescheduler - - React-utils - - ReactCommon/turbomodule/core - - SocketRocket - - Yoga - - React-FabricImage (0.83.0): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - - RCTRequired (= 0.83.0) - - RCTTypeSafety (= 0.83.0) - - React-Fabric - - React-featureflags - - React-graphics - - React-ImageManager - - React-jsi - - React-jsiexecutor (= 0.83.0) - - React-logger - - React-rendererdebug - - React-utils - - ReactCommon - - SocketRocket - - Yoga - - React-featureflags (0.83.0): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - - RCT-Folly - - RCT-Folly/Fabric - - SocketRocket - - React-featureflagsnativemodule (0.83.0): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - - React-featureflags - - React-jsi - - React-jsiexecutor - - React-RCTFBReactNativeSpec - - ReactCommon/turbomodule/core - - SocketRocket - - React-graphics (0.83.0): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - - React-jsi - - React-jsiexecutor - - React-utils - - SocketRocket - - React-hermes (0.83.0): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - - React-cxxreact (= 0.83.0) - - React-jsi - - React-jsiexecutor (= 0.83.0) - - React-jsinspector - - React-jsinspectorcdp - - React-jsinspectortracing - - React-oscompat - - React-perflogger (= 0.83.0) - - React-runtimeexecutor - - SocketRocket - - React-idlecallbacksnativemodule (0.83.0): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - - React-jsi - - React-jsiexecutor - - React-RCTFBReactNativeSpec - - React-runtimeexecutor - - React-runtimescheduler - - ReactCommon/turbomodule/core - - SocketRocket - - React-ImageManager (0.83.0): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - - RCT-Folly - - RCT-Folly/Fabric - - React-Core/Default - - React-debug - - React-Fabric - - React-graphics - - React-rendererdebug - - React-utils - - SocketRocket - - React-intersectionobservernativemodule (0.83.0): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - - React-cxxreact - - React-Fabric - - React-Fabric/bridging - - React-graphics - - React-jsi - - React-jsiexecutor - - React-RCTFBReactNativeSpec - - React-runtimeexecutor - - React-runtimescheduler - - ReactCommon/turbomodule/core - - SocketRocket - - Yoga - - React-jserrorhandler (0.83.0): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - - React-cxxreact - - React-debug - - React-featureflags - - React-jsi - - ReactCommon/turbomodule/bridging - - SocketRocket - - React-jsi (0.83.0): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - - SocketRocket - - React-jsiexecutor (0.83.0): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - - React-cxxreact - - React-debug - - React-jsi - - React-jsinspector - - React-jsinspectorcdp - - React-jsinspectortracing - - React-perflogger - - React-runtimeexecutor - - React-utils - - SocketRocket - - React-jsinspector (0.83.0): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - - React-featureflags - - React-jsi - - React-jsinspectorcdp - - React-jsinspectornetwork - - React-jsinspectortracing - - React-oscompat - - React-perflogger (= 0.83.0) - - React-runtimeexecutor - - React-utils - - SocketRocket - - React-jsinspectorcdp (0.83.0): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - - RCT-Folly - - RCT-Folly/Fabric - - SocketRocket - - React-jsinspectornetwork (0.83.0): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - - RCT-Folly - - RCT-Folly/Fabric - - React-jsinspectorcdp - - SocketRocket - - React-jsinspectortracing (0.83.0): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - - React-jsi - - React-jsinspectornetwork - - React-oscompat - - React-timing - - SocketRocket - - React-jsitooling (0.83.0): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - - RCT-Folly - - RCT-Folly/Fabric - - React-cxxreact (= 0.83.0) - - React-debug - - React-jsi (= 0.83.0) - - React-jsinspector - - React-jsinspectorcdp - - React-jsinspectortracing - - React-runtimeexecutor - - React-utils - - SocketRocket - - React-jsitracing (0.83.0): - - React-jsi - - React-logger (0.83.0): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - - RCT-Folly - - RCT-Folly/Fabric - - SocketRocket - - React-Mapbuffer (0.83.0): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - - RCT-Folly - - RCT-Folly/Fabric - - React-debug - - SocketRocket - - React-microtasksnativemodule (0.83.0): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - - React-jsi - - React-jsiexecutor - - React-RCTFBReactNativeSpec - - ReactCommon/turbomodule/core - - SocketRocket - - react-native-zstd (1.0.1): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - - hermes-engine - - NitroModules - - RCT-Folly - - RCT-Folly/Fabric - - RCTRequired - - RCTTypeSafety - - React-Core - - React-debug - - React-Fabric - - React-featureflags - - React-graphics - - React-ImageManager - - React-jsi - - React-NativeModulesApple - - React-RCTFabric - - React-renderercss - - React-rendererdebug - - React-utils - - ReactCodegen - - ReactCommon/turbomodule/bridging - - ReactCommon/turbomodule/core - - SocketRocket - - Yoga - - React-NativeModulesApple (0.83.0): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - - React-callinvoker - - React-Core - - React-cxxreact - - React-debug - - React-featureflags - - React-jsi - - React-jsinspector - - React-jsinspectorcdp - - React-runtimeexecutor - - ReactCommon/turbomodule/bridging - - ReactCommon/turbomodule/core - - SocketRocket - - React-networking (0.83.0): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - - RCT-Folly - - RCT-Folly/Fabric - - React-featureflags - - React-jsinspectornetwork - - React-jsinspectortracing - - React-performancetimeline - - React-timing - - SocketRocket - - React-oscompat (0.83.0) - - React-perflogger (0.83.0): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - - RCT-Folly - - RCT-Folly/Fabric - - SocketRocket - - React-performancecdpmetrics (0.83.0): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - - React-jsi - - React-performancetimeline - - React-runtimeexecutor - - React-timing - - SocketRocket - - React-performancetimeline (0.83.0): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - - RCT-Folly - - RCT-Folly/Fabric - - React-featureflags - - React-jsinspectortracing - - React-perflogger - - React-timing - - SocketRocket - - React-RCTActionSheet (0.83.0): - - React-Core/RCTActionSheetHeaders (= 0.83.0) - - React-RCTAnimation (0.83.0): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - - RCT-Folly - - RCT-Folly/Fabric - - RCTTypeSafety - - React-Core/RCTAnimationHeaders - - React-featureflags - - React-jsi - - React-NativeModulesApple - - React-RCTFBReactNativeSpec - - ReactCommon - - SocketRocket - - React-RCTAppDelegate (0.83.0): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - - RCTRequired - - RCTTypeSafety - - React-Core - - React-CoreModules - - React-debug - - React-defaultsnativemodule - - React-Fabric - - React-featureflags - - React-graphics - - React-hermes - - React-jsitooling - - React-NativeModulesApple - - React-RCTFabric - - React-RCTFBReactNativeSpec - - React-RCTImage - - React-RCTNetwork - - React-RCTRuntime - - React-rendererdebug - - React-RuntimeApple - - React-RuntimeCore - - React-runtimeexecutor - - React-runtimescheduler - - React-utils - - ReactCommon - - SocketRocket - - React-RCTBlob (0.83.0): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - - React-Core/RCTBlobHeaders - - React-Core/RCTWebSocket - - React-jsi - - React-jsinspector - - React-jsinspectorcdp - - React-NativeModulesApple - - React-RCTFBReactNativeSpec - - React-RCTNetwork - - ReactCommon - - SocketRocket - - React-RCTFabric (0.83.0): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - - RCTSwiftUIWrapper - - React-Core - - React-debug - - React-Fabric - - React-FabricComponents - - React-FabricImage - - React-featureflags - - React-graphics - - React-ImageManager - - React-jsi - - React-jsinspector - - React-jsinspectorcdp - - React-jsinspectortracing - - React-networking - - React-performancecdpmetrics - - React-performancetimeline - - React-RCTAnimation - - React-RCTFBReactNativeSpec - - React-RCTImage - - React-RCTText - - React-rendererconsistency - - React-renderercss - - React-rendererdebug - - React-runtimeexecutor - - React-runtimescheduler - - React-utils - - SocketRocket - - Yoga - - React-RCTFBReactNativeSpec (0.83.0): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - - RCTRequired - - RCTTypeSafety - - React-Core - - React-jsi - - React-NativeModulesApple - - React-RCTFBReactNativeSpec/components (= 0.83.0) - - ReactCommon - - SocketRocket - - React-RCTFBReactNativeSpec/components (0.83.0): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - - RCTRequired - - RCTTypeSafety - - React-Core - - React-debug - - React-Fabric - - React-featureflags - - React-graphics - - React-jsi - - React-NativeModulesApple - - React-rendererdebug - - React-utils - - ReactCommon - - SocketRocket - - Yoga - - React-RCTImage (0.83.0): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - - RCT-Folly - - RCT-Folly/Fabric - - RCTTypeSafety - - React-Core/RCTImageHeaders - - React-jsi - - React-NativeModulesApple - - React-RCTFBReactNativeSpec - - React-RCTNetwork - - ReactCommon - - SocketRocket - - React-RCTLinking (0.83.0): - - React-Core/RCTLinkingHeaders (= 0.83.0) - - React-jsi (= 0.83.0) - - React-NativeModulesApple - - React-RCTFBReactNativeSpec - - ReactCommon - - ReactCommon/turbomodule/core (= 0.83.0) - - React-RCTNetwork (0.83.0): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - - RCT-Folly - - RCT-Folly/Fabric - - RCTTypeSafety - - React-Core/RCTNetworkHeaders - - React-debug - - React-featureflags - - React-jsi - - React-jsinspectorcdp - - React-jsinspectornetwork - - React-NativeModulesApple - - React-networking - - React-RCTFBReactNativeSpec - - ReactCommon - - SocketRocket - - React-RCTRuntime (0.83.0): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - - React-Core - - React-debug - - React-jsi - - React-jsinspector - - React-jsinspectorcdp - - React-jsinspectortracing - - React-jsitooling - - React-RuntimeApple - - React-RuntimeCore - - React-runtimeexecutor - - React-RuntimeHermes - - React-utils - - SocketRocket - - React-RCTSettings (0.83.0): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - - RCT-Folly - - RCT-Folly/Fabric - - RCTTypeSafety - - React-Core/RCTSettingsHeaders - - React-jsi - - React-NativeModulesApple - - React-RCTFBReactNativeSpec - - ReactCommon - - SocketRocket - - React-RCTText (0.83.0): - - React-Core/RCTTextHeaders (= 0.83.0) - - Yoga - - React-RCTVibration (0.83.0): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - - RCT-Folly - - RCT-Folly/Fabric - - React-Core/RCTVibrationHeaders - - React-jsi - - React-NativeModulesApple - - React-RCTFBReactNativeSpec - - ReactCommon - - SocketRocket - - React-rendererconsistency (0.83.0) - - React-renderercss (0.83.0): - - React-debug - - React-utils - - React-rendererdebug (0.83.0): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - - RCT-Folly - - RCT-Folly/Fabric - - React-debug - - SocketRocket - - React-RuntimeApple (0.83.0): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - - React-callinvoker - - React-Core/Default - - React-CoreModules - - React-cxxreact - - React-featureflags - - React-jserrorhandler - - React-jsi - - React-jsiexecutor - - React-jsinspector - - React-jsitooling - - React-Mapbuffer - - React-NativeModulesApple - - React-RCTFabric - - React-RCTFBReactNativeSpec - - React-RuntimeCore - - React-runtimeexecutor - - React-RuntimeHermes - - React-runtimescheduler - - React-utils - - SocketRocket - - React-RuntimeCore (0.83.0): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - - React-cxxreact - - React-Fabric - - React-featureflags - - React-jserrorhandler - - React-jsi - - React-jsiexecutor - - React-jsinspector - - React-jsitooling - - React-performancetimeline - - React-runtimeexecutor - - React-runtimescheduler - - React-utils - - SocketRocket - - React-runtimeexecutor (0.83.0): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - - RCT-Folly - - RCT-Folly/Fabric - - React-debug - - React-featureflags - - React-jsi (= 0.83.0) - - React-utils - - SocketRocket - - React-RuntimeHermes (0.83.0): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - - React-featureflags - - React-hermes - - React-jsi - - React-jsinspector - - React-jsinspectorcdp - - React-jsinspectortracing - - React-jsitooling - - React-jsitracing - - React-RuntimeCore - - React-runtimeexecutor - - React-utils - - SocketRocket - - React-runtimescheduler (0.83.0): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - - React-callinvoker - - React-cxxreact - - React-debug - - React-featureflags - - React-jsi - - React-jsinspectortracing - - React-performancetimeline - - React-rendererconsistency - - React-rendererdebug - - React-runtimeexecutor - - React-timing - - React-utils - - SocketRocket - - React-timing (0.83.0): - - React-debug - - React-utils (0.83.0): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - - React-debug - - React-jsi (= 0.83.0) - - SocketRocket - - React-webperformancenativemodule (0.83.0): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - - React-cxxreact - - React-jsi - - React-jsiexecutor - - React-performancetimeline - - React-RCTFBReactNativeSpec - - React-runtimeexecutor - - ReactCommon/turbomodule/core - - SocketRocket - - ReactAppDependencyProvider (0.83.0): - - ReactCodegen - - ReactCodegen (0.83.0): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - - RCTRequired - - RCTTypeSafety - - React-Core - - React-debug - - React-Fabric - - React-FabricImage - - React-featureflags - - React-graphics - - React-jsi - - React-jsiexecutor - - React-NativeModulesApple - - React-RCTAppDelegate - - React-rendererdebug - - React-utils - - ReactCommon/turbomodule/bridging - - ReactCommon/turbomodule/core - - SocketRocket - - ReactCommon (0.83.0): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - - RCT-Folly - - RCT-Folly/Fabric - - ReactCommon/turbomodule (= 0.83.0) - - SocketRocket - - ReactCommon/turbomodule (0.83.0): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - - React-callinvoker (= 0.83.0) - - React-cxxreact (= 0.83.0) - - React-jsi (= 0.83.0) - - React-logger (= 0.83.0) - - React-perflogger (= 0.83.0) - - ReactCommon/turbomodule/bridging (= 0.83.0) - - ReactCommon/turbomodule/core (= 0.83.0) - - SocketRocket - - ReactCommon/turbomodule/bridging (0.83.0): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - - React-callinvoker (= 0.83.0) - - React-cxxreact (= 0.83.0) - - React-jsi (= 0.83.0) - - React-logger (= 0.83.0) - - React-perflogger (= 0.83.0) - - SocketRocket - - ReactCommon/turbomodule/core (0.83.0): - - boost - - DoubleConversion - - fast_float - - fmt - - glog - - hermes-engine - - RCT-Folly - - RCT-Folly/Fabric - - React-callinvoker (= 0.83.0) - - React-cxxreact (= 0.83.0) - - React-debug (= 0.83.0) - - React-featureflags (= 0.83.0) - - React-jsi (= 0.83.0) - - React-logger (= 0.83.0) - - React-perflogger (= 0.83.0) - - React-utils (= 0.83.0) - - SocketRocket - - SocketRocket (0.7.1) - - Yoga (0.0.0) - -DEPENDENCIES: - - boost (from `../node_modules/react-native/third-party-podspecs/boost.podspec`) - - DoubleConversion (from `../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec`) - - fast_float (from `../node_modules/react-native/third-party-podspecs/fast_float.podspec`) - - FBLazyVector (from `../node_modules/react-native/Libraries/FBLazyVector`) - - fmt (from `../node_modules/react-native/third-party-podspecs/fmt.podspec`) - - glog (from `../node_modules/react-native/third-party-podspecs/glog.podspec`) - - hermes-engine (from `../node_modules/react-native/sdks/hermes-engine/hermes-engine.podspec`) - - NitroModules (from `../node_modules/react-native-nitro-modules`) - - RCT-Folly (from `../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec`) - - RCTDeprecation (from `../node_modules/react-native/ReactApple/Libraries/RCTFoundation/RCTDeprecation`) - - RCTRequired (from `../node_modules/react-native/Libraries/Required`) - - RCTSwiftUI (from `../node_modules/react-native/ReactApple/RCTSwiftUI`) - - RCTSwiftUIWrapper (from `../node_modules/react-native/ReactApple/RCTSwiftUIWrapper`) - - RCTTypeSafety (from `../node_modules/react-native/Libraries/TypeSafety`) - - React (from `../node_modules/react-native/`) - - React-callinvoker (from `../node_modules/react-native/ReactCommon/callinvoker`) - - React-Core (from `../node_modules/react-native/`) - - 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-defaultsnativemodule (from `../node_modules/react-native/ReactCommon/react/nativemodule/defaults`) - - React-domnativemodule (from `../node_modules/react-native/ReactCommon/react/nativemodule/dom`) - - React-Fabric (from `../node_modules/react-native/ReactCommon`) - - React-FabricComponents (from `../node_modules/react-native/ReactCommon`) - - React-FabricImage (from `../node_modules/react-native/ReactCommon`) - - React-featureflags (from `../node_modules/react-native/ReactCommon/react/featureflags`) - - React-featureflagsnativemodule (from `../node_modules/react-native/ReactCommon/react/nativemodule/featureflags`) - - React-graphics (from `../node_modules/react-native/ReactCommon/react/renderer/graphics`) - - React-hermes (from `../node_modules/react-native/ReactCommon/hermes`) - - React-idlecallbacksnativemodule (from `../node_modules/react-native/ReactCommon/react/nativemodule/idlecallbacks`) - - React-ImageManager (from `../node_modules/react-native/ReactCommon/react/renderer/imagemanager/platform/ios`) - - React-intersectionobservernativemodule (from `../node_modules/react-native/ReactCommon/react/nativemodule/intersectionobserver`) - - 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-jsinspectorcdp (from `../node_modules/react-native/ReactCommon/jsinspector-modern/cdp`) - - React-jsinspectornetwork (from `../node_modules/react-native/ReactCommon/jsinspector-modern/network`) - - React-jsinspectortracing (from `../node_modules/react-native/ReactCommon/jsinspector-modern/tracing`) - - React-jsitooling (from `../node_modules/react-native/ReactCommon/jsitooling`) - - React-jsitracing (from `../node_modules/react-native/ReactCommon/hermes/executor/`) - - React-logger (from `../node_modules/react-native/ReactCommon/logger`) - - React-Mapbuffer (from `../node_modules/react-native/ReactCommon`) - - React-microtasksnativemodule (from `../node_modules/react-native/ReactCommon/react/nativemodule/microtasks`) - - react-native-zstd (from `../..`) - - React-NativeModulesApple (from `../node_modules/react-native/ReactCommon/react/nativemodule/core/platform/ios`) - - React-networking (from `../node_modules/react-native/ReactCommon/react/networking`) - - React-oscompat (from `../node_modules/react-native/ReactCommon/oscompat`) - - React-perflogger (from `../node_modules/react-native/ReactCommon/reactperflogger`) - - React-performancecdpmetrics (from `../node_modules/react-native/ReactCommon/react/performance/cdpmetrics`) - - React-performancetimeline (from `../node_modules/react-native/ReactCommon/react/performance/timeline`) - - 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-RCTFBReactNativeSpec (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-RCTRuntime (from `../node_modules/react-native/React/Runtime`) - - 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-rendererconsistency (from `../node_modules/react-native/ReactCommon/react/renderer/consistency`) - - React-renderercss (from `../node_modules/react-native/ReactCommon/react/renderer/css`) - - React-rendererdebug (from `../node_modules/react-native/ReactCommon/react/renderer/debug`) - - React-RuntimeApple (from `../node_modules/react-native/ReactCommon/react/runtime/platform/ios`) - - React-RuntimeCore (from `../node_modules/react-native/ReactCommon/react/runtime`) - - React-runtimeexecutor (from `../node_modules/react-native/ReactCommon/runtimeexecutor`) - - React-RuntimeHermes (from `../node_modules/react-native/ReactCommon/react/runtime`) - - React-runtimescheduler (from `../node_modules/react-native/ReactCommon/react/renderer/runtimescheduler`) - - React-timing (from `../node_modules/react-native/ReactCommon/react/timing`) - - React-utils (from `../node_modules/react-native/ReactCommon/react/utils`) - - React-webperformancenativemodule (from `../node_modules/react-native/ReactCommon/react/nativemodule/webperformance`) - - ReactAppDependencyProvider (from `build/generated/ios/ReactAppDependencyProvider`) - - ReactCodegen (from `build/generated/ios/ReactCodegen`) - - ReactCommon/turbomodule/core (from `../node_modules/react-native/ReactCommon`) - - SocketRocket (~> 0.7.1) - - Yoga (from `../node_modules/react-native/ReactCommon/yoga`) - -SPEC REPOS: - trunk: - - SocketRocket - -EXTERNAL SOURCES: - boost: - :podspec: "../node_modules/react-native/third-party-podspecs/boost.podspec" - DoubleConversion: - :podspec: "../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec" - fast_float: - :podspec: "../node_modules/react-native/third-party-podspecs/fast_float.podspec" - FBLazyVector: - :path: "../node_modules/react-native/Libraries/FBLazyVector" - fmt: - :podspec: "../node_modules/react-native/third-party-podspecs/fmt.podspec" - glog: - :podspec: "../node_modules/react-native/third-party-podspecs/glog.podspec" - hermes-engine: - :podspec: "../node_modules/react-native/sdks/hermes-engine/hermes-engine.podspec" - :tag: hermes-v0.14.0 - NitroModules: - :path: "../node_modules/react-native-nitro-modules" - RCT-Folly: - :podspec: "../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec" - RCTDeprecation: - :path: "../node_modules/react-native/ReactApple/Libraries/RCTFoundation/RCTDeprecation" - RCTRequired: - :path: "../node_modules/react-native/Libraries/Required" - RCTSwiftUI: - :path: "../node_modules/react-native/ReactApple/RCTSwiftUI" - RCTSwiftUIWrapper: - :path: "../node_modules/react-native/ReactApple/RCTSwiftUIWrapper" - RCTTypeSafety: - :path: "../node_modules/react-native/Libraries/TypeSafety" - React: - :path: "../node_modules/react-native/" - React-callinvoker: - :path: "../node_modules/react-native/ReactCommon/callinvoker" - React-Core: - :path: "../node_modules/react-native/" - React-CoreModules: - :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-defaultsnativemodule: - :path: "../node_modules/react-native/ReactCommon/react/nativemodule/defaults" - React-domnativemodule: - :path: "../node_modules/react-native/ReactCommon/react/nativemodule/dom" - React-Fabric: - :path: "../node_modules/react-native/ReactCommon" - React-FabricComponents: - :path: "../node_modules/react-native/ReactCommon" - React-FabricImage: - :path: "../node_modules/react-native/ReactCommon" - React-featureflags: - :path: "../node_modules/react-native/ReactCommon/react/featureflags" - React-featureflagsnativemodule: - :path: "../node_modules/react-native/ReactCommon/react/nativemodule/featureflags" - React-graphics: - :path: "../node_modules/react-native/ReactCommon/react/renderer/graphics" - React-hermes: - :path: "../node_modules/react-native/ReactCommon/hermes" - React-idlecallbacksnativemodule: - :path: "../node_modules/react-native/ReactCommon/react/nativemodule/idlecallbacks" - React-ImageManager: - :path: "../node_modules/react-native/ReactCommon/react/renderer/imagemanager/platform/ios" - React-intersectionobservernativemodule: - :path: "../node_modules/react-native/ReactCommon/react/nativemodule/intersectionobserver" - 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" - React-jsinspectorcdp: - :path: "../node_modules/react-native/ReactCommon/jsinspector-modern/cdp" - React-jsinspectornetwork: - :path: "../node_modules/react-native/ReactCommon/jsinspector-modern/network" - React-jsinspectortracing: - :path: "../node_modules/react-native/ReactCommon/jsinspector-modern/tracing" - React-jsitooling: - :path: "../node_modules/react-native/ReactCommon/jsitooling" - React-jsitracing: - :path: "../node_modules/react-native/ReactCommon/hermes/executor/" - React-logger: - :path: "../node_modules/react-native/ReactCommon/logger" - React-Mapbuffer: - :path: "../node_modules/react-native/ReactCommon" - React-microtasksnativemodule: - :path: "../node_modules/react-native/ReactCommon/react/nativemodule/microtasks" - react-native-zstd: - :path: "../.." - React-NativeModulesApple: - :path: "../node_modules/react-native/ReactCommon/react/nativemodule/core/platform/ios" - React-networking: - :path: "../node_modules/react-native/ReactCommon/react/networking" - React-oscompat: - :path: "../node_modules/react-native/ReactCommon/oscompat" - React-perflogger: - :path: "../node_modules/react-native/ReactCommon/reactperflogger" - React-performancecdpmetrics: - :path: "../node_modules/react-native/ReactCommon/react/performance/cdpmetrics" - React-performancetimeline: - :path: "../node_modules/react-native/ReactCommon/react/performance/timeline" - React-RCTActionSheet: - :path: "../node_modules/react-native/Libraries/ActionSheetIOS" - React-RCTAnimation: - :path: "../node_modules/react-native/Libraries/NativeAnimation" - React-RCTAppDelegate: - :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-RCTFBReactNativeSpec: - :path: "../node_modules/react-native/React" - React-RCTImage: - :path: "../node_modules/react-native/Libraries/Image" - React-RCTLinking: - :path: "../node_modules/react-native/Libraries/LinkingIOS" - React-RCTNetwork: - :path: "../node_modules/react-native/Libraries/Network" - React-RCTRuntime: - :path: "../node_modules/react-native/React/Runtime" - React-RCTSettings: - :path: "../node_modules/react-native/Libraries/Settings" - React-RCTText: - :path: "../node_modules/react-native/Libraries/Text" - React-RCTVibration: - :path: "../node_modules/react-native/Libraries/Vibration" - React-rendererconsistency: - :path: "../node_modules/react-native/ReactCommon/react/renderer/consistency" - React-renderercss: - :path: "../node_modules/react-native/ReactCommon/react/renderer/css" - React-rendererdebug: - :path: "../node_modules/react-native/ReactCommon/react/renderer/debug" - React-RuntimeApple: - :path: "../node_modules/react-native/ReactCommon/react/runtime/platform/ios" - React-RuntimeCore: - :path: "../node_modules/react-native/ReactCommon/react/runtime" - React-runtimeexecutor: - :path: "../node_modules/react-native/ReactCommon/runtimeexecutor" - React-RuntimeHermes: - :path: "../node_modules/react-native/ReactCommon/react/runtime" - React-runtimescheduler: - :path: "../node_modules/react-native/ReactCommon/react/renderer/runtimescheduler" - React-timing: - :path: "../node_modules/react-native/ReactCommon/react/timing" - React-utils: - :path: "../node_modules/react-native/ReactCommon/react/utils" - React-webperformancenativemodule: - :path: "../node_modules/react-native/ReactCommon/react/nativemodule/webperformance" - ReactAppDependencyProvider: - :path: build/generated/ios/ReactAppDependencyProvider - ReactCodegen: - :path: build/generated/ios/ReactCodegen - ReactCommon: - :path: "../node_modules/react-native/ReactCommon" - Yoga: - :path: "../node_modules/react-native/ReactCommon/yoga" - -SPEC CHECKSUMS: - boost: 7e761d76ca2ce687f7cc98e698152abd03a18f90 - DoubleConversion: cb417026b2400c8f53ae97020b2be961b59470cb - fast_float: b32c788ed9c6a8c584d114d0047beda9664e7cc6 - FBLazyVector: a293a88992c4c33f0aee184acab0b64a08ff9458 - fmt: a40bb5bd0294ea969aaaba240a927bd33d878cdd - glog: 5683914934d5b6e4240e497e0f4a3b42d1854183 - hermes-engine: 3c41866f893d74bcae4667bb63591f6b292982e4 - NitroModules: 1d6b00df1594151aa7be68893bf41afc261bb817 - RCT-Folly: 846fda9475e61ec7bcbf8a3fe81edfcaeb090669 - RCTDeprecation: 2b70c6e3abe00396cefd8913efbf6a2db01a2b36 - RCTRequired: f3540eee8094231581d40c5c6d41b0f170237a81 - RCTSwiftUI: 5928f7ca7e9e2f1a82d85d4c79ea3065137ad81c - RCTSwiftUIWrapper: 1d538f86a38b18a6d5f70a94afa696242f46f5e5 - RCTTypeSafety: 6359ff3fcbe18c52059f4d4ce301e47f9da5f0d5 - React: f6f8fc5c01e77349cdfaf49102bcb928ac31d8ed - React-callinvoker: 032b6d1d03654b9fb7de9e2b3b978d3cb1a893ad - React-Core: ce3dea95f8ae196e9bfba71e3a5ef6057385890b - React-CoreModules: 78916168da700dfe90ecba15734e0e9c5b726814 - React-cxxreact: 04f73d81cfe783a57a88ef8683c76edc5bda3af8 - React-debug: 8fc21f2fecd3d6244e988dc55d60cb117d122588 - React-defaultsnativemodule: 7e39a67ea846a0c28fa1f8f3b7eb9c8d182cb519 - React-domnativemodule: 94500ffaa0e79ac9365bd239c1081bbeae76c5e1 - React-Fabric: bf43f81647dbb4760b38e8e54ff4734bcf3c3b2b - React-FabricComponents: 3dac7ea7ec199495b1b8bc57698ce2d215c8df4f - React-FabricImage: c0a883774156e295a58e2658584ba7b744728749 - React-featureflags: 57a5e07572451ec5c3fdfef5ec38e8f168aeba74 - React-featureflagsnativemodule: c43443be3e3f29b4d02a8ed1c5b823159e990f52 - React-graphics: e1a6995d70dd81db0c1d6f48fa9d5746cff23a57 - React-hermes: c15f47e27ebc5b5a4879a662192a2b5a2dbb121c - React-idlecallbacksnativemodule: e02e937ad0b76431e41cd4c0c4a964e2171df9a6 - React-ImageManager: db5557eb93bebef31bf846c6125b5a721a1315d9 - React-intersectionobservernativemodule: f45124cc5344500c862c1ea98386fe7f2e5ec214 - React-jserrorhandler: 2e42cbfcfa1fe5def2b386bb88579d88a793b305 - React-jsi: f93d4c647cb3c8668619a3217154627f22b3ba93 - React-jsiexecutor: 4b53a61c342a7e4df1271e45b72eebb0c7537b5c - React-jsinspector: 6601404af388513573ce330248fba1951f374a06 - React-jsinspectorcdp: edae3e229f9232156598e07765915ea153bb93a8 - React-jsinspectornetwork: 9c2bf9c45bdd3a53b6fafa3c92057d3267056500 - React-jsinspectortracing: f3132ce1e23f0b0a4e70b4f07ced6e766dbb3e00 - React-jsitooling: 93f0b858d38f4c3e1231ff3a9ad3880ee1807776 - React-jsitracing: b444d2d4aee3707d2838981a1ba6d9d859089da6 - React-logger: 3fc17afd62cdb87324a345b107b06a90b3e2dea0 - React-Mapbuffer: d690542fbbded9d9526a0a883c439aa82e4cede3 - React-microtasksnativemodule: b908076184179c0fd0db8713b5140f6e6e0e56c7 - react-native-zstd: b6218bc9bfc21c515e4d56303981336b20059e1c - React-NativeModulesApple: 153a3effe2df7d35881f3f0c126c8182b8643e5a - React-networking: 236c494a8d26fc5a776b3cfec7795a3e55143c91 - React-oscompat: aedc0afbded67280de6bb6bfac8cfde0389e2b33 - React-perflogger: 65e40e7afec4f9d2b1934baf8223f8ff73d4ce6d - React-performancecdpmetrics: 5f221a5581f34959707a5153bcdb6775fcfd5b77 - React-performancetimeline: df0ec4aa60217aa71d178ad90b93b4318ab2ed31 - React-RCTActionSheet: 175c74d343e92793d3187b3a819d565f534e0b1d - React-RCTAnimation: 4056aa1dd854167164563d4cfaecaa932a8ba999 - React-RCTAppDelegate: 59e920b73759d31ebcd9d6e3b9816de3ed8206b4 - React-RCTBlob: d154413584f959bc96303bfe9e0d59ef88bbe590 - React-RCTFabric: 4047481287f5db88210e9770fddfcd0992365b1c - React-RCTFBReactNativeSpec: 81c4e73677c31fd88d087117ca15c3699fab753e - React-RCTImage: 3b944bfe431f0bd74fad0b0b0af7c375c44f1edf - React-RCTLinking: 45c05cdd58f5fa1006d94e93da2f35c080f423b2 - React-RCTNetwork: c1aca7f6c18fe305254d48c5f6cda2e92ff43607 - React-RCTRuntime: bd9afe3a2a2a2ea4172533fcb1a96c60e17f32e2 - React-RCTSettings: d4a6492bd9502bf239ec16b24858cecfa908ace4 - React-RCTText: 0c507cfb9dbb9ae10685ec47e1db1759600f75bb - React-RCTVibration: 011035bf5753761355c070af58ad05f5d7674372 - React-rendererconsistency: 1204c62facf6168b69bc5022e0020f19c92f138e - React-renderercss: 77e9d118c0026cdb093c522d5e9cb7669d5d0cf4 - React-rendererdebug: 8a355bb7c619cdc4d38b7ec7912f185026dc447e - React-RuntimeApple: 297e55eda9aec96d108611a7df51a6045e4e87ac - React-RuntimeCore: c4fbc07d2cbf3c9cf34cc0ca416c054dfc7feb80 - React-runtimeexecutor: 0ba49c1979f7881e97426f593a0147c1c5be992c - React-RuntimeHermes: 3729990da73339d95b536797753f3e20e61f4a3a - React-runtimescheduler: df0f89b264cb24b16d224f9b524d8b2333270e66 - React-timing: ae03268dceeb18e6c94becb2648e1cb093d3250d - React-utils: 16ee6a8ad7f6be49bca27e42f3fe9603e0f04e2a - React-webperformancenativemodule: 2e06a8c4c84da4777c56603db36f6a6915d1991d - ReactAppDependencyProvider: 23e2bca1661f8781e55fcc05a151fc1df97bc1fb - ReactCodegen: 10a61330b137caaad6f7fbe7f5d0e7a40d621700 - ReactCommon: c6cd81778336e767e27fe63c6707dd6b735fff5c - SocketRocket: d4aabe649be1e368d1318fdf28a022d714d65748 - Yoga: 6ca93c8c13f56baeec55eb608577619b17a4d64e - -PODFILE CHECKSUM: 72a63e5ac4c714604f8a4b921d38df84ff50a4e5 - -COCOAPODS: 1.16.2 diff --git a/example/ios/ZstdExample.xcodeproj/project.pbxproj b/example/ios/ZstdExample.xcodeproj/project.pbxproj deleted file mode 100644 index b85a2fc..0000000 --- a/example/ios/ZstdExample.xcodeproj/project.pbxproj +++ /dev/null @@ -1,492 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 54; - objects = { - -/* Begin PBXBuildFile section */ - 13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB51A68108700A75B9A /* Images.xcassets */; }; - 81AB9BB82411601600AC10FF /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */; }; - 96D7D0FD344DB773B454EA73 /* libPods-ZstdExample.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 8A6EA3B14B9B60AAFCB4E752 /* libPods-ZstdExample.a */; }; - AAE82819ABD6915BC03D5C42 /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = 5D132327C8F694B6DD1828AE /* PrivacyInfo.xcprivacy */; }; - F95951062DB243B100C589FF /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = F95951052DB243B100C589FF /* AppDelegate.swift */; }; -/* End PBXBuildFile section */ - -/* Begin PBXFileReference section */ - 13B07F961A680F5B00A75B9A /* ZstdExample.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = ZstdExample.app; sourceTree = BUILT_PRODUCTS_DIR; }; - 13B07FB51A68108700A75B9A /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Images.xcassets; path = ZstdExample/Images.xcassets; sourceTree = ""; }; - 13B07FB61A68108700A75B9A /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = ZstdExample/Info.plist; sourceTree = ""; }; - 3F3EF781C72F27969B464CF7 /* Pods-ZstdExample.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ZstdExample.release.xcconfig"; path = "Target Support Files/Pods-ZstdExample/Pods-ZstdExample.release.xcconfig"; sourceTree = ""; }; - 4C26D5F60A4CACE90BD38DC3 /* Pods-ZstdExample.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ZstdExample.debug.xcconfig"; path = "Target Support Files/Pods-ZstdExample/Pods-ZstdExample.debug.xcconfig"; sourceTree = ""; }; - 5D132327C8F694B6DD1828AE /* PrivacyInfo.xcprivacy */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xml; name = PrivacyInfo.xcprivacy; path = ZstdExample/PrivacyInfo.xcprivacy; sourceTree = ""; }; - 81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; name = LaunchScreen.storyboard; path = ZstdExample/LaunchScreen.storyboard; sourceTree = ""; }; - 8A6EA3B14B9B60AAFCB4E752 /* libPods-ZstdExample.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-ZstdExample.a"; sourceTree = BUILT_PRODUCTS_DIR; }; - ED297162215061F000B7C4FE /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = System/Library/Frameworks/JavaScriptCore.framework; sourceTree = SDKROOT; }; - F95951052DB243B100C589FF /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - 13B07F8C1A680F5B00A75B9A /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 96D7D0FD344DB773B454EA73 /* libPods-ZstdExample.a in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 13B07FAE1A68108700A75B9A /* ZstdExample */ = { - isa = PBXGroup; - children = ( - F95951052DB243B100C589FF /* AppDelegate.swift */, - 13B07FB51A68108700A75B9A /* Images.xcassets */, - 13B07FB61A68108700A75B9A /* Info.plist */, - 81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */, - 5D132327C8F694B6DD1828AE /* PrivacyInfo.xcprivacy */, - ); - name = ZstdExample; - sourceTree = ""; - }; - 2D16E6871FA4F8E400B85C8A /* Frameworks */ = { - isa = PBXGroup; - children = ( - ED297162215061F000B7C4FE /* JavaScriptCore.framework */, - 8A6EA3B14B9B60AAFCB4E752 /* libPods-ZstdExample.a */, - ); - name = Frameworks; - sourceTree = ""; - }; - 832341AE1AAA6A7D00B99B32 /* Libraries */ = { - isa = PBXGroup; - children = ( - ); - name = Libraries; - sourceTree = ""; - }; - 83CBB9F61A601CBA00E9B192 = { - isa = PBXGroup; - children = ( - 13B07FAE1A68108700A75B9A /* ZstdExample */, - 832341AE1AAA6A7D00B99B32 /* Libraries */, - 83CBBA001A601CBA00E9B192 /* Products */, - 2D16E6871FA4F8E400B85C8A /* Frameworks */, - BBD78D7AC51CEA395F1C20DB /* Pods */, - ); - indentWidth = 2; - sourceTree = ""; - tabWidth = 2; - usesTabs = 0; - }; - 83CBBA001A601CBA00E9B192 /* Products */ = { - isa = PBXGroup; - children = ( - 13B07F961A680F5B00A75B9A /* ZstdExample.app */, - ); - name = Products; - sourceTree = ""; - }; - BBD78D7AC51CEA395F1C20DB /* Pods */ = { - isa = PBXGroup; - children = ( - 4C26D5F60A4CACE90BD38DC3 /* Pods-ZstdExample.debug.xcconfig */, - 3F3EF781C72F27969B464CF7 /* Pods-ZstdExample.release.xcconfig */, - ); - path = Pods; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXNativeTarget section */ - 13B07F861A680F5B00A75B9A /* ZstdExample */ = { - isa = PBXNativeTarget; - buildConfigurationList = 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "ZstdExample" */; - buildPhases = ( - 84874D266A60BF07AFAEAFDE /* [CP] Check Pods Manifest.lock */, - 13B07F871A680F5B00A75B9A /* Sources */, - 13B07F8C1A680F5B00A75B9A /* Frameworks */, - 13B07F8E1A680F5B00A75B9A /* Resources */, - 00DD1BFF1BD5951E006B06BC /* Bundle React Native code and images */, - B3CFA4BABDBDFD49C41DE155 /* [CP] Embed Pods Frameworks */, - 08D0A5397A8E1CDCD7D3BD2A /* [CP] Copy Pods Resources */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = ZstdExample; - productName = ZstdExample; - productReference = 13B07F961A680F5B00A75B9A /* ZstdExample.app */; - productType = "com.apple.product-type.application"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - 83CBB9F71A601CBA00E9B192 /* Project object */ = { - isa = PBXProject; - attributes = { - LastUpgradeCheck = 1210; - TargetAttributes = { - 13B07F861A680F5B00A75B9A = { - LastSwiftMigration = 1600; - }; - }; - }; - buildConfigurationList = 83CBB9FA1A601CBA00E9B192 /* Build configuration list for PBXProject "ZstdExample" */; - compatibilityVersion = "Xcode 12.0"; - developmentRegion = en; - hasScannedForEncodings = 0; - knownRegions = ( - en, - Base, - ); - mainGroup = 83CBB9F61A601CBA00E9B192; - productRefGroup = 83CBBA001A601CBA00E9B192 /* Products */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - 13B07F861A680F5B00A75B9A /* ZstdExample */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXResourcesBuildPhase section */ - 13B07F8E1A680F5B00A75B9A /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 81AB9BB82411601600AC10FF /* LaunchScreen.storyboard in Resources */, - 13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */, - AAE82819ABD6915BC03D5C42 /* PrivacyInfo.xcprivacy in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXResourcesBuildPhase section */ - -/* Begin PBXShellScriptBuildPhase section */ - 00DD1BFF1BD5951E006B06BC /* Bundle React Native code and images */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - "$(SRCROOT)/.xcode.env.local", - "$(SRCROOT)/.xcode.env", - ); - name = "Bundle React Native code and images"; - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "set -e\n\nWITH_ENVIRONMENT=\"../node_modules/react-native/scripts/xcode/with-environment.sh\"\nREACT_NATIVE_XCODE=\"../node_modules/react-native/scripts/react-native-xcode.sh\"\n\n/bin/sh -c \"$WITH_ENVIRONMENT $REACT_NATIVE_XCODE\"\n"; - }; - 08D0A5397A8E1CDCD7D3BD2A /* [CP] Copy Pods Resources */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-ZstdExample/Pods-ZstdExample-resources-${CONFIGURATION}-input-files.xcfilelist", - ); - name = "[CP] Copy Pods Resources"; - outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-ZstdExample/Pods-ZstdExample-resources-${CONFIGURATION}-output-files.xcfilelist", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-ZstdExample/Pods-ZstdExample-resources.sh\"\n"; - showEnvVarsInLog = 0; - }; - 84874D266A60BF07AFAEAFDE /* [CP] Check Pods Manifest.lock */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - ); - inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; - outputFileListPaths = ( - ); - outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-ZstdExample-checkManifestLockResult.txt", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; - showEnvVarsInLog = 0; - }; - B3CFA4BABDBDFD49C41DE155 /* [CP] Embed Pods Frameworks */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-ZstdExample/Pods-ZstdExample-frameworks-${CONFIGURATION}-input-files.xcfilelist", - ); - name = "[CP] Embed Pods Frameworks"; - outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-ZstdExample/Pods-ZstdExample-frameworks-${CONFIGURATION}-output-files.xcfilelist", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-ZstdExample/Pods-ZstdExample-frameworks.sh\"\n"; - showEnvVarsInLog = 0; - }; -/* End PBXShellScriptBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - 13B07F871A680F5B00A75B9A /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - F95951062DB243B100C589FF /* AppDelegate.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin XCBuildConfiguration section */ - 13B07F941A680F5B00A75B9A /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 4C26D5F60A4CACE90BD38DC3 /* Pods-ZstdExample.debug.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CLANG_ENABLE_MODULES = YES; - CURRENT_PROJECT_VERSION = 1; - ENABLE_BITCODE = NO; - INFOPLIST_FILE = ZstdExample/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); - MARKETING_VERSION = 1.0; - OTHER_LDFLAGS = ( - "$(inherited)", - "-ObjC", - "-lc++", - ); - PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)"; - PRODUCT_NAME = ZstdExample; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 5.0; - VERSIONING_SYSTEM = "apple-generic"; - }; - name = Debug; - }; - 13B07F951A680F5B00A75B9A /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 3F3EF781C72F27969B464CF7 /* Pods-ZstdExample.release.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CLANG_ENABLE_MODULES = YES; - CURRENT_PROJECT_VERSION = 1; - INFOPLIST_FILE = ZstdExample/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); - MARKETING_VERSION = 1.0; - OTHER_LDFLAGS = ( - "$(inherited)", - "-ObjC", - "-lc++", - ); - PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)"; - PRODUCT_NAME = ZstdExample; - SWIFT_VERSION = 5.0; - VERSIONING_SYSTEM = "apple-generic"; - }; - name = Release; - }; - 83CBBA201A601CBA00E9B192 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CC = ""; - CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; - CLANG_CXX_LANGUAGE_STANDARD = "c++20"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - COPY_PHASE_STRIP = NO; - CXX = ""; - ENABLE_STRICT_OBJC_MSGSEND = YES; - ENABLE_TESTABILITY = YES; - "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = i386; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_DYNAMIC_NO_PIC = NO; - GCC_NO_COMMON_BLOCKS = YES; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - GCC_SYMBOLS_PRIVATE_EXTERN = NO; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 13.4; - LD = ""; - LDPLUSPLUS = ""; - LD_RUNPATH_SEARCH_PATHS = ( - /usr/lib/swift, - "$(inherited)", - ); - LIBRARY_SEARCH_PATHS = ( - "\"$(SDKROOT)/usr/lib/swift\"", - "\"$(TOOLCHAIN_DIR)/usr/lib/swift/$(PLATFORM_NAME)\"", - "\"$(inherited)\"", - ); - MTL_ENABLE_DEBUG_INFO = YES; - ONLY_ACTIVE_ARCH = YES; - OTHER_CFLAGS = "$(inherited)"; - OTHER_CPLUSPLUSFLAGS = ( - "$(OTHER_CFLAGS)", - "-DFOLLY_NO_CONFIG", - "-DFOLLY_MOBILE=1", - "-DFOLLY_USE_LIBCPP=1", - "-DFOLLY_CFG_NO_COROUTINES=1", - ); - OTHER_LDFLAGS = ( - "$(inherited)", - " ", - ); - REACT_NATIVE_PATH = "${PODS_ROOT}/../../node_modules/react-native"; - SDKROOT = iphoneos; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) DEBUG"; - USE_HERMES = true; - }; - name = Debug; - }; - 83CBBA211A601CBA00E9B192 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CC = ""; - CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; - CLANG_CXX_LANGUAGE_STANDARD = "c++20"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - COPY_PHASE_STRIP = YES; - CXX = ""; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = i386; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_NO_COMMON_BLOCKS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 13.4; - LD = ""; - LDPLUSPLUS = ""; - LD_RUNPATH_SEARCH_PATHS = ( - /usr/lib/swift, - "$(inherited)", - ); - LIBRARY_SEARCH_PATHS = ( - "\"$(SDKROOT)/usr/lib/swift\"", - "\"$(TOOLCHAIN_DIR)/usr/lib/swift/$(PLATFORM_NAME)\"", - "\"$(inherited)\"", - ); - MTL_ENABLE_DEBUG_INFO = NO; - OTHER_CFLAGS = "$(inherited)"; - OTHER_CPLUSPLUSFLAGS = ( - "$(OTHER_CFLAGS)", - "-DFOLLY_NO_CONFIG", - "-DFOLLY_MOBILE=1", - "-DFOLLY_USE_LIBCPP=1", - "-DFOLLY_CFG_NO_COROUTINES=1", - ); - OTHER_LDFLAGS = ( - "$(inherited)", - " ", - ); - REACT_NATIVE_PATH = "${PODS_ROOT}/../../node_modules/react-native"; - SDKROOT = iphoneos; - USE_HERMES = true; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "ZstdExample" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 13B07F941A680F5B00A75B9A /* Debug */, - 13B07F951A680F5B00A75B9A /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 83CBB9FA1A601CBA00E9B192 /* Build configuration list for PBXProject "ZstdExample" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 83CBBA201A601CBA00E9B192 /* Debug */, - 83CBBA211A601CBA00E9B192 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - }; - rootObject = 83CBB9F71A601CBA00E9B192 /* Project object */; -} diff --git a/example/ios/ZstdExample.xcodeproj/xcshareddata/xcschemes/ZstdExample.xcscheme b/example/ios/ZstdExample.xcodeproj/xcshareddata/xcschemes/ZstdExample.xcscheme deleted file mode 100644 index 5aebbf7..0000000 --- a/example/ios/ZstdExample.xcodeproj/xcshareddata/xcschemes/ZstdExample.xcscheme +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/example/ios/ZstdExample.xcworkspace/contents.xcworkspacedata b/example/ios/ZstdExample.xcworkspace/contents.xcworkspacedata deleted file mode 100644 index bf22908..0000000 --- a/example/ios/ZstdExample.xcworkspace/contents.xcworkspacedata +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - diff --git a/example/ios/ZstdExample/AppDelegate.swift b/example/ios/ZstdExample/AppDelegate.swift deleted file mode 100644 index cad23fb..0000000 --- a/example/ios/ZstdExample/AppDelegate.swift +++ /dev/null @@ -1,30 +0,0 @@ -import UIKit -import React -import React_RCTAppDelegate -import ReactAppDependencyProvider - -@main -class AppDelegate: RCTAppDelegate { - override func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil) -> Bool { - self.moduleName = "ZstdExample" - self.dependencyProvider = RCTAppDependencyProvider() - - // You can add your custom initial props in the dictionary below. - // They will be passed down to the ViewController used by React Native. - self.initialProps = [:] - - return super.application(application, didFinishLaunchingWithOptions: launchOptions) - } - - override func sourceURL(for bridge: RCTBridge) -> URL? { - self.bundleURL() - } - - override func bundleURL() -> URL? { -#if DEBUG - RCTBundleURLProvider.sharedSettings().jsBundleURL(forBundleRoot: "index") -#else - Bundle.main.url(forResource: "main", withExtension: "jsbundle") -#endif - } -} diff --git a/example/ios/ZstdExample/Images.xcassets/AppIcon.appiconset/Contents.json b/example/ios/ZstdExample/Images.xcassets/AppIcon.appiconset/Contents.json deleted file mode 100644 index 8121323..0000000 --- a/example/ios/ZstdExample/Images.xcassets/AppIcon.appiconset/Contents.json +++ /dev/null @@ -1,53 +0,0 @@ -{ - "images" : [ - { - "idiom" : "iphone", - "scale" : "2x", - "size" : "20x20" - }, - { - "idiom" : "iphone", - "scale" : "3x", - "size" : "20x20" - }, - { - "idiom" : "iphone", - "scale" : "2x", - "size" : "29x29" - }, - { - "idiom" : "iphone", - "scale" : "3x", - "size" : "29x29" - }, - { - "idiom" : "iphone", - "scale" : "2x", - "size" : "40x40" - }, - { - "idiom" : "iphone", - "scale" : "3x", - "size" : "40x40" - }, - { - "idiom" : "iphone", - "scale" : "2x", - "size" : "60x60" - }, - { - "idiom" : "iphone", - "scale" : "3x", - "size" : "60x60" - }, - { - "idiom" : "ios-marketing", - "scale" : "1x", - "size" : "1024x1024" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - } -} diff --git a/example/ios/ZstdExample/Images.xcassets/Contents.json b/example/ios/ZstdExample/Images.xcassets/Contents.json deleted file mode 100644 index 2d92bd5..0000000 --- a/example/ios/ZstdExample/Images.xcassets/Contents.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "info" : { - "version" : 1, - "author" : "xcode" - } -} diff --git a/example/ios/ZstdExample/Info.plist b/example/ios/ZstdExample/Info.plist deleted file mode 100644 index aa363fd..0000000 --- a/example/ios/ZstdExample/Info.plist +++ /dev/null @@ -1,53 +0,0 @@ - - - - - CFBundleDevelopmentRegion - en - CFBundleDisplayName - ZstdExample - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - APPL - CFBundleShortVersionString - $(MARKETING_VERSION) - CFBundleSignature - ???? - CFBundleVersion - $(CURRENT_PROJECT_VERSION) - LSRequiresIPhoneOS - - NSAppTransportSecurity - - NSAllowsArbitraryLoads - - NSAllowsLocalNetworking - - - NSLocationWhenInUseUsageDescription - - RCTNewArchEnabled - - UILaunchStoryboardName - LaunchScreen - UIRequiredDeviceCapabilities - - arm64 - - UISupportedInterfaceOrientations - - UIInterfaceOrientationPortrait - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - UIViewControllerBasedStatusBarAppearance - - - diff --git a/example/ios/ZstdExample/LaunchScreen.storyboard b/example/ios/ZstdExample/LaunchScreen.storyboard deleted file mode 100644 index db42ecf..0000000 --- a/example/ios/ZstdExample/LaunchScreen.storyboard +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/example/ios/ZstdExample/PrivacyInfo.xcprivacy b/example/ios/ZstdExample/PrivacyInfo.xcprivacy deleted file mode 100644 index 41b8317..0000000 --- a/example/ios/ZstdExample/PrivacyInfo.xcprivacy +++ /dev/null @@ -1,37 +0,0 @@ - - - - - NSPrivacyAccessedAPITypes - - - NSPrivacyAccessedAPIType - NSPrivacyAccessedAPICategoryFileTimestamp - NSPrivacyAccessedAPITypeReasons - - C617.1 - - - - NSPrivacyAccessedAPIType - NSPrivacyAccessedAPICategoryUserDefaults - NSPrivacyAccessedAPITypeReasons - - CA92.1 - - - - NSPrivacyAccessedAPIType - NSPrivacyAccessedAPICategorySystemBootTime - NSPrivacyAccessedAPITypeReasons - - 35F9.1 - - - - NSPrivacyCollectedDataTypes - - NSPrivacyTracking - - - diff --git a/example/metro.config.js b/example/metro.config.js index 78e4f81..262d45b 100644 --- a/example/metro.config.js +++ b/example/metro.config.js @@ -1,18 +1,9 @@ const path = require('path'); -const { getDefaultConfig } = require('@react-native/metro-config'); -const { getConfig } = require('react-native-builder-bob/metro-config'); -const pkg = require('../package.json'); +const { getDefaultConfig } = require('expo/metro-config'); +const { withMetroConfig } = require('react-native-monorepo-config'); -const root = path.resolve(__dirname, '..'); - -/** - * Metro configuration - * https://facebook.github.io/metro/docs/configuration - * - * @type {import('metro-config').MetroConfig} - */ -module.exports = getConfig(getDefaultConfig(__dirname), { - root, - pkg, - project: __dirname, +module.exports = withMetroConfig(getDefaultConfig(__dirname), { + root: path.resolve(__dirname, '..'), + dirname: __dirname, + conditions: ['source'], }); diff --git a/example/package.json b/example/package.json index f81d0b9..a31522b 100644 --- a/example/package.json +++ b/example/package.json @@ -3,33 +3,34 @@ "version": "0.0.1", "private": true, "scripts": { - "android": "react-native run-android", - "ios": "react-native run-ios", - "start": "react-native start", - "build:android": "react-native build-android --extra-params \"--no-daemon --console=plain -PreactNativeArchitectures=arm64-v8a\"", - "build:ios": "react-native build-ios --mode Debug" + "android": "expo run:android", + "ios": "expo run:ios", + "start": "expo start --dev-client", + "build:android": "cd android && ./gradlew assembleDebug --no-daemon --console=plain -PreactNativeArchitectures=arm64-v8a", + "build:ios": "xcodebuild -workspace ios/ZstdExample.xcworkspace -scheme ZstdExample -configuration Debug -sdk iphonesimulator -destination 'generic/platform=iOS Simulator' CODE_SIGNING_ALLOWED=NO build", + "prebuild": "expo prebuild", + "export": "expo export --platform ios --platform android" }, "dependencies": { "buffer": "^6.0.3", - "react": "19.2.8", - "react-native": "0.84.1", + "expo": "~57.0.20", + "expo-dev-client": "~57.0.0", + "react": "19.2.3", + "react-native": "0.86.3", "react-native-nitro-modules": "^0.35.10" }, "devDependencies": { - "@babel/core": "^7.25.2", + "@babel/core": "^7.29.0", "@babel/preset-env": "^7.25.3", "@babel/runtime": "^7.25.0", - "@react-native-community/cli": "20.1.3", - "@react-native-community/cli-platform-android": "20.1.3", - "@react-native-community/cli-platform-ios": "20.1.3", - "@react-native/babel-preset": "0.84.1", - "@react-native/metro-config": "0.84.1", - "@react-native/typescript-config": "0.84.1", "@types/react": "^19.2.18", + "babel-preset-expo": "~57.0.10", "react-native-builder-bob": "^0.43.0", - "react-native-monorepo-config": "^0.4.0" + "react-native-monorepo-config": "^0.4.0", + "react-refresh": "^0.14.2" }, "engines": { "node": ">=20.20.2" - } + }, + "main": "index.js" } diff --git a/package.json b/package.json index a73e281..af5dac3 100644 --- a/package.json +++ b/package.json @@ -76,8 +76,9 @@ "@eslint/compat": "^2.1.1", "@eslint/eslintrc": "^3.3.7", "@eslint/js": "^9.39.5", - "@react-native/babel-preset": "0.84.1", + "@react-native/babel-preset": "0.86.3", "@react-native/eslint-config": "0.84.1", + "@react-native/jest-preset": "0.86.3", "@release-it/conventional-changelog": "11.0.1", "@types/jest": "^30.0.0", "@types/react": "^19.2.18", @@ -86,13 +87,14 @@ "del-cli": "^7.0.0", "eslint": "^9.39.5", "eslint-config-prettier": "^10.1.8", + "eslint-plugin-ft-flow": "^3.0.11", "eslint-plugin-prettier": "^5.5.6", "jest": "^30.5.1", "lefthook": "^2.1.12", "nitrogen": "^0.35.10", "prettier": "^3.9.6", - "react": "19.2.8", - "react-native": "0.84.1", + "react": "19.2.3", + "react-native": "0.86.3", "react-native-builder-bob": "^0.43.0", "react-native-nitro-modules": "^0.35.10", "release-it": "^20.2.1", @@ -109,7 +111,7 @@ ], "packageManager": "yarn@4.11.0", "jest": { - "preset": "react-native", + "preset": "@react-native/jest-preset", "modulePathIgnorePatterns": [ "/example/node_modules", "/lib/" diff --git a/yarn.lock b/yarn.lock index b75bf9d..d627943 100644 --- a/yarn.lock +++ b/yarn.lock @@ -48,7 +48,18 @@ __metadata: languageName: node linkType: hard -"@babel/code-frame@npm:^7.24.7, @babel/code-frame@npm:^7.26.2": +"@babel/code-frame@npm:^7.20.0, @babel/code-frame@npm:^7.29.0, @babel/code-frame@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/code-frame@npm:7.29.7" + dependencies: + "@babel/helper-validator-identifier": ^7.29.7 + js-tokens: ^4.0.0 + picocolors: ^1.1.1 + checksum: 21b12fe2356e36f6cc3cd8a3721f878bfeea80ce38356979a0518b47b3aafdcc0bd263da75ccc9d51c64d40b1b6df00e768ce2446acb0b7cbec0ae8f905663ad + languageName: node + linkType: hard + +"@babel/code-frame@npm:^7.26.2": version: 7.26.2 resolution: "@babel/code-frame@npm:7.26.2" dependencies: @@ -70,17 +81,6 @@ __metadata: languageName: node linkType: hard -"@babel/code-frame@npm:^7.29.7": - version: 7.29.7 - resolution: "@babel/code-frame@npm:7.29.7" - dependencies: - "@babel/helper-validator-identifier": ^7.29.7 - js-tokens: ^4.0.0 - picocolors: ^1.1.1 - checksum: 21b12fe2356e36f6cc3cd8a3721f878bfeea80ce38356979a0518b47b3aafdcc0bd263da75ccc9d51c64d40b1b6df00e768ce2446acb0b7cbec0ae8f905663ad - languageName: node - linkType: hard - "@babel/compat-data@npm:^7.22.6, @babel/compat-data@npm:^7.23.5": version: 7.24.1 resolution: "@babel/compat-data@npm:7.24.1" @@ -132,6 +132,29 @@ __metadata: languageName: node linkType: hard +"@babel/core@npm:^7.20.0, @babel/core@npm:^7.27.4, @babel/core@npm:^7.29.0": + version: 7.29.7 + resolution: "@babel/core@npm:7.29.7" + dependencies: + "@babel/code-frame": ^7.29.7 + "@babel/generator": ^7.29.7 + "@babel/helper-compilation-targets": ^7.29.7 + "@babel/helper-module-transforms": ^7.29.7 + "@babel/helpers": ^7.29.7 + "@babel/parser": ^7.29.7 + "@babel/template": ^7.29.7 + "@babel/traverse": ^7.29.7 + "@babel/types": ^7.29.7 + "@jridgewell/remapping": ^2.3.5 + convert-source-map: ^2.0.0 + debug: ^4.1.0 + gensync: ^1.0.0-beta.2 + json5: ^2.2.3 + semver: ^6.3.1 + checksum: 95149e98ffde5b9d903459c284fbcf1f9ad8b3a833d69fdfe1aa7185821a102af1925324fe2892caf4b643b151c1dc948510d1e25a5e3c6c6c6f17f6712eb38e + languageName: node + linkType: hard + "@babel/core@npm:^7.24.4": version: 7.28.5 resolution: "@babel/core@npm:7.28.5" @@ -178,29 +201,6 @@ __metadata: languageName: node linkType: hard -"@babel/core@npm:^7.27.4, @babel/core@npm:^7.29.0": - version: 7.29.7 - resolution: "@babel/core@npm:7.29.7" - dependencies: - "@babel/code-frame": ^7.29.7 - "@babel/generator": ^7.29.7 - "@babel/helper-compilation-targets": ^7.29.7 - "@babel/helper-module-transforms": ^7.29.7 - "@babel/helpers": ^7.29.7 - "@babel/parser": ^7.29.7 - "@babel/template": ^7.29.7 - "@babel/traverse": ^7.29.7 - "@babel/types": ^7.29.7 - "@jridgewell/remapping": ^2.3.5 - convert-source-map: ^2.0.0 - debug: ^4.1.0 - gensync: ^1.0.0-beta.2 - json5: ^2.2.3 - semver: ^6.3.1 - checksum: 95149e98ffde5b9d903459c284fbcf1f9ad8b3a833d69fdfe1aa7185821a102af1925324fe2892caf4b643b151c1dc948510d1e25a5e3c6c6c6f17f6712eb38e - languageName: node - linkType: hard - "@babel/eslint-parser@npm:^7.25.1": version: 7.27.0 resolution: "@babel/eslint-parser@npm:7.27.0" @@ -215,6 +215,19 @@ __metadata: languageName: node linkType: hard +"@babel/generator@npm:^7.20.5, @babel/generator@npm:^7.27.5, @babel/generator@npm:^7.29.1, @babel/generator@npm:^7.29.7, @babel/generator@npm:^7.29.8": + version: 7.29.8 + resolution: "@babel/generator@npm:7.29.8" + dependencies: + "@babel/parser": ^7.29.8 + "@babel/types": ^7.29.8 + "@jridgewell/gen-mapping": ^0.3.12 + "@jridgewell/trace-mapping": ^0.3.28 + jsesc: ^3.0.2 + checksum: e3d80ad2ce45ca974cb14e084350d590aa62e840d5028bb7771e910b1727b6646afcc9815560e3c6e3526f115b71b18a7f7139ada76a80287d5bd25b84c17e8d + languageName: node + linkType: hard + "@babel/generator@npm:^7.24.1": version: 7.24.1 resolution: "@babel/generator@npm:7.24.1" @@ -227,7 +240,7 @@ __metadata: languageName: node linkType: hard -"@babel/generator@npm:^7.25.0, @babel/generator@npm:^7.26.10, @babel/generator@npm:^7.27.0": +"@babel/generator@npm:^7.26.10, @babel/generator@npm:^7.27.0": version: 7.27.0 resolution: "@babel/generator@npm:7.27.0" dependencies: @@ -240,19 +253,6 @@ __metadata: languageName: node linkType: hard -"@babel/generator@npm:^7.27.5, @babel/generator@npm:^7.29.7, @babel/generator@npm:^7.29.8": - version: 7.29.8 - resolution: "@babel/generator@npm:7.29.8" - dependencies: - "@babel/parser": ^7.29.8 - "@babel/types": ^7.29.8 - "@jridgewell/gen-mapping": ^0.3.12 - "@jridgewell/trace-mapping": ^0.3.28 - jsesc: ^3.0.2 - checksum: e3d80ad2ce45ca974cb14e084350d590aa62e840d5028bb7771e910b1727b6646afcc9815560e3c6e3526f115b71b18a7f7139ada76a80287d5bd25b84c17e8d - languageName: node - linkType: hard - "@babel/generator@npm:^7.28.5": version: 7.28.5 resolution: "@babel/generator@npm:7.28.5" @@ -924,7 +924,7 @@ __metadata: languageName: node linkType: hard -"@babel/parser@npm:^7.25.3, @babel/parser@npm:^7.26.10, @babel/parser@npm:^7.27.0": +"@babel/parser@npm:^7.26.10, @babel/parser@npm:^7.27.0": version: 7.27.0 resolution: "@babel/parser@npm:7.27.0" dependencies: @@ -935,7 +935,7 @@ __metadata: languageName: node linkType: hard -"@babel/parser@npm:^7.29.7, @babel/parser@npm:^7.29.8": +"@babel/parser@npm:^7.29.0, @babel/parser@npm:^7.29.7, @babel/parser@npm:^7.29.8": version: 7.29.8 resolution: "@babel/parser@npm:7.29.8" dependencies: @@ -1076,6 +1076,19 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-proposal-decorators@npm:^7.12.9": + version: 7.29.7 + resolution: "@babel/plugin-proposal-decorators@npm:7.29.7" + dependencies: + "@babel/helper-create-class-features-plugin": ^7.29.7 + "@babel/helper-plugin-utils": ^7.29.7 + "@babel/plugin-syntax-decorators": ^7.29.7 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 4a92b511afc80a6708c42de6e2875bd5b93f18413c6c2ee2e97af61c7a54ea3b04837ec8fcca0d92de2178d6dd0a589690bab9ff38e0053261170d38e332bd5e + languageName: node + linkType: hard + "@babel/plugin-proposal-export-default-from@npm:^7.24.7": version: 7.25.9 resolution: "@babel/plugin-proposal-export-default-from@npm:7.25.9" @@ -1140,6 +1153,17 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-syntax-decorators@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/plugin-syntax-decorators@npm:7.29.7" + dependencies: + "@babel/helper-plugin-utils": ^7.29.7 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 3a49c261fb62a00f72626937eed23a0d293d10225362163d61909c83c91cfa759a8d498b6c7a8847592437a7d14ddc28407d7b8781ec9addac6a70980d41bb22 + languageName: node + linkType: hard + "@babel/plugin-syntax-dynamic-import@npm:^7.8.3": version: 7.8.3 resolution: "@babel/plugin-syntax-dynamic-import@npm:7.8.3" @@ -1559,7 +1583,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-class-static-block@npm:^7.29.7": +"@babel/plugin-transform-class-static-block@npm:^7.27.1, @babel/plugin-transform-class-static-block@npm:^7.29.7": version: 7.29.7 resolution: "@babel/plugin-transform-class-static-block@npm:7.29.7" dependencies: @@ -1916,25 +1940,25 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-logical-assignment-operators@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-logical-assignment-operators@npm:7.25.9" +"@babel/plugin-transform-logical-assignment-operators@npm:^7.24.7, @babel/plugin-transform-logical-assignment-operators@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/plugin-transform-logical-assignment-operators@npm:7.29.7" dependencies: - "@babel/helper-plugin-utils": ^7.25.9 + "@babel/helper-plugin-utils": ^7.29.7 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 8c6febb4ac53852314d28b5e2c23d5dbbff7bf1e57d61f9672e0d97531ef7778b3f0ad698dcf1179f5486e626c77127508916a65eb846a89e98a92f70ed3537b + checksum: 374d83dfbb2de5e339d2966487c0f0d766cd67422addbd0172104ff2788b60317858172a7ab2cb6ee7d5bffad72ce07120fec009a2ef3b35551013fce4908686 languageName: node linkType: hard -"@babel/plugin-transform-logical-assignment-operators@npm:^7.29.7": - version: 7.29.7 - resolution: "@babel/plugin-transform-logical-assignment-operators@npm:7.29.7" +"@babel/plugin-transform-logical-assignment-operators@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-logical-assignment-operators@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": ^7.29.7 + "@babel/helper-plugin-utils": ^7.25.9 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 374d83dfbb2de5e339d2966487c0f0d766cd67422addbd0172104ff2788b60317858172a7ab2cb6ee7d5bffad72ce07120fec009a2ef3b35551013fce4908686 + checksum: 8c6febb4ac53852314d28b5e2c23d5dbbff7bf1e57d61f9672e0d97531ef7778b3f0ad698dcf1179f5486e626c77127508916a65eb846a89e98a92f70ed3537b languageName: node linkType: hard @@ -2150,20 +2174,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-object-rest-spread@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-object-rest-spread@npm:7.25.9" - dependencies: - "@babel/helper-compilation-targets": ^7.25.9 - "@babel/helper-plugin-utils": ^7.25.9 - "@babel/plugin-transform-parameters": ^7.25.9 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: a8ff73e1c46a03056b3a2236bafd6b3a4b83da93afe7ee24a50d0a8088150bf85bc5e5977daa04e66ff5fb7613d02d63ad49b91ebb64cf3f3022598d722e3a7a - languageName: node - linkType: hard - -"@babel/plugin-transform-object-rest-spread@npm:^7.29.7": +"@babel/plugin-transform-object-rest-spread@npm:^7.24.7, @babel/plugin-transform-object-rest-spread@npm:^7.29.7": version: 7.29.7 resolution: "@babel/plugin-transform-object-rest-spread@npm:7.29.7" dependencies: @@ -2178,6 +2189,19 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-transform-object-rest-spread@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-object-rest-spread@npm:7.25.9" + dependencies: + "@babel/helper-compilation-targets": ^7.25.9 + "@babel/helper-plugin-utils": ^7.25.9 + "@babel/plugin-transform-parameters": ^7.25.9 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: a8ff73e1c46a03056b3a2236bafd6b3a4b83da93afe7ee24a50d0a8088150bf85bc5e5977daa04e66ff5fb7613d02d63ad49b91ebb64cf3f3022598d722e3a7a + languageName: node + linkType: hard + "@babel/plugin-transform-object-super@npm:^7.25.9": version: 7.25.9 resolution: "@babel/plugin-transform-object-super@npm:7.25.9" @@ -2248,25 +2272,25 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-parameters@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-parameters@npm:7.25.9" +"@babel/plugin-transform-parameters@npm:^7.24.7, @babel/plugin-transform-parameters@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/plugin-transform-parameters@npm:7.29.7" dependencies: - "@babel/helper-plugin-utils": ^7.25.9 + "@babel/helper-plugin-utils": ^7.29.7 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: d7ba2a7d05edbc85aed741289b0ff3d6289a1c25d82ac4be32c565f88a66391f46631aad59ceeed40824037f7eeaa7a0de1998db491f50e65a565cd964f78786 + checksum: 615cdd72dc2d08051e6d4e7f0539661e40029257a047ce15c5da5f4394a372a53f6f6d6aece72ad15ccf0590e448c9a742f8576564321c9dcc16262ec6197c9b languageName: node linkType: hard -"@babel/plugin-transform-parameters@npm:^7.29.7": - version: 7.29.7 - resolution: "@babel/plugin-transform-parameters@npm:7.29.7" +"@babel/plugin-transform-parameters@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-parameters@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": ^7.29.7 + "@babel/helper-plugin-utils": ^7.25.9 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 615cdd72dc2d08051e6d4e7f0539661e40029257a047ce15c5da5f4394a372a53f6f6d6aece72ad15ccf0590e448c9a742f8576564321c9dcc16262ec6197c9b + checksum: d7ba2a7d05edbc85aed741289b0ff3d6289a1c25d82ac4be32c565f88a66391f46631aad59ceeed40824037f7eeaa7a0de1998db491f50e65a565cd964f78786 languageName: node linkType: hard @@ -2364,7 +2388,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-react-jsx-development@npm:^7.29.7": +"@babel/plugin-transform-react-jsx-development@npm:^7.27.1, @babel/plugin-transform-react-jsx-development@npm:^7.29.7": version: 7.29.7 resolution: "@babel/plugin-transform-react-jsx-development@npm:7.29.7" dependencies: @@ -2412,7 +2436,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-react-jsx@npm:^7.29.7": +"@babel/plugin-transform-react-jsx@npm:^7.28.6, @babel/plugin-transform-react-jsx@npm:^7.29.7": version: 7.29.7 resolution: "@babel/plugin-transform-react-jsx@npm:7.29.7" dependencies: @@ -2427,7 +2451,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-react-pure-annotations@npm:^7.29.7": +"@babel/plugin-transform-react-pure-annotations@npm:^7.27.1, @babel/plugin-transform-react-pure-annotations@npm:^7.29.7": version: 7.29.7 resolution: "@babel/plugin-transform-react-pure-annotations@npm:7.29.7" dependencies: @@ -2960,7 +2984,7 @@ __metadata: languageName: node linkType: hard -"@babel/preset-typescript@npm:^7.28.5": +"@babel/preset-typescript@npm:^7.23.0, @babel/preset-typescript@npm:^7.28.5": version: 7.29.7 resolution: "@babel/preset-typescript@npm:7.29.7" dependencies: @@ -2982,6 +3006,13 @@ __metadata: languageName: node linkType: hard +"@babel/runtime@npm:^7.20.0": + version: 7.29.7 + resolution: "@babel/runtime@npm:7.29.7" + checksum: bc311855c6dbf5356030979584ca0f8b6cee39fe058175b02e85a73e246fc76ae30248b0d40e70c2652101faeb43279468ed2d086a670673eb9783c1fee1df2b + languageName: node + linkType: hard + "@babel/runtime@npm:^7.25.0": version: 7.27.0 resolution: "@babel/runtime@npm:7.27.0" @@ -3011,7 +3042,7 @@ __metadata: languageName: node linkType: hard -"@babel/template@npm:^7.25.0, @babel/template@npm:^7.25.9, @babel/template@npm:^7.26.9, @babel/template@npm:^7.27.0": +"@babel/template@npm:^7.25.9, @babel/template@npm:^7.26.9, @babel/template@npm:^7.27.0": version: 7.27.0 resolution: "@babel/template@npm:7.27.0" dependencies: @@ -3033,7 +3064,7 @@ __metadata: languageName: node linkType: hard -"@babel/template@npm:^7.29.7": +"@babel/template@npm:^7.28.6, @babel/template@npm:^7.29.7": version: 7.29.7 resolution: "@babel/template@npm:7.29.7" dependencies: @@ -3044,21 +3075,6 @@ __metadata: languageName: node linkType: hard -"@babel/traverse--for-generate-function-map@npm:@babel/traverse@^7.25.3, @babel/traverse@npm:^7.25.3, @babel/traverse@npm:^7.25.9, @babel/traverse@npm:^7.26.10, @babel/traverse@npm:^7.26.5, @babel/traverse@npm:^7.26.8, @babel/traverse@npm:^7.27.0": - version: 7.27.0 - resolution: "@babel/traverse@npm:7.27.0" - dependencies: - "@babel/code-frame": ^7.26.2 - "@babel/generator": ^7.27.0 - "@babel/parser": ^7.27.0 - "@babel/template": ^7.27.0 - "@babel/types": ^7.27.0 - debug: ^4.3.1 - globals: ^11.1.0 - checksum: 922d22aa91200e1880cfa782802100aa5b236fab89a44b9c40cfea94163246efd010626f7dc2b9d7769851c1fa2d8e8f8a1e0168ff4a7094e9b737c32760baa1 - languageName: node - linkType: hard - "@babel/traverse@npm:^7.24.1": version: 7.24.1 resolution: "@babel/traverse@npm:7.24.1" @@ -3077,6 +3093,21 @@ __metadata: languageName: node linkType: hard +"@babel/traverse@npm:^7.25.9, @babel/traverse@npm:^7.26.10, @babel/traverse@npm:^7.26.5, @babel/traverse@npm:^7.26.8, @babel/traverse@npm:^7.27.0": + version: 7.27.0 + resolution: "@babel/traverse@npm:7.27.0" + dependencies: + "@babel/code-frame": ^7.26.2 + "@babel/generator": ^7.27.0 + "@babel/parser": ^7.27.0 + "@babel/template": ^7.27.0 + "@babel/types": ^7.27.0 + debug: ^4.3.1 + globals: ^11.1.0 + checksum: 922d22aa91200e1880cfa782802100aa5b236fab89a44b9c40cfea94163246efd010626f7dc2b9d7769851c1fa2d8e8f8a1e0168ff4a7094e9b737c32760baa1 + languageName: node + linkType: hard + "@babel/traverse@npm:^7.27.1, @babel/traverse@npm:^7.28.3, @babel/traverse@npm:^7.28.5": version: 7.28.5 resolution: "@babel/traverse@npm:7.28.5" @@ -3092,7 +3123,7 @@ __metadata: languageName: node linkType: hard -"@babel/traverse@npm:^7.29.7, @babel/traverse@npm:^7.29.8": +"@babel/traverse@npm:^7.29.0, @babel/traverse@npm:^7.29.7, @babel/traverse@npm:^7.29.8": version: 7.29.8 resolution: "@babel/traverse@npm:7.29.8" dependencies: @@ -3118,7 +3149,7 @@ __metadata: languageName: node linkType: hard -"@babel/types@npm:^7.25.2, @babel/types@npm:^7.25.9, @babel/types@npm:^7.26.10, @babel/types@npm:^7.27.0": +"@babel/types@npm:^7.25.9, @babel/types@npm:^7.26.10, @babel/types@npm:^7.27.0": version: 7.27.0 resolution: "@babel/types@npm:7.27.0" dependencies: @@ -3128,6 +3159,16 @@ __metadata: languageName: node linkType: hard +"@babel/types@npm:^7.26.0, @babel/types@npm:^7.27.3, @babel/types@npm:^7.29.0, @babel/types@npm:^7.29.7, @babel/types@npm:^7.29.8": + version: 7.29.8 + resolution: "@babel/types@npm:7.29.8" + dependencies: + "@babel/helper-string-parser": ^7.29.7 + "@babel/helper-validator-identifier": ^7.29.7 + checksum: 9ac45d1fc702bce8e51f74566c85211f4a5d06b6f921c297e07f05742ac0eb9660d4380f96ac18d882415e4e1172e92a3fc7a20b29afd2277b713efc5b3c7cf6 + languageName: node + linkType: hard + "@babel/types@npm:^7.27.1, @babel/types@npm:^7.28.4, @babel/types@npm:^7.28.5": version: 7.28.5 resolution: "@babel/types@npm:7.28.5" @@ -3138,16 +3179,6 @@ __metadata: languageName: node linkType: hard -"@babel/types@npm:^7.27.3, @babel/types@npm:^7.29.7, @babel/types@npm:^7.29.8": - version: 7.29.8 - resolution: "@babel/types@npm:7.29.8" - dependencies: - "@babel/helper-string-parser": ^7.29.7 - "@babel/helper-validator-identifier": ^7.29.7 - checksum: 9ac45d1fc702bce8e51f74566c85211f4a5d06b6f921c297e07f05742ac0eb9660d4380f96ac18d882415e4e1172e92a3fc7a20b29afd2277b713efc5b3c7cf6 - languageName: node - linkType: hard - "@bcoe/v8-coverage@npm:^0.2.3": version: 0.2.3 resolution: "@bcoe/v8-coverage@npm:0.2.3" @@ -3543,47 +3574,521 @@ __metadata: languageName: node linkType: hard -"@hapi/hoek@npm:^9.0.0, @hapi/hoek@npm:^9.3.0": - version: 9.3.0 - resolution: "@hapi/hoek@npm:9.3.0" - checksum: 4771c7a776242c3c022b168046af4e324d116a9d2e1d60631ee64f474c6e38d1bb07092d898bf95c7bc5d334c5582798a1456321b2e53ca817d4e7c88bc25b43 +"@expo/cli@npm:^57.0.22": + version: 57.0.22 + resolution: "@expo/cli@npm:57.0.22" + dependencies: + "@expo/code-signing-certificates": ^0.0.6 + "@expo/config": ~57.0.9 + "@expo/config-plugins": ~57.0.9 + "@expo/devcert": ^1.2.1 + "@expo/env": ~2.4.3 + "@expo/image-utils": ^0.11.5 + "@expo/inline-modules": ^0.1.7 + "@expo/json-file": ^11.0.1 + "@expo/log-box": ^57.0.4 + "@expo/metro": ~56.0.2 + "@expo/metro-config": ~57.0.12 + "@expo/metro-file-map": ^57.0.2 + "@expo/osascript": ^2.7.1 + "@expo/package-manager": ^1.13.1 + "@expo/plist": ^0.8.1 + "@expo/prebuild-config": ^57.0.15 + "@expo/require-utils": ^57.0.5 + "@expo/router-server": ^57.0.9 + "@expo/schema-utils": ^57.0.2 + "@expo/spawn-async": ^1.8.0 + "@expo/ws-tunnel": ^2.0.0 + "@expo/xcpretty": ^4.4.4 + "@react-native/dev-middleware": 0.86.3 + accepts: ^1.3.8 + agent-cli-detector: 0.1.7 + arg: ^5.0.2 + bplist-creator: 0.1.0 + bplist-parser: ^0.3.1 + chalk: ^4.0.0 + ci-info: ^3.3.0 + compression: ^1.7.4 + connect: ^3.7.0 + debug: ^4.3.4 + dnssd-advertise: ^1.1.4 + expo-server: ^57.0.3 + fetch-nodeshim: ^0.4.10 + getenv: ^2.0.0 + glob: ^13.0.0 + lan-network: ^0.2.1 + multitars: ^1.0.2 + node-forge: ^1.3.3 + npm-package-arg: ^11.0.0 + ora: ^3.4.0 + picomatch: ^4.0.4 + pretty-format: ^29.7.0 + progress: ^2.0.3 + prompts: ^2.3.2 + resolve-from: ^5.0.0 + sandbox-cli-detector: ^0.2.0 + semver: ^7.6.0 + send: ^0.19.0 + slugify: ^1.3.4 + stacktrace-parser: ^0.1.10 + structured-headers: ^0.4.1 + terminal-link: ^2.1.1 + toqr: ^0.1.1 + wrap-ansi: ^7.0.0 + ws: ^8.12.1 + zod: ^3.25.76 + peerDependencies: + expo: "*" + expo-router: "*" + react-native: "*" + peerDependenciesMeta: + expo-router: + optional: true + react-native: + optional: true + bin: + expo-internal: main.js + checksum: ee3a5527f32dc44c12975c60bc17c4f6dae99e6ff22ad66e7d44d0ba2d0c27e044e37d7e5313d7e3ba77ec10c645abf8703f36e7a9dae9f08218b8c90af1fb64 languageName: node linkType: hard -"@hapi/topo@npm:^5.1.0": - version: 5.1.0 - resolution: "@hapi/topo@npm:5.1.0" +"@expo/code-signing-certificates@npm:^0.0.6": + version: 0.0.6 + resolution: "@expo/code-signing-certificates@npm:0.0.6" dependencies: - "@hapi/hoek": ^9.0.0 - checksum: 604dfd5dde76d5c334bd03f9001fce69c7ce529883acf92da96f4fe7e51221bf5e5110e964caca287a6a616ba027c071748ab636ff178ad750547fba611d6014 + node-forge: ^1.3.3 + checksum: 40f6cc39fbef48213b8d946720c49b897d2021cfd4276eba217181861f16a047bbd60c237c8af1596186ba0eeee267150cfe607bee3a6d237ce41617bc29b82d languageName: node linkType: hard -"@humanfs/core@npm:^0.19.1": - version: 0.19.1 - resolution: "@humanfs/core@npm:0.19.1" - checksum: 611e0545146f55ddfdd5c20239cfb7911f9d0e28258787c4fc1a1f6214250830c9367aaaeace0096ed90b6739bee1e9c52ad5ba8adaf74ab8b449119303babfe +"@expo/config-plugins@npm:~57.0.9": + version: 57.0.9 + resolution: "@expo/config-plugins@npm:57.0.9" + dependencies: + "@expo/config-types": ^57.0.2 + "@expo/json-file": ~11.0.1 + "@expo/plist": ^0.8.1 + "@expo/require-utils": ^57.0.5 + "@expo/sdk-runtime-versions": ^1.0.0 + chalk: ^4.1.2 + debug: ^4.3.5 + getenv: ^2.0.0 + glob: ^13.0.0 + semver: ^7.5.4 + slugify: ^1.6.6 + xcode: ^3.0.1 + xml2js: 0.6.0 + checksum: 3d559f5f7ce148eaed4fe8bdc83af256c1c7f60f22e6ba5264fa5e172e98e6fd92960d59b9fa1b3b496e5eed487fd36a20e618dd7962e214b638959959977e2c languageName: node linkType: hard -"@humanfs/node@npm:^0.16.6": - version: 0.16.6 - resolution: "@humanfs/node@npm:0.16.6" - dependencies: - "@humanfs/core": ^0.19.1 - "@humanwhocodes/retry": ^0.3.0 - checksum: f9cb52bb235f8b9c6fcff43a7e500669a38f8d6ce26593404a9b56365a1644e0ed60c720dc65ff6a696b1f85f3563ab055bb554ec8674f2559085ba840e47710 +"@expo/config-types@npm:^57.0.2": + version: 57.0.2 + resolution: "@expo/config-types@npm:57.0.2" + checksum: b99831453cca07f353e0f1c94a99c921c6e787298198fd9f201ff2f02f8f983b5c69cded4469206cbdf3a82da34a19a5aa68d0c92545b5dc701c99c0d7c17071 languageName: node linkType: hard -"@humanwhocodes/module-importer@npm:^1.0.1": - version: 1.0.1 - resolution: "@humanwhocodes/module-importer@npm:1.0.1" - checksum: 0fd22007db8034a2cdf2c764b140d37d9020bbfce8a49d3ec5c05290e77d4b0263b1b972b752df8c89e5eaa94073408f2b7d977aed131faf6cf396ebb5d7fb61 +"@expo/config@npm:~57.0.9": + version: 57.0.9 + resolution: "@expo/config@npm:57.0.9" + dependencies: + "@expo/config-plugins": ~57.0.9 + "@expo/config-types": ^57.0.2 + "@expo/json-file": ^11.0.1 + "@expo/require-utils": ^57.0.5 + deepmerge: ^4.3.1 + getenv: ^2.0.0 + glob: ^13.0.0 + resolve-workspace-root: ^2.0.0 + semver: ^7.6.0 + slugify: ^1.3.4 + checksum: 6d5212649bb44248562a9ceecff571a46e7697c1afd71c1791189abaee1d88d89bc0577db8ca35b632949e693e82f8d6da2ebb5b7982ecc859f2a570cedf813f languageName: node linkType: hard -"@humanwhocodes/retry@npm:^0.3.0": +"@expo/devcert@npm:^1.2.1": + version: 1.2.1 + resolution: "@expo/devcert@npm:1.2.1" + dependencies: + "@expo/sudo-prompt": ^9.3.1 + debug: ^3.1.0 + checksum: 62a21756edcf5bb6ad825affb65f5c5685ef795fb41128336bd0490897f88ef16099938a4d5690a60b576a887c00659214cea76202f73572867ed5ef7254cb98 + languageName: node + linkType: hard + +"@expo/devtools@npm:~57.0.1": + version: 57.0.1 + resolution: "@expo/devtools@npm:57.0.1" + dependencies: + chalk: ^4.1.2 + peerDependencies: + react: "*" + react-native: "*" + peerDependenciesMeta: + react: + optional: true + react-native: + optional: true + checksum: 2bd21c09a05c24eec97fc04899c6e21e0a64255a4e7c7703b6bdf3d9033c14a52f0bca71b54878c52122e5fa25ef4826fe735919ea486aafcb4837feaab898de + languageName: node + linkType: hard + +"@expo/dom-webview@npm:^57.0.1, @expo/dom-webview@npm:~57.0.1": + version: 57.0.1 + resolution: "@expo/dom-webview@npm:57.0.1" + peerDependencies: + expo: "*" + react: "*" + react-native: "*" + checksum: 980e3829401b0aa182b8ffc4df1c808c27c16fd1535326461466f38083fdcafc6d0927e2b399e37cd594531fbf5b8c29ce3e80b0a2703acf2972a3b04e6495d0 + languageName: node + linkType: hard + +"@expo/env@npm:^2.4.3, @expo/env@npm:~2.4.3": + version: 2.4.3 + resolution: "@expo/env@npm:2.4.3" + dependencies: + chalk: ^4.0.0 + debug: ^4.3.4 + getenv: ^2.0.0 + checksum: 6cb5460420e4f4d9fbce1c52206d6c081b265fefceb08269270c7383207dfd98db0575d4f41511386027cfbe82067f2341e58a06b20f6935af217b00d59ef355 + languageName: node + linkType: hard + +"@expo/expo-modules-macros-plugin@npm:0.6.1": + version: 0.6.1 + resolution: "@expo/expo-modules-macros-plugin@npm:0.6.1" + checksum: ee3d3b5ce82ebfb60dfef754827f37e8e58879abf6e19f02fa27830eb8395de809876ff54b9e5c10d79c6305d44bd437d93354795965504faf5c093e42457d1b + languageName: node + linkType: hard + +"@expo/fingerprint@npm:^0.20.12": + version: 0.20.12 + resolution: "@expo/fingerprint@npm:0.20.12" + dependencies: + "@expo/env": ^2.4.3 + "@expo/spawn-async": ^1.8.0 + arg: ^5.0.2 + chalk: ^4.1.2 + debug: ^4.3.4 + getenv: ^2.0.0 + glob: ^13.0.0 + ignore: ^5.3.1 + minimatch: ^10.2.2 + resolve-from: ^5.0.0 + semver: ^7.6.0 + bin: + fingerprint: bin/cli.js + checksum: 3de5026bbdea26cdcffe84e447b41b2410a5ce0d5da09fcf08a180c58f9eeca2f5a10aeb29a02d49b1178aedcda96dca40f24517c13c3cd649d40b7e32636d8b + languageName: node + linkType: hard + +"@expo/image-utils@npm:^0.11.5": + version: 0.11.5 + resolution: "@expo/image-utils@npm:0.11.5" + dependencies: + "@expo/require-utils": ^57.0.5 + "@expo/spawn-async": ^1.8.0 + chalk: ^4.0.0 + getenv: ^2.0.0 + jimp-compact: 0.16.1 + parse-png: ^2.1.0 + semver: ^7.6.0 + checksum: 994d895d2735a51185f0471119c66bd3106c051b566e7c5666a375ccabc7bc3c116594034482091586bdaabcdd7090ad1c33822fd579b420e333281ca748527b + languageName: node + linkType: hard + +"@expo/inline-modules@npm:^0.1.7": + version: 0.1.7 + resolution: "@expo/inline-modules@npm:0.1.7" + dependencies: + "@expo/config-plugins": ~57.0.9 + checksum: f41e0addb0b98fd1a6ea36394f48d1b5977bf9734e76606e8865a78256825019b19394d298dbea2d7d345bd20338ece43fc69b864c871c8b0b9513ff2f2e47fb + languageName: node + linkType: hard + +"@expo/json-file@npm:^11.0.1, @expo/json-file@npm:~11.0.1": + version: 11.0.1 + resolution: "@expo/json-file@npm:11.0.1" + dependencies: + "@babel/code-frame": ^7.20.0 + json5: ^2.2.3 + checksum: 43c0893503e147163c554f85c49758e9883161474294824d3fce535919b5b1b0c6fc332975a6af9378971fe3ff64d02fe085c6736f2b5cd70d8cec08dd107dae + languageName: node + linkType: hard + +"@expo/local-build-cache-provider@npm:^57.0.8": + version: 57.0.8 + resolution: "@expo/local-build-cache-provider@npm:57.0.8" + dependencies: + "@expo/config": ~57.0.9 + chalk: ^4.1.2 + checksum: 00706ddb500c8e338eadea923ac784734f0d805e79ddf31ac41653b9daae3e1be9ac5a31a1c5745d29236a849c4846ecd82d993dc344f684d53d9b994034a522 + languageName: node + linkType: hard + +"@expo/log-box@npm:^57.0.4": + version: 57.0.4 + resolution: "@expo/log-box@npm:57.0.4" + dependencies: + "@expo/dom-webview": ^57.0.1 + anser: ^1.4.9 + stacktrace-parser: ^0.1.10 + peerDependencies: + "@expo/dom-webview": ^57.0.1 + expo: "*" + react: "*" + react-native: "*" + checksum: 999f3b658cc614096125210451c3d2c5c402d58bf35b74b1d3b0ee2d31968ec613fe1f0129ef958db5581a026cf4e3014fe123e6b0e3511c1176fffdc98cd56f + languageName: node + linkType: hard + +"@expo/metro-config@npm:~57.0.12": + version: 57.0.12 + resolution: "@expo/metro-config@npm:57.0.12" + dependencies: + "@babel/code-frame": ^7.20.0 + "@babel/core": ^7.20.0 + "@babel/generator": ^7.20.5 + "@expo/config": ~57.0.9 + "@expo/env": ~2.4.3 + "@expo/json-file": ~11.0.1 + "@expo/metro": ~56.0.2 + "@expo/require-utils": ^57.0.5 + "@expo/spawn-async": ^1.8.0 + "@jridgewell/gen-mapping": ^0.3.13 + "@jridgewell/remapping": ^2.3.5 + "@jridgewell/sourcemap-codec": ^1.5.5 + browserslist: ^4.25.0 + chalk: ^4.1.0 + debug: ^4.3.2 + getenv: ^2.0.0 + glob: ^13.0.0 + hermes-parser: ^0.36.0 + jsc-safe-url: ^0.2.4 + lightningcss: ^1.30.1 + picomatch: ^4.0.4 + postcss: ^8.5.14 + resolve-from: ^5.0.0 + peerDependencies: + expo: "*" + peerDependenciesMeta: + expo: + optional: true + checksum: a50e69ec4016a80ad0bcb9e045a0bbd4570cbc468676dbd64b28a79402e98567563392fa6ebf1fdbc5d759c26a3fae0f80a5e74a3918bbe549c9d7c66a8288dd + languageName: node + linkType: hard + +"@expo/metro-file-map@npm:^57.0.2": + version: 57.0.2 + resolution: "@expo/metro-file-map@npm:57.0.2" + dependencies: + debug: ^4.3.4 + fb-watchman: ^2.0.2 + invariant: ^2.2.4 + jest-worker: ^29.7.0 + micromatch: ^4.0.4 + walker: ^1.0.8 + checksum: b1e7444d2c3825dfa89e6203a99664ef65374e6b341a0edffed07bdd8aa07040415f5e2d9e79f3cca235726dfc4cf1dc9b8122ee028bf09c19ff7a1f7505295b + languageName: node + linkType: hard + +"@expo/metro@npm:~56.0.2": + version: 56.0.2 + resolution: "@expo/metro@npm:56.0.2" + dependencies: + metro: 0.84.5 + metro-babel-transformer: 0.84.5 + metro-cache: 0.84.5 + metro-cache-key: 0.84.5 + metro-config: 0.84.5 + metro-core: 0.84.5 + metro-file-map: 0.84.5 + metro-minify-terser: 0.84.5 + metro-resolver: 0.84.5 + metro-runtime: 0.84.5 + metro-source-map: 0.84.5 + metro-symbolicate: 0.84.5 + metro-transform-plugins: 0.84.5 + metro-transform-worker: 0.84.5 + checksum: 7834ff5034d0a0ab6d4655f8a0e78a82d1a24f2018a1b3bdbdbc1a4cf43e51050312293bb374b4a6c9d39ad92216b465fee929401f07575035a19b4cd94d869b + languageName: node + linkType: hard + +"@expo/osascript@npm:^2.7.1": + version: 2.7.1 + resolution: "@expo/osascript@npm:2.7.1" + dependencies: + "@expo/spawn-async": ^1.8.0 + checksum: 0e2da62248c09b78bade1014584a95f1d5e84e4f16f8f3f6e9b3f08f288e8e9f8c7510679042895aa7bc1f5ecc33b3ae9eaa94bfdc805040284de4e731e32979 + languageName: node + linkType: hard + +"@expo/package-manager@npm:^1.13.1": + version: 1.13.1 + resolution: "@expo/package-manager@npm:1.13.1" + dependencies: + "@expo/json-file": ^11.0.1 + "@expo/spawn-async": ^1.8.0 + chalk: ^4.0.0 + npm-package-arg: ^11.0.0 + ora: ^3.4.0 + resolve-workspace-root: ^2.0.0 + checksum: 4fa9a2fa8f3ec0cd8ca6862b9d9d67bb40a525911ca12bf1da9db6f0662b5e1088ccc6b57ccb25274c3aae545937dbd1a3f3bede21be9935808fc17fb722cc7f + languageName: node + linkType: hard + +"@expo/plist@npm:^0.8.1": + version: 0.8.1 + resolution: "@expo/plist@npm:0.8.1" + dependencies: + "@xmldom/xmldom": ^0.8.8 + base64-js: ^1.5.1 + xmlbuilder: ^15.1.1 + checksum: af58d10ca7406c5dc32947f44005ac70bd1caf0e95dc2c22a99c974be1e124e32d8ee53fee0aa88d81586337772340a646b4f2ce3a28338aec214a1a37facf00 + languageName: node + linkType: hard + +"@expo/prebuild-config@npm:^57.0.15": + version: 57.0.15 + resolution: "@expo/prebuild-config@npm:57.0.15" + dependencies: + "@expo/config": ~57.0.9 + "@expo/config-plugins": ~57.0.9 + "@expo/config-types": ^57.0.2 + "@expo/image-utils": ^0.11.5 + "@expo/json-file": ^11.0.1 + "@react-native/normalize-colors": 0.86.3 + debug: ^4.3.1 + expo-modules-autolinking: ~57.0.12 + resolve-from: ^5.0.0 + semver: ^7.6.0 + checksum: d6b0a976ecaf99a19d69e3f6b139a8f7399e61ef7dbea5fa4e4f0209290debb3b494f2304c1d906bf023571a196f3634d0a1efedfa899f347e99ab171df57e1e + languageName: node + linkType: hard + +"@expo/require-utils@npm:^57.0.5": + version: 57.0.5 + resolution: "@expo/require-utils@npm:57.0.5" + dependencies: + "@babel/code-frame": ^7.20.0 + "@babel/core": ^7.25.2 + "@babel/plugin-transform-modules-commonjs": ^7.24.8 + peerDependencies: + typescript: ^5.0.0 || ^5.0.0-0 || ^6.0.0 || ^7.0.0 + peerDependenciesMeta: + typescript: + optional: true + checksum: 571f88efe8dab77620fec207f3e12bfc9b1b89f8f4f55980adc18b434c3b034db35883660ad58c60a9d936d9e5a204c8bce730d08560394742579d51e7ab18fe + languageName: node + linkType: hard + +"@expo/router-server@npm:^57.0.9": + version: 57.0.9 + resolution: "@expo/router-server@npm:57.0.9" + dependencies: + debug: ^4.3.4 + peerDependencies: + "@expo/metro-runtime": ^57.0.15 + expo: "*" + expo-constants: ^57.0.17 + expo-font: ^57.0.3 + expo-router: "*" + expo-server: ^57.0.3 + react: "*" + react-dom: "*" + react-server-dom-webpack: ~19.0.1 || ~19.1.2 || ~19.2.1 + peerDependenciesMeta: + "@expo/metro-runtime": + optional: true + expo-router: + optional: true + react-dom: + optional: true + react-server-dom-webpack: + optional: true + checksum: 8c9136d64ca5674506e01741a0dec6f864a11e5d7e652d44de0414d995d26dc14da47e7f46ec46166626394c863935ad78393dbb56ec71b32df2ba747dbdadbf + languageName: node + linkType: hard + +"@expo/schema-utils@npm:^57.0.2": + version: 57.0.2 + resolution: "@expo/schema-utils@npm:57.0.2" + checksum: 23b9572a84fc36ede69861583916e5790e3218c9018d3fbb9f315fd3ef5bfcb6bf18985e36aaa7364cce96637b8511b4ce5e22ed7fad10cfae68ee47dee9496d + languageName: node + linkType: hard + +"@expo/sdk-runtime-versions@npm:^1.0.0": + version: 1.0.0 + resolution: "@expo/sdk-runtime-versions@npm:1.0.0" + checksum: 0942d5a356f590e8dc795761456cc48b3e2d6a38ad2a02d6774efcdc5a70424e05623b4e3e5d2fec0cdc30f40dde05c14391c781607eed3971bf8676518bfd9d + languageName: node + linkType: hard + +"@expo/spawn-async@npm:^1.8.0": + version: 1.8.0 + resolution: "@expo/spawn-async@npm:1.8.0" + dependencies: + cross-spawn: ^7.0.6 + checksum: fc5202df888ee38915a215dfa177b0581358d378274077814f81ba5b3fe5ee2cd93271c091aba7429337a997af20efb7a38cec63cce6bb0b04395786853c1e30 + languageName: node + linkType: hard + +"@expo/sudo-prompt@npm:^9.3.1": + version: 9.3.2 + resolution: "@expo/sudo-prompt@npm:9.3.2" + checksum: 5db5385d7ecaadee7ef768c56ed882ae1b266e4c390325f36967382edefaf6cc2e7845b12b35a91d3ad83b05868548acefe8a015aef3a47d91a2cfc5a0a3cc84 + languageName: node + linkType: hard + +"@expo/ws-tunnel@npm:^2.0.0": + version: 2.0.0 + resolution: "@expo/ws-tunnel@npm:2.0.0" + peerDependencies: + ws: ^8.0.0 + checksum: 7eb0037a336e45827f05cee9f5100b59c48156e901157703b3420c060102161ad1fef28cbd7a9b3509a125018300ef9f0e996c06675ea19a4d9e5a0d8e522e04 + languageName: node + linkType: hard + +"@expo/xcpretty@npm:^4.4.4": + version: 4.4.4 + resolution: "@expo/xcpretty@npm:4.4.4" + dependencies: + "@babel/code-frame": ^7.20.0 + chalk: ^4.1.0 + js-yaml: ^4.1.0 + bin: + excpretty: build/cli.js + checksum: 9e1fb3292acf67787235f0698edcedfa32bed985ddff5863bda1f4e53b11deef07d89a9192e0142d0e5995441dd10b6698ac370ccf73414a10e768778d425201 + languageName: node + linkType: hard + +"@humanfs/core@npm:^0.19.1": + version: 0.19.1 + resolution: "@humanfs/core@npm:0.19.1" + checksum: 611e0545146f55ddfdd5c20239cfb7911f9d0e28258787c4fc1a1f6214250830c9367aaaeace0096ed90b6739bee1e9c52ad5ba8adaf74ab8b449119303babfe + languageName: node + linkType: hard + +"@humanfs/node@npm:^0.16.6": + version: 0.16.6 + resolution: "@humanfs/node@npm:0.16.6" + dependencies: + "@humanfs/core": ^0.19.1 + "@humanwhocodes/retry": ^0.3.0 + checksum: f9cb52bb235f8b9c6fcff43a7e500669a38f8d6ce26593404a9b56365a1644e0ed60c720dc65ff6a696b1f85f3563ab055bb554ec8674f2559085ba840e47710 + languageName: node + linkType: hard + +"@humanwhocodes/module-importer@npm:^1.0.1": + version: 1.0.1 + resolution: "@humanwhocodes/module-importer@npm:1.0.1" + checksum: 0fd22007db8034a2cdf2c764b140d37d9020bbfce8a49d3ec5c05290e77d4b0263b1b972b752df8c89e5eaa94073408f2b7d977aed131faf6cf396ebb5d7fb61 + languageName: node + linkType: hard + +"@humanwhocodes/retry@npm:^0.3.0": version: 0.3.1 resolution: "@humanwhocodes/retry@npm:0.3.1" checksum: 7e5517bb51dbea3e02ab6cacef59a8f4b0ca023fc4b0b8cbc40de0ad29f46edd50b897c6e7fba79366a0217e3f48e2da8975056f6c35cfe19d9cc48f1d03c1dd @@ -4256,7 +4761,7 @@ __metadata: languageName: node linkType: hard -"@jridgewell/gen-mapping@npm:^0.3.12": +"@jridgewell/gen-mapping@npm:^0.3.12, @jridgewell/gen-mapping@npm:^0.3.13": version: 0.3.13 resolution: "@jridgewell/gen-mapping@npm:0.3.13" dependencies: @@ -4373,13 +4878,6 @@ __metadata: languageName: node linkType: hard -"@nodable/entities@npm:^2.1.0": - version: 2.1.0 - resolution: "@nodable/entities@npm:2.1.0" - checksum: ae5a432a665d210bb28b3a9dbe8caf49f46be65fdc626bd14febe8f150b735182efb6967fe12f8c8f39d22e572b8b9361b4915aec094f8cea5e01f683191cf80 - languageName: node - linkType: hard - "@nodelib/fs.scandir@npm:2.1.5": version: 2.1.5 resolution: "@nodelib/fs.scandir@npm:2.1.5" @@ -4708,312 +5206,133 @@ __metadata: languageName: node linkType: hard -"@react-native-community/cli-clean@npm:20.1.3": - version: 20.1.3 - resolution: "@react-native-community/cli-clean@npm:20.1.3" - dependencies: - "@react-native-community/cli-tools": 20.1.3 - execa: ^5.0.0 - fast-glob: ^3.3.2 - picocolors: ^1.1.1 - checksum: 964586017aa8699a4e72eec4c559da8209505c946867b2b2bedb4fbd398be1b75584adaaabaae631eb40d65bba84604e5e7ea37bb0b77b904e9817090573d4fe - languageName: node - linkType: hard - -"@react-native-community/cli-config-android@npm:20.1.3": - version: 20.1.3 - resolution: "@react-native-community/cli-config-android@npm:20.1.3" - dependencies: - "@react-native-community/cli-tools": 20.1.3 - fast-glob: ^3.3.2 - fast-xml-parser: ^5.3.6 - picocolors: ^1.1.1 - checksum: 77ffa9bdfd49bde1eb9ef5f0ea6afadf78ef2449e40b6b02eb035faaa65e4beb3e14085a9a3bed9f323fcf27e4fdff20d0db676ec610e63a864e3c918e6af256 - languageName: node - linkType: hard - -"@react-native-community/cli-config-apple@npm:20.1.3": - version: 20.1.3 - resolution: "@react-native-community/cli-config-apple@npm:20.1.3" - dependencies: - "@react-native-community/cli-tools": 20.1.3 - execa: ^5.0.0 - fast-glob: ^3.3.2 - picocolors: ^1.1.1 - checksum: 76114eea7bb652121afd1d43f9fbd22134451d89db1c1444d4d3eb0e2837c7367fc52752965d46c82c5d6e981c9e5ec18dd26483b36cb5c320399ad7c226eed9 +"@react-native/assets-registry@npm:0.86.3": + version: 0.86.3 + resolution: "@react-native/assets-registry@npm:0.86.3" + checksum: 6a6031e4f3d5d70d09ceea7aff17bc0053501008a0e6b8fcf4cb941d2cdf7f4d54eec950e9ca5ca6238e16e95ca0e2650a5274fb505f3c14f03c65f4c424a3c3 languageName: node linkType: hard -"@react-native-community/cli-config@npm:20.1.3": - version: 20.1.3 - resolution: "@react-native-community/cli-config@npm:20.1.3" +"@react-native/babel-plugin-codegen@npm:0.86.3": + version: 0.86.3 + resolution: "@react-native/babel-plugin-codegen@npm:0.86.3" dependencies: - "@react-native-community/cli-tools": 20.1.3 - cosmiconfig: ^9.0.0 - deepmerge: ^4.3.0 - fast-glob: ^3.3.2 - joi: ^17.2.1 - picocolors: ^1.1.1 - checksum: b3bd37445cb2adb586590e7fa8bcb69744eaf27a3a51506ab2851b3eb60a543ad336ac51906931e268ff52a65d815e1938331dca09fdae7efd501b1c955d2d4f + "@babel/traverse": ^7.29.0 + "@react-native/codegen": 0.86.3 + checksum: 16f3a09604281b6ca1505a27e122d2199be5be6d08ef4cd2a9cd3997ff38774d64ba9686b8c6368fe1c090d82198604274a07954f61e69c7b6d008226f00386a languageName: node linkType: hard -"@react-native-community/cli-doctor@npm:20.1.3": - version: 20.1.3 - resolution: "@react-native-community/cli-doctor@npm:20.1.3" +"@react-native/babel-preset@npm:0.86.3": + version: 0.86.3 + resolution: "@react-native/babel-preset@npm:0.86.3" dependencies: - "@react-native-community/cli-config": 20.1.3 - "@react-native-community/cli-platform-android": 20.1.3 - "@react-native-community/cli-platform-apple": 20.1.3 - "@react-native-community/cli-platform-ios": 20.1.3 - "@react-native-community/cli-tools": 20.1.3 - command-exists: ^1.2.8 - deepmerge: ^4.3.0 - envinfo: ^7.13.0 - execa: ^5.0.0 - node-stream-zip: ^1.9.1 - ora: ^5.4.1 - picocolors: ^1.1.1 - semver: ^7.5.2 - wcwidth: ^1.0.1 - yaml: ^2.2.1 - checksum: d8091fc0480fda001754e9c1d7f5deaea292eb400d24633ae479bc9e259171f8277584c45a8bdb1266b0b7e01803f97e91a75174bbf717c994685e1c57555fa1 + "@babel/core": ^7.25.2 + "@babel/plugin-proposal-export-default-from": ^7.24.7 + "@babel/plugin-syntax-dynamic-import": ^7.8.3 + "@babel/plugin-syntax-export-default-from": ^7.24.7 + "@babel/plugin-syntax-nullish-coalescing-operator": ^7.8.3 + "@babel/plugin-syntax-optional-chaining": ^7.8.3 + "@babel/plugin-transform-async-generator-functions": ^7.25.4 + "@babel/plugin-transform-async-to-generator": ^7.24.7 + "@babel/plugin-transform-block-scoping": ^7.25.0 + "@babel/plugin-transform-class-properties": ^7.25.4 + "@babel/plugin-transform-classes": ^7.25.4 + "@babel/plugin-transform-destructuring": ^7.24.8 + "@babel/plugin-transform-flow-strip-types": ^7.25.2 + "@babel/plugin-transform-for-of": ^7.24.7 + "@babel/plugin-transform-modules-commonjs": ^7.24.8 + "@babel/plugin-transform-named-capturing-groups-regex": ^7.24.7 + "@babel/plugin-transform-nullish-coalescing-operator": ^7.24.7 + "@babel/plugin-transform-optional-catch-binding": ^7.24.7 + "@babel/plugin-transform-optional-chaining": ^7.24.8 + "@babel/plugin-transform-private-methods": ^7.24.7 + "@babel/plugin-transform-private-property-in-object": ^7.24.7 + "@babel/plugin-transform-react-display-name": ^7.24.7 + "@babel/plugin-transform-react-jsx": ^7.25.2 + "@babel/plugin-transform-react-jsx-self": ^7.24.7 + "@babel/plugin-transform-react-jsx-source": ^7.24.7 + "@babel/plugin-transform-regenerator": ^7.24.7 + "@babel/plugin-transform-runtime": ^7.24.7 + "@babel/plugin-transform-typescript": ^7.25.2 + "@babel/plugin-transform-unicode-regex": ^7.24.7 + "@react-native/babel-plugin-codegen": 0.86.3 + babel-plugin-syntax-hermes-parser: 0.36.0 + babel-plugin-transform-flow-enums: ^0.0.2 + react-refresh: ^0.14.0 + peerDependencies: + "@babel/core": "*" + checksum: a8a6a918f224683a01b2ed3af4cf143f3f5e01b3f70e869d3a6ec0ea44ea5ea22c5b94b388b98a54ea564544a2d5c04e77704f1a73388ec4a366f1b18efbf354 languageName: node linkType: hard -"@react-native-community/cli-platform-android@npm:20.1.3": - version: 20.1.3 - resolution: "@react-native-community/cli-platform-android@npm:20.1.3" +"@react-native/codegen@npm:0.86.3": + version: 0.86.3 + resolution: "@react-native/codegen@npm:0.86.3" dependencies: - "@react-native-community/cli-config-android": 20.1.3 - "@react-native-community/cli-tools": 20.1.3 - execa: ^5.0.0 - logkitty: ^0.7.1 - picocolors: ^1.1.1 - checksum: 510492137fbf20314309b61114ffaca8bd8fbcf1ea5e767e4b3e333666a13e6992e5ccea265a2267f7b46b417ba5fa21b10a307f8372e8344df88b223e3d3b70 + "@babel/core": ^7.25.2 + "@babel/parser": ^7.29.0 + hermes-parser: 0.36.0 + invariant: ^2.2.4 + nullthrows: ^1.1.1 + tinyglobby: ^0.2.15 + yargs: ^17.6.2 + peerDependencies: + "@babel/core": "*" + checksum: 2feada0cc59ee99a9b644cc1989f4de0d38d668ca73637c34fba9ddb9164b414a3430c14cdfa976cfccc4dc2743220c5523b1e5b7007150b1abae59b7d2d0dca languageName: node linkType: hard -"@react-native-community/cli-platform-apple@npm:20.1.3": - version: 20.1.3 - resolution: "@react-native-community/cli-platform-apple@npm:20.1.3" +"@react-native/community-cli-plugin@npm:0.86.3": + version: 0.86.3 + resolution: "@react-native/community-cli-plugin@npm:0.86.3" dependencies: - "@react-native-community/cli-config-apple": 20.1.3 - "@react-native-community/cli-tools": 20.1.3 - execa: ^5.0.0 - fast-xml-parser: ^5.3.6 - picocolors: ^1.1.1 - checksum: a874a0e1c277ea217f7b220de5abee806a090d73038ae6dcd3c4c10b397895cb4f1e0d47bd2bb56cbae36303514bd4f91823d833000821b056ab2ea6b1355dd0 - languageName: node - linkType: hard - -"@react-native-community/cli-platform-ios@npm:20.1.3": - version: 20.1.3 - resolution: "@react-native-community/cli-platform-ios@npm:20.1.3" - dependencies: - "@react-native-community/cli-platform-apple": 20.1.3 - checksum: 9a43f6158a3f3cf3b1a432881a5e3218623ca31fdc0d6872d7731ff20de95c414d5c364081e3082afc149cd8129b051471702caaea707715869681fd43d0e528 - languageName: node - linkType: hard - -"@react-native-community/cli-server-api@npm:20.1.3": - version: 20.1.3 - resolution: "@react-native-community/cli-server-api@npm:20.1.3" - dependencies: - "@react-native-community/cli-tools": 20.1.3 - body-parser: ^2.2.2 - compression: ^1.7.1 - connect: ^3.6.5 - errorhandler: ^1.5.1 - nocache: ^3.0.1 - open: ^6.2.0 - pretty-format: ^29.7.0 - serve-static: ^1.13.1 - strict-url-sanitise: 0.0.1 - ws: ^6.2.3 - checksum: cb2eceed34678a752d543bd058629e906f3d265c08ddd6d4bb506102dce5caed879ba571271bc914a88235dee66f4341dd0189f8f11bf1dfd09dfe96c840634f - languageName: node - linkType: hard - -"@react-native-community/cli-tools@npm:20.1.3": - version: 20.1.3 - resolution: "@react-native-community/cli-tools@npm:20.1.3" - dependencies: - "@vscode/sudo-prompt": ^9.0.0 - appdirsjs: ^1.2.4 - execa: ^5.0.0 - find-up: ^5.0.0 - launch-editor: ^2.9.1 - mime: ^2.4.1 - ora: ^5.4.1 - picocolors: ^1.1.1 - prompts: ^2.4.2 - semver: ^7.5.2 - checksum: c7a024c5be40647b8a9fecb63249f2f62e8301ea6bf935f2d2bb35d5f34739f72cc13f25d9cdb155f486079904a20e68bebe320ce3991bd25ee67155c7d3796a - languageName: node - linkType: hard - -"@react-native-community/cli-types@npm:20.1.3": - version: 20.1.3 - resolution: "@react-native-community/cli-types@npm:20.1.3" - dependencies: - joi: ^17.2.1 - checksum: 23184e526378139386962a645ed4248f7c3563aa0b345f01449f3e0d53c78b1a16331911e040db998c5a0a74315dd0395310439aec910925fbd7398ca01eed14 - languageName: node - linkType: hard - -"@react-native-community/cli@npm:20.1.3": - version: 20.1.3 - resolution: "@react-native-community/cli@npm:20.1.3" - dependencies: - "@react-native-community/cli-clean": 20.1.3 - "@react-native-community/cli-config": 20.1.3 - "@react-native-community/cli-doctor": 20.1.3 - "@react-native-community/cli-server-api": 20.1.3 - "@react-native-community/cli-tools": 20.1.3 - "@react-native-community/cli-types": 20.1.3 - commander: ^9.4.1 - deepmerge: ^4.3.0 - execa: ^5.0.0 - find-up: ^5.0.0 - fs-extra: ^8.1.0 - graceful-fs: ^4.1.3 - picocolors: ^1.1.1 - prompts: ^2.4.2 - semver: ^7.5.2 - bin: - rnc-cli: build/bin.js - checksum: 8a47cbdfb491861ba35318c232d32467b85b77ead7203955fce7197282da88e5b0bb56c356ba6d3f8a8d667ac60e07b79dc234b965c624f3b8c538b5a78f29cd - languageName: node - linkType: hard - -"@react-native/assets-registry@npm:0.84.1": - version: 0.84.1 - resolution: "@react-native/assets-registry@npm:0.84.1" - checksum: 1d5eef3d5b1090261c6adeccc04d6c975be487f0f9558a134975cb9d79186a54abac395f79d69a9a79ec27a6b87ead4b1c0b35f8a4fa2f59d1a7aec0efdec3fc - languageName: node - linkType: hard - -"@react-native/babel-plugin-codegen@npm:0.84.1": - version: 0.84.1 - resolution: "@react-native/babel-plugin-codegen@npm:0.84.1" - dependencies: - "@babel/traverse": ^7.25.3 - "@react-native/codegen": 0.84.1 - checksum: c1046e9f8fd064072aa68c278631cd4cfa5c3a89642211cce8840763f34ca4cbd3d3a1b0beff5f9be73ce0f2ea78b660dd9f6d2e2233d68e1d74ab5b0009d9af - languageName: node - linkType: hard - -"@react-native/babel-preset@npm:0.84.1": - version: 0.84.1 - resolution: "@react-native/babel-preset@npm:0.84.1" - dependencies: - "@babel/core": ^7.25.2 - "@babel/plugin-proposal-export-default-from": ^7.24.7 - "@babel/plugin-syntax-dynamic-import": ^7.8.3 - "@babel/plugin-syntax-export-default-from": ^7.24.7 - "@babel/plugin-syntax-nullish-coalescing-operator": ^7.8.3 - "@babel/plugin-syntax-optional-chaining": ^7.8.3 - "@babel/plugin-transform-async-generator-functions": ^7.25.4 - "@babel/plugin-transform-async-to-generator": ^7.24.7 - "@babel/plugin-transform-block-scoping": ^7.25.0 - "@babel/plugin-transform-class-properties": ^7.25.4 - "@babel/plugin-transform-classes": ^7.25.4 - "@babel/plugin-transform-destructuring": ^7.24.8 - "@babel/plugin-transform-flow-strip-types": ^7.25.2 - "@babel/plugin-transform-for-of": ^7.24.7 - "@babel/plugin-transform-modules-commonjs": ^7.24.8 - "@babel/plugin-transform-named-capturing-groups-regex": ^7.24.7 - "@babel/plugin-transform-nullish-coalescing-operator": ^7.24.7 - "@babel/plugin-transform-optional-catch-binding": ^7.24.7 - "@babel/plugin-transform-optional-chaining": ^7.24.8 - "@babel/plugin-transform-private-methods": ^7.24.7 - "@babel/plugin-transform-private-property-in-object": ^7.24.7 - "@babel/plugin-transform-react-display-name": ^7.24.7 - "@babel/plugin-transform-react-jsx": ^7.25.2 - "@babel/plugin-transform-react-jsx-self": ^7.24.7 - "@babel/plugin-transform-react-jsx-source": ^7.24.7 - "@babel/plugin-transform-regenerator": ^7.24.7 - "@babel/plugin-transform-runtime": ^7.24.7 - "@babel/plugin-transform-typescript": ^7.25.2 - "@babel/plugin-transform-unicode-regex": ^7.24.7 - "@react-native/babel-plugin-codegen": 0.84.1 - babel-plugin-syntax-hermes-parser: 0.32.0 - babel-plugin-transform-flow-enums: ^0.0.2 - react-refresh: ^0.14.0 - peerDependencies: - "@babel/core": "*" - checksum: 7754d20da6f17a1fa2749f7d45fdd741ba4b0e82069294b963e3bec0095b3cf731320cf202c9850c49702583930b1c892b7a6c0d67d27f9da97e4ea2bcaab9f2 - languageName: node - linkType: hard - -"@react-native/codegen@npm:0.84.1": - version: 0.84.1 - resolution: "@react-native/codegen@npm:0.84.1" - dependencies: - "@babel/core": ^7.25.2 - "@babel/parser": ^7.25.3 - hermes-parser: 0.32.0 - invariant: ^2.2.4 - nullthrows: ^1.1.1 - tinyglobby: ^0.2.15 - yargs: ^17.6.2 - peerDependencies: - "@babel/core": "*" - checksum: eaaeeab9ca8cfdcfbd2c6febea5129c80c9e05c1b0cf84a2ae4915d231ceeb5c0f9aa0846129cda34764331646c2d10df4d5e945e2cd93fa459325e34af3897c - languageName: node - linkType: hard - -"@react-native/community-cli-plugin@npm:0.84.1": - version: 0.84.1 - resolution: "@react-native/community-cli-plugin@npm:0.84.1" - dependencies: - "@react-native/dev-middleware": 0.84.1 + "@react-native/dev-middleware": 0.86.3 debug: ^4.4.0 invariant: ^2.2.4 - metro: ^0.83.3 - metro-config: ^0.83.3 - metro-core: ^0.83.3 + metro: ^0.84.3 + metro-config: ^0.84.3 + metro-core: ^0.84.3 semver: ^7.1.3 peerDependencies: "@react-native-community/cli": "*" - "@react-native/metro-config": "*" + "@react-native/metro-config": 0.86.3 peerDependenciesMeta: "@react-native-community/cli": optional: true "@react-native/metro-config": optional: true - checksum: fed784d0c295dc62097a74b9321251530a7f5b85663a8fe170c5665ded8f806ac4b6ecf238a819f956cf926a8d90dce4f86ce0c2afb4f6cb8b243cda245742f5 + checksum: 3362b15d5949d6136be3cec8bc3b6bfea23ec0df025bfebc252e188a2bcc06b94860f657bbd8225deb1de1c5cd338a2f54b396aaf6e77f4929358f3cd258a606 languageName: node linkType: hard -"@react-native/debugger-frontend@npm:0.84.1": - version: 0.84.1 - resolution: "@react-native/debugger-frontend@npm:0.84.1" - checksum: 8b7f502b4010f0a7e49a88aa8e5b56e6c2b50a095a7b7c5b7bd437dd3f53a2d77a6deccedc61ac3c003a0a6d9adab98c43e3e1a7afb5ba7960210a75d42ce961 +"@react-native/debugger-frontend@npm:0.86.3": + version: 0.86.3 + resolution: "@react-native/debugger-frontend@npm:0.86.3" + checksum: 18418754f241f21ea2e3ac5e59e6b3498c8917cd867a6eccf87cfed9484f6ca894bfa02b26cbdaf8176df9e222b6ce6053fc318b8cb4c520b0eb2db79f59a19b languageName: node linkType: hard -"@react-native/debugger-shell@npm:0.84.1": - version: 0.84.1 - resolution: "@react-native/debugger-shell@npm:0.84.1" +"@react-native/debugger-shell@npm:0.86.3": + version: 0.86.3 + resolution: "@react-native/debugger-shell@npm:0.86.3" dependencies: cross-spawn: ^7.0.6 debug: ^4.4.0 fb-dotslash: 0.5.8 - checksum: 073e9a0bf939ef92d2f92237cc0a1f834b537c27301a8592cf5597bb9bb86b36e03a05814db1e6cbd6770b91a51b4f0d137ea65bd861299599ad3d34ca7192e2 + checksum: 5bb9ac2de69d764eeb90b01f52d6e52aa3e1cb44b9919f71334c7f1bd3ad4bb735cad1bef8efcaee96894592288845ede43b9e7a03cee45880c9bac41a8b56fd languageName: node linkType: hard -"@react-native/dev-middleware@npm:0.84.1": - version: 0.84.1 - resolution: "@react-native/dev-middleware@npm:0.84.1" +"@react-native/dev-middleware@npm:0.86.3": + version: 0.86.3 + resolution: "@react-native/dev-middleware@npm:0.86.3" dependencies: "@isaacs/ttlcache": ^1.4.1 - "@react-native/debugger-frontend": 0.84.1 - "@react-native/debugger-shell": 0.84.1 + "@react-native/debugger-frontend": 0.86.3 + "@react-native/debugger-shell": 0.86.3 chrome-launcher: ^0.15.2 - chromium-edge-launcher: ^0.2.0 + chromium-edge-launcher: ^0.3.0 connect: ^3.6.5 debug: ^4.4.0 invariant: ^2.2.4 @@ -5021,7 +5340,7 @@ __metadata: open: ^7.0.3 serve-static: ^1.16.2 ws: ^7.5.10 - checksum: 768a74008db59208801f975a67043f4f9975b202ea6d0462c721b1c2ded3070e651ab497d1c55d81df9eb95e3c0aa53cc822fc676ec465a55e5d3ca839c9f5a9 + checksum: bd10b3a7b1abb02af122e505fb48d1ce1ad7a37b243d39c6f38b1887b1c34dc65de0811058353dc25a07437727c7d7f8790cf3a6e15fed76cec1ec8fcbff7328 languageName: node linkType: hard @@ -5055,74 +5374,56 @@ __metadata: languageName: node linkType: hard -"@react-native/gradle-plugin@npm:0.84.1": - version: 0.84.1 - resolution: "@react-native/gradle-plugin@npm:0.84.1" - checksum: 694126927f628753eeff7ebf0678ddd4a3baf01782c01eac576f0c4090d8315899da65857bb3da5d9ed94b512012b7cf07fe7494094e3a3dc4ffd920e15c718f - languageName: node - linkType: hard - -"@react-native/js-polyfills@npm:0.84.1": - version: 0.84.1 - resolution: "@react-native/js-polyfills@npm:0.84.1" - checksum: 3aa46bffbf155a20172503b64beaf7bd60a20f562d3a8bf2abc3d994e5f1868d5eda8b3e35bf3b374eff31da1c1320d43acf4660633e318767f919a2eafaf167 +"@react-native/gradle-plugin@npm:0.86.3": + version: 0.86.3 + resolution: "@react-native/gradle-plugin@npm:0.86.3" + checksum: d9ca42e1e5ee10d568a4255699c1e84ca033bce1724cbcd2770f8a8338714590e5601c3c9a9b649e3309e1dc2edc3c75c82b78046ac247e5cb4636b36021c820 languageName: node linkType: hard -"@react-native/metro-babel-transformer@npm:0.84.1": - version: 0.84.1 - resolution: "@react-native/metro-babel-transformer@npm:0.84.1" +"@react-native/jest-preset@npm:0.86.3": + version: 0.86.3 + resolution: "@react-native/jest-preset@npm:0.86.3" dependencies: - "@babel/core": ^7.25.2 - "@react-native/babel-preset": 0.84.1 - hermes-parser: 0.32.0 - nullthrows: ^1.1.1 + "@jest/create-cache-key-function": ^29.7.0 + "@react-native/js-polyfills": 0.86.3 + babel-jest: ^29.7.0 + jest-environment-node: ^29.7.0 + regenerator-runtime: ^0.13.2 peerDependencies: - "@babel/core": "*" - checksum: b551437f53a9269cddd5a89cad5db2c83fe1139003d22f2c90ee82fbff54ae3444486242adf67579903023b5a6b77a1dfde95154e0eb81ed38fe82100e457352 - languageName: node - linkType: hard - -"@react-native/metro-config@npm:0.84.1": - version: 0.84.1 - resolution: "@react-native/metro-config@npm:0.84.1" - dependencies: - "@react-native/js-polyfills": 0.84.1 - "@react-native/metro-babel-transformer": 0.84.1 - metro-config: ^0.83.3 - metro-runtime: ^0.83.3 - checksum: 0637fe16d5e1fa7fcfd729dbfa3842b9ead126c1eb6ebe8ff4bcdc959f92a71bc5e0e9bdeb103a33fb04bb3a53dd3ee219736508acee89963aea6fb9db2901c2 + react: ^19.2.3 + checksum: 79e78f9b08bfd46eff1fbed7f91787ab91b2427763bcf5798c0d71c3fdeec95615e59579f477c449f1f5ce05bb2f3dd435bac77e40a52fb0a44a60352a0cdb42 languageName: node linkType: hard -"@react-native/normalize-colors@npm:0.84.1": - version: 0.84.1 - resolution: "@react-native/normalize-colors@npm:0.84.1" - checksum: 69c9958a70f9489e804c07543d623df178c6d8f8afa56a1a0190e37b39b6b6a2f2f36ef4ede4c67439fd5ccb28e60d10d4403a3d50a77224ee4458464752a4d0 +"@react-native/js-polyfills@npm:0.86.3": + version: 0.86.3 + resolution: "@react-native/js-polyfills@npm:0.86.3" + checksum: a7dd647a3b2a484520ed180173610bac140416f9b8a316c6a9b5aa31e08a78802b3a45ccbceed7325b58217dd0bcd45ab8be91c859d0af5899d7a9dd75423c59 languageName: node linkType: hard -"@react-native/typescript-config@npm:0.84.1": - version: 0.84.1 - resolution: "@react-native/typescript-config@npm:0.84.1" - checksum: 6616765f8cf7702818ef251168522aeb68fb9baddcfc8235cd00731d0b4158131bf3fb12680b725c851002832c6fa604bee66b059bb15d35362b437b39615fa0 +"@react-native/normalize-colors@npm:0.86.3": + version: 0.86.3 + resolution: "@react-native/normalize-colors@npm:0.86.3" + checksum: ce74726e74f07e54b1cb69fb479d3750f9fdb6cea84e8556e507e958f54102e777cb62704e3d74e05d76608c3d3a072eca85e29f3cfce1385e168d35d1f2b0df languageName: node linkType: hard -"@react-native/virtualized-lists@npm:0.84.1": - version: 0.84.1 - resolution: "@react-native/virtualized-lists@npm:0.84.1" +"@react-native/virtualized-lists@npm:0.86.3": + version: 0.86.3 + resolution: "@react-native/virtualized-lists@npm:0.86.3" dependencies: invariant: ^2.2.4 nullthrows: ^1.1.1 peerDependencies: "@types/react": ^19.2.0 react: "*" - react-native: "*" + react-native: 0.86.3 peerDependenciesMeta: "@types/react": optional: true - checksum: 77b247f3c0a1b60c8d7ca3548ba3fa23e124b5a7e9b09e6020a8630cb9129bc9649644ab629b423e5ca1bc938f436cd9c8362d88904e37665d98a1a487471b37 + checksum: 3a648e4dc12f7e7902aa64755746aa1cf3b315b05412e91ca707977a70ada3dc11637460c82b17b80541353f26b654218f310159f87defd4c6290e5c22753103 languageName: node linkType: hard @@ -5143,29 +5444,6 @@ __metadata: languageName: node linkType: hard -"@sideway/address@npm:^4.1.5": - version: 4.1.5 - resolution: "@sideway/address@npm:4.1.5" - dependencies: - "@hapi/hoek": ^9.0.0 - checksum: 3e3ea0f00b4765d86509282290368a4a5fd39a7995fdc6de42116ca19a96120858e56c2c995081def06e1c53e1f8bccc7d013f6326602bec9d56b72ee2772b9d - languageName: node - linkType: hard - -"@sideway/formula@npm:^3.0.1": - version: 3.0.1 - resolution: "@sideway/formula@npm:3.0.1" - checksum: e4beeebc9dbe2ff4ef0def15cec0165e00d1612e3d7cea0bc9ce5175c3263fc2c818b679bd558957f49400ee7be9d4e5ac90487e1625b4932e15c4aa7919c57a - languageName: node - linkType: hard - -"@sideway/pinpoint@npm:^2.0.0": - version: 2.0.0 - resolution: "@sideway/pinpoint@npm:2.0.0" - checksum: 0f4491e5897fcf5bf02c46f5c359c56a314e90ba243f42f0c100437935daa2488f20482f0f77186bd6bf43345095a95d8143ecf8b1f4d876a7bc0806aba9c3d2 - languageName: node - linkType: hard - "@simple-libs/child-process-utils@npm:^1.0.0": version: 1.0.1 resolution: "@simple-libs/child-process-utils@npm:1.0.1" @@ -5797,10 +6075,17 @@ __metadata: languageName: node linkType: hard -"@vscode/sudo-prompt@npm:^9.0.0": - version: 9.3.1 - resolution: "@vscode/sudo-prompt@npm:9.3.1" - checksum: 07a6ce9ef2e4e2b369288b78344f7ef3db977d5f1576b944075c22aacb9cf830acfd5f773d1b0497610bec4f811d44793142234114e57763abc78ea2cef8940a +"@xmldom/xmldom@npm:^0.8.8": + version: 0.8.15 + resolution: "@xmldom/xmldom@npm:0.8.15" + checksum: efeb17d041ed73adb54c903fe959254a3b2155f820b127dbf0b5390a2b1436143bb34fab58c3f82e58aa910d0c5d4f1e205cd9370d39f098ec1ce8c6daf0424e + languageName: node + linkType: hard + +"@xmldom/xmldom@npm:^0.9.10": + version: 0.9.12 + resolution: "@xmldom/xmldom@npm:0.9.12" + checksum: 08de80e87726d26a72f8ce3ebce4698208894a63022a67142b8affd96f28ad45501a91101c4bd28ee5604ab86c2c285c218e1d923584bb47951bb78fd7cbfa60 languageName: node linkType: hard @@ -5820,7 +6105,7 @@ __metadata: languageName: node linkType: hard -"accepts@npm:^1.3.7, accepts@npm:~1.3.5, accepts@npm:~1.3.7": +"accepts@npm:^1.3.8": version: 1.3.8 resolution: "accepts@npm:1.3.8" dependencies: @@ -5830,6 +6115,16 @@ __metadata: languageName: node linkType: hard +"accepts@npm:^2.0.0": + version: 2.0.0 + resolution: "accepts@npm:2.0.0" + dependencies: + mime-types: ^3.0.0 + negotiator: ^1.0.0 + checksum: 49fe6c050cb6f6ff4e771b4d88324fca4d3127865f2473872e818dca127d809ba3aa8fdfc7acb51dd3c5bade7311ca6b8cfff7015ea6db2f7eb9c8444d223a4f + languageName: node + linkType: hard + "acorn-jsx@npm:^5.3.2": version: 5.3.2 resolution: "acorn-jsx@npm:5.3.2" @@ -5889,6 +6184,15 @@ __metadata: languageName: node linkType: hard +"agent-cli-detector@npm:0.1.7": + version: 0.1.7 + resolution: "agent-cli-detector@npm:0.1.7" + bin: + agent-cli-detector: dist/cli.js + checksum: 445a54d6c27aad98dabd0e864e9dd3a1e7bbf372ed35ac4e5bc71a2b9b5fe78fcae5860a5b7a0e874fbc3f2bf731d3dc21e8ef24c67e7be69d6ce05b6f09523c + languageName: node + linkType: hard + "aggregate-error@npm:^3.0.0": version: 3.1.0 resolution: "aggregate-error@npm:3.1.0" @@ -5930,7 +6234,7 @@ __metadata: languageName: node linkType: hard -"ansi-escapes@npm:^4.3.2": +"ansi-escapes@npm:^4.2.1, ansi-escapes@npm:^4.3.2": version: 4.3.2 resolution: "ansi-escapes@npm:4.3.2" dependencies: @@ -5939,17 +6243,6 @@ __metadata: languageName: node linkType: hard -"ansi-fragments@npm:^0.2.1": - version: 0.2.1 - resolution: "ansi-fragments@npm:0.2.1" - dependencies: - colorette: ^1.0.7 - slice-ansi: ^2.0.0 - strip-ansi: ^5.0.0 - checksum: 22c3eb8a0aec6bcc15f4e78d77a264ee0c92160b09c94260d1161d051eb8c77c7ecfeb3c8ec44ca180bad554fef3489528c509a644a7589635fc36bcaf08234f - languageName: node - linkType: hard - "ansi-regex@npm:^4.1.0": version: 4.1.1 resolution: "ansi-regex@npm:4.1.1" @@ -5971,7 +6264,7 @@ __metadata: languageName: node linkType: hard -"ansi-styles@npm:^3.2.0, ansi-styles@npm:^3.2.1": +"ansi-styles@npm:^3.2.1": version: 3.2.1 resolution: "ansi-styles@npm:3.2.1" dependencies: @@ -6013,10 +6306,10 @@ __metadata: languageName: node linkType: hard -"appdirsjs@npm:^1.2.4": - version: 1.2.7 - resolution: "appdirsjs@npm:1.2.7" - checksum: 3411b4e31edf8687ad69638ef81b92b4889ad31e527b673a364990c28c99b6b8c3ea81b2b2b636d5b08e166a18706c4464fd8436b298f85384d499ba6b8dc4b7 +"arg@npm:^5.0.2": + version: 5.0.2 + resolution: "arg@npm:5.0.2" + checksum: 6c69ada1a9943d332d9e5382393e897c500908d91d5cb735a01120d5f71daf1b339b7b8980cbeaba8fd1afc68e658a739746179e4315a26e8a28951ff9930078 languageName: node linkType: hard @@ -6189,34 +6482,6 @@ __metadata: languageName: node linkType: hard -"astral-regex@npm:^1.0.0": - version: 1.0.0 - resolution: "astral-regex@npm:1.0.0" - checksum: 93417fc0879531cd95ace2560a54df865c9461a3ac0714c60cbbaa5f1f85d2bee85489e78d82f70b911b71ac25c5f05fc5a36017f44c9bb33c701bee229ff848 - languageName: node - linkType: hard - -"async-function@npm:^1.0.0": - version: 1.0.0 - resolution: "async-function@npm:1.0.0" - checksum: 9102e246d1ed9b37ac36f57f0a6ca55226876553251a31fc80677e71471f463a54c872dc78d5d7f80740c8ba624395cccbe8b60f7b690c4418f487d8e9fd1106 - languageName: node - linkType: hard - -"async-generator-function@npm:^1.0.0": - version: 1.0.0 - resolution: "async-generator-function@npm:1.0.0" - checksum: 74a71a4a2dd7afd06ebb612f6d612c7f4766a351bedffde466023bf6dae629e46b0d2cd38786239e0fbf245de0c7df76035465e16d1213774a0efb22fec0d713 - languageName: node - linkType: hard - -"async-limiter@npm:~1.0.0": - version: 1.0.1 - resolution: "async-limiter@npm:1.0.1" - checksum: 2b849695b465d93ad44c116220dee29a5aeb63adac16c1088983c339b0de57d76e82533e8e364a93a9f997f28bbfc6a92948cefc120652bd07f3b59f8d75cf2b - languageName: node - linkType: hard - "async-retry@npm:1.3.3": version: 1.3.3 resolution: "async-retry@npm:1.3.3" @@ -6388,12 +6653,28 @@ __metadata: languageName: node linkType: hard -"babel-plugin-syntax-hermes-parser@npm:0.32.0": - version: 0.32.0 - resolution: "babel-plugin-syntax-hermes-parser@npm:0.32.0" +"babel-plugin-react-compiler@npm:^1.0.0": + version: 1.0.0 + resolution: "babel-plugin-react-compiler@npm:1.0.0" + dependencies: + "@babel/types": ^7.26.0 + checksum: 4c5c6c209a27477b7af8ce2361f3e5ddbc1ef59ebac5fc9d85cf91c3921752c19ac814bb7f98e7f55084db3cb585fc966aa05191018fa70e4444f2f4a980fff2 + languageName: node + linkType: hard + +"babel-plugin-react-native-web@npm:~0.21.0": + version: 0.21.2 + resolution: "babel-plugin-react-native-web@npm:0.21.2" + checksum: ad02ffe67ab8368530f2b792663bd2367f8f3d8c9fd1bcd7e3f723f850aca20d98244fc874037586280a21543ace82edb6afd470f0a2c6181e3afd5fc6a78af1 + languageName: node + linkType: hard + +"babel-plugin-syntax-hermes-parser@npm:0.36.0": + version: 0.36.0 + resolution: "babel-plugin-syntax-hermes-parser@npm:0.36.0" dependencies: - hermes-parser: 0.32.0 - checksum: ec76abeefabf940e2d571db3b47d022a9be7602286133291e8e047d4855af6a8afc079e4631bc9a56209d751fad54b5199932a55753b1e2b56a719d20e2d5065 + hermes-parser: 0.36.0 + checksum: 22489c19d416f1e071c046ab42d5dd475ed5b76514621f755f55b4e8019ecd665dce8da40be2a5436bbd5d4f2d258ebceda30601e078104ce11fe4371b7a36a0 languageName: node linkType: hard @@ -6406,6 +6687,15 @@ __metadata: languageName: node linkType: hard +"babel-plugin-syntax-hermes-parser@npm:^0.36.0": + version: 0.36.1 + resolution: "babel-plugin-syntax-hermes-parser@npm:0.36.1" + dependencies: + hermes-parser: 0.36.1 + checksum: e04c93e1b36c72dc2b2cef447932f4978dc7e1924ea0ecc24dc3cc25809c4f816c72fc7caaae64b50b3359a20acc4e16cc573a1b2a153c38ad2ab6bdc639544b + languageName: node + linkType: hard + "babel-plugin-transform-flow-enums@npm:^0.0.2": version: 0.0.2 resolution: "babel-plugin-transform-flow-enums@npm:0.0.2" @@ -6462,6 +6752,68 @@ __metadata: languageName: node linkType: hard +"babel-preset-expo@npm:~57.0.10": + version: 57.0.10 + resolution: "babel-preset-expo@npm:57.0.10" + dependencies: + "@babel/generator": ^7.20.5 + "@babel/helper-module-imports": ^7.25.9 + "@babel/plugin-proposal-decorators": ^7.12.9 + "@babel/plugin-proposal-export-default-from": ^7.24.7 + "@babel/plugin-syntax-dynamic-import": ^7.8.3 + "@babel/plugin-syntax-export-default-from": ^7.24.7 + "@babel/plugin-syntax-nullish-coalescing-operator": ^7.8.3 + "@babel/plugin-syntax-optional-chaining": ^7.8.3 + "@babel/plugin-transform-async-generator-functions": ^7.25.4 + "@babel/plugin-transform-async-to-generator": ^7.24.7 + "@babel/plugin-transform-block-scoping": ^7.25.0 + "@babel/plugin-transform-class-properties": ^7.25.4 + "@babel/plugin-transform-class-static-block": ^7.27.1 + "@babel/plugin-transform-classes": ^7.25.4 + "@babel/plugin-transform-destructuring": ^7.24.8 + "@babel/plugin-transform-export-namespace-from": ^7.25.9 + "@babel/plugin-transform-flow-strip-types": ^7.25.2 + "@babel/plugin-transform-for-of": ^7.24.7 + "@babel/plugin-transform-logical-assignment-operators": ^7.24.7 + "@babel/plugin-transform-modules-commonjs": ^7.24.8 + "@babel/plugin-transform-named-capturing-groups-regex": ^7.24.7 + "@babel/plugin-transform-nullish-coalescing-operator": ^7.24.7 + "@babel/plugin-transform-object-rest-spread": ^7.24.7 + "@babel/plugin-transform-optional-catch-binding": ^7.24.7 + "@babel/plugin-transform-optional-chaining": ^7.24.8 + "@babel/plugin-transform-parameters": ^7.24.7 + "@babel/plugin-transform-private-methods": ^7.24.7 + "@babel/plugin-transform-private-property-in-object": ^7.24.7 + "@babel/plugin-transform-react-display-name": ^7.24.7 + "@babel/plugin-transform-react-jsx": ^7.28.6 + "@babel/plugin-transform-react-jsx-development": ^7.27.1 + "@babel/plugin-transform-react-pure-annotations": ^7.27.1 + "@babel/plugin-transform-runtime": ^7.24.7 + "@babel/plugin-transform-typescript": ^7.25.2 + "@babel/plugin-transform-unicode-regex": ^7.24.7 + "@babel/preset-typescript": ^7.23.0 + "@react-native/babel-plugin-codegen": 0.86.3 + babel-plugin-react-compiler: ^1.0.0 + babel-plugin-react-native-web: ~0.21.0 + babel-plugin-syntax-hermes-parser: ^0.36.0 + babel-plugin-transform-flow-enums: ^0.0.2 + debug: ^4.3.4 + peerDependencies: + "@babel/runtime": ^7.20.0 + expo: "*" + expo-widgets: ^57.0.16 + react-refresh: ">=0.14.0 <1.0.0" + peerDependenciesMeta: + "@babel/runtime": + optional: true + expo: + optional: true + expo-widgets: + optional: true + checksum: 92e1dccfd2debffda58b31150019f3c4c187e495f451441d4962547606bf0f6312d212a8f206f1bf31f101df2cd5a54f1ed489230bba19a04df11833806e3949 + languageName: node + linkType: hard + "babel-preset-jest@npm:30.5.0": version: 30.5.0 resolution: "babel-preset-jest@npm:30.5.0" @@ -6530,31 +6882,37 @@ __metadata: languageName: node linkType: hard -"bl@npm:^4.1.0": - version: 4.1.0 - resolution: "bl@npm:4.1.0" +"big-integer@npm:1.6.x": + version: 1.6.52 + resolution: "big-integer@npm:1.6.52" + checksum: 6e86885787a20fed96521958ae9086960e4e4b5e74d04f3ef7513d4d0ad631a9f3bde2730fc8aaa4b00419fc865f6ec573e5320234531ef37505da7da192c40b + languageName: node + linkType: hard + +"bplist-creator@npm:0.1.0": + version: 0.1.0 + resolution: "bplist-creator@npm:0.1.0" dependencies: - buffer: ^5.5.0 - inherits: ^2.0.4 - readable-stream: ^3.4.0 - checksum: 9e8521fa7e83aa9427c6f8ccdcba6e8167ef30cc9a22df26effcc5ab682ef91d2cbc23a239f945d099289e4bbcfae7a192e9c28c84c6202e710a0dfec3722662 + stream-buffers: 2.2.x + checksum: d4ccd88ea16c9d50c2e99f484a5f5bed34d172f6f704463585c0c9c993fd01ddb5b30d6ef486dd9393ffba3c686727f6296e8adf826ce01705bd3741477ce955 languageName: node linkType: hard -"body-parser@npm:^2.2.2": - version: 2.2.2 - resolution: "body-parser@npm:2.2.2" +"bplist-creator@npm:0.1.1": + version: 0.1.1 + resolution: "bplist-creator@npm:0.1.1" dependencies: - bytes: ^3.1.2 - content-type: ^1.0.5 - debug: ^4.4.3 - http-errors: ^2.0.0 - iconv-lite: ^0.7.0 - on-finished: ^2.4.1 - qs: ^6.14.1 - raw-body: ^3.0.1 - type-is: ^2.0.1 - checksum: 0b8764065ff2a8c7cf3c905193b5b528d6ab5246f0df4c743c0e887d880abcc336dad5ba86d959d7efee6243a49c2c2e5b0cee43f0ccb7d728f5496c97537a90 + stream-buffers: 2.2.x + checksum: b0d40d1d1623f1afdbb575cfc8075d742d2c4f0eb458574be809e3857752d1042a39553b3943d2d7f505dde92bcd43e1d7bdac61c9cd44475d696deb79f897ce + languageName: node + linkType: hard + +"bplist-parser@npm:0.3.2, bplist-parser@npm:^0.3.1": + version: 0.3.2 + resolution: "bplist-parser@npm:0.3.2" + dependencies: + big-integer: 1.6.x + checksum: fad0f6eb155a9b636b4096a1725ce972a0386490d7d38df7be11a3a5645372446b7c44aacbc6626d24d2c17d8b837765361520ebf2960aeffcaf56765811620e languageName: node linkType: hard @@ -6632,7 +6990,7 @@ __metadata: languageName: node linkType: hard -"browserslist@npm:^4.28.2, browserslist@npm:^4.28.7": +"browserslist@npm:^4.25.0, browserslist@npm:^4.28.2, browserslist@npm:^4.28.7": version: 4.28.9 resolution: "browserslist@npm:4.28.9" dependencies: @@ -6663,16 +7021,6 @@ __metadata: languageName: node linkType: hard -"buffer@npm:^5.5.0": - version: 5.7.1 - resolution: "buffer@npm:5.7.1" - dependencies: - base64-js: ^1.3.1 - ieee754: ^1.1.13 - checksum: e2cf8429e1c4c7b8cbd30834ac09bd61da46ce35f5c22a78e6c2f04497d6d25541b16881e30a019c6fd3154150650ccee27a308eff3e26229d788bbdeb08ab84 - languageName: node - linkType: hard - "buffer@npm:^6.0.3": version: 6.0.3 resolution: "buffer@npm:6.0.3" @@ -6692,14 +7040,7 @@ __metadata: languageName: node linkType: hard -"bytes@npm:3.0.0": - version: 3.0.0 - resolution: "bytes@npm:3.0.0" - checksum: a2b386dd8188849a5325f58eef69c3b73c51801c08ffc6963eddc9be244089ba32d19347caf6d145c86f315ae1b1fc7061a32b0c1aa6379e6a719090287ed101 - languageName: node - linkType: hard - -"bytes@npm:^3.1.2, bytes@npm:~3.1.2": +"bytes@npm:3.1.2": version: 3.1.2 resolution: "bytes@npm:3.1.2" checksum: e4bcd3948d289c5127591fbedf10c0b639ccbf00243504e4e127374a15c3bc8eed0d28d4aaab08ff6f1cf2abc0cce6ba3085ed32f4f90e82a5683ce0014e1b6e @@ -6751,16 +7092,6 @@ __metadata: languageName: node linkType: hard -"call-bind-apply-helpers@npm:^1.0.1, call-bind-apply-helpers@npm:^1.0.2": - version: 1.0.2 - resolution: "call-bind-apply-helpers@npm:1.0.2" - dependencies: - es-errors: ^1.3.0 - function-bind: ^1.1.2 - checksum: b2863d74fcf2a6948221f65d95b91b4b2d90cfe8927650b506141e669f7d5de65cea191bf788838bc40d13846b7886c5bc5c84ab96c3adbcf88ad69a72fcdc6b - languageName: node - linkType: hard - "call-bind@npm:^1.0.2, call-bind@npm:^1.0.5, call-bind@npm:^1.0.6, call-bind@npm:^1.0.7": version: 1.0.7 resolution: "call-bind@npm:1.0.7" @@ -6774,16 +7105,6 @@ __metadata: languageName: node linkType: hard -"call-bound@npm:^1.0.2": - version: 1.0.4 - resolution: "call-bound@npm:1.0.4" - dependencies: - call-bind-apply-helpers: ^1.0.2 - get-intrinsic: ^1.3.0 - checksum: 2f6399488d1c272f56306ca60ff696575e2b7f31daf23bc11574798c84d9f2759dceb0cb1f471a85b77f28962a7ac6411f51d283ea2e45319009a19b6ccab3b2 - languageName: node - linkType: hard - "callsites@npm:^3.0.0, callsites@npm:^3.1.0": version: 3.1.0 resolution: "callsites@npm:3.1.0" @@ -6791,7 +7112,7 @@ __metadata: languageName: node linkType: hard -"camelcase@npm:^5.0.0, camelcase@npm:^5.3.1": +"camelcase@npm:^5.3.1": version: 5.3.1 resolution: "camelcase@npm:5.3.1" checksum: e6effce26b9404e3c0f301498184f243811c30dfe6d0b9051863bd8e4034d09c8c2923794f280d6827e5aa055f6c434115ff97864a16a963366fb35fd673024b @@ -6826,7 +7147,7 @@ __metadata: languageName: node linkType: hard -"chalk@npm:^2.4.2": +"chalk@npm:^2.0.1, chalk@npm:^2.4.2": version: 2.4.2 resolution: "chalk@npm:2.4.2" dependencies: @@ -6905,17 +7226,16 @@ __metadata: languageName: node linkType: hard -"chromium-edge-launcher@npm:^0.2.0": - version: 0.2.0 - resolution: "chromium-edge-launcher@npm:0.2.0" +"chromium-edge-launcher@npm:^0.3.0": + version: 0.3.0 + resolution: "chromium-edge-launcher@npm:0.3.0" 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 - checksum: 9b56d1f8f18e84e34d6da89a4d97787ef323a1ade6551dcc83a6899af17c1bfc27a844c23422a29f51c6a315d1e04e2ad12595aaf07d3822335c2fce15914feb + checksum: 23992453ad683c950dd3e532b491cdf6188b09d1495b012829c4ed52e2b37450ef1c7011e9ceed75a53669e4bae9444bde783bfb693fa43486b423acb7cc13e3 languageName: node linkType: hard @@ -6926,7 +7246,7 @@ __metadata: languageName: node linkType: hard -"ci-info@npm:^3.2.0": +"ci-info@npm:^3.2.0, ci-info@npm:^3.3.0": version: 3.9.0 resolution: "ci-info@npm:3.9.0" checksum: 6b19dc9b2966d1f8c2041a838217299718f15d6c4b63ae36e4674edd2bee48f780e94761286a56aa59eb305a85fbea4ddffb7630ec063e7ec7e7e5ad42549a87 @@ -6963,12 +7283,12 @@ __metadata: languageName: node linkType: hard -"cli-cursor@npm:^3.1.0": - version: 3.1.0 - resolution: "cli-cursor@npm:3.1.0" +"cli-cursor@npm:^2.1.0": + version: 2.1.0 + resolution: "cli-cursor@npm:2.1.0" dependencies: - restore-cursor: ^3.1.0 - checksum: 2692784c6cd2fd85cfdbd11f53aea73a463a6d64a77c3e098b2b4697a20443f430c220629e1ca3b195ea5ac4a97a74c2ee411f3807abf6df2b66211fec0c0a29 + restore-cursor: ^2.0.0 + checksum: d88e97bfdac01046a3ffe7d49f06757b3126559d7e44aa2122637eb179284dc6cd49fca2fac4f67c19faaf7e6dab716b6fe1dfcd309977407d8c7578ec2d044d languageName: node linkType: hard @@ -6981,7 +7301,7 @@ __metadata: languageName: node linkType: hard -"cli-spinners@npm:^2.5.0": +"cli-spinners@npm:^2.0.0": version: 2.9.2 resolution: "cli-spinners@npm:2.9.2" checksum: 1bd588289b28432e4676cb5d40505cfe3e53f2e4e10fbe05c8a710a154d6fe0ce7836844b00d6858f740f2ffe67cdc36e0fce9c7b6a8430e80e6388d5aa4956c @@ -7002,17 +7322,6 @@ __metadata: languageName: node linkType: hard -"cliui@npm:^6.0.0": - version: 6.0.0 - resolution: "cliui@npm:6.0.0" - dependencies: - string-width: ^4.2.0 - strip-ansi: ^6.0.0 - wrap-ansi: ^6.2.0 - checksum: 4fcfd26d292c9f00238117f39fc797608292ae36bac2168cfee4c85923817d0607fe21b3329a8621e01aedf512c99b7eaa60e363a671ffd378df6649fb48ae42 - languageName: node - linkType: hard - "cliui@npm:^8.0.1": version: 8.0.1 resolution: "cliui@npm:8.0.1" @@ -7095,20 +7404,6 @@ __metadata: languageName: node linkType: hard -"colorette@npm:^1.0.7": - version: 1.4.0 - resolution: "colorette@npm:1.4.0" - checksum: 01c3c16058b182a4ab4c126a65a75faa4d38a20fa7c845090b25453acec6c371bb2c5dceb0a2338511f17902b9d1a9af0cadd8509c9403894b79311032c256c3 - languageName: node - linkType: hard - -"command-exists@npm:^1.2.8": - version: 1.2.9 - resolution: "command-exists@npm:1.2.9" - checksum: 729ae3d88a2058c93c58840f30341b7f82688a573019535d198b57a4d8cb0135ced0ad7f52b591e5b28a90feb2c675080ce916e56254a0f7c15cb2395277cac3 - languageName: node - linkType: hard - "commander@npm:^12.0.0": version: 12.1.0 resolution: "commander@npm:12.1.0" @@ -7123,10 +7418,10 @@ __metadata: languageName: node linkType: hard -"commander@npm:^9.4.1": - version: 9.5.0 - resolution: "commander@npm:9.5.0" - checksum: c7a3e27aa59e913b54a1bafd366b88650bc41d6651f0cbe258d4ff09d43d6a7394232a4dadd0bf518b3e696fdf595db1028a0d82c785b88bd61f8a440cecfade +"commander@npm:^7.2.0": + version: 7.2.0 + resolution: "commander@npm:7.2.0" + checksum: 53501cbeee61d5157546c0bef0fedb6cdfc763a882136284bed9a07225f09a14b82d2a84e7637edfd1a679fb35ed9502fd58ef1d091e6287f60d790147f68ddc languageName: node linkType: hard @@ -7152,7 +7447,7 @@ __metadata: languageName: node linkType: hard -"compressible@npm:~2.0.16": +"compressible@npm:~2.0.18": version: 2.0.18 resolution: "compressible@npm:2.0.18" dependencies: @@ -7161,18 +7456,18 @@ __metadata: languageName: node linkType: hard -"compression@npm:^1.7.1": - version: 1.7.4 - resolution: "compression@npm:1.7.4" +"compression@npm:^1.7.4": + version: 1.8.1 + resolution: "compression@npm:1.8.1" dependencies: - accepts: ~1.3.5 - bytes: 3.0.0 - compressible: ~2.0.16 + bytes: 3.1.2 + compressible: ~2.0.18 debug: 2.6.9 - on-headers: ~1.0.2 - safe-buffer: 5.1.2 + negotiator: ~0.6.4 + on-headers: ~1.1.0 + safe-buffer: 5.2.1 vary: ~1.1.2 - checksum: 35c0f2eb1f28418978615dc1bc02075b34b1568f7f56c62d60f4214d4b7cc00d0f6d282b5f8a954f59872396bd770b6b15ffd8aa94c67d4bce9b8887b906999b + checksum: 906325935180cd3507d30ed898fb129deccab03689383d55536245a94610f5003923bb14c95ee6adc8d658ee13be549407eb4346ef55169045f3e41e9969808e languageName: node linkType: hard @@ -7202,7 +7497,7 @@ __metadata: languageName: node linkType: hard -"connect@npm:^3.6.5": +"connect@npm:^3.6.5, connect@npm:^3.7.0": version: 3.7.0 resolution: "connect@npm:3.7.0" dependencies: @@ -7221,10 +7516,10 @@ __metadata: languageName: node linkType: hard -"content-type@npm:^1.0.5": - version: 1.0.5 - resolution: "content-type@npm:1.0.5" - checksum: 566271e0a251642254cde0f845f9dd4f9856e52d988f4eb0d0dcffbb7a1f8ec98de7a5215fc628f3bce30fe2fb6fd2bc064b562d721658c59b544e2d34ea2766 +"content-type@npm:^2.1.0": + version: 2.1.0 + resolution: "content-type@npm:2.1.0" + checksum: d49ee84ba26900bfd57c95913be9baffdc2b51c4c8cc9bcdfa815d29aa7af6dce547d04007a356519da4b45a75a21fedbaee244aaef84a55e32900fcb79bce0b languageName: node linkType: hard @@ -7400,23 +7695,6 @@ __metadata: languageName: node linkType: hard -"cosmiconfig@npm:^9.0.0": - version: 9.0.0 - resolution: "cosmiconfig@npm:9.0.0" - dependencies: - env-paths: ^2.2.1 - import-fresh: ^3.3.0 - js-yaml: ^4.1.0 - parse-json: ^5.2.0 - peerDependencies: - typescript: ">=4.9.5" - peerDependenciesMeta: - typescript: - optional: true - checksum: a30c424b53d442ea0bdd24cb1b3d0d8687c8dda4a17ab6afcdc439f8964438801619cdb66e8e79f63b9caa3e6586b60d8bab9ce203e72df6c5e80179b971fe8f - languageName: node - linkType: hard - "cosmiconfig@npm:^9.0.1": version: 9.0.2 resolution: "cosmiconfig@npm:9.0.2" @@ -7503,13 +7781,6 @@ __metadata: languageName: node linkType: hard -"dayjs@npm:^1.8.15": - version: 1.11.10 - resolution: "dayjs@npm:1.11.10" - checksum: a6b5a3813b8884f5cd557e2e6b7fa569f4c5d0c97aca9558e38534af4f2d60daafd3ff8c2000fed3435cfcec9e805bcebd99f90130c6d1c5ef524084ced588c4 - languageName: node - linkType: hard - "debug@npm:2.6.9, debug@npm:^2.6.9": version: 2.6.9 resolution: "debug@npm:2.6.9" @@ -7531,7 +7802,16 @@ __metadata: languageName: node linkType: hard -"debug@npm:^4.4.0, debug@npm:^4.4.3": +"debug@npm:^3.1.0": + version: 3.2.7 + resolution: "debug@npm:3.2.7" + dependencies: + ms: ^2.1.1 + checksum: b3d8c5940799914d30314b7c3304a43305fd0715581a919dacb8b3176d024a782062368405b47491516d2091d6462d4d11f2f4974a405048094f8bfebfa3071c + languageName: node + linkType: hard + +"debug@npm:^4.3.5, debug@npm:^4.4.0, debug@npm:^4.4.3": version: 4.4.3 resolution: "debug@npm:4.4.3" dependencies: @@ -7543,13 +7823,6 @@ __metadata: languageName: node linkType: hard -"decamelize@npm:^1.2.0": - version: 1.2.0 - resolution: "decamelize@npm:1.2.0" - checksum: ad8c51a7e7e0720c70ec2eeb1163b66da03e7616d7b98c9ef43cce2416395e84c1e9548dd94f5f6ffecfee9f8b94251fc57121a8b021f2ff2469b2bae247b8aa - languageName: node - linkType: hard - "dedent@npm:^1.6.0, dedent@npm:^1.7.2": version: 1.7.2 resolution: "dedent@npm:1.7.2" @@ -7569,7 +7842,7 @@ __metadata: languageName: node linkType: hard -"deepmerge@npm:^4.3.0, deepmerge@npm:^4.3.1": +"deepmerge@npm:^4.3.1": version: 4.3.1 resolution: "deepmerge@npm:4.3.1" checksum: 2024c6a980a1b7128084170c4cf56b0fd58a63f2da1660dcfe977415f27b17dbe5888668b59d0b063753f3220719d5e400b7f113609489c90160bb9a5518d052 @@ -7722,6 +7995,13 @@ __metadata: languageName: node linkType: hard +"dnssd-advertise@npm:^1.1.4": + version: 1.1.6 + resolution: "dnssd-advertise@npm:1.1.6" + checksum: 5bed966305f6e490029a70840deeed9d5a9d364df747f9f8895ccb9e661bf75de2efdc33d6e2c64f4c41b76605ccdf1d47cf2a6ae384ba7811cd7c2bee6065c9 + languageName: node + linkType: hard + "doctrine@npm:^2.1.0": version: 2.1.0 resolution: "doctrine@npm:2.1.0" @@ -7747,17 +8027,6 @@ __metadata: languageName: node linkType: hard -"dunder-proto@npm:^1.0.1": - version: 1.0.1 - resolution: "dunder-proto@npm:1.0.1" - dependencies: - call-bind-apply-helpers: ^1.0.1 - es-errors: ^1.3.0 - gopd: ^1.2.0 - checksum: 149207e36f07bd4941921b0ca929e3a28f1da7bd6b6ff8ff7f4e2f2e460675af4576eeba359c635723dc189b64cdd4787e0255897d5b135ccc5d15cb8685fc90 - languageName: node - linkType: hard - "eastasianwidth@npm:^0.2.0": version: 0.2.0 resolution: "eastasianwidth@npm:0.2.0" @@ -7851,15 +8120,6 @@ __metadata: languageName: node linkType: hard -"envinfo@npm:^7.13.0": - version: 7.14.0 - resolution: "envinfo@npm:7.14.0" - bin: - envinfo: dist/cli.js - checksum: 137c1dd9a4d5781c4a6cdc6b695454ba3c4ba1829f73927198aa4122f11b35b59d7b2cb7e1ceea1364925a30278897548511d22f860c14253a33797d0bebd551 - languageName: node - linkType: hard - "err-code@npm:^2.0.2": version: 2.0.3 resolution: "err-code@npm:2.0.3" @@ -7885,16 +8145,6 @@ __metadata: languageName: node linkType: hard -"errorhandler@npm:^1.5.1": - version: 1.5.1 - resolution: "errorhandler@npm:1.5.1" - dependencies: - accepts: ~1.3.7 - escape-html: ~1.0.3 - checksum: 73b7abb08fb751107e9bebecc33c40c0641a54be8bda8e4a045f3f5cb7b805041927fef5629ea39b1737799eb52fe2499ca531f11ac51b0294ccc4667d72cb91 - languageName: node - linkType: hard - "es-abstract@npm:^1.22.1, es-abstract@npm:^1.22.3, es-abstract@npm:^1.23.0, es-abstract@npm:^1.23.1, es-abstract@npm:^1.23.2": version: 1.23.3 resolution: "es-abstract@npm:1.23.3" @@ -7958,13 +8208,6 @@ __metadata: languageName: node linkType: hard -"es-define-property@npm:^1.0.1": - version: 1.0.1 - resolution: "es-define-property@npm:1.0.1" - checksum: 0512f4e5d564021c9e3a644437b0155af2679d10d80f21adaf868e64d30efdfbd321631956f20f42d655fedb2e3a027da479fad3fa6048f768eb453a80a5f80a - languageName: node - linkType: hard - "es-errors@npm:^1.1.0, es-errors@npm:^1.2.1, es-errors@npm:^1.3.0": version: 1.3.0 resolution: "es-errors@npm:1.3.0" @@ -8010,15 +8253,6 @@ __metadata: languageName: node linkType: hard -"es-object-atoms@npm:^1.1.1": - version: 1.1.1 - resolution: "es-object-atoms@npm:1.1.1" - dependencies: - es-errors: ^1.3.0 - checksum: 214d3767287b12f36d3d7267ef342bbbe1e89f899cfd67040309fc65032372a8e60201410a99a1645f2f90c1912c8c49c8668066f6bdd954bcd614dda2e3da97 - languageName: node - linkType: hard - "es-set-tostringtag@npm:^2.0.3": version: 2.0.3 resolution: "es-set-tostringtag@npm:2.0.3" @@ -8178,6 +8412,19 @@ __metadata: languageName: node linkType: hard +"eslint-plugin-ft-flow@npm:^3.0.11": + version: 3.0.11 + resolution: "eslint-plugin-ft-flow@npm:3.0.11" + dependencies: + lodash: ^4.17.21 + string-natural-compare: ^3.0.1 + peerDependencies: + eslint: ^8.56.0 || ^9.0.0 + hermes-eslint: ">=0.15.0" + checksum: eba55022633424b7c5e491d4939eeba5525f5b1345a9fa0846a47f508885b91a0ee2a008276e4031260d0f9c1d971903b7469d8915ebc668cce67a01cdb808d0 + languageName: node + linkType: hard + "eslint-plugin-jest@npm:^29.0.1": version: 29.11.2 resolution: "eslint-plugin-jest@npm:29.11.2" @@ -8466,7 +8713,7 @@ __metadata: languageName: node linkType: hard -"execa@npm:^5.0.0, execa@npm:^5.1.1": +"execa@npm:^5.1.1": version: 5.1.1 resolution: "execa@npm:5.1.1" dependencies: @@ -8504,6 +8751,244 @@ __metadata: languageName: node linkType: hard +"expo-asset@npm:~57.0.16": + version: 57.0.16 + resolution: "expo-asset@npm:57.0.16" + dependencies: + "@expo/image-utils": ^0.11.5 + expo-constants: ~57.0.17 + peerDependencies: + expo: "*" + react: "*" + react-native: "*" + checksum: fb0163640f89f50e7897d919ad3bfc3721b7b1549647188b0757a0555fc853591de7890ce134526ab1df11818b6b0c485c2fd734ad677ae4de54af638d01bde5 + languageName: node + linkType: hard + +"expo-constants@npm:~57.0.17": + version: 57.0.17 + resolution: "expo-constants@npm:57.0.17" + dependencies: + "@expo/env": ~2.4.3 + peerDependencies: + expo: "*" + react-native: "*" + checksum: 8abf61794eb0c2e89d109b39ab82237071dfcfcb51d64ee032cc9135a00a89b591333ff4e57ff8d5c83939f796f506dea183618548d3e11192a25ed694f4a684 + languageName: node + linkType: hard + +"expo-dev-client@npm:~57.0.0": + version: 57.0.18 + resolution: "expo-dev-client@npm:57.0.18" + dependencies: + expo-dev-launcher: ~57.0.19 + expo-dev-menu: ~57.0.18 + expo-dev-menu-interface: ~57.0.0 + expo-manifests: ~57.0.1 + expo-updates-interface: ~57.0.1 + peerDependencies: + expo: "*" + checksum: 501d883761f62c56a358f39b0811ee47e6d5e58f5555651b6abbba11417e8b5784a7a8b3413f6569e7e449343b84c5d9d8ba95490dff0259d88b232a9d112475 + languageName: node + linkType: hard + +"expo-dev-launcher@npm:~57.0.19": + version: 57.0.19 + resolution: "expo-dev-launcher@npm:57.0.19" + dependencies: + "@expo/schema-utils": ^57.0.2 + expo-dev-menu: ~57.0.18 + expo-manifests: ~57.0.1 + peerDependencies: + expo: "*" + react-native: "*" + checksum: e71311d86bc7c80f83c3b65d5edfce43aaa00d802d06e1c3329b43ba8837bab93e01716920e3f0f85131871c33d5442111408ac24eb9199bad6824ab6064e35f + languageName: node + linkType: hard + +"expo-dev-menu-interface@npm:~57.0.0": + version: 57.0.0 + resolution: "expo-dev-menu-interface@npm:57.0.0" + peerDependencies: + expo: "*" + checksum: bab4f7083420401d867e0cc944d88269cb66a240aaabaad9b0cca7630a1fbdac19477480ca69154f6ae9e5c6d0cf2c1f761036a7728ba38c2f04cee674c8f5df + languageName: node + linkType: hard + +"expo-dev-menu@npm:~57.0.18": + version: 57.0.18 + resolution: "expo-dev-menu@npm:57.0.18" + dependencies: + expo-dev-menu-interface: ~57.0.0 + peerDependencies: + expo: "*" + react-native: "*" + checksum: 53aaf0f7e3102ed2e54a715d8dc3e8bc47c56b909b84516307446b0236c0e355fbc8054e9c7e2dfe9e9fa3a9cc88e394de69e920ec6e4ef97c574722920a1a0d + languageName: node + linkType: hard + +"expo-file-system@npm:~57.0.6": + version: 57.0.6 + resolution: "expo-file-system@npm:57.0.6" + peerDependencies: + expo: "*" + react-native: "*" + checksum: 6e531b08951df63ccd48a38586874e0ffdf857c752bfdff29b1cf58d735005a5c380e0f5036ae9e1f7eb0c75a007b7557c7d480dc84dfdb6e3a75f37dc6664b8 + languageName: node + linkType: hard + +"expo-font@npm:~57.0.3": + version: 57.0.3 + resolution: "expo-font@npm:57.0.3" + dependencies: + fontfaceobserver: ^2.1.0 + peerDependencies: + expo: "*" + react: "*" + react-native: "*" + checksum: 318d5a59e0f2262fcf8caf5afcc7ede43aac69b0fa078cfa4210bdce2c020d9302d6bdef45d4141ad2a91c6fbd2d5ab17e4ef8e0395c0759f296778a8e6722a7 + languageName: node + linkType: hard + +"expo-json-utils@npm:~57.0.1": + version: 57.0.1 + resolution: "expo-json-utils@npm:57.0.1" + checksum: f1f9fff91746853c14d928f99de184def750d12b16a2a90bbe80a684de9ea0b27a6e4b02183c2c1538ce8ce7f74531f6533bed0bf9d288fa05b81d8fb283940e + languageName: node + linkType: hard + +"expo-keep-awake@npm:~57.0.1": + version: 57.0.1 + resolution: "expo-keep-awake@npm:57.0.1" + peerDependencies: + expo: "*" + react: "*" + checksum: 25879f6befbcc287c201eba5f756f857d419b28cc155452f2d75e90a3009fab94576f91cb90f4b493791d055b1261a087ebd2cfe0cf9cd313d848b75ebdf650a + languageName: node + linkType: hard + +"expo-manifests@npm:~57.0.1": + version: 57.0.1 + resolution: "expo-manifests@npm:57.0.1" + dependencies: + expo-json-utils: ~57.0.1 + peerDependencies: + expo: "*" + checksum: f17714b0bfff1246b72d59a7e51ec467f77ba42f858448481b860242f5dcbfb536997ffc3b4d104b3dcabd7fcd50692eca40325f777ba4aface9fa694924e722 + languageName: node + linkType: hard + +"expo-modules-autolinking@npm:~57.0.12": + version: 57.0.12 + resolution: "expo-modules-autolinking@npm:57.0.12" + dependencies: + "@expo/require-utils": ^57.0.5 + "@expo/spawn-async": ^1.8.0 + chalk: ^4.1.0 + commander: ^7.2.0 + bin: + expo-modules-autolinking: bin/expo-modules-autolinking.js + checksum: 0686442202995c3f54b227571030c79ed4bff45d2a375bdfc17fc190eddf23c548e32e60bc6e670f0860bdceb2ce1db4b9992b0c302d568f2ffcc56a7ee551e9 + languageName: node + linkType: hard + +"expo-modules-core@npm:~57.0.16": + version: 57.0.16 + resolution: "expo-modules-core@npm:57.0.16" + dependencies: + "@expo/expo-modules-macros-plugin": 0.6.1 + expo-modules-jsi: ~57.0.8 + invariant: ^2.2.4 + peerDependencies: + react: "*" + react-native: "*" + react-native-worklets: ^0.7.4 || ^0.8.0 || ^0.9.0 || ^0.10.0 + peerDependenciesMeta: + react-native-worklets: + optional: true + checksum: 7b9f1fb32d4b450255428380f985f03ed95acc89f67ae78d50e8375c0a5fda3523d29b524a7855b9c9b49a28f5b704a504cac42034b8bd45f5e32dbd0a496045 + languageName: node + linkType: hard + +"expo-modules-jsi@npm:~57.0.8": + version: 57.0.8 + resolution: "expo-modules-jsi@npm:57.0.8" + peerDependencies: + react-native: "*" + checksum: a9afd9ee80e0aac1e0f0b392eb8d85a6c30ac3da88e86922e400c395c9bcc3c90b872458b067419230f683d76929e2b7734743e0d339723c4c135a565c483e4f + languageName: node + linkType: hard + +"expo-server@npm:^57.0.3": + version: 57.0.3 + resolution: "expo-server@npm:57.0.3" + checksum: 097ceaa531c2274278944b47442ec10b0c4dd0c91ed3f2325a01969e95c9675920ab041755d5d896293bcae81ff783e77a3a0aa04bb5ec2bcd03ede6d577f09f + languageName: node + linkType: hard + +"expo-updates-interface@npm:~57.0.1": + version: 57.0.1 + resolution: "expo-updates-interface@npm:57.0.1" + peerDependencies: + expo: "*" + checksum: e9a77d14e5f47cecf599d3f8fdc942e41044f581c7aecc11e911c13502202d6d738d317d1495e35f99373b730af6d9964b5d1640319e132f1573b34868145cf3 + languageName: node + linkType: hard + +"expo@npm:~57.0.20": + version: 57.0.20 + resolution: "expo@npm:57.0.20" + dependencies: + "@babel/runtime": ^7.20.0 + "@expo/cli": ^57.0.22 + "@expo/config": ~57.0.9 + "@expo/config-plugins": ~57.0.9 + "@expo/devtools": ~57.0.1 + "@expo/dom-webview": ~57.0.1 + "@expo/fingerprint": ^0.20.12 + "@expo/local-build-cache-provider": ^57.0.8 + "@expo/log-box": ^57.0.4 + "@expo/metro": ~56.0.2 + "@expo/metro-config": ~57.0.12 + "@ungap/structured-clone": ^1.3.0 + babel-preset-expo: ~57.0.10 + expo-asset: ~57.0.16 + expo-constants: ~57.0.17 + expo-file-system: ~57.0.6 + expo-font: ~57.0.3 + expo-keep-awake: ~57.0.1 + expo-modules-autolinking: ~57.0.12 + expo-modules-core: ~57.0.16 + pretty-format: ^29.7.0 + react-refresh: ^0.14.2 + whatwg-url-minimum: ^0.1.2 + peerDependencies: + "@expo/dom-webview": "*" + "@expo/metro-runtime": "*" + react: "*" + react-dom: "*" + react-native: "*" + react-native-web: "*" + react-native-webview: "*" + peerDependenciesMeta: + "@expo/dom-webview": + optional: true + "@expo/metro-runtime": + optional: true + react-dom: + optional: true + react-native-web: + optional: true + react-native-webview: + optional: true + bin: + expo: bin/cli + expo-modules-autolinking: bin/autolinking + fingerprint: bin/fingerprint + checksum: a67fb926589b715a19f42f7e2d98f9a5224c090763e82c6a839778bbf815a68dbee22295973896c04457b72cbdcbe4d0a38e4e6d06fe58e968a378e57a9a5b58 + languageName: node + linkType: hard + "exponential-backoff@npm:^3.1.1": version: 3.1.1 resolution: "exponential-backoff@npm:3.1.1" @@ -8539,19 +9024,6 @@ __metadata: languageName: node linkType: hard -"fast-glob@npm:^3.3.2": - version: 3.3.2 - resolution: "fast-glob@npm:3.3.2" - dependencies: - "@nodelib/fs.stat": ^2.0.2 - "@nodelib/fs.walk": ^1.2.3 - glob-parent: ^5.1.2 - merge2: ^1.3.0 - micromatch: ^4.0.4 - checksum: 900e4979f4dbc3313840078419245621259f349950411ca2fa445a2f9a1a6d98c3b5e7e0660c5ccd563aa61abe133a21765c6c0dec8e57da1ba71d8000b05ec1 - languageName: node - linkType: hard - "fast-glob@npm:^3.3.3": version: 3.3.3 resolution: "fast-glob@npm:3.3.3" @@ -8604,29 +9076,6 @@ __metadata: languageName: node linkType: hard -"fast-xml-builder@npm:^1.1.5": - version: 1.1.5 - resolution: "fast-xml-builder@npm:1.1.5" - dependencies: - path-expression-matcher: ^1.1.3 - checksum: 02ea4ea959ed985033895a2000555c22f91f93e30376f7e11ee384f3839f5af3c97a8a646e4d6ba585a9b42e949b13ec89ce8bda061ee48b32a1b49f1c713372 - languageName: node - linkType: hard - -"fast-xml-parser@npm:^5.3.6": - version: 5.7.2 - resolution: "fast-xml-parser@npm:5.7.2" - dependencies: - "@nodable/entities": ^2.1.0 - fast-xml-builder: ^1.1.5 - path-expression-matcher: ^1.5.0 - strnum: ^2.2.3 - bin: - fxparser: src/cli/cli.js - checksum: 6ef5c57be6234de514e55d834b0711358aa205e7d40e2ef975843f493efe39c4d00f869e94eb8b48fecb4f67694fa442b798a991b53a28f173dcbc929f55dea4 - languageName: node - linkType: hard - "fastq@npm:^1.6.0": version: 1.17.1 resolution: "fastq@npm:1.17.1" @@ -8675,6 +9124,13 @@ __metadata: languageName: node linkType: hard +"fetch-nodeshim@npm:^0.4.10": + version: 0.4.10 + resolution: "fetch-nodeshim@npm:0.4.10" + checksum: 9dee2d308c45dcb9cfad3fbdf346b7d4c813662fadeaad34845d4f0b159ec6aa252003e1e32b049beac550755401049fb4f13a33860c1c18f9fb4d1738049435 + languageName: node + linkType: hard + "file-entry-cache@npm:^8.0.0": version: 8.0.0 resolution: "file-entry-cache@npm:8.0.0" @@ -8761,6 +9217,13 @@ __metadata: languageName: node linkType: hard +"fontfaceobserver@npm:^2.1.0": + version: 2.3.0 + resolution: "fontfaceobserver@npm:2.3.0" + checksum: 5f14715974203b9d68f299f93a7623afd9d5701572d683e861cdbb7514573ac556f56e9b5d07d2d534e01aed19a3b0bbe568e735e0e5494cbea913fc3f12b856 + languageName: node + linkType: hard + "for-each@npm:^0.3.3": version: 0.3.3 resolution: "for-each@npm:0.3.3" @@ -8780,7 +9243,7 @@ __metadata: languageName: node linkType: hard -"fresh@npm:0.5.2": +"fresh@npm:0.5.2, fresh@npm:~0.5.2": version: 0.5.2 resolution: "fresh@npm:0.5.2" checksum: 13ea8b08f91e669a64e3ba3a20eb79d7ca5379a81f1ff7f4310d54e2320645503cc0c78daedc93dfb6191287295f6479544a649c64d8e41a1c0fb0c221552346 @@ -8798,17 +9261,6 @@ __metadata: languageName: node linkType: hard -"fs-extra@npm:^8.1.0": - version: 8.1.0 - resolution: "fs-extra@npm:8.1.0" - dependencies: - graceful-fs: ^4.2.0 - jsonfile: ^4.0.0 - universalify: ^0.1.0 - checksum: bf44f0e6cea59d5ce071bba4c43ca76d216f89e402dc6285c128abc0902e9b8525135aa808adad72c9d5d218e9f4bcc63962815529ff2f684ad532172a284880 - languageName: node - linkType: hard - "fs-minipass@npm:^2.0.0": version: 2.1.0 resolution: "fs-minipass@npm:2.1.0" @@ -8879,13 +9331,6 @@ __metadata: languageName: node linkType: hard -"generator-function@npm:^2.0.0": - version: 2.0.1 - resolution: "generator-function@npm:2.0.1" - checksum: 3bf87f7b0230de5d74529677e6c3ceb3b7b5d9618b5a22d92b45ce3876defbaf5a77791b25a61b0fa7d13f95675b5ff67a7769f3b9af33f096e34653519e873d - languageName: node - linkType: hard - "gensync@npm:^1.0.0-beta.2": version: 1.0.0-beta.2 resolution: "gensync@npm:1.0.0-beta.2" @@ -8893,7 +9338,7 @@ __metadata: languageName: node linkType: hard -"get-caller-file@npm:^2.0.1, get-caller-file@npm:^2.0.5": +"get-caller-file@npm:^2.0.5": version: 2.0.5 resolution: "get-caller-file@npm:2.0.5" checksum: b9769a836d2a98c3ee734a88ba712e62703f1df31b94b784762c433c27a386dd6029ff55c2a920c392e33657d80191edbf18c61487e198844844516f843496b9 @@ -8927,27 +9372,6 @@ __metadata: languageName: node linkType: hard -"get-intrinsic@npm:^1.2.5, get-intrinsic@npm:^1.3.0": - version: 1.3.1 - resolution: "get-intrinsic@npm:1.3.1" - dependencies: - async-function: ^1.0.0 - async-generator-function: ^1.0.0 - call-bind-apply-helpers: ^1.0.2 - es-define-property: ^1.0.1 - es-errors: ^1.3.0 - es-object-atoms: ^1.1.1 - function-bind: ^1.1.2 - generator-function: ^2.0.0 - get-proto: ^1.0.1 - gopd: ^1.2.0 - has-symbols: ^1.1.0 - hasown: ^2.0.2 - math-intrinsics: ^1.1.0 - checksum: c02b3b6a445f9cd53e14896303794ac60f9751f58a69099127248abdb0251957174c6524245fc68579dc8e6a35161d3d94c93e665f808274716f4248b269436a - languageName: node - linkType: hard - "get-package-type@npm:^0.1.0": version: 0.1.0 resolution: "get-package-type@npm:0.1.0" @@ -8955,16 +9379,6 @@ __metadata: languageName: node linkType: hard -"get-proto@npm:^1.0.1": - version: 1.0.1 - resolution: "get-proto@npm:1.0.1" - dependencies: - dunder-proto: ^1.0.1 - es-object-atoms: ^1.0.0 - checksum: 4fc96afdb58ced9a67558698b91433e6b037aaa6f1493af77498d7c85b141382cf223c0e5946f334fb328ee85dfe6edd06d218eaf09556f4bc4ec6005d7f5f7b - languageName: node - linkType: hard - "get-stream@npm:^6.0.0": version: 6.0.1 resolution: "get-stream@npm:6.0.1" @@ -8994,6 +9408,13 @@ __metadata: languageName: node linkType: hard +"getenv@npm:^2.0.0": + version: 2.0.0 + resolution: "getenv@npm:2.0.0" + checksum: d5e4cd001952db17d546c8ae5961b68dd83d0a6c6027cc4c613cbe0f88ca835f661364a7eff32428953e7677af95fb0a35f035c98b661bef2fcabb5d7c711c86 + languageName: node + linkType: hard + "giget@npm:^2.0.0": version: 2.0.0 resolution: "giget@npm:2.0.0" @@ -9078,7 +9499,7 @@ __metadata: languageName: node linkType: hard -"glob@npm:^13.0.6": +"glob@npm:^13.0.0, glob@npm:^13.0.6": version: 13.0.6 resolution: "glob@npm:13.0.6" dependencies: @@ -9089,7 +9510,7 @@ __metadata: languageName: node linkType: hard -"glob@npm:^7.1.3, glob@npm:^7.1.4": +"glob@npm:^7.1.4": version: 7.2.3 resolution: "glob@npm:7.2.3" dependencies: @@ -9158,14 +9579,7 @@ __metadata: languageName: node linkType: hard -"gopd@npm:^1.2.0": - version: 1.2.0 - resolution: "gopd@npm:1.2.0" - checksum: cc6d8e655e360955bdccaca51a12a474268f95bb793fc3e1f2bdadb075f28bfd1fd988dab872daf77a61d78cbaf13744bc8727a17cfb1d150d76047d805375f3 - languageName: node - linkType: hard - -"graceful-fs@npm:^4.1.3, graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.2.0, graceful-fs@npm:^4.2.11, graceful-fs@npm:^4.2.4, graceful-fs@npm:^4.2.6, graceful-fs@npm:^4.2.9": +"graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.2.0, graceful-fs@npm:^4.2.11, graceful-fs@npm:^4.2.4, graceful-fs@npm:^4.2.6, graceful-fs@npm:^4.2.9": version: 4.2.11 resolution: "graceful-fs@npm:4.2.11" checksum: ac85f94da92d8eb6b7f5a8b20ce65e43d66761c55ce85ac96df6865308390da45a8d3f0296dd3a663de65d30ba497bd46c696cc1e248c72b13d6d567138a4fc7 @@ -9234,13 +9648,6 @@ __metadata: languageName: node linkType: hard -"has-symbols@npm:^1.1.0": - version: 1.1.0 - resolution: "has-symbols@npm:1.1.0" - checksum: b2316c7302a0e8ba3aaba215f834e96c22c86f192e7310bdf689dd0e6999510c89b00fbc5742571507cebf25764d68c988b3a0da217369a73596191ac0ce694b - languageName: node - linkType: hard - "has-tostringtag@npm:^1.0.0, has-tostringtag@npm:^1.0.2": version: 1.0.2 resolution: "has-tostringtag@npm:1.0.2" @@ -9268,10 +9675,10 @@ __metadata: languageName: node linkType: hard -"hermes-compiler@npm:250829098.0.9": - version: 250829098.0.9 - resolution: "hermes-compiler@npm:250829098.0.9" - checksum: cb888da33d8e97a515e25912827bbfc7bebd0d065f51cf6e20a269c91558e811451f78bd2f06c2494e1af0555ff3428a87745648bdcfcc4e75393625815302dd +"hermes-compiler@npm:250829098.0.17": + version: 250829098.0.17 + resolution: "hermes-compiler@npm:250829098.0.17" + checksum: ce289ebc94392f36ecfff551a53429e5effb1497449731f99032526fe455effa3adc54d3ae332606399c3e30114595f4982d13dc8746d5ce847618594a0b8eec languageName: node linkType: hard @@ -9282,13 +9689,6 @@ __metadata: languageName: node linkType: hard -"hermes-estree@npm:0.32.0": - version: 0.32.0 - resolution: "hermes-estree@npm:0.32.0" - checksum: 7b0606a8d2cf4593634d01b0eae0764c0e4703bc5cd73cbb0547fb8dda9445a27a83345117c08eef64f6bdab1287e3c5a4e3001deed465a715d26f4e918c8b22 - languageName: node - linkType: hard - "hermes-estree@npm:0.34.0": version: 0.34.0 resolution: "hermes-estree@npm:0.34.0" @@ -9296,12 +9696,24 @@ __metadata: languageName: node linkType: hard -"hermes-parser@npm:0.32.0": - version: 0.32.0 - resolution: "hermes-parser@npm:0.32.0" - dependencies: - hermes-estree: 0.32.0 - checksum: 7ec172ec763ee5ba1d01f273084ab4c7ad7a543d1ed11e887ea3a9eba7c0b83854dde08e835e38f29b74146b5ce17e67d556774324a63f8afe16fb57021bfdcb +"hermes-estree@npm:0.35.0": + version: 0.35.0 + resolution: "hermes-estree@npm:0.35.0" + checksum: da25f2f5a9aedf1ca0844a64fad21aa3262f4998ee584da4237408d8bc08562ff6a3923b1bf52aa85b9a9c5b2b29ce54d00c61fe9f2424dae9e67261441d73ac + languageName: node + linkType: hard + +"hermes-estree@npm:0.36.0": + version: 0.36.0 + resolution: "hermes-estree@npm:0.36.0" + checksum: ceaf3c43da1d93650098ca71cf8d29adeed7bfe8067c0d761041c787d540b1d9d9f8d62e9ce60ae9291843e2a3ac918345a12f18ede1284e8ca0b6b61a3dba8b + languageName: node + linkType: hard + +"hermes-estree@npm:0.36.1": + version: 0.36.1 + resolution: "hermes-estree@npm:0.36.1" + checksum: 254b0aa82272ed32f1c444283eb107142da9eee16b1bc2bb9928668fb95626581975543de5d5c23af542bfe0fab0b0b34af671442381b110b8a2b196f0321efb languageName: node linkType: hard @@ -9314,6 +9726,33 @@ __metadata: languageName: node linkType: hard +"hermes-parser@npm:0.35.0": + version: 0.35.0 + resolution: "hermes-parser@npm:0.35.0" + dependencies: + hermes-estree: 0.35.0 + checksum: 097572045fc574afc7a1d35ab3304651605408770371f8eb74ef7a971b48b0e3cf82e45156fa431ba60bf5ee196100c69d4fa107e6fc2d4e18757aa0a1ae0382 + languageName: node + linkType: hard + +"hermes-parser@npm:0.36.0": + version: 0.36.0 + resolution: "hermes-parser@npm:0.36.0" + dependencies: + hermes-estree: 0.36.0 + checksum: f68a1fd4366187b4ee527e45929fab58b6fd0f7f36f5453f709618968822212113060b130f90ed7c7152a1e5ab62b946ba251389da6d37ee97e33a3e750392d0 + languageName: node + linkType: hard + +"hermes-parser@npm:0.36.1, hermes-parser@npm:^0.36.0": + version: 0.36.1 + resolution: "hermes-parser@npm:0.36.1" + dependencies: + hermes-estree: 0.36.1 + checksum: f0898177dcaf5b4b2d742a067265a15607f04ca1bb58e6b14159b61dd5b3bd3212f873ebdb6ba2185d6df78c2b735daec8272409acbfe44ea1fbcd552ea04774 + languageName: node + linkType: hard + "hermes-parser@npm:^0.25.1": version: 0.25.1 resolution: "hermes-parser@npm:0.25.1" @@ -9323,6 +9762,15 @@ __metadata: languageName: node linkType: hard +"hosted-git-info@npm:^7.0.0": + version: 7.0.2 + resolution: "hosted-git-info@npm:7.0.2" + dependencies: + lru-cache: ^10.0.1 + checksum: 467cf908a56556417b18e86ae3b8dee03c2360ef1d51e61c4028fe87f6f309b6ff038589c94b5666af207da9d972d5107698906aabeb78aca134641962a5c6f8 + languageName: node + linkType: hard + "hosted-git-info@npm:^8.0.0": version: 8.1.0 resolution: "hosted-git-info@npm:8.1.0" @@ -9359,7 +9807,7 @@ __metadata: languageName: node linkType: hard -"http-errors@npm:^2.0.0, http-errors@npm:~2.0.1": +"http-errors@npm:~2.0.1": version: 2.0.1 resolution: "http-errors@npm:2.0.1" dependencies: @@ -9438,15 +9886,6 @@ __metadata: languageName: node linkType: hard -"iconv-lite@npm:^0.7.0": - version: 0.7.1 - resolution: "iconv-lite@npm:0.7.1" - dependencies: - safer-buffer: ">= 2.1.2 < 3.0.0" - checksum: d20ea696c8bace51b8d4e1c7e7eda3e51a2ffd72fde2caa54aeff6dc6bc23a60db0b111db750c84b397874a04923c5b0f1cc8beb400349fb1a83a797a85ec082 - languageName: node - linkType: hard - "iconv-lite@npm:^0.7.2": version: 0.7.3 resolution: "iconv-lite@npm:0.7.3" @@ -9456,16 +9895,7 @@ __metadata: languageName: node linkType: hard -"iconv-lite@npm:~0.7.0": - version: 0.7.2 - resolution: "iconv-lite@npm:0.7.2" - dependencies: - safer-buffer: ">= 2.1.2 < 3.0.0" - checksum: faf884c1f631a5d676e3e64054bed891c7c5f616b790082d99ccfbfd017c661a39db8009160268fd65fae57c9154d4d491ebc9c301f3446a078460ef114dc4b8 - languageName: node - linkType: hard - -"ieee754@npm:^1.1.13, ieee754@npm:^1.2.1": +"ieee754@npm:^1.2.1": version: 1.2.1 resolution: "ieee754@npm:1.2.1" checksum: 5144c0c9815e54ada181d80a0b810221a253562422e7c6c3a60b1901154184f49326ec239d618c416c1c5945a2e197107aee8d986a3dd836b53dffefd99b5e7e @@ -9479,6 +9909,13 @@ __metadata: languageName: node linkType: hard +"ignore@npm:^5.3.1": + version: 5.3.2 + resolution: "ignore@npm:5.3.2" + checksum: 2acfd32a573260ea522ea0bfeff880af426d68f6831f973129e2ba7363f422923cf53aab62f8369cbf4667c7b25b6f8a3761b34ecdb284ea18e87a5262a865be + languageName: node + linkType: hard + "ignore@npm:^7.0.0, ignore@npm:^7.0.3": version: 7.0.5 resolution: "ignore@npm:7.0.5" @@ -9486,17 +9923,6 @@ __metadata: languageName: node linkType: hard -"image-size@npm:^1.0.2": - version: 1.1.1 - resolution: "image-size@npm:1.1.1" - dependencies: - queue: 6.0.2 - bin: - image-size: bin/image-size.js - checksum: 23b3a515dded89e7f967d52b885b430d6a5a903da954fce703130bfb6069d738d80e6588efd29acfaf5b6933424a56535aa7bf06867e4ebd0250c2ee51f19a4a - languageName: node - linkType: hard - "import-fresh@npm:^3.2.1, import-fresh@npm:^3.3.0": version: 3.3.0 resolution: "import-fresh@npm:3.3.0" @@ -9543,7 +9969,7 @@ __metadata: languageName: node linkType: hard -"inherits@npm:2, inherits@npm:2.0.4, inherits@npm:^2.0.3, inherits@npm:^2.0.4, inherits@npm:~2.0.3, inherits@npm:~2.0.4": +"inherits@npm:2, inherits@npm:2.0.4, inherits@npm:^2.0.3, inherits@npm:~2.0.4": version: 2.0.4 resolution: "inherits@npm:2.0.4" checksum: 4a48a733847879d6cf6691860a6b1e3f0f4754176e4d71494c41f3475553768b10f84b5ce1d40fbd0e34e6bfbb864ee35858ad4dd2cf31e02fc4a154b724d7f1 @@ -9709,13 +10135,6 @@ __metadata: languageName: node linkType: hard -"is-fullwidth-code-point@npm:^2.0.0": - version: 2.0.0 - resolution: "is-fullwidth-code-point@npm:2.0.0" - checksum: eef9c6e15f68085fec19ff6a978a6f1b8f48018fd1265035552078ee945573594933b09bbd6f562553e2a241561439f1ef5339276eba68d272001343084cfab8 - languageName: node - linkType: hard - "is-fullwidth-code-point@npm:^3.0.0": version: 3.0.0 resolution: "is-fullwidth-code-point@npm:3.0.0" @@ -9766,13 +10185,6 @@ __metadata: languageName: node linkType: hard -"is-interactive@npm:^1.0.0": - version: 1.0.0 - resolution: "is-interactive@npm:1.0.0" - checksum: 824808776e2d468b2916cdd6c16acacebce060d844c35ca6d82267da692e92c3a16fdba624c50b54a63f38bdc4016055b6f443ce57d7147240de4f8cdabaf6f9 - languageName: node - linkType: hard - "is-interactive@npm:^2.0.0": version: 2.0.0 resolution: "is-interactive@npm:2.0.0" @@ -9914,13 +10326,6 @@ __metadata: languageName: node linkType: hard -"is-unicode-supported@npm:^0.1.0": - version: 0.1.0 - resolution: "is-unicode-supported@npm:0.1.0" - checksum: a2aab86ee7712f5c2f999180daaba5f361bdad1efadc9610ff5b8ab5495b86e4f627839d085c6530363c6d6d4ecbde340fb8e54bdb83da4ba8e0865ed5513c52 - languageName: node - linkType: hard - "is-unicode-supported@npm:^2.0.0, is-unicode-supported@npm:^2.1.0": version: 2.1.0 resolution: "is-unicode-supported@npm:2.1.0" @@ -9954,13 +10359,6 @@ __metadata: languageName: node linkType: hard -"is-wsl@npm:^1.1.0": - version: 1.1.0 - resolution: "is-wsl@npm:1.1.0" - checksum: ea157d232351e68c92bd62fc541771096942fe72f69dff452dd26dcc31466258c570a3b04b8cda2e01cd2968255b02951b8670d08ea4ed76d6b1a646061ac4fe - languageName: node - linkType: hard - "is-wsl@npm:^2.1.1, is-wsl@npm:^2.2.0": version: 2.2.0 resolution: "is-wsl@npm:2.2.0" @@ -10680,6 +11078,13 @@ __metadata: languageName: node linkType: hard +"jimp-compact@npm:0.16.1": + version: 0.16.1 + resolution: "jimp-compact@npm:0.16.1" + checksum: 5a1c62d70881b31f79ea65fecfe03617be0eb56139bc451f37e8972365c99ac3b52c5176c446ff27144c98ab664a99107ae08d347044e94e1de637f165b41a57 + languageName: node + linkType: hard + "jiti@npm:^2.4.1": version: 2.4.2 resolution: "jiti@npm:2.4.2" @@ -10698,19 +11103,6 @@ __metadata: languageName: node linkType: hard -"joi@npm:^17.2.1": - version: 17.12.2 - resolution: "joi@npm:17.12.2" - dependencies: - "@hapi/hoek": ^9.3.0 - "@hapi/topo": ^5.1.0 - "@sideway/address": ^4.1.5 - "@sideway/formula": ^3.0.1 - "@sideway/pinpoint": ^2.0.0 - checksum: 5a5213c56d3a3b769b4cb999756a226d090421693443a405a9f1063443941a8b920c731b0c2cad526163726494c2da9858d38a98d39bd516df60e9ef49f0125a - languageName: node - linkType: hard - "js-tokens@npm:^3.0.0 || ^4.0.0, js-tokens@npm:^4.0.0": version: 4.0.0 resolution: "js-tokens@npm:4.0.0" @@ -10759,7 +11151,7 @@ __metadata: languageName: node linkType: hard -"jsc-safe-url@npm:^0.2.2": +"jsc-safe-url@npm:^0.2.2, jsc-safe-url@npm:^0.2.4": version: 0.2.4 resolution: "jsc-safe-url@npm:0.2.4" checksum: 53b5741ba2c0a54da1722929dc80becb2c6fcc9525124fb6c2aec1a00f48e79afffd26816c278111e7b938e37ace029e33cbb8cdaa4ac1f528a87e58022284af @@ -10846,18 +11238,6 @@ __metadata: languageName: node linkType: hard -"jsonfile@npm:^4.0.0": - version: 4.0.0 - resolution: "jsonfile@npm:4.0.0" - dependencies: - graceful-fs: ^4.1.6 - dependenciesMeta: - graceful-fs: - optional: true - checksum: 6447d6224f0d31623eef9b51185af03ac328a7553efcee30fa423d98a9e276ca08db87d71e17f2310b0263fd3ffa6c2a90a6308367f661dc21580f9469897c9e - languageName: node - linkType: hard - "jsonfile@npm:^6.0.1": version: 6.1.0 resolution: "jsonfile@npm:6.1.0" @@ -10906,13 +11286,12 @@ __metadata: languageName: node linkType: hard -"launch-editor@npm:^2.9.1": - version: 2.12.0 - resolution: "launch-editor@npm:2.12.0" - dependencies: - picocolors: ^1.1.1 - shell-quote: ^1.8.3 - checksum: b1aa1b92ef4e720d1edd7f80affb90b2fa1cc2c41641cf80158940698c18a4b6a67e2a7cb060547712e858f0ec1a7c8c39f605e0eb299f516a6184f4e680ffc8 +"lan-network@npm:^0.2.1": + version: 0.2.1 + resolution: "lan-network@npm:0.2.1" + bin: + lan-network: dist/lan-network-cli.js + checksum: 0e29fb5917806ade293c6a41e2f28b1666829375b219d63b3fce630a4fa7baa3b9c76d9441faff732bad7cc7f44aa76c8090bea1e8dc7a75e1bb92b0a24bf486 languageName: node linkType: hard @@ -11054,6 +11433,126 @@ __metadata: languageName: node linkType: hard +"lightningcss-android-arm64@npm:1.33.0": + version: 1.33.0 + resolution: "lightningcss-android-arm64@npm:1.33.0" + conditions: os=android & cpu=arm64 + languageName: node + linkType: hard + +"lightningcss-darwin-arm64@npm:1.33.0": + version: 1.33.0 + resolution: "lightningcss-darwin-arm64@npm:1.33.0" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + +"lightningcss-darwin-x64@npm:1.33.0": + version: 1.33.0 + resolution: "lightningcss-darwin-x64@npm:1.33.0" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + +"lightningcss-freebsd-x64@npm:1.33.0": + version: 1.33.0 + resolution: "lightningcss-freebsd-x64@npm:1.33.0" + conditions: os=freebsd & cpu=x64 + languageName: node + linkType: hard + +"lightningcss-linux-arm-gnueabihf@npm:1.33.0": + version: 1.33.0 + resolution: "lightningcss-linux-arm-gnueabihf@npm:1.33.0" + conditions: os=linux & cpu=arm + languageName: node + linkType: hard + +"lightningcss-linux-arm64-gnu@npm:1.33.0": + version: 1.33.0 + resolution: "lightningcss-linux-arm64-gnu@npm:1.33.0" + conditions: os=linux & cpu=arm64 & libc=glibc + languageName: node + linkType: hard + +"lightningcss-linux-arm64-musl@npm:1.33.0": + version: 1.33.0 + resolution: "lightningcss-linux-arm64-musl@npm:1.33.0" + conditions: os=linux & cpu=arm64 & libc=musl + languageName: node + linkType: hard + +"lightningcss-linux-x64-gnu@npm:1.33.0": + version: 1.33.0 + resolution: "lightningcss-linux-x64-gnu@npm:1.33.0" + conditions: os=linux & cpu=x64 & libc=glibc + languageName: node + linkType: hard + +"lightningcss-linux-x64-musl@npm:1.33.0": + version: 1.33.0 + resolution: "lightningcss-linux-x64-musl@npm:1.33.0" + conditions: os=linux & cpu=x64 & libc=musl + languageName: node + linkType: hard + +"lightningcss-win32-arm64-msvc@npm:1.33.0": + version: 1.33.0 + resolution: "lightningcss-win32-arm64-msvc@npm:1.33.0" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + +"lightningcss-win32-x64-msvc@npm:1.33.0": + version: 1.33.0 + resolution: "lightningcss-win32-x64-msvc@npm:1.33.0" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + +"lightningcss@npm:^1.30.1": + version: 1.33.0 + resolution: "lightningcss@npm:1.33.0" + dependencies: + detect-libc: ^2.0.3 + lightningcss-android-arm64: 1.33.0 + lightningcss-darwin-arm64: 1.33.0 + lightningcss-darwin-x64: 1.33.0 + lightningcss-freebsd-x64: 1.33.0 + lightningcss-linux-arm-gnueabihf: 1.33.0 + lightningcss-linux-arm64-gnu: 1.33.0 + lightningcss-linux-arm64-musl: 1.33.0 + lightningcss-linux-x64-gnu: 1.33.0 + lightningcss-linux-x64-musl: 1.33.0 + lightningcss-win32-arm64-msvc: 1.33.0 + lightningcss-win32-x64-msvc: 1.33.0 + dependenciesMeta: + lightningcss-android-arm64: + optional: true + lightningcss-darwin-arm64: + optional: true + lightningcss-darwin-x64: + optional: true + lightningcss-freebsd-x64: + optional: true + lightningcss-linux-arm-gnueabihf: + optional: true + lightningcss-linux-arm64-gnu: + optional: true + lightningcss-linux-arm64-musl: + optional: true + lightningcss-linux-x64-gnu: + optional: true + lightningcss-linux-x64-musl: + optional: true + lightningcss-win32-arm64-msvc: + optional: true + lightningcss-win32-x64-msvc: + optional: true + checksum: abc78c1ce931b10da1168cfbe0a3539bcc164fca23f9fa909d06546ea6f6f874ec5008644b7031aebab061be276620e0821983745ae586931b4f563942a64da3 + languageName: node + linkType: hard + "lines-and-columns@npm:^1.1.6": version: 1.2.4 resolution: "lines-and-columns@npm:1.2.4" @@ -11142,13 +11641,12 @@ __metadata: languageName: node linkType: hard -"log-symbols@npm:^4.1.0": - version: 4.1.0 - resolution: "log-symbols@npm:4.1.0" +"log-symbols@npm:^2.2.0": + version: 2.2.0 + resolution: "log-symbols@npm:2.2.0" dependencies: - chalk: ^4.1.0 - is-unicode-supported: ^0.1.0 - checksum: fce1497b3135a0198803f9f07464165e9eb83ed02ceb2273930a6f8a508951178d8cf4f0378e9d28300a2ed2bc49050995d2bd5f53ab716bb15ac84d58c6ef74 + chalk: ^2.0.1 + checksum: 4c95e3b65f0352dbe91dc4989c10baf7a44e2ef5b0db7e6721e1476268e2b6f7090c3aa880d4f833a05c5c3ff18f4ec5215a09bd0099986d64a8186cfeb48ac8 languageName: node linkType: hard @@ -11162,19 +11660,6 @@ __metadata: languageName: node linkType: hard -"logkitty@npm:^0.7.1": - version: 0.7.1 - resolution: "logkitty@npm:0.7.1" - dependencies: - ansi-fragments: ^0.2.1 - dayjs: ^1.8.15 - yargs: ^15.1.0 - bin: - logkitty: bin/logkitty.js - checksum: f1af990ff09564ef5122597a52bba6d233302c49865e6ddea1343d2a0e2efe3005127e58e93e25c98b6b1f192731fc5c52e3204876a15fc9a52abc8b4f1af931 - languageName: node - linkType: hard - "loose-envify@npm:^1.0.0, loose-envify@npm:^1.4.0": version: 1.4.0 resolution: "loose-envify@npm:1.4.0" @@ -11276,20 +11761,6 @@ __metadata: languageName: node linkType: hard -"math-intrinsics@npm:^1.1.0": - version: 1.1.0 - resolution: "math-intrinsics@npm:1.1.0" - checksum: 0e513b29d120f478c85a70f49da0b8b19bc638975eca466f2eeae0071f3ad00454c621bf66e16dd435896c208e719fc91ad79bbfba4e400fe0b372e7c1c9c9a2 - languageName: node - linkType: hard - -"media-typer@npm:^1.1.0": - version: 1.1.0 - resolution: "media-typer@npm:1.1.0" - checksum: a58dd60804df73c672942a7253ccc06815612326dc1c0827984b1a21704466d7cde351394f47649e56cf7415e6ee2e26e000e81b51b3eebb5a93540e8bf93cbd - languageName: node - linkType: hard - "memoize-one@npm:^5.0.0": version: 5.2.1 resolution: "memoize-one@npm:5.2.1" @@ -11325,69 +11796,148 @@ __metadata: languageName: node linkType: hard -"metro-babel-transformer@npm:0.83.3": - version: 0.83.3 - resolution: "metro-babel-transformer@npm:0.83.3" +"metro-babel-transformer@npm:0.84.5": + version: 0.84.5 + resolution: "metro-babel-transformer@npm:0.84.5" dependencies: "@babel/core": ^7.25.2 flow-enums-runtime: ^0.0.6 - hermes-parser: 0.32.0 + hermes-parser: 0.35.0 + metro-cache-key: 0.84.5 nullthrows: ^1.1.1 - checksum: dd178409d1718dae12dfffb6572ebc5bb78f1e0d7e93dce829c945957f8a686cb1b4c466c69585d7b982b3937fbea28d5c53a80691f2fc66717a0bcc800bc5b8 + checksum: d589faebbc3420c2a0a128a62fff8b321681bbc3124423cc54f58d4441a40949c9189d784bf1be9d555127f9a09e6754130f834d301d9aca9466fcf775b685dc languageName: node linkType: hard -"metro-cache-key@npm:0.83.3": - version: 0.83.3 - resolution: "metro-cache-key@npm:0.83.3" +"metro-babel-transformer@npm:0.84.6": + version: 0.84.6 + resolution: "metro-babel-transformer@npm:0.84.6" dependencies: + "@babel/core": ^7.25.2 flow-enums-runtime: ^0.0.6 - checksum: a6f9d2bf8b810f57d330d6f8f1ebf029e1224f426c5895f73d9bc1007482684048bfc7513a855626ee7f3ae72ca46e1b08cf983aefbfa84321bb7c0cef4ba4ae + hermes-parser: 0.35.0 + metro-cache-key: 0.84.6 + nullthrows: ^1.1.1 + checksum: 2e90225d9eaa51eceb4285d06eed69115e2aacbb496e686b7b63140c02b249a93d77bbf0d00659b46cc7ec70e26692f57a35ea157a37adc9ef17f79d88149ea0 languageName: node linkType: hard -"metro-cache@npm:0.83.3": - version: 0.83.3 - resolution: "metro-cache@npm:0.83.3" +"metro-cache-key@npm:0.84.5": + version: 0.84.5 + resolution: "metro-cache-key@npm:0.84.5" + dependencies: + flow-enums-runtime: ^0.0.6 + checksum: ad6d7980687391281b5ee498b2485fe7f65a0d74b43bb6d336bae892983d54722024a119c2ae71de8670ed7f2e6db840075e18b326e1fca6397043ad1a7d0114 + languageName: node + linkType: hard + +"metro-cache-key@npm:0.84.6": + version: 0.84.6 + resolution: "metro-cache-key@npm:0.84.6" + dependencies: + flow-enums-runtime: ^0.0.6 + checksum: b906f5004f770110dc69948f34cd76b0d2b83816c636a05f27e622d361f9a9f20f2767f8824a76f3655e1d0c204a7feda867ceb21bfe3bbda1b05cc3a4c0343a + languageName: node + linkType: hard + +"metro-cache@npm:0.84.5": + version: 0.84.5 + resolution: "metro-cache@npm:0.84.5" dependencies: exponential-backoff: ^3.1.1 flow-enums-runtime: ^0.0.6 https-proxy-agent: ^7.0.5 - metro-core: 0.83.3 - checksum: 95606275411d85de071fd95171a9548406cd1154320850a554bf00207804f7844ed252f9750a802d6612ade839c579b23bd87927ae173f43c368e8f5d900149d + metro-core: 0.84.5 + checksum: 45e1c1016b58dffbe8f90210847e6f045eb5f2958af1a7d27c265b25a4248e4c57539b7192538492644c7fa6315f4c5c7b8f3976d8a4e239abc79ddb2e227629 languageName: node linkType: hard -"metro-config@npm:0.83.3, metro-config@npm:^0.83.3": - version: 0.83.3 - resolution: "metro-config@npm:0.83.3" +"metro-cache@npm:0.84.6": + version: 0.84.6 + resolution: "metro-cache@npm:0.84.6" + dependencies: + exponential-backoff: ^3.1.1 + flow-enums-runtime: ^0.0.6 + https-proxy-agent: ^7.0.5 + metro-core: 0.84.6 + checksum: 345a82bc0f3650670d3f5a2cc457b0c625a76506b81f55afad184309164d5e7d0187a94c9c386258ed92664fa53e9e8c39e2815c2144cc44aeb2b7a125e26f6d + languageName: node + linkType: hard + +"metro-config@npm:0.84.5": + version: 0.84.5 + resolution: "metro-config@npm:0.84.5" dependencies: connect: ^3.6.5 flow-enums-runtime: ^0.0.6 jest-validate: ^29.7.0 - metro: 0.83.3 - metro-cache: 0.83.3 - metro-core: 0.83.3 - metro-runtime: 0.83.3 + metro: 0.84.5 + metro-cache: 0.84.5 + metro-core: 0.84.5 + metro-runtime: 0.84.5 yaml: ^2.6.1 - checksum: a14b77668a9712abbcebe5bf6a0081f0fd46caf8d37405174f261765abcd44d7a99910533fcc05edde3de10f9b22820cc9910c7dee2b01e761692a0a322f2608 + checksum: 94f2bc24d653ae55c9ec39212ce82bf8ba1b53ee3269a95c1c56297baee24a0ac5e1841bcf26b879e04b70bf2e37d3556e18378a62a8d87e2e9c1f5bc9754775 languageName: node linkType: hard -"metro-core@npm:0.83.3, metro-core@npm:^0.83.3": - version: 0.83.3 - resolution: "metro-core@npm:0.83.3" +"metro-config@npm:0.84.6, metro-config@npm:^0.84.3": + version: 0.84.6 + resolution: "metro-config@npm:0.84.6" + dependencies: + connect: ^3.6.5 + flow-enums-runtime: ^0.0.6 + jest-validate: ^29.7.0 + metro: 0.84.6 + metro-cache: 0.84.6 + metro-core: 0.84.6 + metro-runtime: 0.84.6 + yaml: ^2.6.1 + checksum: e384092bbcba45fbe6d75e8f939767ba64cbe387a50014b239d31c928b1710dc8160951ba8f33f2aa6f919de87da01f37656824363166098dbb386ff293e9b23 + languageName: node + linkType: hard + +"metro-core@npm:0.84.5": + version: 0.84.5 + resolution: "metro-core@npm:0.84.5" + dependencies: + flow-enums-runtime: ^0.0.6 + lodash.throttle: ^4.1.1 + metro-resolver: 0.84.5 + checksum: c43d55ed8a6e8fc56c4b741f6206ef50f7105e318fc0f0c06f052ac52e6f87108f141e0ae4da59943702c1dff97585d16e9f44ae5962a0a4b13186ab5f6252b4 + languageName: node + linkType: hard + +"metro-core@npm:0.84.6, metro-core@npm:^0.84.3": + version: 0.84.6 + resolution: "metro-core@npm:0.84.6" dependencies: flow-enums-runtime: ^0.0.6 lodash.throttle: ^4.1.1 - metro-resolver: 0.83.3 - checksum: d06871313310cd718094ecbae805bcacea3f325340f6dff3c5044b62457c4690dd729cdb938349bdd3c41efa6f28032ae07696467ef006d5509fec9045c1966f + metro-resolver: 0.84.6 + checksum: fb1cb99b331d0347ebb498883810f7cb469850c2c8a3415ed5807e60866212ab4659d2a934af998f53ba136bab075781549dd0987030258f452364d82f3d5b6b + languageName: node + linkType: hard + +"metro-file-map@npm:0.84.5": + version: 0.84.5 + resolution: "metro-file-map@npm:0.84.5" + dependencies: + debug: ^4.4.0 + fb-watchman: ^2.0.0 + flow-enums-runtime: ^0.0.6 + graceful-fs: ^4.2.4 + invariant: ^2.2.4 + jest-worker: ^29.7.0 + micromatch: ^4.0.4 + nullthrows: ^1.1.1 + walker: ^1.0.7 + checksum: 893ed8e89384bce7eef8cd37e513ef9bed13e478f5f01bccdb6d00d757455ccc220ce6e8631fd99898f517175e4796fb6f175365f010cc60dc55109f031d4f8a languageName: node linkType: hard -"metro-file-map@npm:0.83.3": - version: 0.83.3 - resolution: "metro-file-map@npm:0.83.3" +"metro-file-map@npm:0.84.6": + version: 0.84.6 + resolution: "metro-file-map@npm:0.84.6" dependencies: debug: ^4.4.0 fb-watchman: ^2.0.0 @@ -11398,146 +11948,240 @@ __metadata: micromatch: ^4.0.4 nullthrows: ^1.1.1 walker: ^1.0.7 - checksum: 0dea599206e93b6e8628be2aa98452d4dae16e805b810759ec8b50cebcd83f2d053f7e5865196d464f3793f86b3b5003830c6713f91bf62fa406a4af7c93a776 + checksum: 2a3e3b10a66ac329206c865561afd6d045562285de9ebd80487caa545c638334fc14e57557209bbac77944f97219ca3a3f256666a8800c697c3c34b711791e7d languageName: node linkType: hard -"metro-minify-terser@npm:0.83.3": - version: 0.83.3 - resolution: "metro-minify-terser@npm:0.83.3" +"metro-minify-terser@npm:0.84.5": + version: 0.84.5 + resolution: "metro-minify-terser@npm:0.84.5" dependencies: flow-enums-runtime: ^0.0.6 terser: ^5.15.0 - checksum: 1de88b70b7c903147807baa46497491a87600594fd0868b6538bbb9d7785242cabfbe8bccf36cc2285d0e17be72445b512d00c496952a159572545f3e6bcb199 + checksum: 85e884edadbbc4862ddd4bdb8a562de1b6d05338bbd40871ced8bc267bd4d40417776d32a786cfc6cafe2fce13ba9115c8d72b042fdb2ab7a7b5ab500643b5fb + languageName: node + linkType: hard + +"metro-minify-terser@npm:0.84.6": + version: 0.84.6 + resolution: "metro-minify-terser@npm:0.84.6" + dependencies: + flow-enums-runtime: ^0.0.6 + terser: ^5.15.0 + checksum: fd1b5f1c60272c01c8e2563741e0d8ca1e268df5940ef31d4ebc635f4f7aad09d0414b51473f830d4696cddc21d3e50abca9efdcf33ee8787a73a1fa59fce8ff + languageName: node + linkType: hard + +"metro-resolver@npm:0.84.5": + version: 0.84.5 + resolution: "metro-resolver@npm:0.84.5" + dependencies: + flow-enums-runtime: ^0.0.6 + checksum: 0feafc0ca9bee4f505c8cb01d303df2b259e41cd7ce60e1addb7f0df49c191004ac4d988f50d8aec4e51fbfabb91f767c4c4899964b7f775ac9fe5fdc51e8650 languageName: node linkType: hard -"metro-resolver@npm:0.83.3": - version: 0.83.3 - resolution: "metro-resolver@npm:0.83.3" +"metro-resolver@npm:0.84.6": + version: 0.84.6 + resolution: "metro-resolver@npm:0.84.6" dependencies: flow-enums-runtime: ^0.0.6 - checksum: de2ae5ced6239b004a97712f98934c6e830870d11614e2dba48250930214581f0746df8a4f0f1cb71060fe21c2cf919d3359106ad4f375c2500ba08e10922896 + checksum: f5535735bd092710a82bbd90f673a34701c94544791c4da00b79294025b3144113b2abdbaf25dceb8444ea4b1d1194eb0c9f81a500f967f174fa66530a286586 languageName: node linkType: hard -"metro-runtime@npm:0.83.3, metro-runtime@npm:^0.83.3": - version: 0.83.3 - resolution: "metro-runtime@npm:0.83.3" +"metro-runtime@npm:0.84.5": + version: 0.84.5 + resolution: "metro-runtime@npm:0.84.5" dependencies: "@babel/runtime": ^7.25.0 flow-enums-runtime: ^0.0.6 - checksum: dcbdc5502020d1e20cee1a3a8019323ab2f3ca2aa2d6ddb2b7a2b8547835a20b84fe4afc23c397f788584e108c70411db93df2f61322b44a4f0f119275052d03 + checksum: 90a99d5754ad0f8b3a702c257133cdbbfd5573d428214bdd1b40e5b4f662ad9643f58866afaccb383a8b2f65462b011dbee6106b9627a6e23f7493915fc7a164 languageName: node linkType: hard -"metro-source-map@npm:0.83.3, metro-source-map@npm:^0.83.3": - version: 0.83.3 - resolution: "metro-source-map@npm:0.83.3" +"metro-runtime@npm:0.84.6, metro-runtime@npm:^0.84.3": + version: 0.84.6 + resolution: "metro-runtime@npm:0.84.6" + dependencies: + "@babel/runtime": ^7.25.0 + flow-enums-runtime: ^0.0.6 + checksum: 2f3199f36d4a4ef0b2952df518ea03ec87af16fb12611c393383795a99d09b65836e9c916539debdeac0d0f09be78cd2b503c09f2b5c0d22703a1c4be21d7044 + languageName: node + linkType: hard + +"metro-source-map@npm:0.84.5": + version: 0.84.5 + resolution: "metro-source-map@npm:0.84.5" + dependencies: + "@babel/traverse": ^7.29.0 + "@babel/types": ^7.29.0 + flow-enums-runtime: ^0.0.6 + invariant: ^2.2.4 + metro-symbolicate: 0.84.5 + nullthrows: ^1.1.1 + ob1: 0.84.5 + source-map: ^0.5.6 + vlq: ^1.0.0 + checksum: 90deb5da4527404d217d58f2253795e4608bdb6904ce343f660feebe738a9e7c24d0963667a7ab0f22b2955ce9445ad0b7038070055a5826fe039c841486fb81 + languageName: node + linkType: hard + +"metro-source-map@npm:0.84.6, metro-source-map@npm:^0.84.3": + version: 0.84.6 + resolution: "metro-source-map@npm:0.84.6" + dependencies: + "@babel/traverse": ^7.29.0 + "@babel/types": ^7.29.0 + flow-enums-runtime: ^0.0.6 + invariant: ^2.2.4 + metro-symbolicate: 0.84.6 + nullthrows: ^1.1.1 + ob1: 0.84.6 + source-map: ^0.5.6 + vlq: ^1.0.0 + checksum: ac958c16e8cf9982d93774c702b5c7f4e09acc25bdf900f45a0cca163ba2783f6df696c815c32147211d0421a8292ecc00f4e9243744a1c3e7fa785a2f5cdc46 + languageName: node + linkType: hard + +"metro-symbolicate@npm:0.84.5": + version: 0.84.5 + resolution: "metro-symbolicate@npm:0.84.5" dependencies: - "@babel/traverse": ^7.25.3 - "@babel/traverse--for-generate-function-map": "npm:@babel/traverse@^7.25.3" - "@babel/types": ^7.25.2 flow-enums-runtime: ^0.0.6 invariant: ^2.2.4 - metro-symbolicate: 0.83.3 + metro-source-map: 0.84.5 nullthrows: ^1.1.1 - ob1: 0.83.3 source-map: ^0.5.6 vlq: ^1.0.0 - checksum: 5bf3b7a1561bc1f0ad6ab3b7b550d4b4581da31964a7f218727a3201576912076c909a2e50fba4dd3c649d79312324dec683a37228f4559811c37b69ecca8831 + bin: + metro-symbolicate: src/index.js + checksum: 3105c734f137e0727eb0039d3d02b098938f7655a08576ce3ba56db10d50fad0fa1b784c87e156c3fdbba58741fd8ab0e9c69000ed23d2279c947bd9ab561753 languageName: node linkType: hard -"metro-symbolicate@npm:0.83.3": - version: 0.83.3 - resolution: "metro-symbolicate@npm:0.83.3" +"metro-symbolicate@npm:0.84.6": + version: 0.84.6 + resolution: "metro-symbolicate@npm:0.84.6" dependencies: flow-enums-runtime: ^0.0.6 invariant: ^2.2.4 - metro-source-map: 0.83.3 + metro-source-map: 0.84.6 nullthrows: ^1.1.1 source-map: ^0.5.6 vlq: ^1.0.0 bin: metro-symbolicate: src/index.js - checksum: 943cc2456d56ae2ed8369495c18966d91feff636b37909b5225ffb8ce2a50eba8fbedf116f3bea3059d431ebc621c9c9af8a8bfd181b0cd1fece051507e10ffd + checksum: 63d92c718d6ce7245af0509f19fdb40be1c58940d5ce3f0484b56c03f648f95a440c9d4458a70bd111572ce52d0e83135bcb1dcfecc4971ae80a8d66498176ac languageName: node linkType: hard -"metro-transform-plugins@npm:0.83.3": - version: 0.83.3 - resolution: "metro-transform-plugins@npm:0.83.3" +"metro-transform-plugins@npm:0.84.5": + version: 0.84.5 + resolution: "metro-transform-plugins@npm:0.84.5" dependencies: "@babel/core": ^7.25.2 - "@babel/generator": ^7.25.0 - "@babel/template": ^7.25.0 - "@babel/traverse": ^7.25.3 + "@babel/generator": ^7.29.1 + "@babel/template": ^7.28.6 + "@babel/traverse": ^7.29.0 flow-enums-runtime: ^0.0.6 nullthrows: ^1.1.1 - checksum: 6f92b9dfa53bdb63e79038bbd4d68791379ab26cf874679e64563618c578eeed3a828795debf8076ffd518431dff53191990784fb619046bcc03fff114b0cb21 + checksum: b9cd3cfc6cb62d4b98ae3d38c82a67ac4b4cd47bc0d46d8815090c046851d223ec125ba780854e51184853a98dde2c81a59103746c3d5fb0ccb2c43e056f37a7 languageName: node linkType: hard -"metro-transform-worker@npm:0.83.3": - version: 0.83.3 - resolution: "metro-transform-worker@npm:0.83.3" +"metro-transform-plugins@npm:0.84.6": + version: 0.84.6 + resolution: "metro-transform-plugins@npm:0.84.6" dependencies: "@babel/core": ^7.25.2 - "@babel/generator": ^7.25.0 - "@babel/parser": ^7.25.3 - "@babel/types": ^7.25.2 + "@babel/generator": ^7.29.1 + "@babel/template": ^7.28.6 + "@babel/traverse": ^7.29.0 flow-enums-runtime: ^0.0.6 - metro: 0.83.3 - metro-babel-transformer: 0.83.3 - metro-cache: 0.83.3 - metro-cache-key: 0.83.3 - metro-minify-terser: 0.83.3 - metro-source-map: 0.83.3 - metro-transform-plugins: 0.83.3 nullthrows: ^1.1.1 - checksum: fcb25ebc1ce703d830ef60c9af87325f996af4c3946325ab957b65ca59d12d181fe6c527c9ba1f932cd954d23a400052293117fe56f9a2727dfbc0a118e7bb27 + checksum: e63df433a0ceca61cdecaec292de20680d977aecc21e0b53b76f639cd47608435f02433fcde89205f7dec920587447f2225724d02e4561846e9d0874db916764 languageName: node linkType: hard -"metro@npm:0.83.3, metro@npm:^0.83.3": - version: 0.83.3 - resolution: "metro@npm:0.83.3" +"metro-transform-worker@npm:0.84.5": + version: 0.84.5 + resolution: "metro-transform-worker@npm:0.84.5" dependencies: - "@babel/code-frame": ^7.24.7 "@babel/core": ^7.25.2 - "@babel/generator": ^7.25.0 - "@babel/parser": ^7.25.3 - "@babel/template": ^7.25.0 - "@babel/traverse": ^7.25.3 - "@babel/types": ^7.25.2 - accepts: ^1.3.7 - chalk: ^4.0.0 + "@babel/generator": ^7.29.1 + "@babel/parser": ^7.29.0 + "@babel/types": ^7.29.0 + flow-enums-runtime: ^0.0.6 + metro: 0.84.5 + metro-babel-transformer: 0.84.5 + metro-cache: 0.84.5 + metro-cache-key: 0.84.5 + metro-minify-terser: 0.84.5 + metro-source-map: 0.84.5 + metro-transform-plugins: 0.84.5 + nullthrows: ^1.1.1 + checksum: 0b94ead9e72a881931e61b2eb68a1bcce3192329b8a2fa531610b60b3d54c96393f115d93e6eb1bb9b966aa27a6906953ece395f869ceb7e0c05ac9bc33954bb + languageName: node + linkType: hard + +"metro-transform-worker@npm:0.84.6": + version: 0.84.6 + resolution: "metro-transform-worker@npm:0.84.6" + dependencies: + "@babel/core": ^7.25.2 + "@babel/generator": ^7.29.1 + "@babel/parser": ^7.29.0 + "@babel/types": ^7.29.0 + flow-enums-runtime: ^0.0.6 + metro: 0.84.6 + metro-babel-transformer: 0.84.6 + metro-cache: 0.84.6 + metro-cache-key: 0.84.6 + metro-minify-terser: 0.84.6 + metro-source-map: 0.84.6 + metro-transform-plugins: 0.84.6 + nullthrows: ^1.1.1 + checksum: 89d2251933f4ffe9718d4d3fa19eb970c4017b87286ca978d697c26f9ef5e8de9bbdda9bb302b73ef3030eee188f1eeabbd39373a58272d2a25af63b8f29f323 + languageName: node + linkType: hard + +"metro@npm:0.84.5": + version: 0.84.5 + resolution: "metro@npm:0.84.5" + dependencies: + "@babel/code-frame": ^7.29.0 + "@babel/core": ^7.25.2 + "@babel/generator": ^7.29.1 + "@babel/parser": ^7.29.0 + "@babel/template": ^7.28.6 + "@babel/traverse": ^7.29.0 + "@babel/types": ^7.29.0 + accepts: ^2.0.0 ci-info: ^2.0.0 connect: ^3.6.5 debug: ^4.4.0 error-stack-parser: ^2.0.6 flow-enums-runtime: ^0.0.6 graceful-fs: ^4.2.4 - hermes-parser: 0.32.0 - image-size: ^1.0.2 + hermes-parser: 0.35.0 invariant: ^2.2.4 jest-worker: ^29.7.0 jsc-safe-url: ^0.2.2 lodash.throttle: ^4.1.1 - metro-babel-transformer: 0.83.3 - metro-cache: 0.83.3 - metro-cache-key: 0.83.3 - metro-config: 0.83.3 - metro-core: 0.83.3 - metro-file-map: 0.83.3 - metro-resolver: 0.83.3 - metro-runtime: 0.83.3 - metro-source-map: 0.83.3 - metro-symbolicate: 0.83.3 - metro-transform-plugins: 0.83.3 - metro-transform-worker: 0.83.3 - mime-types: ^2.1.27 + metro-babel-transformer: 0.84.5 + metro-cache: 0.84.5 + metro-cache-key: 0.84.5 + metro-config: 0.84.5 + metro-core: 0.84.5 + metro-file-map: 0.84.5 + metro-resolver: 0.84.5 + metro-runtime: 0.84.5 + metro-source-map: 0.84.5 + metro-symbolicate: 0.84.5 + metro-transform-plugins: 0.84.5 + metro-transform-worker: 0.84.5 + mime-types: ^3.0.1 nullthrows: ^1.1.1 serialize-error: ^2.1.0 source-map: ^0.5.6 @@ -11546,7 +12190,55 @@ __metadata: yargs: ^17.6.2 bin: metro: src/cli.js - checksum: 306d8c06b5a1a45e18df6e41f494bbc8b439700985429284eea7b3c3c82108e3c3795d859a8ab3ed7a85793d64e3160519be9aa84c6418d6ed37bd5ae4500b57 + checksum: efb838bf7ec4602db1d36d989cb443dac81b433289b4815e31385da9a9fde48c83afaa02050bcc32c63a1cc503cb08229e446bfa7ffbbdcda5c4475201a94453 + languageName: node + linkType: hard + +"metro@npm:0.84.6, metro@npm:^0.84.3": + version: 0.84.6 + resolution: "metro@npm:0.84.6" + dependencies: + "@babel/code-frame": ^7.29.0 + "@babel/core": ^7.25.2 + "@babel/generator": ^7.29.1 + "@babel/parser": ^7.29.0 + "@babel/template": ^7.28.6 + "@babel/traverse": ^7.29.0 + "@babel/types": ^7.29.0 + accepts: ^2.0.0 + ci-info: ^2.0.0 + connect: ^3.6.5 + debug: ^4.4.0 + error-stack-parser: ^2.0.6 + flow-enums-runtime: ^0.0.6 + graceful-fs: ^4.2.4 + hermes-parser: 0.35.0 + invariant: ^2.2.4 + jest-worker: ^29.7.0 + jsc-safe-url: ^0.2.2 + lodash.throttle: ^4.1.1 + metro-babel-transformer: 0.84.6 + metro-cache: 0.84.6 + metro-cache-key: 0.84.6 + metro-config: 0.84.6 + metro-core: 0.84.6 + metro-file-map: 0.84.6 + metro-resolver: 0.84.6 + metro-runtime: 0.84.6 + metro-source-map: 0.84.6 + metro-symbolicate: 0.84.6 + metro-transform-plugins: 0.84.6 + metro-transform-worker: 0.84.6 + mime-types: ^3.0.1 + nullthrows: ^1.1.1 + serialize-error: ^2.1.0 + source-map: ^0.5.6 + throat: ^5.0.0 + ws: ^7.5.10 + yargs: ^17.6.2 + bin: + metro: src/cli.js + checksum: 63c27ee41e5acc915c0b3b49d1307aa5ff9675ae15ac4afce52cbf07e17fa964e3e56283ad489a2f635c3a527067daf232c2e556d95d4d79414f5dd71b9be169 languageName: node linkType: hard @@ -11584,7 +12276,7 @@ __metadata: languageName: node linkType: hard -"mime-types@npm:3.0.2, mime-types@npm:^3.0.0": +"mime-types@npm:3.0.2, mime-types@npm:^3.0.0, mime-types@npm:^3.0.1": version: 3.0.2 resolution: "mime-types@npm:3.0.2" dependencies: @@ -11593,7 +12285,7 @@ __metadata: languageName: node linkType: hard -"mime-types@npm:^2.1.27, mime-types@npm:~2.1.34": +"mime-types@npm:~2.1.34": version: 2.1.35 resolution: "mime-types@npm:2.1.35" dependencies: @@ -11611,12 +12303,10 @@ __metadata: languageName: node linkType: hard -"mime@npm:^2.4.1": - version: 2.6.0 - resolution: "mime@npm:2.6.0" - bin: - mime: cli.js - checksum: 1497ba7b9f6960694268a557eae24b743fd2923da46ec392b042469f4b901721ba0adcf8b0d3c2677839d0e243b209d76e5edcbd09cfdeffa2dfb6bb4df4b862 +"mimic-fn@npm:^1.0.0": + version: 1.2.0 + resolution: "mimic-fn@npm:1.2.0" + checksum: 69c08205156a1f4906d9c46f9b4dc08d18a50176352e77fdeb645cedfe9f20c0b19865d465bd2dec27a5c432347f24dc07fc3695e11159d193f892834233e939 languageName: node linkType: hard @@ -11816,13 +12506,20 @@ __metadata: languageName: node linkType: hard -"ms@npm:2.1.3, ms@npm:^2.1.3": +"ms@npm:2.1.3, ms@npm:^2.1.1, ms@npm:^2.1.3": version: 2.1.3 resolution: "ms@npm:2.1.3" checksum: aa92de608021b242401676e35cfa5aa42dd70cbdc082b916da7fb925c542173e36bce97ea3e804923fe92c0ad991434e4a38327e15a1b5b5f945d66df615ae6d languageName: node linkType: hard +"multitars@npm:^1.0.2": + version: 1.0.2 + resolution: "multitars@npm:1.0.2" + checksum: d51e31f65c644c7cd47588c916e12e812738a6c2fb374279c5189bc04f87da20c11ae44ea3c647764002f49168883a47ff88fc540132e8cd1bfcd07dcd6fcb86 + languageName: node + linkType: hard + "mute-stream@npm:^3.0.0": version: 3.0.0 resolution: "mute-stream@npm:3.0.0" @@ -11830,6 +12527,15 @@ __metadata: languageName: node linkType: hard +"nanoid@npm:^3.3.18": + version: 3.3.18 + resolution: "nanoid@npm:3.3.18" + bin: + nanoid: bin/nanoid.cjs + checksum: db804317d337b41602666f23014e399d1263033d13a903955c246378256fd4e002519e87199ca40b19aff52274965ac7cc6e70c13a63e194e15c4664724602d3 + languageName: node + linkType: hard + "napi-postinstall@npm:^0.3.4": version: 0.3.4 resolution: "napi-postinstall@npm:0.3.4" @@ -11853,6 +12559,22 @@ __metadata: languageName: node linkType: hard +"negotiator@npm:^1.0.0": + version: 1.1.0 + resolution: "negotiator@npm:1.1.0" + dependencies: + content-type: ^2.1.0 + checksum: 5c779870e2c6c863eed97c136328ee54bbd179bc79c1474415354c11ec343652b3239805fc7d07dec320ee6fa138dd28b864c2a5b9853c350a56622d30a169d5 + languageName: node + linkType: hard + +"negotiator@npm:~0.6.4": + version: 0.6.4 + resolution: "negotiator@npm:0.6.4" + checksum: 7ded10aa02a0707d1d12a9973fdb5954f98547ca7beb60e31cb3a403cc6e8f11138db7a3b0128425cf836fc85d145ec4ce983b2bdf83dca436af879c2d683510 + languageName: node + linkType: hard + "neo-async@npm:^2.6.2": version: 2.6.2 resolution: "neo-async@npm:2.6.2" @@ -11891,13 +12613,6 @@ __metadata: languageName: node linkType: hard -"nocache@npm:^3.0.1": - version: 3.0.4 - resolution: "nocache@npm:3.0.4" - checksum: 6be9ee67eb561ecedc56d805c024c0fda55b9836ecba659c720073b067929aa4fe04bb7121480e004c9cf52989e62d8720f29a7fe0269f1a4941221a1e4be1c2 - languageName: node - linkType: hard - "node-addon-api@npm:^7.0.0": version: 7.1.1 resolution: "node-addon-api@npm:7.1.1" @@ -11914,6 +12629,13 @@ __metadata: languageName: node linkType: hard +"node-forge@npm:^1.3.3": + version: 1.4.0 + resolution: "node-forge@npm:1.4.0" + checksum: c97c634d4d483aae815677db5b1bd14bfea4d873ab48817e020610a2b4d8bc6b3e77994860189b44151ff8e0842c0c4ba6faa80b9a6e6fbd6989865e8eb80b96 + languageName: node + linkType: hard + "node-gyp@npm:latest": version: 10.1.0 resolution: "node-gyp@npm:10.1.0" @@ -11962,13 +12684,6 @@ __metadata: languageName: node linkType: hard -"node-stream-zip@npm:^1.9.1": - version: 1.15.0 - resolution: "node-stream-zip@npm:1.15.0" - checksum: 0b73ffbb09490e479c8f47038d7cba803e6242618fbc1b71c26782009d388742ed6fb5ce6e9d31f528b410249e7eb1c6e7534e9d3792a0cafd99813ac5a35107 - languageName: node - linkType: hard - "nopt@npm:^7.0.0": version: 7.2.0 resolution: "nopt@npm:7.2.0" @@ -11998,6 +12713,18 @@ __metadata: languageName: node linkType: hard +"npm-package-arg@npm:^11.0.0": + version: 11.0.3 + resolution: "npm-package-arg@npm:11.0.3" + dependencies: + hosted-git-info: ^7.0.0 + proc-log: ^4.0.0 + semver: ^7.3.5 + validate-npm-package-name: ^5.0.0 + checksum: cc6f22c39201aa14dcceeddb81bfbf7fa0484f94bcd2b3ad038e18afec5167c843cdde90c897f6034dc368faa0100c1eeee6e3f436a89e0af32ba932af4a8c28 + languageName: node + linkType: hard + "npm-run-path@npm:^4.0.1": version: 4.0.1 resolution: "npm-run-path@npm:4.0.1" @@ -12029,12 +12756,21 @@ __metadata: languageName: node linkType: hard -"ob1@npm:0.83.3": - version: 0.83.3 - resolution: "ob1@npm:0.83.3" +"ob1@npm:0.84.5": + version: 0.84.5 + resolution: "ob1@npm:0.84.5" dependencies: flow-enums-runtime: ^0.0.6 - checksum: 20dfe91d48d0cadd97159cfd53f5abdca435b55d58b1f562e0687485e8f44f8a95e8ab3c835badd13d0d8c01e3d7b14d639a316aa4bf82841ac78b49611d4e5c + checksum: 7a0389c584b1068486d945e0300deef5f5732207aaec3666c1381aaa3ae1845210bb7eeb6aef61aae8c1eaa4231a7e393563d114a2cb6185d54bbaf619b65b2c + languageName: node + linkType: hard + +"ob1@npm:0.84.6": + version: 0.84.6 + resolution: "ob1@npm:0.84.6" + dependencies: + flow-enums-runtime: ^0.0.6 + checksum: 2ecb61faad2fa2520936a93da50897da917d49d722474bc1b00c0d01ea011254f24b169530861649cd90dc916030408e5221c45081a87381db782c1869c106f7 languageName: node linkType: hard @@ -12052,13 +12788,6 @@ __metadata: languageName: node linkType: hard -"object-inspect@npm:^1.13.3": - version: 1.13.4 - resolution: "object-inspect@npm:1.13.4" - checksum: 582810c6a8d2ef988ea0a39e69e115a138dad8f42dd445383b394877e5816eb4268489f316a6f74ee9c4e0a984b3eab1028e3e79d62b1ed67c726661d55c7a8b - languageName: node - linkType: hard - "object-keys@npm:^1.1.1": version: 1.1.1 resolution: "object-keys@npm:1.1.1" @@ -12130,7 +12859,7 @@ __metadata: languageName: node linkType: hard -"on-finished@npm:2.4.1, on-finished@npm:^2.4.1": +"on-finished@npm:2.4.1, on-finished@npm:~2.4.1": version: 2.4.1 resolution: "on-finished@npm:2.4.1" dependencies: @@ -12148,10 +12877,10 @@ __metadata: languageName: node linkType: hard -"on-headers@npm:~1.0.2": - version: 1.0.2 - resolution: "on-headers@npm:1.0.2" - checksum: 2bf13467215d1e540a62a75021e8b318a6cfc5d4fc53af8e8f84ad98dbcea02d506c6d24180cd62e1d769c44721ba542f3154effc1f7579a8288c9f7873ed8e5 +"on-headers@npm:~1.1.0": + version: 1.1.0 + resolution: "on-headers@npm:1.1.0" + checksum: 98aa64629f986fb8cc4517dd8bede73c980e31208cba97f4442c330959f60ced3dc6214b83420491f5111fc7c4f4343abe2ea62c85f505cf041d67850f238776 languageName: node linkType: hard @@ -12164,7 +12893,16 @@ __metadata: languageName: node linkType: hard -"onetime@npm:^5.1.0, onetime@npm:^5.1.2": +"onetime@npm:^2.0.0": + version: 2.0.1 + resolution: "onetime@npm:2.0.1" + dependencies: + mimic-fn: ^1.0.0 + checksum: bb44015ac7a525d0fb43b029a583d4ad359834632b4424ca209b438aacf6d669dda81b5edfbdb42c22636e607b276ba5589f46694a729e3bc27948ce26f4cc1a + languageName: node + linkType: hard + +"onetime@npm:^5.1.2": version: 5.1.2 resolution: "onetime@npm:5.1.2" dependencies: @@ -12196,15 +12934,6 @@ __metadata: languageName: node linkType: hard -"open@npm:^6.2.0": - version: 6.4.0 - resolution: "open@npm:6.4.0" - dependencies: - is-wsl: ^1.1.0 - checksum: e5037facf3e03ed777537db3e2511ada37f351c4394e1dadccf9cac11d63b28447ae8b495b7b138659910fd78d918bafed546e47163673c4a4e43dbb5ac53c5d - languageName: node - linkType: hard - "open@npm:^7.0.3": version: 7.4.2 resolution: "open@npm:7.4.2" @@ -12245,20 +12974,17 @@ __metadata: languageName: node linkType: hard -"ora@npm:^5.4.1": - version: 5.4.1 - resolution: "ora@npm:5.4.1" - dependencies: - bl: ^4.1.0 - chalk: ^4.1.0 - cli-cursor: ^3.1.0 - cli-spinners: ^2.5.0 - is-interactive: ^1.0.0 - is-unicode-supported: ^0.1.0 - log-symbols: ^4.1.0 - strip-ansi: ^6.0.0 +"ora@npm:^3.4.0": + version: 3.4.0 + resolution: "ora@npm:3.4.0" + dependencies: + chalk: ^2.4.2 + cli-cursor: ^2.1.0 + cli-spinners: ^2.0.0 + log-symbols: ^2.2.0 + strip-ansi: ^5.2.0 wcwidth: ^1.0.1 - checksum: 28d476ee6c1049d68368c0dc922e7225e3b5600c3ede88fade8052837f9ed342625fdaa84a6209302587c8ddd9b664f71f0759833cbdb3a4cf81344057e63c63 + checksum: f1f8e7f290b766276dcd19ddf2159a1971b1ec37eec4a5556b8f5e4afbe513a965ed65c183d38956724263b6a20989b3d8fb71b95ac4a2d6a01db2f1ed8899e4 languageName: node linkType: hard @@ -12396,6 +13122,15 @@ __metadata: languageName: node linkType: hard +"parse-png@npm:^2.1.0": + version: 2.1.0 + resolution: "parse-png@npm:2.1.0" + dependencies: + pngjs: ^3.3.0 + checksum: 0c6b6c42c8830cd16f6f9e9aedafd53111c0ad2ff350ba79c629996887567558f5639ad0c95764f96f7acd1f9ff63d4ac73737e80efa3911a6de9839ee520c96 + languageName: node + linkType: hard + "parse-url@npm:^9.2.0": version: 9.2.0 resolution: "parse-url@npm:9.2.0" @@ -12427,13 +13162,6 @@ __metadata: languageName: node linkType: hard -"path-expression-matcher@npm:^1.1.3, path-expression-matcher@npm:^1.5.0": - version: 1.5.0 - resolution: "path-expression-matcher@npm:1.5.0" - checksum: 52f0491a88f728f2eefb83a5c4f84f1185a8572e34ba41a72f88e270d5796c966ec1fe78e978599c490ccac0656a4cc55d75485538393873d32a4ef096a8dda6 - languageName: node - linkType: hard - "path-is-absolute@npm:^1.0.0": version: 1.0.1 resolution: "path-is-absolute@npm:1.0.1" @@ -12575,6 +13303,24 @@ __metadata: languageName: node linkType: hard +"plist@npm:^3.0.5": + version: 3.1.1 + resolution: "plist@npm:3.1.1" + dependencies: + "@xmldom/xmldom": ^0.9.10 + base64-js: ^1.5.1 + xmlbuilder: ^15.1.1 + checksum: 775b2befb6df97b145193e5c241dc63929c58c89673eebc51e06b4b5b3403d15d921140278644ddf6f51a6936d46450d35903a84fc4cba071c46d9c33141817d + languageName: node + linkType: hard + +"pngjs@npm:^3.3.0": + version: 3.4.0 + resolution: "pngjs@npm:3.4.0" + checksum: 8bd40bd698abd16b72c97b85cb858c80894fbedc76277ce72a784aa441e14795d45d9856e97333ca469b34b67528860ffc8a7317ca6beea349b645366df00bcd + languageName: node + linkType: hard + "possible-typed-array-names@npm:^1.0.0": version: 1.0.0 resolution: "possible-typed-array-names@npm:1.0.0" @@ -12582,6 +13328,17 @@ __metadata: languageName: node linkType: hard +"postcss@npm:^8.5.14": + version: 8.5.28 + resolution: "postcss@npm:8.5.28" + dependencies: + nanoid: ^3.3.18 + picocolors: ^1.1.1 + source-map-js: ^1.2.1 + checksum: 914a3a7af573aa2b672c0e286e0c7665a0e8c7e7a2370a0247c4531c189559e1909bac90d973bc2ff0ab64173780ec7ccde28be20298c887d16ed65d95098f6a + languageName: node + linkType: hard + "powershell-utils@npm:^0.1.0": version: 0.1.0 resolution: "powershell-utils@npm:0.1.0" @@ -12658,6 +13415,20 @@ __metadata: languageName: node linkType: hard +"proc-log@npm:^4.0.0": + version: 4.2.0 + resolution: "proc-log@npm:4.2.0" + checksum: 98f6cd012d54b5334144c5255ecb941ee171744f45fca8b43b58ae5a0c1af07352475f481cadd9848e7f0250376ee584f6aa0951a856ff8f021bdfbff4eb33fc + languageName: node + linkType: hard + +"progress@npm:^2.0.3": + version: 2.0.3 + resolution: "progress@npm:2.0.3" + checksum: f67403fe7b34912148d9252cb7481266a354bd99ce82c835f79070643bb3c6583d10dbcfda4d41e04bbc1d8437e9af0fb1e1f2135727878f5308682a579429b7 + languageName: node + linkType: hard + "promise-retry@npm:^2.0.1": version: 2.0.1 resolution: "promise-retry@npm:2.0.1" @@ -12677,7 +13448,7 @@ __metadata: languageName: node linkType: hard -"prompts@npm:^2.4.2": +"prompts@npm:^2.3.2, prompts@npm:^2.4.2": version: 2.4.2 resolution: "prompts@npm:2.4.2" dependencies: @@ -12742,15 +13513,6 @@ __metadata: languageName: node linkType: hard -"qs@npm:^6.14.1": - version: 6.15.1 - resolution: "qs@npm:6.15.1" - dependencies: - side-channel: ^1.1.0 - checksum: 777eb585b886ebf5c8e499a736c64505748169e6fa0ef1409f351986837f64aebb7b9b06bcf469e2b9b508d760515ed0d2089a7ae8334feea0ec0caebc08f9f6 - languageName: node - linkType: hard - "queue-microtask@npm:^1.2.2": version: 1.2.3 resolution: "queue-microtask@npm:1.2.3" @@ -12758,15 +13520,6 @@ __metadata: languageName: node linkType: hard -"queue@npm:6.0.2": - version: 6.0.2 - resolution: "queue@npm:6.0.2" - dependencies: - inherits: ~2.0.3 - checksum: ebc23639248e4fe40a789f713c20548e513e053b3dc4924b6cb0ad741e3f264dcff948225c8737834dd4f9ec286dbc06a1a7c13858ea382d9379f4303bcc0916 - languageName: node - linkType: hard - "quickjs-wasi@npm:^0.0.1": version: 0.0.1 resolution: "quickjs-wasi@npm:0.0.1" @@ -12781,18 +13534,6 @@ __metadata: languageName: node linkType: hard -"raw-body@npm:^3.0.1": - version: 3.0.2 - resolution: "raw-body@npm:3.0.2" - dependencies: - bytes: ~3.1.2 - http-errors: ~2.0.1 - iconv-lite: ~0.7.0 - unpipe: ~1.0.0 - checksum: bf8ce8e9734f273f24d81f9fed35609dbd25c2869faa5fb5075f7ee225c0913e2240adda03759d7e72f2a757f8012d58bb7a871a80261d5140ad65844caeb5bd - languageName: node - linkType: hard - "rc9@npm:^2.1.2": version: 2.1.2 resolution: "rc9@npm:2.1.2" @@ -12883,22 +13624,20 @@ __metadata: version: 0.0.0-use.local resolution: "react-native-zstd-example@workspace:example" dependencies: - "@babel/core": ^7.25.2 + "@babel/core": ^7.29.0 "@babel/preset-env": ^7.25.3 "@babel/runtime": ^7.25.0 - "@react-native-community/cli": 20.1.3 - "@react-native-community/cli-platform-android": 20.1.3 - "@react-native-community/cli-platform-ios": 20.1.3 - "@react-native/babel-preset": 0.84.1 - "@react-native/metro-config": 0.84.1 - "@react-native/typescript-config": 0.84.1 "@types/react": ^19.2.18 + babel-preset-expo: ~57.0.10 buffer: ^6.0.3 - react: 19.2.8 - react-native: 0.84.1 + expo: ~57.0.20 + expo-dev-client: ~57.0.0 + react: 19.2.3 + react-native: 0.86.3 react-native-builder-bob: ^0.43.0 react-native-monorepo-config: ^0.4.0 react-native-nitro-modules: ^0.35.10 + react-refresh: ^0.14.2 languageName: unknown linkType: soft @@ -12910,8 +13649,9 @@ __metadata: "@eslint/compat": ^2.1.1 "@eslint/eslintrc": ^3.3.7 "@eslint/js": ^9.39.5 - "@react-native/babel-preset": 0.84.1 + "@react-native/babel-preset": 0.86.3 "@react-native/eslint-config": 0.84.1 + "@react-native/jest-preset": 0.86.3 "@release-it/conventional-changelog": 11.0.1 "@types/jest": ^30.0.0 "@types/react": ^19.2.18 @@ -12920,13 +13660,14 @@ __metadata: del-cli: ^7.0.0 eslint: ^9.39.5 eslint-config-prettier: ^10.1.8 + eslint-plugin-ft-flow: ^3.0.11 eslint-plugin-prettier: ^5.5.6 jest: ^30.5.1 lefthook: ^2.1.12 nitrogen: ^0.35.10 prettier: ^3.9.6 - react: 19.2.8 - react-native: 0.84.1 + react: 19.2.3 + react-native: 0.86.3 react-native-builder-bob: ^0.43.0 react-native-nitro-modules: ^0.35.10 release-it: ^20.2.1 @@ -12939,32 +13680,29 @@ __metadata: languageName: unknown linkType: soft -"react-native@npm:0.84.1": - version: 0.84.1 - resolution: "react-native@npm:0.84.1" - dependencies: - "@jest/create-cache-key-function": ^29.7.0 - "@react-native/assets-registry": 0.84.1 - "@react-native/codegen": 0.84.1 - "@react-native/community-cli-plugin": 0.84.1 - "@react-native/gradle-plugin": 0.84.1 - "@react-native/js-polyfills": 0.84.1 - "@react-native/normalize-colors": 0.84.1 - "@react-native/virtualized-lists": 0.84.1 +"react-native@npm:0.86.3": + version: 0.86.3 + resolution: "react-native@npm:0.86.3" + dependencies: + "@react-native/assets-registry": 0.86.3 + "@react-native/codegen": 0.86.3 + "@react-native/community-cli-plugin": 0.86.3 + "@react-native/gradle-plugin": 0.86.3 + "@react-native/js-polyfills": 0.86.3 + "@react-native/normalize-colors": 0.86.3 + "@react-native/virtualized-lists": 0.86.3 abort-controller: ^3.0.0 anser: ^1.4.9 ansi-regex: ^5.0.0 - babel-jest: ^29.7.0 - babel-plugin-syntax-hermes-parser: 0.32.0 + babel-plugin-syntax-hermes-parser: 0.36.0 base64-js: ^1.5.1 commander: ^12.0.0 flow-enums-runtime: ^0.0.6 - hermes-compiler: 250829098.0.9 + hermes-compiler: 250829098.0.17 invariant: ^2.2.4 - jest-environment-node: ^29.7.0 memoize-one: ^5.0.0 - metro-runtime: ^0.83.3 - metro-source-map: ^0.83.3 + metro-runtime: ^0.84.3 + metro-source-map: ^0.84.3 nullthrows: ^1.1.1 pretty-format: ^29.7.0 promise: ^8.3.0 @@ -12979,14 +13717,17 @@ __metadata: ws: ^7.5.10 yargs: ^17.6.2 peerDependencies: + "@react-native/jest-preset": 0.86.3 "@types/react": ^19.1.1 react: ^19.2.3 peerDependenciesMeta: + "@react-native/jest-preset": + optional: true "@types/react": optional: true bin: react-native: cli.js - checksum: 0364b29ac2f0d29f4a6d0b612c87d0e2378b1cd86275c1260c3a49156515fe6f2458c0bd222689242827bca5d6f5ad5012f610d805dadc6191feb21cafed348e + checksum: 7ffb770981f233acd12477ff52d4be73285863eb3d91b76d84fcc8fdb71ce3a68bea17206119b40d524e76fbc93fdc0b4660f97b67e8dbdd65a94204e6b018e7 languageName: node linkType: hard @@ -12997,14 +13738,21 @@ __metadata: languageName: node linkType: hard -"react@npm:19.2.8": - version: 19.2.8 - resolution: "react@npm:19.2.8" - checksum: cdedb4786eb3eb79c8fbaa6df299de61ecd9e1cd4c7cd52213b5af7a98c67d532fd6b14b9d546ae5851f3962437aec22ad17ee6e8e0450de11c595300c5e5bd7 +"react-refresh@npm:^0.14.2": + version: 0.14.2 + resolution: "react-refresh@npm:0.14.2" + checksum: d80db4bd40a36dab79010dc8aa317a5b931f960c0d83c4f3b81f0552cbcf7f29e115b84bb7908ec6a1eb67720fff7023084eff73ece8a7ddc694882478464382 + languageName: node + linkType: hard + +"react@npm:19.2.3": + version: 19.2.3 + resolution: "react@npm:19.2.3" + checksum: 506e369ae13cb46b7f303c0201aadf856642f482cdf5b1c3730c3a6d1762fd5a3ae1dd31196a4686bfbbe56456dcd0c48a4656c75cbcb45620e3028c54789ae9 languageName: node linkType: hard -"readable-stream@npm:^3.0.2, readable-stream@npm:^3.4.0": +"readable-stream@npm:^3.0.2": version: 3.6.2 resolution: "readable-stream@npm:3.6.2" dependencies: @@ -13235,13 +13983,6 @@ __metadata: languageName: node linkType: hard -"require-main-filename@npm:^2.0.0": - version: 2.0.0 - resolution: "require-main-filename@npm:2.0.0" - checksum: e9e294695fea08b076457e9ddff854e81bffbe248ed34c1eec348b7abbd22a0d02e8d75506559e2265e96978f3c4720bd77a6dad84755de8162b357eb6c778c7 - languageName: node - linkType: hard - "resolve-cwd@npm:^3.0.0": version: 3.0.0 resolution: "resolve-cwd@npm:3.0.0" @@ -13265,6 +14006,13 @@ __metadata: languageName: node linkType: hard +"resolve-workspace-root@npm:^2.0.0": + version: 2.0.1 + resolution: "resolve-workspace-root@npm:2.0.1" + checksum: 9f5d627d4565b7b4335b238e2ce7f7954caa8c2503c70289252998edef5f850f9b3d6811365f9501d9255ea092c849c05d8ba320023a2591d545ecb8e167e3ab + languageName: node + linkType: hard + "resolve@npm:^1.14.2": version: 1.22.8 resolution: "resolve@npm:1.22.8" @@ -13345,13 +14093,13 @@ __metadata: languageName: node linkType: hard -"restore-cursor@npm:^3.1.0": - version: 3.1.0 - resolution: "restore-cursor@npm:3.1.0" +"restore-cursor@npm:^2.0.0": + version: 2.0.0 + resolution: "restore-cursor@npm:2.0.0" dependencies: - onetime: ^5.1.0 + onetime: ^2.0.0 signal-exit: ^3.0.2 - checksum: f877dd8741796b909f2a82454ec111afb84eb45890eb49ac947d87991379406b3b83ff9673a46012fca0d7844bb989f45cc5b788254cf1a39b6b5a9659de0630 + checksum: 482e13d02d834b6e5e3aa90304a8b5e840775d6f06916cc92a50038adf9f098dcc72405b567da8a37e137ae40ad3e31896fa3136ae62f7a426c2fbf53d036536 languageName: node linkType: hard @@ -13386,17 +14134,6 @@ __metadata: languageName: node linkType: hard -"rimraf@npm:^3.0.2": - version: 3.0.2 - resolution: "rimraf@npm:3.0.2" - dependencies: - glob: ^7.1.3 - bin: - rimraf: bin.js - checksum: 87f4164e396f0171b0a3386cc1877a817f572148ee13a7e113b238e48e8a9f2f31d009a92ec38a591ff1567d9662c6b67fd8818a2dbbaed74bc26a87a2a4a9a0 - languageName: node - linkType: hard - "run-applescript@npm:^7.0.0": version: 7.0.0 resolution: "run-applescript@npm:7.0.0" @@ -13425,14 +14162,7 @@ __metadata: languageName: node linkType: hard -"safe-buffer@npm:5.1.2": - version: 5.1.2 - resolution: "safe-buffer@npm:5.1.2" - checksum: f2f1f7943ca44a594893a852894055cf619c1fbcb611237fc39e461ae751187e7baf4dc391a72125e0ac4fb2d8c5c0b3c71529622e6a58f46b960211e704903c - languageName: node - linkType: hard - -"safe-buffer@npm:~5.2.0": +"safe-buffer@npm:5.2.1, safe-buffer@npm:~5.2.0": version: 5.2.1 resolution: "safe-buffer@npm:5.2.1" checksum: b99c4b41fdd67a6aaf280fcd05e9ffb0813654894223afb78a31f14a19ad220bba8aba1cb14eddce1fcfb037155fe6de4e861784eb434f7d11ed58d1e70dd491 @@ -13457,6 +14187,22 @@ __metadata: languageName: node linkType: hard +"sandbox-cli-detector@npm:^0.2.0": + version: 0.2.0 + resolution: "sandbox-cli-detector@npm:0.2.0" + bin: + sandbox-cli-detector: dist/cli.js + checksum: 900b3f5ddccadaf0d9c49d8aaa1074b2ff43b8c2b9648b82453a55eb1322a46d011077404af71e490ef807a9b7686b2b33d3cc1341a0b69f45c667e39cd8de7e + languageName: node + linkType: hard + +"sax@npm:>=0.6.0": + version: 1.6.1 + resolution: "sax@npm:1.6.1" + checksum: be78ded08c77db1644a8d32c93266615f51b925c8b6b6f3f689aed10eae57f307f8fbd7bcbf502041903edcfec17ea7d07c7bb4960e076faa92fc6773b621f2a + languageName: node + linkType: hard + "scheduler@npm:0.27.0": version: 0.27.0 resolution: "scheduler@npm:0.27.0" @@ -13511,9 +14257,9 @@ __metadata: languageName: node linkType: hard -"send@npm:0.18.0": - version: 0.18.0 - resolution: "send@npm:0.18.0" +"send@npm:0.19.0": + version: 0.19.0 + resolution: "send@npm:0.19.0" dependencies: debug: 2.6.9 depd: 2.0.0 @@ -13528,28 +14274,28 @@ __metadata: on-finished: 2.4.1 range-parser: ~1.2.1 statuses: 2.0.1 - checksum: 74fc07ebb58566b87b078ec63e5a3e41ecd987e4272ba67b7467e86c6ad51bc6b0b0154133b6d8b08a2ddda360464f71382f7ef864700f34844a76c8027817a8 + checksum: 5ae11bd900c1c2575525e2aa622e856804e2f96a09281ec1e39610d089f53aa69e13fd8db84b52f001d0318cf4bb0b3b904ad532fc4c0014eb90d32db0cff55f languageName: node linkType: hard -"send@npm:0.19.0": - version: 0.19.0 - resolution: "send@npm:0.19.0" +"send@npm:^0.19.0": + version: 0.19.2 + resolution: "send@npm:0.19.2" dependencies: debug: 2.6.9 depd: 2.0.0 destroy: 1.2.0 - encodeurl: ~1.0.2 + encodeurl: ~2.0.0 escape-html: ~1.0.3 etag: ~1.8.1 - fresh: 0.5.2 - http-errors: 2.0.0 + fresh: ~0.5.2 + http-errors: ~2.0.1 mime: 1.6.0 ms: 2.1.3 - on-finished: 2.4.1 + on-finished: ~2.4.1 range-parser: ~1.2.1 - statuses: 2.0.1 - checksum: 5ae11bd900c1c2575525e2aa622e856804e2f96a09281ec1e39610d089f53aa69e13fd8db84b52f001d0318cf4bb0b3b904ad532fc4c0014eb90d32db0cff55f + statuses: ~2.0.2 + checksum: f9e11b718b48dbea72daa6a80e36e5a00fb6d01b1a6cfda8b3135c9ca9db84257738283da23371f437148ccd8f400e6171cd2a3642fb43fda462da407d9d30c0 languageName: node linkType: hard @@ -13560,18 +14306,6 @@ __metadata: languageName: node linkType: hard -"serve-static@npm:^1.13.1": - version: 1.15.0 - resolution: "serve-static@npm:1.15.0" - dependencies: - encodeurl: ~1.0.2 - escape-html: ~1.0.3 - parseurl: ~1.3.3 - send: 0.18.0 - checksum: af57fc13be40d90a12562e98c0b7855cf6e8bd4c107fe9a45c212bf023058d54a1871b1c89511c3958f70626fff47faeb795f5d83f8cf88514dbaeb2b724464d - languageName: node - linkType: hard - "serve-static@npm:^1.16.2": version: 1.16.2 resolution: "serve-static@npm:1.16.2" @@ -13584,13 +14318,6 @@ __metadata: languageName: node linkType: hard -"set-blocking@npm:^2.0.0": - version: 2.0.0 - resolution: "set-blocking@npm:2.0.0" - checksum: 6e65a05f7cf7ebdf8b7c75b101e18c0b7e3dff4940d480efed8aad3a36a4005140b660fa1d804cb8bce911cac290441dc728084a30504d3516ac2ff7ad607b02 - languageName: node - linkType: hard - "set-function-length@npm:^1.2.1": version: 1.2.2 resolution: "set-function-length@npm:1.2.2" @@ -13647,48 +14374,6 @@ __metadata: languageName: node linkType: hard -"shell-quote@npm:^1.8.3": - version: 1.8.3 - resolution: "shell-quote@npm:1.8.3" - checksum: 550dd84e677f8915eb013d43689c80bb114860649ec5298eb978f40b8f3d4bc4ccb072b82c094eb3548dc587144bb3965a8676f0d685c1cf4c40b5dc27166242 - languageName: node - linkType: hard - -"side-channel-list@npm:^1.0.0": - version: 1.0.0 - resolution: "side-channel-list@npm:1.0.0" - dependencies: - es-errors: ^1.3.0 - object-inspect: ^1.13.3 - checksum: 603b928997abd21c5a5f02ae6b9cc36b72e3176ad6827fab0417ead74580cc4fb4d5c7d0a8a2ff4ead34d0f9e35701ed7a41853dac8a6d1a664fcce1a044f86f - languageName: node - linkType: hard - -"side-channel-map@npm:^1.0.1": - version: 1.0.1 - resolution: "side-channel-map@npm:1.0.1" - dependencies: - call-bound: ^1.0.2 - es-errors: ^1.3.0 - get-intrinsic: ^1.2.5 - object-inspect: ^1.13.3 - checksum: 42501371cdf71f4ccbbc9c9e2eb00aaaab80a4c1c429d5e8da713fd4d39ef3b8d4a4b37ed4f275798a65260a551a7131fd87fe67e922dba4ac18586d6aab8b06 - languageName: node - linkType: hard - -"side-channel-weakmap@npm:^1.0.2": - version: 1.0.2 - resolution: "side-channel-weakmap@npm:1.0.2" - dependencies: - call-bound: ^1.0.2 - es-errors: ^1.3.0 - get-intrinsic: ^1.2.5 - object-inspect: ^1.13.3 - side-channel-map: ^1.0.1 - checksum: a815c89bc78c5723c714ea1a77c938377ea710af20d4fb886d362b0d1f8ac73a17816a5f6640f354017d7e292a43da9c5e876c22145bac00b76cfb3468001736 - languageName: node - linkType: hard - "side-channel@npm:^1.0.4, side-channel@npm:^1.0.6": version: 1.0.6 resolution: "side-channel@npm:1.0.6" @@ -13701,19 +14386,6 @@ __metadata: languageName: node linkType: hard -"side-channel@npm:^1.1.0": - version: 1.1.0 - resolution: "side-channel@npm:1.1.0" - dependencies: - es-errors: ^1.3.0 - object-inspect: ^1.13.3 - side-channel-list: ^1.0.0 - side-channel-map: ^1.0.1 - side-channel-weakmap: ^1.0.2 - checksum: bf73d6d6682034603eb8e99c63b50155017ed78a522d27c2acec0388a792c3ede3238b878b953a08157093b85d05797217d270b7666ba1f111345fbe933380ff - languageName: node - linkType: hard - "signal-exit@npm:^3.0.2, signal-exit@npm:^3.0.3, signal-exit@npm:^3.0.7": version: 3.0.7 resolution: "signal-exit@npm:3.0.7" @@ -13728,6 +14400,17 @@ __metadata: languageName: node linkType: hard +"simple-plist@npm:^1.1.0": + version: 1.4.0 + resolution: "simple-plist@npm:1.4.0" + dependencies: + bplist-creator: 0.1.1 + bplist-parser: 0.3.2 + plist: ^3.0.5 + checksum: fa8086f6b781c289f1abad21306481dda4af6373b32a5d998a70e53c2b7218a1d21ebb5ae3e736baae704c21d311d3d39d01d0e6a2387eda01b4020b9ebd909e + languageName: node + linkType: hard + "sisteransi@npm:^1.0.5": version: 1.0.5 resolution: "sisteransi@npm:1.0.5" @@ -13749,14 +14432,10 @@ __metadata: languageName: node linkType: hard -"slice-ansi@npm:^2.0.0": - version: 2.1.0 - resolution: "slice-ansi@npm:2.1.0" - dependencies: - ansi-styles: ^3.2.0 - astral-regex: ^1.0.0 - is-fullwidth-code-point: ^2.0.0 - checksum: 4e82995aa59cef7eb03ef232d73c2239a15efa0ace87a01f3012ebb942e963fbb05d448ce7391efcd52ab9c32724164aba2086f5143e0445c969221dde3b6b1e +"slugify@npm:^1.3.4, slugify@npm:^1.6.6": + version: 1.6.9 + resolution: "slugify@npm:1.6.9" + checksum: ace83853caefa3a3284c9e66cc85175ec8420ba60fbab75b996c4077d6187a98443f59fffee170f5e0ed448d238fae4653f6afae29b046a1eb029359033e2fb6 languageName: node linkType: hard @@ -13809,6 +14488,13 @@ __metadata: languageName: node linkType: hard +"source-map-js@npm:^1.2.1": + version: 1.2.1 + resolution: "source-map-js@npm:1.2.1" + checksum: 4eb0cd997cdf228bc253bcaff9340afeb706176e64868ecd20efbe6efea931465f43955612346d6b7318789e5265bdc419bc7669c1cebe3db0eb255f57efa76b + languageName: node + linkType: hard + "source-map-support@npm:~0.5.20": version: 0.5.21 resolution: "source-map-support@npm:0.5.21" @@ -13943,10 +14629,10 @@ __metadata: languageName: node linkType: hard -"strict-url-sanitise@npm:0.0.1": - version: 0.0.1 - resolution: "strict-url-sanitise@npm:0.0.1" - checksum: 96d2e6d18c7b2efaabd547ec570a9a74f3a9ebcf973c8c0d1dceb06db30a52ea06341ea708360613f194f8a1cc644f8149c315196a0cec6b054a5a84742acf13 +"stream-buffers@npm:2.2.x": + version: 2.2.0 + resolution: "stream-buffers@npm:2.2.0" + checksum: 4587d9e8f050d689fb38b4295e73408401b16de8edecc12026c6f4ae92956705ecfd995ae3845d7fa3ebf19502d5754df9143d91447fd881d86e518f43882c1c languageName: node linkType: hard @@ -14082,7 +14768,7 @@ __metadata: languageName: node linkType: hard -"strip-ansi@npm:^5.0.0": +"strip-ansi@npm:^5.2.0": version: 5.2.0 resolution: "strip-ansi@npm:5.2.0" dependencies: @@ -14121,10 +14807,10 @@ __metadata: languageName: node linkType: hard -"strnum@npm:^2.2.3": - version: 2.2.3 - resolution: "strnum@npm:2.2.3" - checksum: e8deb0dd6f40e4a878bdd4404bdfdd47922665fcaaf27f2b345013b30d45d86f4b93d99cbc005bfb7c96edef6173369bd76a9df40bb7758850b7864075a28156 +"structured-headers@npm:^0.4.1": + version: 0.4.1 + resolution: "structured-headers@npm:0.4.1" + checksum: 2f3073b2c8b4f2515367a1647ba0b6764ce6d35b3943605940de41077c2afd2513257f4bf6fbfd67a3455f25a3e844905da6fddde6b6ad7974256495311a25a3 languageName: node linkType: hard @@ -14137,7 +14823,7 @@ __metadata: languageName: node linkType: hard -"supports-color@npm:^7.1.0": +"supports-color@npm:^7.0.0, supports-color@npm:^7.1.0": version: 7.2.0 resolution: "supports-color@npm:7.2.0" dependencies: @@ -14155,6 +14841,16 @@ __metadata: languageName: node linkType: hard +"supports-hyperlinks@npm:^2.0.0": + version: 2.3.0 + resolution: "supports-hyperlinks@npm:2.3.0" + dependencies: + has-flag: ^4.0.0 + supports-color: ^7.0.0 + checksum: 9ee0de3c8ce919d453511b2b1588a8205bd429d98af94a01df87411391010fe22ca463f268c84b2ce2abad019dfff8452aa02806eeb5c905a8d7ad5c4f4c52b8 + languageName: node + linkType: hard + "supports-preserve-symlinks-flag@npm:^1.0.0": version: 1.0.0 resolution: "supports-preserve-symlinks-flag@npm:1.0.0" @@ -14185,6 +14881,16 @@ __metadata: languageName: node linkType: hard +"terminal-link@npm:^2.1.1": + version: 2.1.1 + resolution: "terminal-link@npm:2.1.1" + dependencies: + ansi-escapes: ^4.2.1 + supports-hyperlinks: ^2.0.0 + checksum: ce3d2cd3a438c4a9453947aa664581519173ea40e77e2534d08c088ee6dda449eabdbe0a76d2a516b8b73c33262fedd10d5270ccf7576ae316e3db170ce6562f + languageName: node + linkType: hard + "terser@npm:^5.15.0": version: 5.30.1 resolution: "terser@npm:5.30.1" @@ -14275,6 +14981,13 @@ __metadata: languageName: node linkType: hard +"toqr@npm:^0.1.1": + version: 0.1.1 + resolution: "toqr@npm:0.1.1" + checksum: 78f2ae2affcaf4c7352560a262fa873ca956d60d05c1592ce0937f5725093f1dd82d227b678f5af1f1088f2b79b28a2a73ccaad1c3b7bdae1652637fbc05749d + languageName: node + linkType: hard + "ts-api-utils@npm:^2.2.0": version: 2.3.0 resolution: "ts-api-utils@npm:2.3.0" @@ -14374,17 +15087,6 @@ __metadata: languageName: node linkType: hard -"type-is@npm:^2.0.1": - version: 2.0.1 - resolution: "type-is@npm:2.0.1" - dependencies: - content-type: ^1.0.5 - media-typer: ^1.1.0 - mime-types: ^3.0.0 - checksum: 0266e7c782238128292e8c45e60037174d48c6366bb2d45e6bd6422b611c193f83409a8341518b6b5f33f8e4d5a959f38658cacfea77f0a3505b9f7ac1ddec8f - languageName: node - linkType: hard - "typed-array-buffer@npm:^1.0.2": version: 1.0.2 resolution: "typed-array-buffer@npm:1.0.2" @@ -14596,13 +15298,6 @@ __metadata: languageName: node linkType: hard -"universalify@npm:^0.1.0": - version: 0.1.2 - resolution: "universalify@npm:0.1.2" - checksum: 40cdc60f6e61070fe658ca36016a8f4ec216b29bf04a55dce14e3710cc84c7448538ef4dad3728d0bfe29975ccd7bfb5f414c45e7b78883567fb31b246f02dff - languageName: node - linkType: hard - "universalify@npm:^2.0.0": version: 2.0.1 resolution: "universalify@npm:2.0.1" @@ -14765,6 +15460,15 @@ __metadata: languageName: node linkType: hard +"uuid@npm:^7.0.3": + version: 7.0.3 + resolution: "uuid@npm:7.0.3" + bin: + uuid: dist/bin/uuid + checksum: f5b7b5cc28accac68d5c083fd51cca64896639ebd4cca88c6cfb363801aaa83aa439c86dfc8446ea250a7a98d17afd2ad9e88d9d4958c79a412eccb93bae29de + languageName: node + linkType: hard + "v8-to-istanbul@npm:^9.0.1": version: 9.2.0 resolution: "v8-to-istanbul@npm:9.2.0" @@ -14786,6 +15490,13 @@ __metadata: languageName: node linkType: hard +"validate-npm-package-name@npm:^5.0.0": + version: 5.0.1 + resolution: "validate-npm-package-name@npm:5.0.1" + checksum: 0d583a1af23aeffea7748742cf22b6802458736fb8b60323ba5949763824d46f796474b0e1b9206beb716f9d75269e19dbd7795d6b038b29d561be95dd827381 + languageName: node + linkType: hard + "vary@npm:~1.1.2": version: 1.1.2 resolution: "vary@npm:1.1.2" @@ -14832,6 +15543,13 @@ __metadata: languageName: node linkType: hard +"whatwg-url-minimum@npm:^0.1.2": + version: 0.1.2 + resolution: "whatwg-url-minimum@npm:0.1.2" + checksum: 31a92ddf3c20b77ca85a253cd54e1bf85e0ddf8f01cccc031c38164415ab383b95000f89d1edc338316dc73cab2a758f1cf39fe41f2b0a0b79d3301badd59e8e + languageName: node + linkType: hard + "which-boxed-primitive@npm:^1.0.2": version: 1.0.2 resolution: "which-boxed-primitive@npm:1.0.2" @@ -14877,13 +15595,6 @@ __metadata: languageName: node linkType: hard -"which-module@npm:^2.0.0": - version: 2.0.1 - resolution: "which-module@npm:2.0.1" - checksum: 1967b7ce17a2485544a4fdd9063599f0f773959cca24176dbe8f405e55472d748b7c549cd7920ff6abb8f1ab7db0b0f1b36de1a21c57a8ff741f4f1e792c52be - languageName: node - linkType: hard - "which-typed-array@npm:^1.1.14, which-typed-array@npm:^1.1.15, which-typed-array@npm:^1.1.9": version: 1.1.15 resolution: "which-typed-array@npm:1.1.15" @@ -14964,17 +15675,6 @@ __metadata: languageName: node linkType: hard -"wrap-ansi@npm:^6.2.0": - version: 6.2.0 - resolution: "wrap-ansi@npm:6.2.0" - dependencies: - ansi-styles: ^4.0.0 - string-width: ^4.1.0 - strip-ansi: ^6.0.0 - checksum: 6cd96a410161ff617b63581a08376f0cb9162375adeb7956e10c8cd397821f7eb2a6de24eb22a0b28401300bf228c86e50617cd568209b5f6775b93c97d2fe3a - languageName: node - linkType: hard - "wrap-ansi@npm:^8.1.0": version: 8.1.0 resolution: "wrap-ansi@npm:8.1.0" @@ -15024,15 +15724,6 @@ __metadata: languageName: node linkType: hard -"ws@npm:^6.2.3": - version: 6.2.3 - resolution: "ws@npm:6.2.3" - dependencies: - async-limiter: ~1.0.0 - checksum: bbc96ff5628832d80669a88fd117487bf070492dfaa50df77fa442a2b119792e772f4365521e0a8e025c0d51173c54fa91adab165c11b8e0674685fdd36844a5 - languageName: node - linkType: hard - "ws@npm:^7": version: 7.5.9 resolution: "ws@npm:7.5.9" @@ -15063,6 +15754,21 @@ __metadata: languageName: node linkType: hard +"ws@npm:^8.12.1": + version: 8.21.3 + resolution: "ws@npm:8.21.3" + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ">=5.0.2" + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + checksum: 8a28a457a997e0d63b5bc4d35344c342c68038c207013196468c35a80f7220397665739026217e836abc40ea7432483de3fee47a64abdedb4e3d0e3f332dc37b + languageName: node + linkType: hard + "wsl-utils@npm:^0.3.0": version: 0.3.1 resolution: "wsl-utils@npm:0.3.1" @@ -15073,10 +15779,37 @@ __metadata: languageName: node linkType: hard -"y18n@npm:^4.0.0": - version: 4.0.3 - resolution: "y18n@npm:4.0.3" - checksum: 014dfcd9b5f4105c3bb397c1c8c6429a9df004aa560964fb36732bfb999bfe83d45ae40aeda5b55d21b1ee53d8291580a32a756a443e064317953f08025b1aa4 +"xcode@npm:^3.0.1": + version: 3.0.1 + resolution: "xcode@npm:3.0.1" + dependencies: + simple-plist: ^1.1.0 + uuid: ^7.0.3 + checksum: 908ff85851f81aec6e36ca24427db092e1cc068f052716e14de5e762196858039efabbe053a1abe8920184622501049e74a93618e8692b982f7604a9847db108 + languageName: node + linkType: hard + +"xml2js@npm:0.6.0": + version: 0.6.0 + resolution: "xml2js@npm:0.6.0" + dependencies: + sax: ">=0.6.0" + xmlbuilder: ~11.0.0 + checksum: 437f353fd66d367bf158e9555a0625df9965d944e499728a5c6bc92a54a2763179b144f14b7e1c725040f56bbd22b0fa6cfcb09ec4faf39c45ce01efe631f40b + languageName: node + linkType: hard + +"xmlbuilder@npm:^15.1.1": + version: 15.1.1 + resolution: "xmlbuilder@npm:15.1.1" + checksum: 14f7302402e28d1f32823583d121594a9dca36408d40320b33f598bd589ca5163a352d076489c9c64d2dc1da19a790926a07bf4191275330d4de2b0d85bb1843 + languageName: node + linkType: hard + +"xmlbuilder@npm:~11.0.0": + version: 11.0.1 + resolution: "xmlbuilder@npm:11.0.1" + checksum: 7152695e16f1a9976658215abab27e55d08b1b97bca901d58b048d2b6e106b5af31efccbdecf9b07af37c8377d8e7e821b494af10b3a68b0ff4ae60331b415b0 languageName: node linkType: hard @@ -15101,15 +15834,6 @@ __metadata: languageName: node linkType: hard -"yaml@npm:^2.2.1": - version: 2.4.1 - resolution: "yaml@npm:2.4.1" - bin: - yaml: bin.mjs - checksum: 4c391d07a5d5e935e058babb71026c9cdc9a6fd889e35dd91b53cfb0a12691b67c6c5c740858e71345fef18cd9c13c554a6dda9196f59820d769d94041badb0b - languageName: node - linkType: hard - "yaml@npm:^2.6.1": version: 2.8.2 resolution: "yaml@npm:2.8.2" @@ -15126,16 +15850,6 @@ __metadata: languageName: node linkType: hard -"yargs-parser@npm:^18.1.2": - version: 18.1.3 - resolution: "yargs-parser@npm:18.1.3" - dependencies: - camelcase: ^5.0.0 - decamelize: ^1.2.0 - checksum: 60e8c7d1b85814594d3719300ecad4e6ae3796748b0926137bfec1f3042581b8646d67e83c6fc80a692ef08b8390f21ddcacb9464476c39bbdf52e34961dd4d9 - languageName: node - linkType: hard - "yargs-parser@npm:^21.1.1": version: 21.1.1 resolution: "yargs-parser@npm:21.1.1" @@ -15143,25 +15857,6 @@ __metadata: languageName: node linkType: hard -"yargs@npm:^15.1.0": - version: 15.4.1 - resolution: "yargs@npm:15.4.1" - dependencies: - cliui: ^6.0.0 - decamelize: ^1.2.0 - find-up: ^4.1.0 - get-caller-file: ^2.0.1 - require-directory: ^2.1.1 - require-main-filename: ^2.0.0 - set-blocking: ^2.0.0 - string-width: ^4.2.0 - which-module: ^2.0.0 - y18n: ^4.0.0 - yargs-parser: ^18.1.2 - checksum: 40b974f508d8aed28598087720e086ecd32a5fd3e945e95ea4457da04ee9bdb8bdd17fd91acff36dc5b7f0595a735929c514c40c402416bbb87c03f6fb782373 - languageName: node - linkType: hard - "yargs@npm:^17.6.2": version: 17.7.2 resolution: "yargs@npm:17.7.2" @@ -15236,6 +15931,13 @@ __metadata: languageName: node linkType: hard +"zod@npm:^3.25.76": + version: 3.25.76 + resolution: "zod@npm:3.25.76" + checksum: c9a403a62b329188a5f6bd24d5d935d2bba345f7ab8151d1baa1505b5da9f227fb139354b043711490c798e91f3df75991395e40142e6510a4b16409f302b849 + languageName: node + linkType: hard + "zod@npm:^4.4.3": version: 4.5.4 resolution: "zod@npm:4.5.4" From aa207eaf9c42981b715c13e52f79abc53e950033 Mon Sep 17 00:00:00 2001 From: Julien Brayere Date: Mon, 7 Sep 2026 11:46:05 +0200 Subject: [PATCH 2/3] docs: document Expo native project generation --- CONTRIBUTING.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index cb297b4..217d064 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -23,6 +23,8 @@ The [example app](/example/) demonstrates usage of the library. You need to run It is configured to use the local version of the library, so any changes you make to the library's source code will be reflected in the example app. Changes to the library's JavaScript code will be reflected in the example app without a rebuild, but native code changes will require a rebuild of the example app. +Generate the native example projects first with `yarn example prebuild --clean`. See [the Expo example setup](example/README.md) for prerequisites and configuration. Keep example native changes in config plugins because regeneration replaces these directories. + If you want to use Android Studio or XCode to edit the native code, you can open the `example/android` or `example/ios` directories respectively in those editors. To edit the Objective-C or Swift files, open `example/ios/ZstdExample.xcworkspace` in XCode and find the source files at `Pods > Development Pods > react-native-zstd`. To edit the Java or Kotlin files, open `example/android` in Android studio and find the source files at `react-native-zstd` under `Android`. From 72c9e29e41c8ae93dc6fb915b51fc15542c4db7b Mon Sep 17 00:00:00 2001 From: Julien Brayere Date: Mon, 7 Sep 2026 13:54:41 +0200 Subject: [PATCH 3/3] feat: expand Zstd playground with native and JS benchmarks --- example/README.md | 4 + example/assets/fonts/Montserrat-OFL.txt | 93 ++++++ example/assets/fonts/Montserrat-SemiBold.ttf | Bin 0 -> 260936 bytes example/assets/fonts/Raleway-OFL.txt | 93 ++++++ example/assets/fonts/Raleway-Regular.ttf | Bin 0 -> 172992 bytes example/assets/fonts/Raleway-SemiBold.ttf | Bin 0 -> 175040 bytes example/package.json | 4 +- example/src/App.tsx | 320 +++++++++++++++++-- example/src/SpeedBenchmark.tsx | 293 +++++++++++++++++ example/src/theme.tsx | 38 +++ yarn.lock | 9 + 11 files changed, 825 insertions(+), 29 deletions(-) create mode 100644 example/assets/fonts/Montserrat-OFL.txt create mode 100644 example/assets/fonts/Montserrat-SemiBold.ttf create mode 100644 example/assets/fonts/Raleway-OFL.txt create mode 100644 example/assets/fonts/Raleway-Regular.ttf create mode 100644 example/assets/fonts/Raleway-SemiBold.ttf create mode 100644 example/src/SpeedBenchmark.tsx create mode 100644 example/src/theme.tsx diff --git a/example/README.md b/example/README.md index a86755e..7df18db 100644 --- a/example/README.md +++ b/example/README.md @@ -18,3 +18,7 @@ Validate with `yarn lint`, `yarn typecheck`, `yarn prepare`, `yarn example expor After prebuild, `yarn example build:android` builds an arm64 debug APK and `yarn example build:ios` compiles an unsigned simulator app. CI runs both native builds. Initialize the native dependency first with `git submodule update --init --recursive`. Run `yarn test --runInBand` for the existing Jest suite. + +The playground includes editable text, JSON, repetition, Unicode, and empty-input samples, with levels 1, 3, and 9 and round-trip verification. The benchmark compares native Zstd with the example-only `zstdify` development dependency using your input or generated JSON. It reports timings, throughput, output sizes, and cross-decoding checks; expand Methodology for measurement details. Use a release build on a physical device for representative performance. + +Theme colors and bundled Raleway/Montserrat fonts follow obiapp-ui without importing it. Font licenses are included in `assets/fonts/`. diff --git a/example/assets/fonts/Montserrat-OFL.txt b/example/assets/fonts/Montserrat-OFL.txt new file mode 100644 index 0000000..3344bfd --- /dev/null +++ b/example/assets/fonts/Montserrat-OFL.txt @@ -0,0 +1,93 @@ +Copyright 2024 The Montserrat.Git Project Authors (https://github.com/JulietaUla/Montserrat.git) + +This Font Software is licensed under the SIL Open Font License, Version 1.1. +This license is copied below, and is also available with a FAQ at: +https://openfontlicense.org + + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/example/assets/fonts/Montserrat-SemiBold.ttf b/example/assets/fonts/Montserrat-SemiBold.ttf new file mode 100644 index 0000000000000000000000000000000000000000..0ecc66708ec52b045608b7168e12eaeeca61b075 GIT binary patch literal 260936 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

A?OX1tO#9rBpUIe;(ik}ONCRGIhm+3CaPl+B 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

GaDz~2YB1mcPYF8xtdOO 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 IxScWo4={}oQ2+n{ literal 0 HcmV?d00001 diff --git a/example/package.json b/example/package.json index a31522b..20f7623 100644 --- a/example/package.json +++ b/example/package.json @@ -15,6 +15,7 @@ "buffer": "^6.0.3", "expo": "~57.0.20", "expo-dev-client": "~57.0.0", + "expo-font": "~57.0.3", "react": "19.2.3", "react-native": "0.86.3", "react-native-nitro-modules": "^0.35.10" @@ -27,7 +28,8 @@ "babel-preset-expo": "~57.0.10", "react-native-builder-bob": "^0.43.0", "react-native-monorepo-config": "^0.4.0", - "react-refresh": "^0.14.2" + "react-refresh": "^0.14.2", + "zstdify": "^1.4.0" }, "engines": { "node": ">=20.20.2" diff --git a/example/src/App.tsx b/example/src/App.tsx index d096644..c7f5ae5 100644 --- a/example/src/App.tsx +++ b/example/src/App.tsx @@ -1,46 +1,310 @@ import * as React from 'react'; - import { Buffer } from 'buffer'; -import { StyleSheet, Text, TextInput, View } from 'react-native'; +import { + Keyboard, + Platform, + Pressable, + ScrollView, + StatusBar, + StyleSheet, + TextInput, + useColorScheme, + View, +} from 'react-native'; import { compress, decompress } from 'react-native-zstd'; +import { SpeedBenchmark } from './SpeedBenchmark'; +import { useFonts } from 'expo-font'; +import { Text, lightColors, darkColors } from './theme'; -export default function App() { - const [text, setText] = React.useState('Hello !'); - const [result, setResult] = React.useState(); - const [decompressed, setDecompressed] = React.useState(); +const samples = [ + { + name: 'Text', + text: 'Small bytes. Same story.\nZstandard compresses your data and brings it back exactly as you wrote it.', + }, + { + name: 'JSON', + text: JSON.stringify( + { + events: Array.from({ length: 12 }, (_, i) => ({ + id: i + 1, + type: 'workout', + activity: 'running', + duration: 1800, + })), + }, + null, + 2 + ), + }, + { name: 'Repetition', text: 'run · recover · repeat\n'.repeat(80) }, + { + name: 'Unicode', + text: Array.from({ length: 24 }, (_, index) => + [ + `🌍 Journal de voyage · Étape ${index + 1}`, + 'Bonjour ! Nous découvrons les cafés du quartier, les marchés et les jardins. ☕', + 'こんにちは世界。今日は街を歩いて、新しい景色とおいしい料理を楽しみます。🍜', + 'مرحبا بالعالم! نستكشف المدينة ونتعرف على أصدقاء جدد ونستمتع بالطعام المحلي.', + '¡Hola, mundo! Mañana visitaremos el museo y pasearemos junto al río. ✨', + ].join('\n') + ).join('\n\n'), + }, + { name: 'Empty', text: '' }, +]; +const levels = [1, 3, 9]; - const _onChangeText = React.useCallback((_text: string) => { - setText(_text); - const compressed = compress(_text, 3); - // Convert ArrayBuffer to base64 - setResult(Buffer.from(compressed).toString('base64')); +export default function App() { + const dark = useColorScheme() === 'dark'; + const colors = dark ? darkColors : lightColors; + const [fontsLoaded, fontError] = useFonts({ + 'Raleway-Regular': require('../assets/fonts/Raleway-Regular.ttf'), + 'Raleway-SemiBold': require('../assets/fonts/Raleway-SemiBold.ttf'), + 'Montserrat-SemiBold': require('../assets/fonts/Montserrat-SemiBold.ttf'), + }); + const [text, setText] = React.useState(samples[0]!.text); + const [level, setLevel] = React.useState(3); + const [expanded, setExpanded] = React.useState(false); + const result = React.useMemo(() => { try { - const _decompressed: string = decompress(compressed); - setDecompressed(_decompressed); - } catch (err) { - console.log(err); + const compressed = compress(text, level); + const restored = decompress(compressed); + return { + original: Buffer.byteLength(text, 'utf8'), + compressed: compressed.byteLength, + base64: Buffer.from(compressed).toString('base64'), + restored, + matches: restored === text, + }; + } catch (error) { + return { error: error instanceof Error ? error.message : String(error) }; } - }, []); + }, [text, level]); + const foreground = { color: colors.text }; + const panel = { backgroundColor: colors.surface, borderColor: colors.border }; + + function chip(label: string, selected: boolean, onPress: () => void) { + return ( + [ + styles.chip, + { + backgroundColor: selected ? colors.accent : colors.surface, + borderColor: selected ? colors.accent : colors.border, + opacity: pressed ? 0.65 : 1, + }, + ]} + > + + {label} + + + ); + } + + if (!fontsLoaded && !fontError) + return ( + + ); return ( - - - Result (base 64): {result} - Decompressed: {decompressed} - + + + + + Zstd playground + + + Sample + + {samples.map((sample) => + chip(sample.name, text === sample.text, () => { + Keyboard.dismiss(); + setText(sample.text); + }) + )} + + + + + Compression level + + {levels.map((value) => + chip( + `${value} · ${value === 1 ? 'Fast' : value === 3 ? 'Balanced' : 'Compact'}`, + level === value, + () => { + Keyboard.dismiss(); + setLevel(value); + } + ) + )} + + + {'error' in result ? ( + + Compression failed: {result.error} + + ) : ( + <> + + + {result.original === 0 + ? 'Empty input' + : `${Math.abs((1 - result.compressed / result.original) * 100).toFixed(1)}% ${result.compressed <= result.original ? 'smaller' : 'larger'}`} + + + + + ORIGINAL + + + {result.original.toLocaleString()} B + + + + + + COMPRESSED + + + {result.compressed.toLocaleString()} B + + + + + {result.compressed >= result.original + ? 'Small inputs can grow because the compressed frame includes metadata.' + : 'Size compares UTF-8 input with the raw compressed bytes, before Base64 encoding.'} + + + + + {result.matches + ? '✓ Round trip verified' + : '✕ Round trip mismatch'} + + + + {chip(expanded ? 'Hide output' : 'Inspect output', expanded, () => + setExpanded(!expanded) + )} + {expanded && ( + + + Compressed / Base64 + + + {result.base64} + + + Decompressed / UTF-8 + + + {result.restored || '(empty string)'} + + + )} + + )} + ); } const styles = StyleSheet.create({ - container: { - flex: 1, + loading: { flex: 1 }, + content: { + padding: 16, + paddingTop: + Platform.OS === 'android' ? (StatusBar.currentHeight ?? 0) + 12 : 12, + paddingBottom: 48, + maxWidth: 640, + width: '100%', + alignSelf: 'center', + gap: 12, + }, + header: { marginBottom: 4 }, + title: { + fontSize: 24, + lineHeight: 30, + fontFamily: 'Montserrat-SemiBold', + }, + label: { fontSize: 16, fontWeight: '600' }, + chips: { flexDirection: 'row', flexWrap: 'wrap', gap: 8 }, + chip: { + minHeight: 48, + borderWidth: 1, + borderRadius: 24, + paddingHorizontal: 10, + paddingVertical: 8, alignItems: 'center', justifyContent: 'center', - backgroundColor: '#fff', }, - box: { - width: 60, - height: 60, - marginVertical: 20, + chipText: { fontSize: 14, fontWeight: '600' }, + input: { + borderWidth: 1, + borderRadius: 16, + padding: 16, + height: 88, + fontSize: 15, + lineHeight: 22, + }, + caption: { fontSize: 13, lineHeight: 19 }, + section: { gap: 8, marginTop: 4 }, + result: { padding: 16, borderRadius: 16, gap: 8 }, + savings: { fontSize: 26, fontWeight: '700', letterSpacing: -1 }, + metrics: { + flexDirection: 'row', + alignItems: 'center', + justifyContent: 'space-between', + flexWrap: 'wrap', + gap: 12, + }, + metricLabel: { + fontSize: 10, + letterSpacing: 1, + fontWeight: '600', + }, + metric: { + fontSize: 24, + fontFamily: 'Montserrat-SemiBold', + marginTop: 4, + fontVariant: ['tabular-nums'], + }, + arrow: { fontSize: 24 }, + verification: { paddingVertical: 4, paddingHorizontal: 12, borderRadius: 12 }, + output: { padding: 20, borderWidth: 1, borderRadius: 16, gap: 16 }, + code: { + fontFamily: Platform.OS === 'ios' ? 'Menlo' : 'monospace', + fontSize: 12, + lineHeight: 19, }, }); diff --git a/example/src/SpeedBenchmark.tsx b/example/src/SpeedBenchmark.tsx new file mode 100644 index 0000000..cea9283 --- /dev/null +++ b/example/src/SpeedBenchmark.tsx @@ -0,0 +1,293 @@ +import * as React from 'react'; +import { Buffer } from 'buffer'; +import { Pressable, StyleSheet, View } from 'react-native'; +import { compress, decompress } from 'react-native-zstd'; +import { compress as compressJS, decompress as decompressJS } from 'zstdify'; +import { Text } from './theme'; + +const largeSample = JSON.stringify( + Array.from({ length: 500 }, (_, id) => ({ + id, + activity: ['running', 'cycling', 'swimming'][id % 3], + duration: 1200 + ((id * 137) % 6000), + distance: (id * 7919) % 20000, + timestamp: 1700000000 + id * 3600, + })) +); + +type Measurement = { milliseconds: number; iterations: number }; +type EngineResult = { + compression: Measurement; + decompression: Measurement; + size: number; +}; +type Result = { bytes: number; native: EngineResult; javascript: EngineResult }; +const yieldToUI = () => new Promise((resolve) => setTimeout(resolve, 0)); + +async function measure( + operation: () => void, + cancelled: () => boolean +): Promise { + for (let i = 0; i < 5; i++) { + if (cancelled()) throw new Error('Benchmark cancelled'); + operation(); + await yieldToUI(); + } + let elapsed = 0; + let iterations = 0; + while ((elapsed < 150 || iterations < 3) && iterations < 10000) { + if (cancelled()) throw new Error('Benchmark cancelled'); + const start = performance.now(); + do { + operation(); + iterations++; + } while (performance.now() - start < 8 && iterations < 10000); + elapsed += performance.now() - start; + await yieldToUI(); + } + if (elapsed <= 0) + throw new Error('Timer resolution is too low; use a larger input.'); + return { milliseconds: elapsed / iterations, iterations }; +} + +export function SpeedBenchmark({ + text, + level, + colors, +}: { + text: string; + level: number; + colors: { + surface: string; + border: string; + text: string; + muted: string; + accent: string; + ink: string; + }; +}) { + const [details, setDetails] = React.useState(false); + const [large, setLarge] = React.useState(true); + const [running, setRunning] = React.useState(false); + const [result, setResult] = React.useState(null); + const [error, setError] = React.useState(null); + const generation = React.useRef({ value: 0 }); + React.useEffect(() => { + const lifecycle = generation.current; + lifecycle.value++; + setResult(null); + setError(null); + setRunning(false); + return () => { + lifecycle.value++; + }; + }, [text, level, large]); + + async function run() { + const token = ++generation.current.value; + const cancelled = () => token !== generation.current.value; + setRunning(true); + setResult(null); + setError(null); + try { + await yieldToUI(); + if (cancelled()) return; + const input = large ? largeSample : text; + let compressed = compress(input, level); + let restored = ''; + const compression = await measure(() => { + compressed = compress(input, level); + }, cancelled); + const decompression = await measure(() => { + restored = decompress(compressed); + }, cancelled); + if (restored !== input) throw new Error('Native round trip failed.'); + let jsCompressed = compressJS( + Uint8Array.from(Buffer.from(input, 'utf8')), + { level } + ); + const jsCompression = await measure(() => { + jsCompressed = compressJS(Uint8Array.from(Buffer.from(input, 'utf8')), { + level, + }); + }, cancelled); + const nativeFrame = new Uint8Array(compressed); + const jsDecompression = await measure(() => { + restored = Buffer.from(decompressJS(nativeFrame)).toString('utf8'); + }, cancelled); + const jsFrame = new ArrayBuffer(jsCompressed.byteLength); + new Uint8Array(jsFrame).set(jsCompressed); + if ( + restored !== input || + decompress(jsFrame) !== input || + Buffer.from(decompressJS(jsCompressed)).toString('utf8') !== input + ) { + throw new Error('JavaScript/native interoperability check failed.'); + } + if (!cancelled()) + setResult({ + bytes: Buffer.byteLength(input, 'utf8'), + native: { compression, decompression, size: compressed.byteLength }, + javascript: { + compression: jsCompression, + decompression: jsDecompression, + size: jsCompressed.byteLength, + }, + }); + } catch (failure) { + if (!cancelled()) + setError(failure instanceof Error ? failure.message : String(failure)); + } finally { + if (!cancelled()) setRunning(false); + } + } + + return ( + + + Native vs JavaScript + + + Level {level} ·{' '} + {large + ? `${Buffer.byteLength(largeSample).toLocaleString()} B of generated JSON` + : `${Buffer.byteLength(text).toLocaleString()} B of your input`} + + + {[false, true].map((value) => ( + setLarge(value)} + style={[ + styles.button, + { + borderColor: colors.border, + backgroundColor: + large === value ? colors.accent : colors.surface, + }, + ]} + > + + {value ? 'Large JSON' : 'Your input'} + + + ))} + + + + {running ? 'Measuring…' : 'Run benchmark'} + + + {error && ( + + {error} + + )} + {result && ( + + {(['native', 'javascript'] as const).map((engine) => ( + + + {engine === 'native' + ? 'Native · react-native-zstd' + : 'JavaScript · zstdify'} + + + {result[engine].size.toLocaleString()} B compressed + + {(['compression', 'decompression'] as const).map((kind) => ( + + + {kind === 'compression' ? 'Compress' : 'Decompress'} + + + {result[engine][kind].milliseconds.toFixed(3)} ms / op + + + {result.bytes === 0 + ? 'Throughput N/A for empty input' + : `${(result.bytes / result[engine][kind].milliseconds / 1000).toFixed(1)} MB/s`}{' '} + · {result[engine][kind].iterations.toLocaleString()} runs + + + ))} + + ))} + + ✓ Both round trips and cross-decoding verified + + + )} + setDetails(!details)} + style={styles.button} + > + + {details ? 'Hide methodology' : 'Methodology'} + + + {details && ( + + 5 warm-ups; at least 3 measured runs targeting 150 ms, capped at + 10,000. UI pauses excluded; UTF-8 conversion included. MB/s uses + original bytes. Both decoders read the native frame. Equal levels can + produce different sizes. Use a release build on a physical device for + representative results. + + )} + + ); +} + +const styles = StyleSheet.create({ + engine: { gap: 12, borderTopWidth: 1, paddingTop: 16 }, + disabled: { opacity: 0.6 }, + card: { padding: 16, borderWidth: 1, borderRadius: 16, gap: 8 }, + title: { fontSize: 16, fontWeight: '600' }, + note: { fontSize: 13, lineHeight: 19 }, + row: { flexDirection: 'row', flexWrap: 'wrap', gap: 8 }, + button: { + minHeight: 48, + paddingHorizontal: 16, + paddingVertical: 8, + borderWidth: 1, + borderRadius: 24, + alignItems: 'center', + justifyContent: 'center', + }, + results: { gap: 8 }, + value: { + fontSize: 18, + fontFamily: 'Montserrat-SemiBold', + fontVariant: ['tabular-nums'], + }, +}); diff --git a/example/src/theme.tsx b/example/src/theme.tsx new file mode 100644 index 0000000..d7775bb --- /dev/null +++ b/example/src/theme.tsx @@ -0,0 +1,38 @@ +import { Text as NativeText, StyleSheet } from 'react-native'; +import type { TextProps } from 'react-native'; + +// Local tokens from obiapp-ui; no dependency on the component library. +export const lightColors = { + background: 'hsl(0, 0%, 96%)', + surface: 'white', + text: 'black', + muted: 'hsl(209, 13%, 35%)', + border: 'rgba(0,0,0,0.08)', + accent: 'hsl(210, 82%, 31%)', + ink: 'white', + primary: 'hsl(198, 98%, 39%)', + secondary: 'hsl(168, 98%, 23%)', +}; +export const darkColors = { + background: '#0b1117', + surface: '#16202a', + text: '#f3f7fb', + muted: '#d7e2ec', + border: 'rgba(255,255,255,0.08)', + accent: '#1b6f9e', + ink: '#ffffff', + primary: '#59c7f8', + secondary: '#32d3ae', +}; + +export function Text({ style, ...props }: TextProps) { + const flat = StyleSheet.flatten(style); + const fontFamily = + flat?.fontFamily ?? + (flat?.fontWeight === '600' || flat?.fontWeight === '700' + ? 'Raleway-SemiBold' + : 'Raleway-Regular'); + return ; +} + +const styles = StyleSheet.create({ font: { fontWeight: 'normal' } }); diff --git a/yarn.lock b/yarn.lock index d627943..61ff81e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -13632,12 +13632,14 @@ __metadata: buffer: ^6.0.3 expo: ~57.0.20 expo-dev-client: ~57.0.0 + expo-font: ~57.0.3 react: 19.2.3 react-native: 0.86.3 react-native-builder-bob: ^0.43.0 react-native-monorepo-config: ^0.4.0 react-native-nitro-modules: ^0.35.10 react-refresh: ^0.14.2 + zstdify: ^1.4.0 languageName: unknown linkType: soft @@ -15944,3 +15946,10 @@ __metadata: checksum: cc9cb1892c3e79b2cc6af4ea0ff44a544895b3793db09055bdeb21e5ac41a48137f02a0a07828c7d50d71c55d9e376b137df710ca5c7631eb9a4e96c40e2af68 languageName: node linkType: hard + +"zstdify@npm:^1.4.0": + version: 1.4.0 + resolution: "zstdify@npm:1.4.0" + checksum: 3e7754e0150ea825691692025c141e13c867453d1c4d93e149a7ed3cc159046b8e018bb42a886fadd320b8130d84860d0ee098614a0d12c6246a75cf3c078e62 + languageName: node + linkType: hard

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 IuJF7+1r5$ZMF0Q* literal 0 HcmV?d00001 diff --git a/example/assets/fonts/Raleway-OFL.txt b/example/assets/fonts/Raleway-OFL.txt new file mode 100644 index 0000000..c70fc74 --- /dev/null +++ b/example/assets/fonts/Raleway-OFL.txt @@ -0,0 +1,93 @@ +Copyright 2010 The Raleway Project Authors (impallari@gmail.com), with Reserved Font Name "Raleway". + +This Font Software is licensed under the SIL Open Font License, Version 1.1. +This license is copied below, and is also available with a FAQ at: +http://scripts.sil.org/OFL + + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/example/assets/fonts/Raleway-Regular.ttf b/example/assets/fonts/Raleway-Regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..746c2423833c7d2dbcb7bd41a678a6bf585c5a38 GIT binary patch literal 172992 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�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